Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Bei Jinggeng on 2025/01/16 11:36
Change comment:
Uploaded new attachment "image-20220824145428-3.png", version {1}
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 ((( ... ... @@ -116,7 +116,7 @@ 116 116 117 117 118 118 * LoRaWAN Class A & Class C protocol (default Class C) 119 -* Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864 /MA869118 +* Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864 120 120 * AT Commands to change parameters 121 121 * Remote configure parameters via LoRa Downlink 122 122 * Firmware upgradable via program port ... ... @@ -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"]] 252 +(% 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** ... ... @@ -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. ... ... @@ -444,7 +444,7 @@ 444 444 In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 445 445 446 446 447 -(% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 100bytes.430 +(% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 448 448 449 449 (% border="1" style="background-color:#4bacc6; color:white; width:510px" %) 450 450 |(% style="width:510px" %)((( ... ... @@ -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**483 +Final Payload is 502 502 ))) 503 503 504 504 ((( 505 -Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 487 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 488 +))) 506 506 507 - 490 +((( 491 +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**502 +Final Payload is 519 519 504 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 520 520 506 + 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. ... ... @@ -547,30 +547,9 @@ 547 547 548 548 ~* For all other bands: max 51 bytes for each uplink. 549 549 550 -(% style="color:red" %)*** When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 551 551 552 -(% 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)** 553 - 554 - 555 -(% style="color:#4f81bd" %)**If the data is empty, return to the display(Since v1.4.0)** 556 - 557 -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**. 558 - 559 - 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 - 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 -[[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 - 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:**546 +Downlink control command: 584 584 585 - (% style="color:#4472c4" %)**(%%): Poll an uplink with current command set in RS485-LN.548 +**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.550 +**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"]] 568 +(% 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 ... ... @@ -666,12 +666,11 @@ 666 666 This command is used to configure the RS485 devices; they won't be used during sampling. 667 667 ))) 668 668 669 -((( 670 - *(% style="color:#037691" %)**AT Command**629 +* ((( 630 +(% style="color:#037691" %)**AT Command** 671 671 672 - 673 673 ((( 674 - (% style="color:#4472c4" %)**(%%)m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command633 +**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 675 675 ))) 676 676 ))) 677 677 ... ... @@ -684,7 +684,7 @@ 684 684 ))) 685 685 686 686 ((( 687 -Format: (% style="color:#4472c4" %)**A8 MM NN XX XX XX XX YY**646 +Format: A8 MM NN XX XX XX XX YY 688 688 ))) 689 689 690 690 ((( ... ... @@ -790,41 +790,28 @@ 790 790 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. 791 791 ))) 792 792 793 -((( 794 - *(% style="color:#037691" %)**AT Command:**752 +* ((( 753 +(% style="color:#037691" %)**AT Command:** 795 795 755 +**AT+PAYVER: **Set PAYVER field = 1 796 796 797 -(% style="color:#4472c4" %)** AT+PAYVER: ** (%%) Set PAYVER field = 1 798 - 799 799 800 800 ))) 801 - 802 802 * ((( 803 803 (% style="color:#037691" %)**Downlink Payload:** 804 804 ))) 805 805 806 806 ((( 807 - (% style="color:#4472c4" %)**(%%)764 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 808 808 ))) 809 809 810 810 ((( 811 - (% style="color:#4472c4" %)**(%%)~-~-> Set PAYVER field = 0x0F768 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 812 812 ))) 813 813 814 814 815 -1 ) Add the interrupt flag at the highest bit of the Payver byte, that is, Byte7 of the first byte. (Since v1.4.0) 816 816 817 -[[image:image-20220824145428-2.png||height="168" width="1300"]] 818 818 819 - 820 -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. 821 - 822 - 823 -[[image:image-20220824145428-3.png||height="308" width="1200"]] 824 - 825 - 826 - 827 - 828 828 ==== (% style="color:blue" %)**Set RS485 Sampling Commands**(%%) ==== 829 829 830 830 ... ... @@ -844,9 +844,9 @@ 844 844 (% style="color:#037691" %)**AT Command:** 845 845 ))) 846 846 847 - (% style="color:#4472c4" %)**(%%)Configure RS485 read command to sensor.793 +**AT+COMMANDx: **Configure RS485 read command to sensor. 848 848 849 - (% style="color:#4472c4" %)**(%%)Configure how to handle return from RS485 devices.795 +**AT+DATACUTx: **Configure how to handle return from RS485 devices. 850 850 851 851 852 852 * ((( ... ... @@ -854,19 +854,19 @@ 854 854 ))) 855 855 856 856 ((( 857 - (% style="color:#4472c4" %)**(%%)803 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 858 858 859 859 860 860 ))) 861 861 862 862 ((( 863 -(% style="color:red" %)**Note **809 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 864 864 865 865 866 866 ))) 867 867 868 868 ((( 869 -Format: (% style="color:#4472c4" %)**AF MM NN LL XX XX XX XX YY**815 +Format: AF MM NN LL XX XX XX XX YY 870 870 ))) 871 871 872 872 ((( ... ... @@ -914,7 +914,7 @@ 914 914 915 915 916 916 ((( 917 - (% 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]].863 +**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 918 ))) 919 919 920 920 ((( ... ... @@ -963,11 +963,10 @@ 963 963 Default value: 0, range: 0 ~~ 65 seconds 964 964 ))) 965 965 966 -((( 967 - *(% style="color:#037691" %)** AT Command:**912 +* ((( 913 +(% style="color:#037691" %)** AT Command:** 968 968 969 - 970 -(% style="color:#4472c4" %)** AT+CMDDLaa=hex(bb cc)*1000** 915 +**AT+CMDDLaa=hex(bb cc)*1000** 971 971 ))) 972 972 973 973 ((( ... ... @@ -977,7 +977,7 @@ 977 977 ))) 978 978 979 979 ((( 980 - (% style="color:#4472c4" %)**(%%)to send the open time to 1000ms925 +**AT+CMDDL1=1000** to send the open time to 1000ms 981 981 ))) 982 982 983 983 ((( ... ... @@ -989,12 +989,14 @@ 989 989 ))) 990 990 991 991 ((( 992 - (% style="color:#4472c4" %)**(%%) Same as: AT+CMDDLaa=hex(bb cc)*1000937 +**0x AA aa bb cc** 993 993 ))) 994 994 995 995 ((( 996 - 941 +Same as: AT+CMDDLaa=hex(bb cc)*1000 942 +))) 997 997 944 +((( 998 998 **Example:** 999 999 ))) 1000 1000 ... ... @@ -1018,20 +1018,13 @@ 1018 1018 1019 1019 ))) 1020 1020 1021 -((( 1022 -* (% style="color:#037691" %)** AT Command:** 1023 - 1024 - 1025 -(% style="color:#4472c4" %)** AT+DATAUP=0** 1026 - 1027 -(% style="color:#4472c4" %)** AT+DATAUP=1** 1028 - 1029 - 968 +* ((( 969 +(% style="color:#037691" %)** AT Command:** 1030 1030 ))) 1031 1031 1032 - (% style="color:#4472c4" %)**0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/ (00 00 14 is 20 seconds)972 +**AT+DATAUP=0** 1033 1033 1034 - Each uplink is sent to the server at 20-second intervals when segmented.974 +**AT+DATAUP=1** 1035 1035 1036 1036 1037 1037 * ((( ... ... @@ -1038,29 +1038,17 @@ 1038 1038 (% style="color:#037691" %)** Downlink Payload:** 1039 1039 ))) 1040 1040 1041 -(% style="color:#4472c4" %)** 0xAD 00** (%%) **~-~->** Same as AT+DATAUP=0 1042 - 1043 -(% 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. 1044 - 1045 - 1046 -* ((( 1047 -(% style="color:#037691" %)** AT Command:** 981 +((( 982 +**0xAD 00** **~-~->** Same as AT+DATAUP=0 1048 1048 ))) 1049 1049 1050 -(% style="color:#4472c4" %)** AT+DATAUP=1,Timeout** 1051 - 1052 - 1053 -* ((( 1054 -(% style="color:#037691" %)** Downlink Payload:** 985 +((( 986 +**0xAD 01** **~-~->** Same as AT+DATAUP=1 1055 1055 ))) 1056 1056 1057 -(% style="color:#4472c4" %)** 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/ (00 00 14 is 20 seconds) 1058 1058 1059 -Each uplink is sent to the server at 20-second intervals when segmented. 1060 1060 1061 1061 1062 - 1063 - 1064 1064 ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ==== 1065 1065 1066 1066 ... ... @@ -1085,7 +1085,7 @@ 1085 1085 ))) 1086 1086 1087 1087 ((( 1088 - (% style="color:#4472c4" %)**(%%), RS485-LN will immediately send an uplink.1016 +**0x08 FF**, RS485-LN will immediately send an uplink. 1089 1089 ))) 1090 1090 1091 1091 ... ... @@ -1105,12 +1105,10 @@ 1105 1105 ))) 1106 1106 1107 1107 ((( 1108 - (% style="color:#4472c4" %)**(%%)mm: start position of erase ,nn: stop position of erase1036 +**AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 1109 1109 ))) 1110 1110 1111 1111 ((( 1112 - 1113 - 1114 1114 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 1115 1115 ))) 1116 1116 ... ... @@ -1134,7 +1134,7 @@ 1134 1134 ))) 1135 1135 1136 1136 ((( 1137 - (% style="color:#4472c4" %)**(%%)same as AT+CMDEAR=aa,bb1063 +**0x09 aa bb** same as AT+CMDEAR=aa,bb 1138 1138 ))) 1139 1139 1140 1140 ... ... @@ -1145,22 +1145,19 @@ 1145 1145 1146 1146 ((( 1147 1147 Set the Rs485 serial communication parameters: 1148 - 1149 - 1150 1150 ))) 1151 1151 1152 1152 * ((( 1153 1153 (% style="color:#037691" %)** AT Command:** 1154 - 1155 - 1156 - 1157 1157 ))) 1158 1158 1159 1159 ((( 1081 + 1082 + 1160 1160 * Set Baud Rate 1161 1161 ))) 1162 1162 1163 - (% style="color:#4472c4" %)**(%%)~/~/~~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 lost1086 +**AT+BAUDR=9600** ~/~/ Options: (1200,2400,4800,14400,19200,115200) 1164 1164 1165 1165 1166 1166 ((( ... ... @@ -1167,7 +1167,7 @@ 1167 1167 * Set UART Parity 1168 1168 ))) 1169 1169 1170 - (% style="color:#4472c4" %)**(%%)~/~/1093 +**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1171 1171 1172 1172 1173 1173 ((( ... ... @@ -1174,7 +1174,7 @@ 1174 1174 * Set STOPBIT 1175 1175 ))) 1176 1176 1177 - (% style="color:#4472c4" %)**(%%)~/~/1100 +**AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1178 1178 1179 1179 1180 1180 ... ... @@ -1183,17 +1183,15 @@ 1183 1183 ))) 1184 1184 1185 1185 ((( 1186 - (% style="color:#4472c4" %)**(%%)Same AT+BAUDR=hex(aa bb)*1001109 +**A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 1187 1187 ))) 1188 1188 1189 1189 ((( 1190 - 1191 - 1192 1192 **Example:** 1193 1193 ))) 1194 1194 1195 1195 * ((( 1196 -A7 01 00 60 1117 +A7 01 00 60 same as AT+BAUDR=9600 1197 1197 ))) 1198 1198 * ((( 1199 1199 A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -1200,154 +1200,16 @@ 1200 1200 ))) 1201 1201 1202 1202 ((( 1203 - *A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02)1124 +A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02) 1204 1204 ))) 1205 1205 1206 1206 ((( 1207 - *A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02)1128 +A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 1208 1208 ))) 1209 1209 1210 1210 1211 1211 1212 1212 1213 - 1214 -==== (% style="color:blue" %)**Encrypted payload**(%%) ==== 1215 - 1216 -((( 1217 - 1218 -))) 1219 - 1220 -* ((( 1221 -(% style="color:#037691" %)** AT Command:** 1222 -))) 1223 - 1224 -(% style="color:#4472c4" %)** AT+DECRYPT=1 ** (%%) ~/~/ The payload is uploaded without encryption 1225 - 1226 -(% style="color:#4472c4" %)** AT+DECRYPT=0 ** (%%) ~/~/ Encrypt when uploading payload (default) 1227 - 1228 - 1229 - 1230 - 1231 -==== (% style="color:blue" %)**Get sensor value**(%%) ==== 1232 - 1233 - 1234 -* ((( 1235 -(% style="color:#037691" %)** AT Command:** 1236 -))) 1237 - 1238 -(% style="color:#4472c4" %)** AT+GETSENSORVALUE=0 **(%%) ~/~/ The serial port gets the reading of the current sensor 1239 - 1240 -(% style="color:#4472c4" %)** AT+GETSENSORVALUE=1 **(%%) ~/~/ The serial port gets the current sensor reading and uploads it. 1241 - 1242 - 1243 - 1244 - 1245 -==== (% style="color:blue" %)**Resets the downlink packet count**(%%) ==== 1246 - 1247 - 1248 -* ((( 1249 -(% style="color:#037691" %)** AT Command:** 1250 -))) 1251 - 1252 -(% style="color:#4472c4" %)** 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) 1253 - 1254 -(% style="color:#4472c4" %)** 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. 1255 - 1256 - 1257 - 1258 - 1259 -==== (% style="color:blue" %)**When the limit bytes are exceeded, upload in batches**(%%) ==== 1260 - 1261 - 1262 -* ((( 1263 -(% style="color:#037691" %)** AT Command:** 1264 -))) 1265 - 1266 - (% style="color:#4472c4" %)** 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) 1267 - 1268 - (% style="color:#4472c4" %)** 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. 1269 - 1270 - 1271 -* ((( 1272 -(% style="color:#037691" %)** Downlink Payload:** 1273 -))) 1274 - 1275 -(% style="color:#4472c4" %)** 0x21 00 01 ** (%%) ~/~/ Set the DISMACANS=1 1276 - 1277 - 1278 - 1279 - 1280 -==== (% style="color:blue" %)** Copy downlink to uplink **(%%) ==== 1281 - 1282 - 1283 -* ((( 1284 -(% style="color:#037691" %)** AT Command:** 1285 -))) 1286 - 1287 -(% style="color:#4472c4" %)** 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. 1288 - 1289 - 1290 -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. 1291 - 1292 - 1293 -[[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"]] 1294 - 1295 - 1296 - 1297 -For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77. 1298 - 1299 - 1300 -[[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"]] 1301 - 1302 - 1303 -For example, if 01 00 02 58 is issued, a valid configuration of 01 01 00 02 58 will be returned. 1304 - 1305 - 1306 - 1307 - 1308 -==== (% style="color:blue" %)**Query version number and frequency band 、TDC**(%%) ==== 1309 - 1310 - 1311 -((( 1312 -* (% style="color:#037691" %)**Downlink Payload:** 1313 - 1314 - 1315 -(% style="color:#4472c4" %)** 26 01 ** (%%) ~/~/ Downlink 26 01 can query device upload frequency, frequency band, software version number, TDC time. 1316 -))) 1317 - 1318 - 1319 -Example: 1320 - 1321 - 1322 -[[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"]] 1323 - 1324 - 1325 - 1326 - 1327 -==== (% style="color:blue" %)** Monitor RS485 communication of other devices**(%%) ==== 1328 - 1329 - 1330 -* ((( 1331 -(% style="color:#037691" %)** AT Command:** 1332 -))) 1333 - 1334 -(% 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. 1335 - 1336 -(% style="color:#4472c4" %)**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. 1337 - 1338 -(% style="color:#4472c4" %)**AT+RXMODE=0,0 ** (%%) ~/~/ Disable this mode (default) 1339 - 1340 - 1341 -* ((( 1342 -(% style="color:#037691" %)**Downlink Payload:** 1343 -))) 1344 - 1345 -(% style="color:#4472c4" %)** A6 aa bb bb ** (%%) ~/~/same as AT+RXMODE=aa,bb 1346 - 1347 -[[image:image-20220824144240-1.png]] 1348 - 1349 - 1350 - 1351 1351 == 3.6 Listening mode for RS485 network == 1352 1352 1353 1353 ... ... @@ -1459,6 +1459,9 @@ 1459 1459 |(% style="width:50px" %)**RST**|(% style="width:361px" %)Reboot RS485 1460 1460 |(% style="width:50px" %)**PRO**|(% style="width:361px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]] 1461 1461 1245 + 1246 + 1247 + 1462 1462 == 3.8 LEDs == 1463 1463 1464 1464 ... ... @@ -1467,6 +1467,9 @@ 1467 1467 |**PWR**|Always on if there is power 1468 1468 |**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. 1469 1469 1256 + 1257 + 1258 + 1470 1470 = 4. Case Study = 1471 1471 1472 1472 ... ... @@ -1597,7 +1597,7 @@ 1597 1597 ))) 1598 1598 1599 1599 ((( 1600 -(% 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]].1389 +(% style="color:blue" %)**Step2**(%%)**:** Download the [[LT Image files>>url:https://www.dragino.com/downloads/index.php?dir=RS485-LN/Firmware/]]. 1601 1601 ))) 1602 1602 1603 1603 ((( ... ... @@ -1700,6 +1700,9 @@ 1700 1700 * (% style="color:red" %)**RU864**(%%): frequency bands RU864 1701 1701 * (% style="color:red" %)**KZ865**(%%): frequency bands KZ865 1702 1702 1492 + 1493 + 1494 + 1703 1703 = 9.Packing Info = 1704 1704 1705 1705 ... ... @@ -1716,6 +1716,9 @@ 1716 1716 * Package Size / pcs : 14.5 x 8 x 5 cm 1717 1717 * Weight / pcs : 170g 1718 1718 1511 + 1512 + 1513 + 1719 1719 = 10. FCC Caution for RS485LN-US915 = 1720 1720 1721 1721