<
From version < 68.2 >
edited by Xiaoling
on 2022/08/08 09:53
To version < 73.5 >
edited by Xiaoling
on 2022/09/12 11:03
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -30,6 +30,7 @@
30 30  
31 31  = 1.Introduction =
32 32  
33 +
33 33  == 1.1 What is RS485-LN RS485 to LoRaWAN Converter ==
34 34  
35 35  (((
... ... @@ -73,7 +73,7 @@
73 73  == 1.2 Specifications ==
74 74  
75 75  
76 -**Hardware System:**
77 +(% style="color:#037691" %)**Hardware System:**
77 77  
78 78  * STM32L072CZT6 MCU
79 79  * SX1276/78 Wireless Chip 
... ... @@ -81,13 +81,17 @@
81 81  ** Idle: 32mA@12v
82 82  ** 20dB Transmit: 65mA@12v
83 83  
84 -**Interface for Model:**
85 85  
86 +
87 +(% style="color:#037691" %)**Interface for Model:**
88 +
86 86  * RS485
87 87  * Power Input 7~~ 24V DC. 
88 88  
89 -**LoRa Spec:**
90 90  
93 +
94 +(% style="color:#037691" %)**LoRa Spec:**
95 +
91 91  * Frequency Range:
92 92  ** Band 1 (HF): 862 ~~ 1020 Mhz
93 93  ** Band 2 (LF): 410 ~~ 528 Mhz
... ... @@ -109,11 +109,12 @@
109 109  
110 110  
111 111  
117 +
112 112  == 1.3 Features ==
113 113  
114 114  
115 115  * LoRaWAN Class A & Class C protocol (default Class C)
116 -* Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864
122 +* Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864/MA869
117 117  * AT Commands to change parameters
118 118  * Remote configure parameters via LoRa Downlink
119 119  * Firmware upgradable via program port
... ... @@ -123,6 +123,7 @@
123 123  
124 124  
125 125  
132 +
126 126  == 1.4 Applications ==
127 127  
128 128  
... ... @@ -135,6 +135,7 @@
135 135  
136 136  
137 137  
145 +
138 138  == 1.5 Firmware Change log ==
139 139  
140 140  
... ... @@ -181,6 +181,7 @@
181 181  
182 182  = 3. Operation Mode =
183 183  
192 +
184 184  == 3.1 How it works? ==
185 185  
186 186  
... ... @@ -198,6 +198,7 @@
198 198  
199 199  Here shows an example for how to join the TTN V3 Network. Below is the network structure, we use [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]] as LoRaWAN gateway here. 
200 200  
210 +
201 201  (% aria-label="1653268155545-638.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653268155545-638.png||data-widget="image" height="334" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
202 202  
203 203  
... ... @@ -208,6 +208,8 @@
208 208  
209 209  (((
210 210  485A+ and 485B- of the sensor are connected to RS485A and RA485B of RS485-LN respectively.
221 +
222 +
211 211  )))
212 212  
213 213  (% aria-label="1653268227651-549.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653268227651-549.png||data-widget="image" height="592" width="720"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
... ... @@ -215,6 +215,8 @@
215 215  
216 216  (((
217 217  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:
230 +
231 +
218 218  )))
219 219  
220 220  (((
... ... @@ -232,6 +232,8 @@
232 232  (((
233 233  (((
234 234  User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot:
249 +
250 +
235 235  )))
236 236  
237 237  (((
... ... @@ -245,8 +245,11 @@
245 245  
246 246  (% aria-label="image-20220519174512-3.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220519174512-3.png||data-widget="image" height="556" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
247 247  
248 -(% aria-label="image-20220519174512-4.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220519174512-4.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
264 +(% aria-label="image-20220519174512-4.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220519174512-4.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
249 249  
266 +
267 +(% title="Click and drag to resize" %)​
268 +
250 250  You can also choose to create the device manually.
251 251  
252 252  (% aria-label="1652953542269-423.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1652953542269-423.png||data-widget="image" height="710" width="723"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
... ... @@ -258,8 +258,11 @@
258 258  (% aria-label="1652953553383-907.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1652953553383-907.png||data-widget="image" height="514" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
259 259  
260 260  
280 +
261 261  (((
262 262  (% 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.
283 +
284 +
263 263  )))
264 264  
265 265  (% aria-label="1652953568895-172.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1652953568895-172.png||data-widget="image" height="232" width="724"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
... ... @@ -273,6 +273,8 @@
273 273  (((
274 274  (((
275 275  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.
298 +
299 +
276 276  )))
277 277  )))
278 278  
... ... @@ -291,6 +291,7 @@
291 291  
292 292  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:
293 293  
318 +
294 294  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
295 295  |=(% style="width: 110px;" %)(((
296 296  **AT Commands**
... ... @@ -397,6 +397,7 @@
397 397  
398 398  (% style="color:#037691" %)**Each RS485 commands include two parts:**
399 399  
425 +
400 400  ~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.
401 401  
402 402  2. How to get wanted value the from RS485 sensors returns from by 1). There are total 15 AT Commands to handle the return, commands are **AT+DATACUT1**,**AT+DATACUT2**,…, **AT+DATACUTF** corresponding to the commands from 1). All commands are of same grammar.
... ... @@ -425,7 +425,7 @@
425 425  In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
426 426  
427 427  
428 -(% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
454 +(% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
429 429  
430 430  (% border="1" style="background-color:#4bacc6; color:white; width:510px" %)
431 431  |(% style="width:510px" %)(((
... ... @@ -436,18 +436,22 @@
436 436  * **c: define the position for valid value.  **
437 437  )))
438 438  
465 +
439 439  **Examples:**
440 440  
468 +
441 441  * (% style="color:#037691" %)**Grab bytes**
442 442  
443 443  (% aria-label="image-20220602153621-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602153621-1.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
444 444  
445 445  
474 +
446 446  * (% style="color:#037691" %)**Grab a section**
447 447  
448 448  (% aria-label="image-20220602153621-2.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602153621-2.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
449 449  
450 450  
480 +
451 451  * (% style="color:#037691" %)**Grab different sections**
452 452  
453 453  (% aria-label="image-20220602153621-3.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602153621-3.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
... ... @@ -476,15 +476,13 @@
476 476  )))
477 477  
478 478  (((
479 -Final Payload is
509 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx**
480 480  )))
481 481  
482 482  (((
483 -(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx**
484 -)))
485 -
486 -(((
487 487  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
514 +
515 +
488 488  )))
489 489  
490 490  (% aria-label="1653269759169-150.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653269759169-150.png||data-widget="image" height="513" width="716"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
... ... @@ -495,16 +495,16 @@
495 495  
496 496  Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
497 497  
498 -Final Payload is
526 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
499 499  
500 -(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
501 501  
502 -
503 503  1. PAYVER: Defined by AT+PAYVER
504 504  1. PAYLOAD COUNT: Total how many uplinks of this sampling.
505 505  1. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
506 506  1. DATA: Valid value: max 8 bytes for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 8 bytes
507 507  
534 +
535 +
508 508  (% aria-label="image-20220602155039-4.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602155039-4.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
509 509  
510 510  
... ... @@ -519,6 +519,7 @@
519 519  
520 520  (% style="color:red" %)**Notice: In firmware v1.3, the Max bytes has been changed according to the max bytes in different Frequency Bands for lowest SF. As below:**
521 521  
550 +
522 522   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink.
523 523  
524 524   * For AU915/AS923 bands, if UplinkDwell time=0, max 11 bytes for each uplink.
... ... @@ -527,9 +527,30 @@
527 527  
528 528   ~* For all other bands: max 51 bytes for each uplink.
529 529  
559 +(% style="color:red" %)*** When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
530 530  
561 +(% style="color:red" %)** When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value. (Since v1.4.0)**
562 +
563 +
564 +(% style="color:#4f81bd" %)**If the data is empty, return to the display(Since v1.4.0)**
565 +
566 +1 )  When **(% style="color:blue" %)AT+MOD=1**(%%), if the data intercepted by** AT+DATACUT** or **AT+MBFUN** is empty, it will display **NULL**, and the payload will be filled with **n FFs**.
567 +
568 +
569 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/test/WebHome/image-20220824114359-3.png?width=1106&height=297&rev=1.1||alt="image-20220824114359-3.png" height="297" width="1106"]]
570 +
571 +
572 +
573 +2 )  When **(% style="color:blue" %)AT+MOD=2**(%%), if the data intercepted by **AT+DATACUT** or **AT+MBFUN** is empty, it will display **NULL**, and the payload will be filled with **n 00s**.
574 +
575 +
576 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/test/WebHome/image-20220824114330-2.png?rev=1.1||alt="image-20220824114330-2.png"]]
577 +
578 +
579 +
531 531  Below are the uplink payloads:
532 532  
582 +
533 533  (% aria-label="1654157178836-407.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654157178836-407.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
534 534  
535 535  
... ... @@ -539,11 +539,11 @@
539 539  
540 540  Except uplink periodically, RS485-LN is able to uplink on demand. The server send downlink command to RS485-LN and RS485 will uplink data base on the command.
541 541  
542 -Downlink control command:
592 +**(% style="color:blue" %)Downlink control command:**
543 543  
544 -**0x08 command**: Poll an uplink with current command set in RS485-LN.
594 +**(% style="color:#4472C4" %) 0x08 command**(%%): Poll an uplink with current command set in RS485-LN.
545 545  
546 -**0xA8 command**: Send a command to RS485-LN and uplink the output from sensors.
596 +**(% style="color:#4472C4" %) 0xA8 command**(%%): Send a command to RS485-LN and uplink the output from sensors.
547 547  
548 548  
549 549  
... ... @@ -552,6 +552,7 @@
552 552  
553 553  RS485-LN support external Interrupt uplink since hardware v1.2 release.
554 554  
605 +
555 555  (% aria-label="1654157342174-798.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654157342174-798.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
556 556  
557 557  Connect the Interrupt pin to RS485-LN INT port and connect the GND pin to V- port. When there is a high voltage (Max 24v) on INT pin. Device will send an uplink packet.
... ... @@ -561,8 +561,10 @@
561 561  == 3.4 Uplink Payload ==
562 562  
563 563  
564 -(% aria-label="image-20220606110929-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220606110929-1.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
615 +(% aria-label="image-20220606110929-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220606110929-1.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
565 565  
617 +(% title="Click and drag to resize" %)​
618 +
566 566  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
567 567  
568 568  
... ... @@ -599,7 +599,7 @@
599 599  
600 600  
601 601  
602 -=== 3.5.2 Sensor related commands ===
655 +=== 3.5.2 Downlink Response(Since firmware v1.4) ===
603 603  
604 604  
605 605  Response feature is added to the server's downlink, a special package with a FPort of 200 will be uploaded immediately after receiving the data sent by the server.
... ... @@ -617,8 +617,9 @@
617 617  
618 618  ==== (% style="color:blue" %)**RS485 Debug Command**(%%) ====
619 619  
673 +
620 620  (((
621 -This command is used to configure the RS485 devices; they wont be used during sampling.
675 +This command is used to configure the RS485 devices; they won't be used during sampling.
622 622  )))
623 623  
624 624  * (((
... ... @@ -625,7 +625,7 @@
625 625  (% style="color:#037691" %)**AT Command**
626 626  
627 627  (((
628 -**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**  m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
682 +**(% style="color:#4472C4" %) AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**  (%%) m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
629 629  )))
630 630  )))
631 631  
... ... @@ -638,7 +638,7 @@
638 638  )))
639 639  
640 640  (((
641 -Format: A8 MM NN XX XX XX XX YY
695 +Format:(%%) **(% style="color:#4472C4" %) A8 MM NN XX XX XX XX YY**
642 642  )))
643 643  
644 644  (((
... ... @@ -673,7 +673,7 @@
673 673  (((
674 674  
675 675  
676 -**Example 1**  ~-~-> Configure without ask for uplink (YY=0)
730 +(% style="color:blue" %)**Example 1:**  (%%) ~-~-> Configure without ask for uplink (YY=0)
677 677  )))
678 678  
679 679  (((
... ... @@ -711,7 +711,7 @@
711 711  )))
712 712  
713 713  (((
714 -**Example 2**  ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**)
768 +(% style="color:blue" %)**Example 2:**  (%%) ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**)
715 715  )))
716 716  
717 717  (((
... ... @@ -739,6 +739,7 @@
739 739  
740 740  ==== (% style="color:blue" %)**Set Payload version**(%%) ====
741 741  
796 +
742 742  (((
743 743  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.
744 744  )))
... ... @@ -746,7 +746,7 @@
746 746  * (((
747 747  (% style="color:#037691" %)**AT Command:**
748 748  
749 -**AT+PAYVER:    **Set PAYVER field = 1
804 +**(% style="color:#4472C4" %) AT+PAYVER:    ** (%%) Set PAYVER field = 1
750 750  
751 751  
752 752  )))
... ... @@ -755,18 +755,25 @@
755 755  )))
756 756  
757 757  (((
758 -**0xAE 01**  ~-~->  Set PAYVER field =  0x01
813 +**(% style="color:#4472C4" %) 0xAE 01** (%%)  ~-~->  Set PAYVER field =  0x01
759 759  )))
760 760  
761 761  (((
762 -**0xAE 0F**   ~-~->  Set PAYVER field =  0x0F
817 +**(% style="color:#4472C4" %) 0xAE 0F**   (%%) ~-~->  Set PAYVER field =  0x0F
763 763  )))
764 764  
765 765  
821 +1) Add the interrupt flag at the highest bit of the Payver byte, that is, Byte7 of the first byte. (Since v1.4.0)[[image:image-20220824145428-2.png||height="168" width="1300"]]
766 766  
767 767  
824 +2) if the data intercepted by AT+DATACUT or AT+MBFUN is empty, it will display NULL, and the payload will be filled with n FFs.
825 +
826 +[[image:image-20220824145428-3.png||height="308" width="1200"]]
827 +
828 +
768 768  ==== (% style="color:blue" %)**Set RS485 Sampling Commands**(%%) ====
769 769  
831 +
770 770  (((
771 771  AT+COMMANDx or AT+DATACUTx
772 772  )))
... ... @@ -783,9 +783,9 @@
783 783  (% style="color:#037691" %)**AT Command:**
784 784  )))
785 785  
786 -**AT+COMMANDx:    **Configure RS485 read command to sensor.
848 +**(% style="color:#4472C4" %) AT+COMMANDx:    ** (%%) Configure RS485 read command to sensor.
787 787  
788 -**AT+DATACUTx:        **Configure how to handle return from RS485 devices.
850 +**(% style="color:#4472C4" %) AT+DATACUTx:        **(%%) Configure how to handle return from RS485 devices.
789 789  
790 790  
791 791  * (((
... ... @@ -793,15 +793,19 @@
793 793  )))
794 794  
795 795  (((
796 -**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
858 +**(% style="color:#4472C4" %) 0xAF**(%%) downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
859 +
860 +
797 797  )))
798 798  
799 799  (((
800 -(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
864 +(% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**
865 +
866 +
801 801  )))
802 802  
803 803  (((
804 -Format: AF MM NN LL XX XX XX XX YY
870 +Format: (%%)**(% style="color:#4472C4" %) AF MM NN LL XX XX XX XX YY**
805 805  )))
806 806  
807 807  (((
... ... @@ -847,8 +847,9 @@
847 847  
848 848  ==== (% style="color:blue" %)**Fast command to handle MODBUS device**(%%) ====
849 849  
916 +
850 850  (((
851 -**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]].
918 +**(% style="color:#4472C4" %) 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]].
852 852  )))
853 853  
854 854  (((
... ... @@ -888,6 +888,7 @@
888 888  
889 889  ==== (% style="color:blue" %)**RS485 command timeout**(%%) ====
890 890  
958 +
891 891  (((
892 892  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.
893 893  )))
... ... @@ -899,7 +899,7 @@
899 899  * (((
900 900  (% style="color:#037691" %)** AT Command:**
901 901  
902 -**AT+CMDDLaa=hex(bb cc)*1000**
970 +**(% style="color:#4472C4" %) AT+CMDDLaa=hex(bb cc)*1000**
903 903  )))
904 904  
905 905  (((
... ... @@ -909,7 +909,7 @@
909 909  )))
910 910  
911 911  (((
912 -**AT+CMDDL1=1000** to send the open time to 1000ms
980 +**(% style="color:#4472C4" %) AT+CMDDL1=1000** (%%)to send the open time to 1000ms
913 913  )))
914 914  
915 915  (((
... ... @@ -921,7 +921,7 @@
921 921  )))
922 922  
923 923  (((
924 -**0x AA aa bb cc**
992 +**(% style="color:#4472C4" %) 0x AA aa bb cc**
925 925  )))
926 926  
927 927  (((
... ... @@ -937,10 +937,9 @@
937 937  )))
938 938  
939 939  
940 -
941 -
942 942  ==== (% style="color:blue" %)**Uplink payload mode**(%%) ====
943 943  
1010 +
944 944  (((
945 945  Define to use one uplink or multiple uplinks for the sampling.
946 946  )))
... ... @@ -953,11 +953,17 @@
953 953  
954 954  * (((
955 955  (% style="color:#037691" %)** AT Command:**
1023 +
1024 +**(% style="color:#4472C4" %) AT+DATAUP=0**
1025 +
1026 +**(% style="color:#4472C4" %) AT+DATAUP=1**
1027 +
1028 +
956 956  )))
957 957  
958 -**AT+DATAUP=0**
1031 +**(% style="color:#4472C4" %) 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds)
959 959  
960 -**AT+DATAUP=1**
1033 +Each uplink is sent to the server at 20-second intervals when segmented.
961 961  
962 962  
963 963  * (((
... ... @@ -964,19 +964,31 @@
964 964  (% style="color:#037691" %)** Downlink Payload:**
965 965  )))
966 966  
967 -(((
968 -**0xAD 00**  **~-~->** Same as AT+DATAUP=0
1040 +**(% style="color:#4472C4" %) 0xAD 00** (%%) **~-~->** Same as AT+DATAUP=0
1041 +
1042 +**(% style="color:#4472C4" %) 0xAD 01**  (%%) **~-~->** Same as AT+DATAUP=1  ~/~/Each uplink is sent to the server one after the other as it is segmented.
1043 +
1044 +
1045 +* (((
1046 +(% style="color:#037691" %)** AT Command:**
969 969  )))
970 970  
971 -(((
972 -**0xAD 01**  **~-~->** Same as AT+DATAUP=1
1049 +**(% style="color:#4472C4" %) AT+DATAUP=1,Timeout**
1050 +
1051 +
1052 +* (((
1053 +(% style="color:#037691" %)** Downlink Payload:**
973 973  )))
974 974  
1056 +**(% style="color:#4472C4" %) 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds)
975 975  
1058 +Each uplink is sent to the server at 20-second intervals when segmented.
976 976  
977 977  
1061 +
978 978  ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ====
979 979  
1064 +
980 980  (((
981 981  Ask device to send an uplink immediately.
982 982  )))
... ... @@ -998,7 +998,7 @@
998 998  )))
999 999  
1000 1000  (((
1001 -**0x08 FF**, RS485-LN will immediately send an uplink.
1086 +**(% style="color:#4472C4" %) 0x08 FF**(%%), RS485-LN will immediately send an uplink.
1002 1002  )))
1003 1003  
1004 1004  
... ... @@ -1006,6 +1006,7 @@
1006 1006  
1007 1007  ==== (% style="color:blue" %)**Clear RS485 Command**(%%) ====
1008 1008  
1094 +
1009 1009  (((
1010 1010  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
1011 1011  
... ... @@ -1017,7 +1017,7 @@
1017 1017  )))
1018 1018  
1019 1019  (((
1020 -**AT+CMDEAR=mm,nn**   mm: start position of erase ,nn: stop position of erase
1106 +**(% style="color:#4472C4" %) AT+CMDEAR=mm,nn** (%%)  mm: start position of erase ,nn: stop position of erase
1021 1021  )))
1022 1022  
1023 1023  (((
... ... @@ -1044,7 +1044,7 @@
1044 1044  )))
1045 1045  
1046 1046  (((
1047 -**0x09 aa bb** same as AT+CMDEAR=aa,bb
1133 +**(% style="color:#4472C4" %) 0x09 aa bb** (%%) same as AT+CMDEAR=aa,bb
1048 1048  )))
1049 1049  
1050 1050  
... ... @@ -1052,8 +1052,11 @@
1052 1052  
1053 1053  ==== (% style="color:blue" %)**Set Serial Communication Parameters**(%%) ====
1054 1054  
1141 +
1055 1055  (((
1056 1056  Set the Rs485 serial communication parameters:
1144 +
1145 +
1057 1057  )))
1058 1058  
1059 1059  * (((
... ... @@ -1061,12 +1061,10 @@
1061 1061  )))
1062 1062  
1063 1063  (((
1064 -
1065 -
1066 1066  * Set Baud Rate
1067 1067  )))
1068 1068  
1069 -**AT+BAUDR=9600**    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
1156 +**(% style="color:#4472C4" %) AT+BAUDR=9600** (%%)   ~/~/ Options: (200~~115200)  When using low baud rate or receiving multiple bytes, you need to use AT+CMDDL to increase the receive timeout (the default receive timeout is 400ms), otherwise data will be lost
1070 1070  
1071 1071  
1072 1072  (((
... ... @@ -1073,7 +1073,7 @@
1073 1073  * Set UART Parity
1074 1074  )))
1075 1075  
1076 -**AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1163 +**(% style="color:#4472C4" %) AT+PARITY=0** (%%)   ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1077 1077  
1078 1078  
1079 1079  (((
... ... @@ -1112,8 +1112,123 @@
1112 1112  )))
1113 1113  
1114 1114  
1202 +==== (% style="color:blue" %)**Encrypted payload**(%%) ====
1115 1115  
1204 +(((
1205 +
1206 +)))
1116 1116  
1208 +* (((
1209 +(% style="color:#037691" %)** AT Command:**
1210 +)))
1211 +
1212 +**AT+DECRYPT=1  **~/~/ The payload is uploaded without encryption
1213 +
1214 +**AT+DECRYPT=0  **~/~/Encrypt when uploading payload (default)
1215 +
1216 +
1217 +==== (% style="color:blue" %)**Get sensor value**(%%) ====
1218 +
1219 +
1220 +* (((
1221 +(% style="color:#037691" %)** AT Command:**
1222 +)))
1223 +
1224 +**AT+GETSENSORVALUE=0  **~/~/ The serial port gets the reading of the current sensor
1225 +
1226 +**AT+GETSENSORVALUE=1  **~/~/The serial port gets the current sensor reading and uploads it.
1227 +
1228 +
1229 +==== (% style="color:blue" %)**Resets the downlink packet count**(%%) ====
1230 +
1231 +
1232 +* (((
1233 +(% style="color:#037691" %)** AT Command:**
1234 +)))
1235 +
1236 +**AT+DISFCNTCHECK=0  **~/~/ When the downlink packet count sent by the server is less than the node downlink packet count or exceeds 16384, the node will no longer receive downlink packets (default)
1237 +
1238 +**AT+DISFCNTCHECK=1  **~/~/When the downlink packet count sent by the server is less than the node downlink packet count or exceeds 16384, the node resets the downlink packet count and keeps it consistent with the server downlink packet count.
1239 +
1240 +
1241 +==== (% style="color:blue" %)**When the limit bytes are exceeded, upload in batches**(%%) ====
1242 +
1243 +
1244 +* (((
1245 +(% style="color:#037691" %)** AT Command:**
1246 +)))
1247 +
1248 + **AT+DISMACANS=0**  ~/~/ When the MACANS of the reply server plus the payload exceeds the maximum number of bytes of 11 bytes (DR0 of US915, DR2 of AS923, DR2 of AU195), the node will send a packet with a payload of 00 and a port of 4. (default)
1249 +
1250 + **AT+DISMACANS=1**      ~/~/ When the MACANS of the reply server plus the payload exceeds the maximum number of bytes of the DR, the node will ignore the MACANS and not reply, and only upload the payload part.
1251 +
1252 +
1253 +* (((
1254 +(% style="color:#037691" %)** Downlink Payload:**
1255 +)))
1256 +
1257 +**0x21 00 01 ** ~/~/ Set  the DISMACANS=1
1258 +
1259 +
1260 +==== (% style="color:blue" %)** Copy downlink to uplink **(%%) ====
1261 +
1262 +
1263 +* (((
1264 +(% style="color:#037691" %)** AT Command:**
1265 +)))
1266 +
1267 +**AT+RPL=5**  ~/~/ After receiving the package from the server, it will immediately upload the content of the package to the server, the port number is 100.
1268 +
1269 +Example:**aa xx xx xx xx**         ~/~/ aa indicates whether the configuration has changed, 00 is yes, 01 is no; xx xx xx xx are the bytes sent.
1270 +
1271 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823173747-6.png?width=1124&height=165&rev=1.1||alt="image-20220823173747-6.png"]]
1272 +
1273 +For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77.
1274 +
1275 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823173833-7.png?width=1124&height=149&rev=1.1||alt="image-20220823173833-7.png"]]
1276 +
1277 +For example, if 01 00 02 58 is issued, a valid configuration of 01 01 00 02 58 will be returned.
1278 +
1279 +
1280 +==== (% style="color:blue" %)**Query version number and frequency band 、TDC**(%%) ====
1281 +
1282 +
1283 +* (((
1284 +(% style="color:#037691" %)**Downlink Payload:**
1285 +
1286 +**26 01  ** ~/~/ Downlink 26 01 can query device upload frequency, frequency band, software version number, TDC time.
1287 +)))
1288 +
1289 +Example:
1290 +
1291 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823173929-8.png?width=1205&height=76&rev=1.1||alt="image-20220823173929-8.png"]]
1292 +
1293 +==== ====
1294 +
1295 +==== (% style="color:blue" %)** Monitor RS485 communication of other devices**(%%) ====
1296 +
1297 +
1298 +* (((
1299 +(% style="color:#037691" %)** AT Command:**
1300 +)))
1301 +
1302 +**~ ​AT+RXMODE=1,10**  ~/~/ When the RS485-LN receives more than 10 bytes from the RS485, it immediately sends the uplink of the received data.
1303 +
1304 +**~ ​AT+RXMODE=2,500    ** ~/~/RS485-LN uploads data as uplink from the first byte received by RS485 to the data received within 500ms after that.
1305 +
1306 + **AT+RXMODE=0,0  ** ~/~/Disable this mode (default)
1307 +
1308 +
1309 +* (((
1310 +(% style="color:#037691" %)**Downlink Payload:**
1311 +)))
1312 +
1313 +**A6 aa bb bb                   ** ~/~/same as AT+RXMODE=aa,bb
1314 +
1315 +[[image:image-20220824144240-1.png]]
1316 +
1317 +
1318 +
1117 1117  == 3.6 Listening mode for RS485 network ==
1118 1118  
1119 1119  
... ... @@ -1225,9 +1225,6 @@
1225 1225  |(% style="width:50px" %)**RST**|(% style="width:361px" %)Reboot RS485
1226 1226  |(% style="width:50px" %)**PRO**|(% style="width:361px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]]
1227 1227  
1228 -
1229 -
1230 -
1231 1231  == 3.8 LEDs ==
1232 1232  
1233 1233  
... ... @@ -1236,9 +1236,6 @@
1236 1236  |**PWR**|Always on if there is power
1237 1237  |**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.
1238 1238  
1239 -
1240 -
1241 -
1242 1242  = 4. Case Study =
1243 1243  
1244 1244  
... ... @@ -1248,6 +1248,7 @@
1248 1248  
1249 1249  = 5. Use AT Command =
1250 1250  
1447 +
1251 1251  == 5.1 Access AT Command ==
1252 1252  
1253 1253  
... ... @@ -1327,6 +1327,8 @@
1327 1327  2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting.
1328 1328  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.
1329 1329  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
1527 +
1528 +
1330 1330  )))
1331 1331  
1332 1332  (% aria-label="1654162478620-421.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654162478620-421.png||data-widget="image"]](% style="background-image:url(http://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %)​
... ... @@ -1335,6 +1335,7 @@
1335 1335  
1336 1336  = 6. FAQ =
1337 1337  
1537 +
1338 1338  == 6.1 How to upgrade the image? ==
1339 1339  
1340 1340  
... ... @@ -1365,7 +1365,7 @@
1365 1365  )))
1366 1366  
1367 1367  (((
1368 -(% style="color:blue" %)**Step2**(%%)**:** Download the [[LT Image files>>url:https://www.dragino.com/downloads/index.php?dir=RS485-LN/Firmware/]].
1568 +(% style="color:blue" %)**Step2**(%%)**:** Download the [[LT Image files>>url:https://www.dropbox.com/sh/g99v0fxcltn9r1y/AACP33wo_ZQLsxW2MJ70oUoba/RS485-LN/Firmware?dl=0&subfolder_nav_tracking=1]].
1369 1369  )))
1370 1370  
1371 1371  (((
... ... @@ -1468,8 +1468,6 @@
1468 1468  * (% style="color:red" %)**RU864**(%%):  frequency bands RU864
1469 1469  * (% style="color:red" %)**KZ865**(%%):  frequency bands KZ865
1470 1470  
1471 -
1472 -
1473 1473  = 9.Packing Info =
1474 1474  
1475 1475  
... ... @@ -1486,8 +1486,6 @@
1486 1486  * Package Size / pcs : 14.5 x 8 x 5 cm
1487 1487  * Weight / pcs : 170g
1488 1488  
1489 -
1490 -
1491 1491  = 10. FCC Caution for RS485LN-US915 =
1492 1492  
1493 1493  
... ... @@ -1508,7 +1508,7 @@
1508 1508  )))
1509 1509  
1510 1510  (((
1511 -**Note: **This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
1707 +(% style="color:red" %)**Note: **(%%)This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
1512 1512  )))
1513 1513  
1514 1514  (((
... ... @@ -1549,4 +1549,7 @@
1549 1549  )))
1550 1550  * (((
1551 1551  Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]].
1748 +
1749 +
1750 +
1552 1552  )))
image-20220824144240-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +110.9 KB
Content
image-20220824145428-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +12.6 KB
Content
image-20220824145428-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +17.7 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0