<
From version < 57.44 >
edited by Xiaoling
on 2022/06/06 10:12
To version < 61.1 >
edited by Xiaoling
on 2022/06/14 11:26
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -RS485-LN – RS485 to LoRaWAN Converter
1 +RS485-LN – RS485 to LoRaWAN Converter User Manual
Content
... ... @@ -3,7 +3,6 @@
3 3  
4 4  
5 5  
6 -**RS485-LN – RS485 to LoRaWAN Converter User Manual**
7 7  
8 8  
9 9  
... ... @@ -25,6 +25,8 @@
25 25  (((
26 26  (((
27 27  (((
27 +
28 +
28 28  The Dragino RS485-LN is a (% style="color:blue" %)**RS485 to LoRaWAN Converter**(%%). It converts the RS485 signal into LoRaWAN wireless signal which simplify the IoT installation and reduce the installation/maintaining cost.
29 29  )))
30 30  )))
... ... @@ -48,6 +48,8 @@
48 48  
49 49  (((
50 50  (% style="color:blue" %)**Demo Dashboard for RS485-LN**(%%) connect to two energy meters: [[https:~~/~~/app.datacake.de/dashboard/d/58844a26-378d-4c5a-aaf5-b5b5b153447a>>url:https://app.datacake.de/dashboard/d/58844a26-378d-4c5a-aaf5-b5b5b153447a]]
52 +
53 +
51 51  )))
52 52  )))
53 53  )))
... ... @@ -92,6 +92,9 @@
92 92  * Automatic RF Sense and CAD with ultra-fast AFC.
93 93  * Packet engine up to 256 bytes with CRC
94 94  
98 +
99 +
100 +
95 95  == 1.3 Features ==
96 96  
97 97  * LoRaWAN Class A & Class C protocol (default Class C)
... ... @@ -105,6 +105,7 @@
105 105  
106 106  
107 107  
114 +
108 108  == 1.4 Applications ==
109 109  
110 110  * Smart Buildings & Home Automation
... ... @@ -116,6 +116,7 @@
116 116  
117 117  
118 118  
126 +
119 119  == 1.5 Firmware Change log ==
120 120  
121 121  [[RS485-LN Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/]]
... ... @@ -125,9 +125,13 @@
125 125  
126 126  (((
127 127  (((
136 +(((
128 128  v1.2: Add External Interrupt Pin.
138 +)))
129 129  
140 +(((
130 130  v1.0: Release
142 +)))
131 131  
132 132  
133 133  )))
... ... @@ -155,7 +155,9 @@
155 155  == 3.1 How it works? ==
156 156  
157 157  (((
170 +(((
158 158  The RS485-LN is configured as LoRaWAN OTAA Class C mode by default. It has OTAA keys to join network. To connect a local LoRaWAN network, user just need to input the OTAA keys in the network server and power on the RS485-LN. It will auto join the network via OTAA.
172 +)))
159 159  
160 160  
161 161  )))
... ... @@ -178,12 +178,13 @@
178 178  
179 179  [[image:1653268227651-549.png||height="592" width="720"]]
180 180  
195 +
181 181  (((
182 182  The LG308 is already set to connect to [[TTN V3 network >>path:https://www.thethingsnetwork.org/]]. So what we need to now is only configure the TTN V3:
183 183  )))
184 184  
185 185  (((
186 -**Step 1**: Create a device in TTN V3 with the OTAA keys from RS485-LN.
201 +(% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from RS485-LN.
187 187  )))
188 188  
189 189  (((
... ... @@ -193,6 +193,7 @@
193 193  
194 194  [[image:1652953462722-299.png]]
195 195  
211 +
196 196  (((
197 197  (((
198 198  User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot:
... ... @@ -199,7 +199,7 @@
199 199  )))
200 200  
201 201  (((
202 -Add APP EUI in the application.
218 +**Add APP EUI in the application.**
203 203  )))
204 204  )))
205 205  
... ... @@ -215,13 +215,15 @@
215 215  
216 216  [[image:1652953542269-423.png||height="710" width="723"]]
217 217  
218 -Add APP KEY and DEV EUI
219 219  
235 +
236 +**Add APP KEY and DEV EUI**
237 +
220 220  [[image:1652953553383-907.png||height="514" width="724"]]
221 221  
222 222  
223 223  (((
224 -**Step 2**: Power on RS485-LN and it will auto join to the TTN V3 network. After join success, it will start to upload message to TTN V3 and user can see in the panel.
242 +(% style="color:blue" %)**Step 2**(%%): Power on RS485-LN and it will auto join to the TTN V3 network. After join success, it will start to upload message to TTN V3 and user can see in the panel.
225 225  )))
226 226  
227 227  [[image:1652953568895-172.png||height="232" width="724"]]
... ... @@ -231,11 +231,15 @@
231 231  
232 232  (((
233 233  (((
234 -There are plenty of RS485 devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-LN supports flexible command set. User can use [[AT Commands>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]] or LoRaWAN Downlink Command to configure what commands RS485-LN should send for each sampling and how to handle the return from RS485 devices.
252 +(((
253 +There are plenty of RS485 devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-LN supports flexible command set. User can use [[AT Commands>>||anchor="H3.5ConfigureRS485-LNviaATorDownlink"]] or LoRaWAN Downlink Command to configure what commands RS485-LN should send for each sampling and how to handle the return from RS485 devices.
235 235  )))
255 +)))
236 236  
237 237  (((
258 +(((
238 238  (% style="color:red" %)Note: below description and commands are for firmware version >v1.1, if you have firmware version v1.0. Please check the [[user manual v1.0>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/&file=RS485-LN_UserManual_v1.0.1.pdf]] or upgrade the firmware to v1.1
260 +)))
239 239  
240 240  
241 241  )))
... ... @@ -245,19 +245,19 @@
245 245  
246 246  To use RS485-LN to read data from RS485 sensors, connect the RS485-LN A/B traces to the sensors. And user need to make sure RS485-LN use the match UART setting to access the sensors. The related commands for UART settings are:
247 247  
248 -(% border="1" style="background-color:#ffffcc; color:green; width:782px" %)
249 -|(% style="width:128px" %)(((
270 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
271 +|=(% style="width: 110px;" %)(((
250 250  **AT Commands**
251 -)))|(% style="width:305px" %)(((
273 +)))|=(% style="width: 190px;" %)(((
252 252  **Description**
253 -)))|(% style="width:346px" %)(((
275 +)))|=(% style="width: 190px;" %)(((
254 254  **Example**
255 255  )))
256 -|(% style="width:128px" %)(((
278 +|(% style="width:110px" %)(((
257 257  AT+BAUDR
258 -)))|(% style="width:305px" %)(((
280 +)))|(% style="width:190px" %)(((
259 259  Set the baud rate (for RS485 connection). Default Value is: 9600.
260 -)))|(% style="width:346px" %)(((
282 +)))|(% style="width:190px" %)(((
261 261  (((
262 262  AT+BAUDR=9600
263 263  )))
... ... @@ -266,11 +266,11 @@
266 266  Options: (1200,2400,4800,14400,19200,115200)
267 267  )))
268 268  )))
269 -|(% style="width:128px" %)(((
291 +|(% style="width:110px" %)(((
270 270  AT+PARITY
271 -)))|(% style="width:305px" %)(((
293 +)))|(% style="width:190px" %)(((
272 272  Set UART parity (for RS485 connection)
273 -)))|(% style="width:346px" %)(((
295 +)))|(% style="width:190px" %)(((
274 274  (((
275 275  AT+PARITY=0
276 276  )))
... ... @@ -279,9 +279,9 @@
279 279  Option: 0: no parity, 1: odd parity, 2: even parity
280 280  )))
281 281  )))
282 -|(% style="width:128px" %)(((
304 +|(% style="width:110px" %)(((
283 283  AT+STOPBIT
284 -)))|(% style="width:305px" %)(((
306 +)))|(% style="width:190px" %)(((
285 285  (((
286 286  Set serial stopbit (for RS485 connection)
287 287  )))
... ... @@ -289,7 +289,7 @@
289 289  (((
290 290  
291 291  )))
292 -)))|(% style="width:346px" %)(((
314 +)))|(% style="width:190px" %)(((
293 293  (((
294 294  AT+STOPBIT=0 for 1bit
295 295  )))
... ... @@ -303,6 +303,7 @@
303 303  )))
304 304  )))
305 305  
328 +
306 306  === 3.3.2 Configure sensors ===
307 307  
308 308  (((
... ... @@ -311,16 +311,23 @@
311 311  )))
312 312  )))
313 313  
314 -(% border="1" style="background-color:#ffffcc; color:green; width:806px" %)
315 -|**AT Commands**|(% style="width:418px" %)**Description**|(% style="width:256px" %)**Example**
316 -|AT+CFGDEV|(% style="width:418px" %)(((
337 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
338 +|=(% style="width: 110px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example**
339 +|AT+CFGDEV|(% style="width:110px" %)(((
340 +(((
317 317  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
342 +)))
318 318  
344 +(((
319 319  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
346 +)))
320 320  
348 +(((
321 321  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
322 -)))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
350 +)))
351 +)))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
323 323  
353 +
324 324  === 3.3.3 Configure read commands for each sampling ===
325 325  
326 326  (((
... ... @@ -333,7 +333,7 @@
333 333  During each sampling, the RS485-LN can support 15 commands to read sensors. And combine the return to one or several uplink payloads.
334 334  
335 335  
336 -**Each RS485 commands include two parts:**
366 +(% style="color:#037691" %)**Each RS485 commands include two parts:**
337 337  
338 338  ~1. What commands RS485-LN will send to the RS485 sensors. There are total 15 commands from **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF**. All commands are of same grammar.
339 339  
... ... @@ -348,11 +348,11 @@
348 348  Below are examples for the how above AT Commands works.
349 349  
350 350  
351 -**AT+COMMANDx : **This command will be sent to RS485 devices during each sampling, Max command length is 14 bytes. The grammar is:
381 +(% style="color:#037691" %)**AT+COMMANDx **(%%)**: **This command will be sent to RS485 devices during each sampling, Max command length is 14 bytes. The grammar is:
352 352  
353 353  (% border="1" style="background-color:#4bacc6; color:white; width:499px" %)
354 354  |(% style="width:496px" %)(((
355 -**AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
385 +(% style="color:#037691" %)**AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
356 356  
357 357  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
358 358  
... ... @@ -364,10 +364,10 @@
364 364  In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
365 365  
366 366  
367 -**AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
397 +(% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
368 368  
369 -(% border="1" style="background-color:#4bacc6; color:white; width:725px" %)
370 -|(% style="width:722px" %)(((
399 +(% border="1" style="background-color:#4bacc6; color:white; width:510px" %)
400 +|(% style="width:510px" %)(((
371 371  **AT+DATACUTx=a,b,c**
372 372  
373 373  * **a: length for the return of AT+COMMAND**
... ... @@ -377,20 +377,21 @@
377 377  
378 378  **Examples:**
379 379  
380 -* Grab bytes:
410 +* (% style="color:#037691" %)**Grab bytes**
381 381  
382 382  [[image:image-20220602153621-1.png]]
383 383  
384 384  
385 -* Grab a section.
415 +* (% style="color:#037691" %)**Grab a section**
386 386  
387 387  [[image:image-20220602153621-2.png]]
388 388  
389 389  
390 -* Grab different sections.
420 +* (% style="color:#037691" %)**Grab different sections**
391 391  
392 392  [[image:image-20220602153621-3.png]]
393 393  
424 +
394 394  
395 395  )))
396 396  
... ... @@ -493,33 +493,35 @@
493 493  
494 494  == 3.4 Uplink Payload ==
495 495  
496 -(% border="1" style="background-color:#4bacc6; color:white; width:734px" %)
497 -|**Size(bytes)**|(% style="width:120px" %)**2**|(% style="width:116px" %)**1**|(% style="width:386px" %)**Length depends on the return from the commands**
498 -|Value|(% style="width:120px" %)(((
499 -Battery(mV)
500 500  
501 -&
528 +[[image:image-20220606110929-1.png]]
502 502  
503 -Interrupt _Flag
504 -)))|(% style="width:116px" %)(((
505 -PAYLOAD_VER
506 -
507 -
508 -)))|(% style="width:386px" %)If the valid payload is too long and exceed the maximum support payload length in server, server will show payload not provided in the LoRaWAN server.
509 -
510 510  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
511 511  
512 512  
513 -== 3.5 Configure RS485-BL via AT or Downlink ==
533 +== 3.5 Configure RS485-LN via AT or Downlink ==
514 514  
535 +(((
515 515  User can configure RS485-LN via AT Commands or LoRaWAN Downlink Commands
537 +)))
516 516  
539 +(((
517 517  There are two kinds of Commands:
541 +)))
518 518  
519 -* (% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
543 +* (((
544 +(% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
545 +)))
520 520  
521 -* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN.  User can see these commands below:
547 +* (((
548 +(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN.  User can see these commands below:
549 +)))
522 522  
551 +(((
552 +
553 +)))
554 +
555 +
523 523  === 3.5.1 Common Commands ===
524 524  
525 525  They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
... ... @@ -538,142 +538,282 @@
538 538  
539 539  
540 540  
574 +
541 541  ==== **RS485 Debug Command** ====
542 542  
577 +(((
543 543  This command is used to configure the RS485 devices; they won’t be used during sampling.
579 +)))
544 544  
545 -* **AT Command**
581 +* (((
582 +**AT Command**
583 +)))
546 546  
547 547  (% class="box infomessage" %)
548 548  (((
587 +(((
549 549  **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
550 550  )))
590 +)))
551 551  
592 +(((
552 552  m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
594 +)))
553 553  
554 -* **Downlink Payload**
596 +* (((
597 +**Downlink Payload**
598 +)))
555 555  
600 +(((
556 556  Format: A8 MM NN XX XX XX XX YY
602 +)))
557 557  
604 +(((
558 558  Where:
606 +)))
559 559  
560 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC
561 -* NN: The length of RS485 command
562 -* XX XX XX XX: RS485 command total NN bytes
563 -* YY: How many bytes will be uplink from the return of this RS485 command,
564 -** if YY=0, RS485-LN will execute the downlink command without uplink;
565 -** if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200
566 -** if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200.
608 +* (((
609 +MM: 1: add CRC-16/MODBUS ; 0: no CRC
610 +)))
611 +* (((
612 +NN: The length of RS485 command
613 +)))
614 +* (((
615 +XX XX XX XX: RS485 command total NN bytes
616 +)))
617 +* (((
618 +(((
619 +YY: How many bytes will be uplink from the return of this RS485 command,
620 +)))
567 567  
622 +* (((
623 +if YY=0, RS485-LN will execute the downlink command without uplink;
624 +)))
625 +* (((
626 +if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200
627 +)))
628 +* (((
629 +if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200.
630 +)))
631 +)))
632 +
633 +(((
568 568  **Example 1** ~-~-> Configure without ask for uplink (YY=0)
635 +)))
569 569  
637 +(((
570 570  To connect a Modbus Alarm with below commands.
639 +)))
571 571  
572 -* The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
641 +* (((
642 +The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
643 +)))
573 573  
574 -* The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
645 +* (((
646 +The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
647 +)))
575 575  
649 +(((
576 576  So if user want to use downlink command to control to RS485 Alarm, he can use:
651 +)))
577 577  
653 +(((
578 578  (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
655 +)))
579 579  
657 +(((
580 580  (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
659 +)))
581 581  
661 +(((
582 582  A8 is type code and 01 means add CRC-16/MODBUS at the end, the 3^^rd^^ byte is 06, means the next 6 bytes are the command to be sent to the RS485 network, the final byte 00 means this command don’t need to acquire output.
663 +)))
583 583  
665 +(((
666 +
667 +)))
584 584  
669 +(((
585 585  **Example 2** ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**)
671 +)))
586 586  
673 +(((
587 587  User in IoT server send a downlink command: (% style="color:#4f81bd" %)**A8 01 06 0A 08 00 04 00 01 YY**
675 +)))
588 588  
677 +(((
678 +
679 +)))
589 589  
681 +(((
590 590  RS485-LN got this downlink command and send (% style="color:#4f81bd" %)**0A 08 00 04 00 01 **(%%)to Modbus network. One of the RS485 sensor in the network send back Modbus reply **0A 08 00 04 00 00**. RS485-LN get this reply and combine with the original downlink command and uplink. The uplink message is:
683 +)))
591 591  
685 +(((
592 592   **A8** (% style="color:#4f81bd" %)**0A 08 00 04 00  **(% style="color:red" %)**01 06** ** **(% style="color:green" %)**0A 08 00 04 00 00**
687 +)))
593 593  
689 +(((
594 594   [[image:1654159460680-153.png]]
691 +)))
595 595  
596 596  
597 597  
695 +
598 598  ==== **Set Payload version** ====
599 599  
600 -This is the first byte of the uplink payload. RS485-BL can connect to different sensors. User can set the PAYVER field to tell server how to decode the current payload.
698 +(((
699 +This is the first byte of the uplink payload. RS485-LN can connect to different sensors. User can set the PAYVER field to tell server how to decode the current payload.
700 +)))
601 601  
602 -* **AT Command:**
702 +* (((
703 +**AT Command:**
704 +)))
603 603  
604 604  (% class="box infomessage" %)
605 605  (((
708 +(((
606 606  **AT+PAYVER: Set PAYVER field = 1**
607 607  )))
711 +)))
608 608  
609 -* **Downlink Payload:**
713 +* (((
714 +**Downlink Payload:**
715 +)))
610 610  
717 +(((
611 611  **0xAE 01**  ~-~-> Set PAYVER field =  0x01
719 +)))
612 612  
721 +(((
613 613  **0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
723 +)))
614 614  
615 615  
616 616  
727 +
617 617  ==== **Set RS485 Sampling Commands** ====
618 618  
730 +(((
619 619  AT+COMMANDx or AT+DATACUTx
732 +)))
620 620  
734 +(((
621 621  These three commands are used to configure how the RS485-LN polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
736 +)))
622 622  
738 +(((
739 +
740 +)))
623 623  
624 -* **AT Command:**
742 +* (((
743 +**AT Command:**
744 +)))
625 625  
626 626  (% class="box infomessage" %)
627 627  (((
748 +(((
628 628  **AT+COMMANDx: Configure RS485 read command to sensor.**
629 629  )))
751 +)))
630 630  
631 631  (% class="box infomessage" %)
632 632  (((
755 +(((
633 633  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
634 634  )))
758 +)))
635 635  
760 +(((
761 +
762 +)))
636 636  
637 -* **Downlink Payload:**
764 +* (((
765 +**Downlink Payload:**
766 +)))
638 638  
768 +(((
639 639  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
770 +)))
640 640  
772 +(((
641 641  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
774 +)))
642 642  
776 +(((
643 643  Format: AF MM NN LL XX XX XX XX YY
778 +)))
644 644  
780 +(((
645 645  Where:
782 +)))
646 646  
647 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
648 -* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
649 -* LL:  The length of AT+COMMAND or AT+DATACUT command
650 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command
651 -* YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command.
784 +* (((
785 +MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
786 +)))
787 +* (((
788 +NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
789 +)))
790 +* (((
791 +LL:  The length of AT+COMMAND or AT+DATACUT command
792 +)))
793 +* (((
794 +XX XX XX XX: AT+COMMAND or AT+DATACUT command
795 +)))
796 +* (((
797 +YY:  If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command.
798 +)))
652 652  
800 +(((
653 653  **Example:**
802 +)))
654 654  
804 +(((
655 655  (% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1
806 +)))
656 656  
808 +(((
657 657  (% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10**
810 +)))
658 658  
812 +(((
659 659  (% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10**
814 +)))
660 660  
661 661  
662 662  
818 +
663 663  ==== **Fast command to handle MODBUS device** ====
664 664  
821 +(((
665 665  AT+MBFUN is valid since v1.3 firmware version. The command is for fast configure to read Modbus devices. It is only valid for the devices which follow the [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]].
823 +)))
666 666  
825 +(((
667 667  This command is valid since v1.3 firmware version
827 +)))
668 668  
829 +(((
669 669  AT+MBFUN can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore.
831 +)))
670 670  
833 +(((
834 +
835 +)))
671 671  
837 +(((
672 672  **Example:**
839 +)))
673 673  
674 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN.
675 -* AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
676 -* AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
841 +* (((
842 +AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN.
843 +)))
844 +* (((
845 +AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
846 +)))
847 +* (((
848 +AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
849 +)))
677 677  
678 678  [[image:image-20220602165351-6.png]]
679 679  
... ... @@ -681,203 +681,375 @@
681 681  
682 682  
683 683  
857 +
684 684  ==== **RS485 command timeout** ====
685 685  
860 +(((
686 686  Some Modbus device has slow action to send replies. This command is used to configure the RS485-LN to use longer time to wait for their action.
862 +)))
687 687  
864 +(((
688 688  Default value: 0, range:  0 ~~ 65 seconds
866 +)))
689 689  
690 -* **AT Command:**
868 +* (((
869 +**AT Command:**
870 +)))
691 691  
692 692  (% class="box infomessage" %)
693 693  (((
874 +(((
694 694  **AT+CMDDLaa=hex(bb cc)*1000**
695 695  )))
877 +)))
696 696  
879 +(((
697 697  **Example:**
881 +)))
698 698  
883 +(((
699 699  **AT+CMDDL1=1000** to send the open time to 1000ms
885 +)))
700 700  
887 +(((
888 +
889 +)))
701 701  
702 -* **Downlink Payload:**
891 +* (((
892 +**Downlink Payload:**
893 +)))
703 703  
895 +(((
704 704  **0x AA aa bb cc**
897 +)))
705 705  
899 +(((
706 706  Same as: AT+CMDDLaa=hex(bb cc)*1000
901 +)))
707 707  
903 +(((
708 708   **Example:**
905 +)))
709 709  
907 +(((
710 710   0xAA 01 00 01  ~-~-> Same as **AT+CMDDL1=1000 ms**
909 +)))
711 711  
712 712  
713 713  
913 +
714 714  ==== **Uplink payload mode** ====
715 715  
916 +(((
716 716  Define to use one uplink or multiple uplinks for the sampling.
918 +)))
717 717  
920 +(((
718 718  The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]]
922 +)))
719 719  
720 -* **AT Command:**
924 +* (((
925 +**AT Command:**
926 +)))
721 721  
722 722  (% class="box infomessage" %)
723 723  (((
930 +(((
724 724  **AT+DATAUP=0**
725 725  )))
933 +)))
726 726  
727 727  (% class="box infomessage" %)
728 728  (((
937 +(((
729 729  **AT+DATAUP=1**
730 730  )))
940 +)))
731 731  
942 +(((
943 +
944 +)))
732 732  
733 -* **Downlink Payload:**
946 +* (((
947 +**Downlink Payload:**
948 +)))
734 734  
950 +(((
735 735  **0xAD 00**  **~-~->** Same as AT+DATAUP=0
952 +)))
736 736  
954 +(((
737 737  **0xAD 01**  **~-~->** Same as AT+DATAUP=1
956 +)))
738 738  
739 739  
740 740  
960 +
741 741  ==== **Manually trigger an Uplink** ====
742 742  
963 +(((
743 743  Ask device to send an uplink immediately.
965 +)))
744 744  
745 -* **AT Command:**
967 +* (((
968 +**AT Command:**
969 +)))
746 746  
971 +(((
747 747  No AT Command for this, user can press the [[ACT button>>||anchor="H3.7Buttons"]] for 1 second for the same.
973 +)))
748 748  
975 +(((
976 +
977 +)))
749 749  
750 -* **Downlink Payload:**
979 +* (((
980 +**Downlink Payload:**
981 +)))
751 751  
983 +(((
752 752  **0x08 FF**, RS485-LN will immediately send an uplink.
985 +)))
753 753  
754 754  
755 755  
989 +
756 756  ==== **Clear RS485 Command** ====
757 757  
992 +(((
758 758  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
994 +)))
759 759  
760 -* **AT Command:**
996 +* (((
997 +**AT Command:**
998 +)))
761 761  
1000 +(((
762 762  **AT+CMDEAR=mm,nn**   mm: start position of erase ,nn: stop position of erase
1002 +)))
763 763  
1004 +(((
764 764  Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
1006 +)))
765 765  
1008 +(((
766 766  Example screen shot after clear all RS485 commands. 
1010 +)))
767 767  
1012 +(((
1013 +
1014 +)))
768 768  
1016 +(((
769 769  The uplink screen shot is:
1018 +)))
770 770  
771 771  [[image:1654160691922-496.png]]
772 772  
773 773  
774 -* **Downlink Payload:**
1023 +* (((
1024 +**Downlink Payload:**
1025 +)))
775 775  
1027 +(((
776 776  **0x09 aa bb** same as AT+CMDEAR=aa,bb
1029 +)))
777 777  
778 778  
779 779  
1033 +
780 780  ==== **Set Serial Communication Parameters** ====
781 781  
1036 +(((
782 782  Set the Rs485 serial communication parameters:
1038 +)))
783 783  
784 -* **AT Command:**
1040 +* (((
1041 +**AT Command:**
1042 +)))
785 785  
1044 +(((
786 786  Set Baud Rate:
1046 +)))
787 787  
788 788  (% class="box infomessage" %)
789 789  (((
1050 +(((
790 790  **AT+BAUDR=9600**    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
791 791  )))
1053 +)))
792 792  
1055 +(((
793 793  Set UART Parity
1057 +)))
794 794  
795 795  (% class="box infomessage" %)
796 796  (((
1061 +(((
797 797  **AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
798 798  )))
1064 +)))
799 799  
1066 +(((
800 800  Set STOPBIT
1068 +)))
801 801  
802 802  (% class="box infomessage" %)
803 803  (((
1072 +(((
804 804  **AT+STOPBIT=0**    ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits
805 805  )))
1075 +)))
806 806  
1077 +(((
1078 +
1079 +)))
807 807  
808 -* **Downlink Payload:**
1081 +* (((
1082 +**Downlink Payload:**
1083 +)))
809 809  
1085 +(((
810 810  **A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
1087 +)))
811 811  
1089 +(((
812 812  **Example:**
1091 +)))
813 813  
814 -* A7 01 00 60   same as AT+BAUDR=9600
815 -* A7 01 04 80  same as AT+BAUDR=115200
1093 +* (((
1094 +A7 01 00 60   same as AT+BAUDR=9600
1095 +)))
1096 +* (((
1097 +A7 01 04 80  same as AT+BAUDR=115200
1098 +)))
816 816  
1100 +(((
817 817  A7 02 aa: Same as  AT+PARITY=aa  (aa value: 00 , 01 or 02)
1102 +)))
818 818  
1104 +(((
819 819  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
1106 +)))
820 820  
821 821  
1109 +
1110 +
822 822  == 3.6 Listening mode for RS485 network ==
823 823  
1113 +(((
824 824  This feature support since firmware v1.4
1115 +)))
825 825  
1117 +(((
826 826  RS485-LN supports listening mode, it can listen the RS485 network packets and send them via LoRaWAN uplink. Below is the structure. The blue arrow shows the RS485 network packets to RS485-LN.
1119 +)))
827 827  
828 828  [[image:image-20220602171200-8.png||height="567" width="1007"]]
829 829  
1123 +(((
830 830  To enable the listening mode, use can run the command AT+RXMODE.
1125 +)))
831 831  
1127 +(((
1128 +
1129 +)))
832 832  
833 -(% border="1" style="background-color:#ffffcc; width:500px" %)
834 -|=(% style="width: 161px;" %)**Command example:**|=(% style="width: 337px;" %)**Function**
835 -|(% style="width:161px" %)AT+RXMODE=1,10 |(% style="width:337px" %)Enable listening mode 1, if RS485-LN has received more than 10 RS485 commands from the network. RS485-LN will send these commands via LoRaWAN uplinks.
836 -|(% style="width:161px" %)AT+RXMODE=2,500|(% style="width:337px" %)Enable listening mode 2, RS485-LN will capture and send a 500ms content once from the first detect of character. Max value is 65535 ms
837 -|(% style="width:161px" %)AT+RXMODE=0,0|(% style="width:337px" %)Disable listening mode. This is the default settings.
838 -|(% style="width:161px" %) |(% style="width:337px" %)A6 aa bb cc  same as AT+RXMODE=aa,(bb<<8 ~| cc)
1131 +(% border="1" cellspacing="10" style="background-color:#ffffcc; width:500px" %)
1132 +|=(% style="width: 100px;" %)(((
1133 +**Command example**
1134 +)))|=(% style="width: 400px;" %)(((
1135 +**Function**
1136 +)))
1137 +|(% style="width:100px" %)(((
1138 +AT+RXMODE=1,10
1139 +)))|(% style="width:400px" %)(((
1140 +Enable listening mode 1, if RS485-LN has received more than 10 RS485 commands from the network. RS485-LN will send these commands via LoRaWAN uplinks.
1141 +)))
1142 +|(% style="width:100px" %)(((
1143 +AT+RXMODE=2,500
1144 +)))|(% style="width:400px" %)(((
1145 +Enable listening mode 2, RS485-LN will capture and send a 500ms content once from the first detect of character. Max value is 65535 ms
1146 +)))
1147 +|(% style="width:100px" %)(((
1148 +AT+RXMODE=0,0
1149 +)))|(% style="width:400px" %)(((
1150 +Disable listening mode. This is the default settings.
1151 +)))
1152 +|(% style="width:100px" %)(((
1153 +
1154 +)))|(% style="width:400px" %)(((
1155 +A6 aa bb cc  same as AT+RXMODE=aa,(bb<<8 | cc)
1156 +)))
839 839  
1158 +(((
840 840  **Downlink Command:**
1160 +)))
841 841  
1162 +(((
842 842  **0xA6 aa bb cc ** same as AT+RXMODE=aa,(bb<<8 | cc)
1164 +)))
843 843  
1166 +(((
1167 +
1168 +)))
844 844  
1170 +(((
845 845  **Example**:
1172 +)))
846 846  
1174 +(((
847 847  The RS485-LN is set to AT+RXMODE=2,1000
1176 +)))
848 848  
1178 +(((
849 849  There is a two Modbus commands in the RS485 network as below:
1180 +)))
850 850  
1182 +(((
851 851  The Modbus master send a command: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b
1184 +)))
852 852  
1186 +(((
853 853  And Modbus slave reply with: (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33
1188 +)))
854 854  
1190 +(((
855 855  RS485-LN will capture both and send the uplink: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b  (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33
1192 +)))
856 856  
1194 +(((
857 857  [[image:image-20220602171200-9.png]]
1196 +)))
858 858  
1198 +(((
1199 +
1200 +)))
859 859  
1202 +(((
1203 +(((
860 860  (% style="color:red" %)Notice: Listening mode can work with the default polling mode of RS485-LN. When RS485-LN is in to send the RS485 commands (from AT+COMMANDx), the listening mode will be interrupt for a while.
1205 +)))
1206 +)))
861 861  
862 862  
863 863  == 3.7 Buttons ==
864 864  
865 865  
866 -(% border="1" style="background-color:#f7faff; width:500px" %)
867 -|=**Button**|=(% style="width: 1420px;" %)**Feature**
868 -|**ACT**|(% style="width:1420px" %)If RS485 joined in network, press this button for more than 1 second, RS485 will upload a packet, and the SYS LED will give a (% style="color:blue" %)**Blue blink**
869 -|**RST**|(% style="width:1420px" %)Reboot RS485
870 -|**PRO**|(% style="width:1420px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]]
1212 +(% border="1" cellspacing="10" style="background-color:#f7faff; width:430px" %)
1213 +|=(% style="width: 50px;" %)**Button**|=(% style="width: 361px;" %)**Feature**
1214 +|(% style="width:50px" %)**ACT**|(% style="width:361px" %)If RS485 joined in network, press this button for more than 1 second, RS485 will upload a packet, and the SYS LED will give a (% style="color:blue" %)**Blue blink**
1215 +|(% style="width:50px" %)**RST**|(% style="width:361px" %)Reboot RS485
1216 +|(% style="width:50px" %)**PRO**|(% style="width:361px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]]
871 871  
872 -
873 873  == 3.8 LEDs ==
874 874  
875 -(% border="1" style="background-color:#f7faff; width:500px" %)
876 -|=**LEDs**|=**Feature**
1220 +
1221 +(% border="1" cellspacing="10" style="background-color:#f7faff; width:430px" %)
1222 +|=(% style="width: 50px;" %)**LEDs**|=(% style="width: 380px;" %)**Feature**
877 877  |**PWR**|Always on if there is power
878 -|**SYS**|After device is powered on, the SYS will (% style="color:green" %)**fast blink in GREEN** (%%)for 5 times, means RS485-LN start to join LoRaWAN network. If join success, SYS will be (% style="color:green" %)**on GREEN for 5 seconds**(%%)**. **SYS will (% style="color:green" %)**blink Blue**(%%) on every upload and (% style="color:green" %)**blink Green**(%%) once receive a downlink message.
1224 +|**SYS**|After device is powered on, the SYS will (% style="color:green" %)**fast blink in GREEN**(%%) for 5 times, means RS485-LN start to join LoRaWAN network. If join success, SYS will be (% style="color:green" %)**on GREEN for 5 seconds** (%%)**. **SYS will (% style="color:green" %)**blink Blue**(%%) on every upload and (% style="color:green" %)**blink Green**(%%) once receive a downlink message.
879 879  
880 -
881 881  = 4. Case Study =
882 882  
883 883  User can check this URL for some case studies: [[APP RS485 COMMUNICATE WITH SENSORS>>doc:Main.Application Note \: Communicate with Different Sensors ----- RS485-LN RS485-BL.WebHome]]
... ... @@ -887,19 +887,26 @@
887 887  
888 888  == 5.1 Access AT Command ==
889 889  
890 -RS485-BL supports AT Command set. User can use a USB to TTL adapter plus the 3.5mm Program Cable to connect to RS485-BL to use AT command, as below.
1235 +(((
1236 +RS485-LN supports AT Command set. User can use a USB to TTL adapter plus the 3.5mm Program Cable to connect to RS485-LN to use AT command, as below.
1237 +)))
891 891  
892 892  [[image:1654162355560-817.png]]
893 893  
894 894  
895 -In PC, User needs to set (% style="color:blue" %)**serial tool**(%%)(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console of RS485-BL. The default password is 123456. Below is the output for reference:
1242 +(((
1243 +In PC, User needs to set (% style="color:blue" %)**serial tool**(%%)(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console of RS485-LN. The default password is 123456. Below is the output for reference:
1244 +)))
896 896  
897 897  [[image:1654162368066-342.png]]
898 898  
899 899  
1249 +(((
900 900  More detail AT Command manual can be found at [[AT Command Manual>>https://www.dragino.com/downloads/index.php?dir=LT_LoRa_IO_Controller/LT33222-L/]]
1251 +)))
901 901  
902 902  
1254 +
903 903  == 5.2 Common AT Command Sequence ==
904 904  
905 905  === 5.2.1 Multi-channel ABP mode (Use with SX1301/LG308) ===
... ... @@ -922,7 +922,9 @@
922 922  )))
923 923  
924 924  
1277 +(((
925 925  If device already joined network:
1279 +)))
926 926  
927 927  (% class="box infomessage" %)
928 928  (((
... ... @@ -961,10 +961,12 @@
961 961  
962 962  (% style="color:red" %)**Note:**
963 963  
1318 +(((
964 964  (% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server.
965 965  2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting.
966 966  3. Make sure SF / bandwidth setting in LG01/LG02 match the settings of AT+DR. refer [[this link>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/&file=LoRaWAN%201.0.3%20Regional%20Parameters.xlsx]] to see what DR means.
967 967  4. The command AT+RX2FQ and AT+RX2DR is to let downlink work. to set the correct parameters, user can check the actually downlink parameters to be used. As below. Which shows the RX2FQ should use 868400000 and RX2DR should be 5
1323 +)))
968 968  
969 969  [[image:1654162478620-421.png]]
970 970  
... ... @@ -973,25 +973,45 @@
973 973  
974 974  == 6.1 How to upgrade the image? ==
975 975  
1332 +(((
976 976  The RS485-LN LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-LN to:
1334 +)))
977 977  
978 -* Support new features
979 -* For bug fix
980 -* Change LoRaWAN bands.
1336 +* (((
1337 +Support new features
1338 +)))
1339 +* (((
1340 +For bug fix
1341 +)))
1342 +* (((
1343 +Change LoRaWAN bands.
1344 +)))
981 981  
1346 +(((
982 982  Below shows the hardware connection for how to upload an image to RS485-LN:
1348 +)))
983 983  
984 984  [[image:1654162535040-878.png]]
985 985  
1352 +(((
986 986  **Step1:** Download [[flash loader>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html]].
1354 +)))
987 987  
1356 +(((
988 988  **Step2**: Download the [[LT Image files>>url:http://www.dragino.com/downloads/index.php?dir=LT_LoRa_IO_Controller/LT33222-L/image/]].
1358 +)))
989 989  
1360 +(((
990 990  **Step3: **Open flashloader; choose the correct COM port to update.
1362 +)))
991 991  
992 992  (((
1365 +(((
1366 +(((
993 993  (% style="color:blue" %) Hold down the PRO button and then momentarily press the RST reset button and the SYS led will change from OFF to ON, While SYS LED is RED ON, it means the RS485-LN is ready to be program.
994 994  )))
1369 +)))
1370 +)))
995 995  
996 996  
997 997  [[image:image-20220602175818-12.png]]
... ... @@ -1013,9 +1013,9 @@
1013 1013  User can follow the introduction for [[how to upgrade image>>||anchor="H6.1Howtoupgradetheimage3F"]]. When download the images, choose the required image file for download.
1014 1014  
1015 1015  
1016 -== 6.3 How many RS485-Slave can RS485-BL connects? ==
1392 +== 6.3 How many RS485-Slave can RS485-LN connects? ==
1017 1017  
1018 -The RS485-BL can support max 32 RS485 devices. Each uplink command of RS485-BL can support max 16 different RS485 command. So RS485-BL can support max 16 RS485 devices pre-program in the device for uplink. For other devices no pre-program, user can use the [[downlink message (type code 0xA8) to poll their info>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
1394 +The RS485-LN can support max 32 RS485 devices. Each uplink command of RS485-LN can support max 16 different RS485 command. So RS485-LN can support max 16 RS485 devices pre-program in the device for uplink. For other devices no pre-program, user can use the [[downlink message (type code 0xA8) to poll their info>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
1019 1019  
1020 1020  
1021 1021  == 6.4 Compatible question to ChirpStack and TTI LoRaWAN server ? ==
... ... @@ -1054,8 +1054,6 @@
1054 1054  * (% style="color:blue" %)**RU864**(%%): frequency bands RU864
1055 1055  * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865
1056 1056  
1057 -
1058 -
1059 1059  = 9.Packing Info =
1060 1060  
1061 1061  
... ... @@ -1072,8 +1072,6 @@
1072 1072  * Package Size / pcs : 14.5 x 8 x 5 cm
1073 1073  * Weight / pcs : 170g
1074 1074  
1075 -
1076 -
1077 1077  = 10. FCC Caution for RS485LN-US915 =
1078 1078  
1079 1079  (((
image-20220606110929-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +13.9 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0