Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Bei Jinggeng on 2025/01/16 11:36
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Bei - Content
-
... ... @@ -30,7 +30,6 @@ 30 30 31 31 = 1.Introduction = 32 32 33 - 34 34 == 1.1 What is RS485-LN RS485 to LoRaWAN Converter == 35 35 36 36 ((( ... ... @@ -82,13 +82,11 @@ 82 82 ** Idle: 32mA@12v 83 83 ** 20dB Transmit: 65mA@12v 84 84 85 - 86 86 (% style="color:#037691" %)**Interface for Model:** 87 87 88 88 * RS485 89 89 * Power Input 7~~ 24V DC. 90 90 91 - 92 92 (% style="color:#037691" %)**LoRa Spec:** 93 93 94 94 * Frequency Range: ... ... @@ -110,8 +110,6 @@ 110 110 * Automatic RF Sense and CAD with ultra-fast AFC. 111 111 * Packet engine up to 256 bytes with CRC 112 112 113 - 114 - 115 115 == 1.3 Features == 116 116 117 117 ... ... @@ -124,8 +124,6 @@ 124 124 * Support Modbus protocol 125 125 * Support Interrupt uplink (Since hardware version v1.2) 126 126 127 - 128 - 129 129 == 1.4 Applications == 130 130 131 131 ... ... @@ -136,8 +136,6 @@ 136 136 * Smart Cities 137 137 * Smart Factory 138 138 139 - 140 - 141 141 == 1.5 Firmware Change log == 142 142 143 143 ... ... @@ -184,7 +184,6 @@ 184 184 185 185 = 3. Operation Mode = 186 186 187 - 188 188 == 3.1 How it works? == 189 189 190 190 ... ... @@ -202,7 +202,6 @@ 202 202 203 203 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. 204 204 205 - 206 206 (% 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" %) 207 207 208 208 ... ... @@ -213,8 +213,6 @@ 213 213 214 214 ((( 215 215 485A+ and 485B- of the sensor are connected to RS485A and RA485B of RS485-LN respectively. 216 - 217 - 218 218 ))) 219 219 220 220 (% 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" %) ... ... @@ -241,8 +241,6 @@ 241 241 ((( 242 242 ((( 243 243 User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot: 244 - 245 - 246 246 ))) 247 247 248 248 ((( ... ... @@ -256,11 +256,8 @@ 256 256 257 257 (% 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" %) 258 258 259 -(% 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"]] 244 +(% 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" %) 260 260 261 - 262 -(% title="Click and drag to resize" %) 263 - 264 264 You can also choose to create the device manually. 265 265 266 266 (% 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" %) ... ... @@ -272,11 +272,8 @@ 272 272 (% 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" %) 273 273 274 274 275 - 276 276 ((( 277 277 (% 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. 278 - 279 - 280 280 ))) 281 281 282 282 (% 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" %) ... ... @@ -290,8 +290,6 @@ 290 290 ((( 291 291 ((( 292 292 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. 293 - 294 - 295 295 ))) 296 296 ))) 297 297 ... ... @@ -310,7 +310,6 @@ 310 310 311 311 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: 312 312 313 - 314 314 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 315 315 |=(% style="width: 110px;" %)((( 316 316 **AT Commands** ... ... @@ -369,8 +369,6 @@ 369 369 ))) 370 370 ))) 371 371 372 - 373 - 374 374 === 3.3.2 Configure sensors === 375 375 376 376 ... ... @@ -398,8 +398,6 @@ 398 398 ))) 399 399 )))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 400 400 401 - 402 - 403 403 === 3.3.3 Configure read commands for each sampling === 404 404 405 405 ... ... @@ -415,7 +415,6 @@ 415 415 416 416 (% style="color:#037691" %)**Each RS485 commands include two parts:** 417 417 418 - 419 419 ~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. 420 420 421 421 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. ... ... @@ -457,7 +457,6 @@ 457 457 458 458 **Examples:** 459 459 460 - 461 461 * (% style="color:#037691" %)**Grab bytes** 462 462 463 463 (% 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" %) ... ... @@ -498,13 +498,15 @@ 498 498 ))) 499 499 500 500 ((( 501 -Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx**471 +Final Payload is 502 502 ))) 503 503 504 504 ((( 505 -Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 475 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 476 +))) 506 506 507 - 478 +((( 479 +Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 508 508 ))) 509 509 510 510 (% 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" %) ... ... @@ -515,15 +515,16 @@ 515 515 516 516 Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 517 517 518 -Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**490 +Final Payload is 519 519 492 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 520 520 494 + 521 521 1. PAYVER: Defined by AT+PAYVER 522 522 1. PAYLOAD COUNT: Total how many uplinks of this sampling. 523 523 1. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 524 524 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 525 525 526 - 527 527 (% 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" %) 528 528 529 529 ... ... @@ -538,7 +538,6 @@ 538 538 539 539 (% 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:** 540 540 541 - 542 542 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink. 543 543 544 544 * For AU915/AS923 bands, if UplinkDwell time=0, max 11 bytes for each uplink. ... ... @@ -554,23 +554,17 @@ 554 554 555 555 (% style="color:#4f81bd" %)**If the data is empty, return to the display(Since v1.4.0)** 556 556 557 -1 (% 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**.529 +1)When 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. 558 558 559 - 560 560 [[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"]] 561 561 533 +2)When 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. 562 562 563 - 564 -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**. 565 - 566 - 567 567 [[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"]] 568 568 569 569 570 - 571 571 Below are the uplink payloads: 572 572 573 - 574 574 (% 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" %) 575 575 576 576 ... ... @@ -580,11 +580,11 @@ 580 580 581 581 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. 582 582 583 - (% style="color:blue" %)**Downlink control command:**549 +Downlink control command: 584 584 585 - (% style="color:#4472c4" %)**(%%): Poll an uplink with current command set in RS485-LN.551 +**0x08 command**: Poll an uplink with current command set in RS485-LN. 586 586 587 - (% style="color:#4472c4" %)**(%%): Send a command to RS485-LN and uplink the output from sensors.553 +**0xA8 command**: Send a command to RS485-LN and uplink the output from sensors. 588 588 589 589 590 590 ... ... @@ -593,7 +593,6 @@ 593 593 594 594 RS485-LN support external Interrupt uplink since hardware v1.2 release. 595 595 596 - 597 597 (% 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" %) 598 598 599 599 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. ... ... @@ -603,10 +603,8 @@ 603 603 == 3.4 Uplink Payload == 604 604 605 605 606 -(% 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"]] 571 +(% 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" %) 607 607 608 -(% title="Click and drag to resize" %) 609 - 610 610 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 611 611 612 612 ... ... @@ -670,7 +670,7 @@ 670 670 (% style="color:#037691" %)**AT Command** 671 671 672 672 ((( 673 - (% style="color:#4472c4" %)**(%%)m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command636 +**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 674 674 ))) 675 675 ))) 676 676 ... ... @@ -683,7 +683,7 @@ 683 683 ))) 684 684 685 685 ((( 686 -Format: (% style="color:#4472c4" %)**A8 MM NN XX XX XX XX YY**649 +Format: A8 MM NN XX XX XX XX YY 687 687 ))) 688 688 689 689 ((( ... ... @@ -792,7 +792,7 @@ 792 792 * ((( 793 793 (% style="color:#037691" %)**AT Command:** 794 794 795 - (% style="color:#4472c4" %)**(%%)Set PAYVER field = 1758 +**AT+PAYVER: **Set PAYVER field = 1 796 796 797 797 798 798 ))) ... ... @@ -801,27 +801,22 @@ 801 801 ))) 802 802 803 803 ((( 804 - (% style="color:#4472c4" %)**(%%)767 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 805 805 ))) 806 806 807 807 ((( 808 - (% style="color:#4472c4" %)**(%%)~-~-> Set PAYVER field = 0x0F771 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 809 809 ))) 810 810 811 811 812 -1 775 +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"]] 813 813 814 -[[image:image-20220824145428-2.png||height="168" width="1300"]] 815 815 778 +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. 816 816 817 -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. 818 - 819 - 820 820 [[image:image-20220824145428-3.png||height="308" width="1200"]] 821 821 822 822 823 - 824 - 825 825 ==== (% style="color:blue" %)**Set RS485 Sampling Commands**(%%) ==== 826 826 827 827 ... ... @@ -841,9 +841,9 @@ 841 841 (% style="color:#037691" %)**AT Command:** 842 842 ))) 843 843 844 - (% style="color:#4472c4" %)**(%%)Configure RS485 read command to sensor.802 +**AT+COMMANDx: **Configure RS485 read command to sensor. 845 845 846 - (% style="color:#4472c4" %)**(%%)Configure how to handle return from RS485 devices.804 +**AT+DATACUTx: **Configure how to handle return from RS485 devices. 847 847 848 848 849 849 * ((( ... ... @@ -851,19 +851,19 @@ 851 851 ))) 852 852 853 853 ((( 854 - (% style="color:#4472c4" %)**(%%)812 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 855 855 856 856 857 857 ))) 858 858 859 859 ((( 860 -(% style="color:red" %)**Note **818 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 861 861 862 862 863 863 ))) 864 864 865 865 ((( 866 -Format: (% style="color:#4472c4" %)**AF MM NN LL XX XX XX XX YY**824 +Format: AF MM NN LL XX XX XX XX YY 867 867 ))) 868 868 869 869 ((( ... ... @@ -911,7 +911,7 @@ 911 911 912 912 913 913 ((( 914 - (% style="color:#4472c4" %)**(%%)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]].872 +**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]]. 915 915 ))) 916 916 917 917 ((( ... ... @@ -960,11 +960,10 @@ 960 960 Default value: 0, range: 0 ~~ 65 seconds 961 961 ))) 962 962 963 -((( 964 - *(% style="color:#037691" %)** AT Command:**921 +* ((( 922 +(% style="color:#037691" %)** AT Command:** 965 965 966 - 967 -(% style="color:#4472c4" %)** AT+CMDDLaa=hex(bb cc)*1000** 924 +**AT+CMDDLaa=hex(bb cc)*1000** 968 968 ))) 969 969 970 970 ((( ... ... @@ -974,7 +974,7 @@ 974 974 ))) 975 975 976 976 ((( 977 - (% style="color:#4472c4" %)**(%%)to send the open time to 1000ms934 +**AT+CMDDL1=1000** to send the open time to 1000ms 978 978 ))) 979 979 980 980 ((( ... ... @@ -986,12 +986,14 @@ 986 986 ))) 987 987 988 988 ((( 989 - (% style="color:#4472c4" %)**(%%) Same as: AT+CMDDLaa=hex(bb cc)*1000946 +**0x AA aa bb cc** 990 990 ))) 991 991 992 992 ((( 993 - 950 +Same as: AT+CMDDLaa=hex(bb cc)*1000 951 +))) 994 994 953 +((( 995 995 **Example:** 996 996 ))) 997 997 ... ... @@ -1000,8 +1000,6 @@ 1000 1000 ))) 1001 1001 1002 1002 1003 - 1004 - 1005 1005 ==== (% style="color:blue" %)**Uplink payload mode**(%%) ==== 1006 1006 1007 1007 ... ... @@ -1015,18 +1015,17 @@ 1015 1015 1016 1016 ))) 1017 1017 1018 -((( 1019 - *(% style="color:#037691" %)** AT Command:**975 +* ((( 976 +(% style="color:#037691" %)** AT Command:** 1020 1020 978 +**AT+DATAUP=0** 1021 1021 1022 - (% style="color:#4472c4" %)**0**980 +**AT+DATAUP=1** 1023 1023 1024 -(% style="color:#4472c4" %)** AT+DATAUP=1** 1025 - 1026 1026 1027 1027 ))) 1028 1028 1029 - (% style="color:#4472c4" %)**(%%)985 +**0xAD 01 00 00 14** **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds) 1030 1030 1031 1031 Each uplink is sent to the server at 20-second intervals when segmented. 1032 1032 ... ... @@ -1035,9 +1035,9 @@ 1035 1035 (% style="color:#037691" %)** Downlink Payload:** 1036 1036 ))) 1037 1037 1038 - (% style="color:#4472c4" %)**(%%)994 +**0xAD 00** **~-~->** Same as AT+DATAUP=0 1039 1039 1040 - (% style="color:#4472c4" %)**(%%)**~-~->** Same as AT+DATAUP=1 ~/~/Each uplink is sent to the server one after the other as it is segmented.996 +**0xAD 01** **~-~->** Same as AT+DATAUP=1 ~/~/Each uplink is sent to the server one after the other as it is segmented. 1041 1041 1042 1042 1043 1043 * ((( ... ... @@ -1044,7 +1044,7 @@ 1044 1044 (% style="color:#037691" %)** AT Command:** 1045 1045 ))) 1046 1046 1047 - (% style="color:#4472c4" %)**1003 +**AT+DATAUP=1,Timeout** 1048 1048 1049 1049 1050 1050 * ((( ... ... @@ -1051,13 +1051,10 @@ 1051 1051 (% style="color:#037691" %)** Downlink Payload:** 1052 1052 ))) 1053 1053 1054 - (% style="color:#4472c4" %)**(%%)1010 +**0xAD 01 00 00 14** **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds) 1055 1055 1056 1056 Each uplink is sent to the server at 20-second intervals when segmented. 1057 1057 1058 - 1059 - 1060 - 1061 1061 ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ==== 1062 1062 1063 1063 ... ... @@ -1082,7 +1082,7 @@ 1082 1082 ))) 1083 1083 1084 1084 ((( 1085 - (% style="color:#4472c4" %)**(%%), RS485-LN will immediately send an uplink.1038 +**0x08 FF**, RS485-LN will immediately send an uplink. 1086 1086 ))) 1087 1087 1088 1088 ... ... @@ -1102,12 +1102,10 @@ 1102 1102 ))) 1103 1103 1104 1104 ((( 1105 - (% style="color:#4472c4" %)**(%%)mm: start position of erase ,nn: stop position of erase1058 +**AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 1106 1106 ))) 1107 1107 1108 1108 ((( 1109 - 1110 - 1111 1111 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 1112 1112 ))) 1113 1113 ... ... @@ -1131,7 +1131,7 @@ 1131 1131 ))) 1132 1132 1133 1133 ((( 1134 - (% style="color:#4472c4" %)**(%%)same as AT+CMDEAR=aa,bb1085 +**0x09 aa bb** same as AT+CMDEAR=aa,bb 1135 1135 ))) 1136 1136 1137 1137 ... ... @@ -1148,9 +1148,6 @@ 1148 1148 1149 1149 * ((( 1150 1150 (% style="color:#037691" %)** AT Command:** 1151 - 1152 - 1153 - 1154 1154 ))) 1155 1155 1156 1156 ((( ... ... @@ -1157,7 +1157,7 @@ 1157 1157 * Set Baud Rate 1158 1158 ))) 1159 1159 1160 - (% style="color:#4472c4" %)**(%%)~/~/1108 +**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 1161 1161 1162 1162 1163 1163 ((( ... ... @@ -1164,7 +1164,7 @@ 1164 1164 * Set UART Parity 1165 1165 ))) 1166 1166 1167 - (% style="color:#4472c4" %)**(%%)~/~/1115 +**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1168 1168 1169 1169 1170 1170 ((( ... ... @@ -1171,7 +1171,7 @@ 1171 1171 * Set STOPBIT 1172 1172 ))) 1173 1173 1174 - (% style="color:#4472c4" %)**(%%)~/~/1122 +**AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1175 1175 1176 1176 1177 1177 ... ... @@ -1180,17 +1180,15 @@ 1180 1180 ))) 1181 1181 1182 1182 ((( 1183 - (% style="color:#4472c4" %)**(%%)Same AT+BAUDR=hex(aa bb)*1001131 +**A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 1184 1184 ))) 1185 1185 1186 1186 ((( 1187 - 1188 - 1189 1189 **Example:** 1190 1190 ))) 1191 1191 1192 1192 * ((( 1193 -A7 01 00 60 1139 +A7 01 00 60 same as AT+BAUDR=9600 1194 1194 ))) 1195 1195 * ((( 1196 1196 A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -1197,17 +1197,14 @@ 1197 1197 ))) 1198 1198 1199 1199 ((( 1200 - *A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02)1146 +A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02) 1201 1201 ))) 1202 1202 1203 1203 ((( 1204 - *A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02)1150 +A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 1205 1205 ))) 1206 1206 1207 1207 1208 - 1209 - 1210 - 1211 1211 ==== (% style="color:blue" %)**Encrypted payload**(%%) ==== 1212 1212 1213 1213 ((( ... ... @@ -1218,13 +1218,11 @@ 1218 1218 (% style="color:#037691" %)** AT Command:** 1219 1219 ))) 1220 1220 1221 - (% style="color:#4472c4" %)**(%%)~/~/ The payload is uploaded without encryption1164 +**AT+DECRYPT=1 **~/~/ The payload is uploaded without encryption 1222 1222 1223 - (% style="color:#4472c4" %)**(%%)~/~/1166 +**AT+DECRYPT=0 **~/~/Encrypt when uploading payload (default) 1224 1224 1225 1225 1226 - 1227 - 1228 1228 ==== (% style="color:blue" %)**Get sensor value**(%%) ==== 1229 1229 1230 1230 ... ... @@ -1232,13 +1232,11 @@ 1232 1232 (% style="color:#037691" %)** AT Command:** 1233 1233 ))) 1234 1234 1235 - (% style="color:#4472c4" %)**(%%)~/~/ The serial port gets the reading of the current sensor1176 +**AT+GETSENSORVALUE=0 **~/~/ The serial port gets the reading of the current sensor 1236 1236 1237 - (% style="color:#4472c4" %)**(%%)~/~/1178 +**AT+GETSENSORVALUE=1 **~/~/The serial port gets the current sensor reading and uploads it. 1238 1238 1239 1239 1240 - 1241 - 1242 1242 ==== (% style="color:blue" %)**Resets the downlink packet count**(%%) ==== 1243 1243 1244 1244 ... ... @@ -1246,13 +1246,11 @@ 1246 1246 (% style="color:#037691" %)** AT Command:** 1247 1247 ))) 1248 1248 1249 - (% style="color:#4472c4" %)**(%%)~/~/1188 +**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) 1250 1250 1251 - (% style="color:#4472c4" %)**(%%)~/~/1190 +**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. 1252 1252 1253 1253 1254 - 1255 - 1256 1256 ==== (% style="color:blue" %)**When the limit bytes are exceeded, upload in batches**(%%) ==== 1257 1257 1258 1258 ... ... @@ -1260,9 +1260,9 @@ 1260 1260 (% style="color:#037691" %)** AT Command:** 1261 1261 ))) 1262 1262 1263 - (% style="color:#4472c4" %)**(%%)~/~/1200 + **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) 1264 1264 1265 - (% style="color:#4472c4" %)**(%%)~/~/1202 + **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. 1266 1266 1267 1267 1268 1268 * ((( ... ... @@ -1269,11 +1269,9 @@ 1269 1269 (% style="color:#037691" %)** Downlink Payload:** 1270 1270 ))) 1271 1271 1272 - (% style="color:#4472c4" %)**(%%)~/~/ Set the DISMACANS=11209 +**0x21 00 01 ** ~/~/ Set the DISMACANS=1 1273 1273 1274 1274 1275 - 1276 - 1277 1277 ==== (% style="color:blue" %)** Copy downlink to uplink **(%%) ==== 1278 1278 1279 1279 ... ... @@ -1281,46 +1281,35 @@ 1281 1281 (% style="color:#037691" %)** AT Command:** 1282 1282 ))) 1283 1283 1284 - (% style="color:#4472c4" %)**(%%)~/~/ After receiving the package from the server, it will immediately upload the content of the package to the server, the port number is 100.1219 +**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. 1285 1285 1286 - 1287 1287 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. 1288 1288 1289 - 1290 1290 [[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"]] 1291 1291 1292 - 1293 - 1294 1294 For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77. 1295 1295 1296 - 1297 1297 [[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"]] 1298 1298 1299 - 1300 1300 For example, if 01 00 02 58 is issued, a valid configuration of 01 01 00 02 58 will be returned. 1301 1301 1302 1302 1303 - 1304 - 1305 1305 ==== (% style="color:blue" %)**Query version number and frequency band 、TDC**(%%) ==== 1306 1306 1307 1307 1308 -((( 1309 - *(% style="color:#037691" %)**Downlink Payload:**1235 +* ((( 1236 +(% style="color:#037691" %)**Downlink Payload:** 1310 1310 1311 - 1312 -(% style="color:#4472c4" %)** 26 01 ** (%%) ~/~/ Downlink 26 01 can query device upload frequency, frequency band, software version number, TDC time. 1238 +**26 01 ** ~/~/ Downlink 26 01 can query device upload frequency, frequency band, software version number, TDC time. 1313 1313 ))) 1314 1314 1315 - 1316 1316 Example: 1317 1317 1318 - 1319 1319 [[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"]] 1320 1320 1245 +(% class="wikigeneratedid" %) 1246 +==== ==== 1321 1321 1322 - 1323 - 1324 1324 ==== (% style="color:blue" %)** Monitor RS485 communication of other devices**(%%) ==== 1325 1325 1326 1326 ... ... @@ -1328,11 +1328,11 @@ 1328 1328 (% style="color:#037691" %)** AT Command:** 1329 1329 ))) 1330 1330 1331 - (% style="color:#4472c4" %)**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.1255 +**~ 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. 1332 1332 1333 - (% style="color:#4472c4" %)**AT+RXMODE=2,500(%%)~/~/1257 +**~ 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. 1334 1334 1335 - (%style="color:#4472c4" %)**AT+RXMODE=0,0 **(%%)~/~/1259 + **AT+RXMODE=0,0 ** ~/~/Disable this mode (default) 1336 1336 1337 1337 1338 1338 * ((( ... ... @@ -1339,7 +1339,7 @@ 1339 1339 (% style="color:#037691" %)**Downlink Payload:** 1340 1340 ))) 1341 1341 1342 - (% style="color:#4472c4" %)****(%%)~/~/same as AT+RXMODE=aa,bb1266 +**A6 aa bb bb ** ~/~/same as AT+RXMODE=aa,bb 1343 1343 1344 1344 [[image:image-20220824144240-1.png]] 1345 1345 ... ... @@ -1594,7 +1594,7 @@ 1594 1594 ))) 1595 1595 1596 1596 ((( 1597 -(% style="color:blue" %)**Step2**(%%)**:** Download the [[LT Image files>>url:https://www.dro pbox.com/sh/g99v0fxcltn9r1y/AACP33wo_ZQLsxW2MJ70oUoba/RS485-LN/Firmware?dl=0&subfolder_nav_tracking=1]].1521 +(% style="color:blue" %)**Step2**(%%)**:** Download the [[LT Image files>>url:https://www.dragino.com/downloads/index.php?dir=RS485-LN/Firmware/]]. 1598 1598 ))) 1599 1599 1600 1600 (((