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 ((( ... ... @@ -108,8 +108,6 @@ 108 108 * Automatic RF Sense and CAD with ultra-fast AFC. 109 109 * Packet engine up to 256 bytes with CRC 110 110 111 - 112 - 113 113 == 1.3 Features == 114 114 115 115 ... ... @@ -122,8 +122,6 @@ 122 122 * Support Modbus protocol 123 123 * Support Interrupt uplink (Since hardware version v1.2) 124 124 125 - 126 - 127 127 == 1.4 Applications == 128 128 129 129 ... ... @@ -134,8 +134,6 @@ 134 134 * Smart Cities 135 135 * Smart Factory 136 136 137 - 138 - 139 139 == 1.5 Firmware Change log == 140 140 141 141 ... ... @@ -182,7 +182,6 @@ 182 182 183 183 = 3. Operation Mode = 184 184 185 - 186 186 == 3.1 How it works? == 187 187 188 188 ... ... @@ -200,7 +200,6 @@ 200 200 201 201 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. 202 202 203 - 204 204 (% 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" %) 205 205 206 206 ... ... @@ -211,8 +211,6 @@ 211 211 212 212 ((( 213 213 485A+ and 485B- of the sensor are connected to RS485A and RA485B of RS485-LN respectively. 214 - 215 - 216 216 ))) 217 217 218 218 (% 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" %) ... ... @@ -239,8 +239,6 @@ 239 239 ((( 240 240 ((( 241 241 User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot: 242 - 243 - 244 244 ))) 245 245 246 246 ((( ... ... @@ -254,11 +254,8 @@ 254 254 255 255 (% 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" %) 256 256 257 -(% 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" %) 258 258 259 - 260 -(% title="Click and drag to resize" %) 261 - 262 262 You can also choose to create the device manually. 263 263 264 264 (% 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" %) ... ... @@ -270,11 +270,8 @@ 270 270 (% 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" %) 271 271 272 272 273 - 274 274 ((( 275 275 (% 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. 276 - 277 - 278 278 ))) 279 279 280 280 (% 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" %) ... ... @@ -288,8 +288,6 @@ 288 288 ((( 289 289 ((( 290 290 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. 291 - 292 - 293 293 ))) 294 294 ))) 295 295 ... ... @@ -308,7 +308,6 @@ 308 308 309 309 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: 310 310 311 - 312 312 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 313 313 |=(% style="width: 110px;" %)((( 314 314 **AT Commands** ... ... @@ -367,9 +367,6 @@ 367 367 ))) 368 368 ))) 369 369 370 - 371 - 372 - 373 373 === 3.3.2 Configure sensors === 374 374 375 375 ... ... @@ -397,9 +397,6 @@ 397 397 ))) 398 398 )))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 399 399 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,9 +515,11 @@ 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) ... ... @@ -537,7 +537,6 @@ 537 537 538 538 (% 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:** 539 539 540 - 541 541 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink. 542 542 543 543 * For AU915/AS923 bands, if UplinkDwell time=0, max 11 bytes for each uplink. ... ... @@ -553,23 +553,17 @@ 553 553 554 554 (% style="color:#4f81bd" %)**If the data is empty, return to the display(Since v1.4.0)** 555 555 556 -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. 557 557 558 - 559 559 [[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"]] 560 560 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. 561 561 562 - 563 -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**. 564 - 565 - 566 566 [[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"]] 567 567 568 568 569 - 570 570 Below are the uplink payloads: 571 571 572 - 573 573 (% 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" %) 574 574 575 575 ... ... @@ -579,11 +579,11 @@ 579 579 580 580 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. 581 581 582 - (% style="color:blue" %)**Downlink control command:**549 +Downlink control command: 583 583 584 - (% 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. 585 585 586 - (% 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. 587 587 588 588 589 589 ... ... @@ -592,7 +592,6 @@ 592 592 593 593 RS485-LN support external Interrupt uplink since hardware v1.2 release. 594 594 595 - 596 596 (% 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" %) 597 597 598 598 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. ... ... @@ -602,10 +602,8 @@ 602 602 == 3.4 Uplink Payload == 603 603 604 604 605 -(% 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" %) 606 606 607 -(% title="Click and drag to resize" %) 608 - 609 609 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 610 610 611 611 ... ... @@ -647,11 +647,8 @@ 647 647 648 648 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. 649 649 614 +(% aria-label="image-20220602163333-5.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602163333-5.png||data-widget="image" height="263" width="1160"]](% title="Click and drag to resize" %) 650 650 651 -(% aria-label="image-20220602163333-5.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602163333-5.png||data-widget="image" height="263" width="1160"]] 652 - 653 -(% title="Click and drag to resize" %) 654 - 655 655 The first byte of this package represents whether the configuration is successful, 00 represents failure, 01 represents success. Except for the first byte, the other is the previous downlink. (All commands except A8 type commands are applicable) 656 656 657 657 ... ... @@ -668,11 +668,11 @@ 668 668 This command is used to configure the RS485 devices; they won't be used during sampling. 669 669 ))) 670 670 671 -((( 672 - *(% style="color:#037691" %)**AT Command**632 +* ((( 633 +(% style="color:#037691" %)**AT Command** 673 673 674 674 ((( 675 - (% 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 676 676 ))) 677 677 ))) 678 678 ... ... @@ -685,7 +685,7 @@ 685 685 ))) 686 686 687 687 ((( 688 -Format: (% style="color:#4472c4" %)**A8 MM NN XX XX XX XX YY**649 +Format: A8 MM NN XX XX XX XX YY 689 689 ))) 690 690 691 691 ((( ... ... @@ -791,40 +791,34 @@ 791 791 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. 792 792 ))) 793 793 794 -((( 795 - *(% style="color:#037691" %)**AT Command:**755 +* ((( 756 +(% style="color:#037691" %)**AT Command:** 796 796 797 - (% style="color:#4472c4" %)**(%%)Set PAYVER field = 1758 +**AT+PAYVER: **Set PAYVER field = 1 798 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" %)**(%%)767 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 808 808 ))) 809 809 810 810 ((( 811 - (% style="color:#4472c4" %)**(%%)~-~-> Set PAYVER field = 0x0F771 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 812 812 ))) 813 813 814 814 815 -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"]] 816 816 817 -[[image:image-20220824145428-2.png||height="168" width="1300"]] 818 818 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. 819 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 823 [[image:image-20220824145428-3.png||height="308" width="1200"]] 824 824 825 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.802 +**AT+COMMANDx: **Configure RS485 read command to sensor. 848 848 849 - (% style="color:#4472c4" %)**(%%)Configure how to handle return from RS485 devices.804 +**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" %)**(%%)812 +**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 **818 +(% 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**824 +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]].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]]. 918 918 ))) 919 919 920 920 ((( ... ... @@ -963,10 +963,10 @@ 963 963 Default value: 0, range: 0 ~~ 65 seconds 964 964 ))) 965 965 966 -((( 967 - *(% style="color:#037691" %)** AT Command:**921 +* ((( 922 +(% style="color:#037691" %)** AT Command:** 968 968 969 - (% style="color:#4472c4" %)**924 +**AT+CMDDLaa=hex(bb cc)*1000** 970 970 ))) 971 971 972 972 ((( ... ... @@ -976,7 +976,7 @@ 976 976 ))) 977 977 978 978 ((( 979 - (% style="color:#4472c4" %)**(%%)to send the open time to 1000ms934 +**AT+CMDDL1=1000** to send the open time to 1000ms 980 980 ))) 981 981 982 982 ((( ... ... @@ -988,12 +988,14 @@ 988 988 ))) 989 989 990 990 ((( 991 - (% style="color:#4472c4" %)**(%%) Same as: AT+CMDDLaa=hex(bb cc)*1000946 +**0x AA aa bb cc** 992 992 ))) 993 993 994 994 ((( 995 - 950 +Same as: AT+CMDDLaa=hex(bb cc)*1000 951 +))) 996 996 953 +((( 997 997 **Example:** 998 998 ))) 999 999 ... ... @@ -1002,8 +1002,6 @@ 1002 1002 ))) 1003 1003 1004 1004 1005 - 1006 - 1007 1007 ==== (% style="color:blue" %)**Uplink payload mode**(%%) ==== 1008 1008 1009 1009 ... ... @@ -1017,17 +1017,17 @@ 1017 1017 1018 1018 ))) 1019 1019 1020 -((( 1021 - *(% style="color:#037691" %)** AT Command:**975 +* ((( 976 +(% style="color:#037691" %)** AT Command:** 1022 1022 1023 - (% style="color:#4472c4" %)**978 +**AT+DATAUP=0** 1024 1024 1025 - (% style="color:#4472c4" %)**980 +**AT+DATAUP=1** 1026 1026 1027 1027 1028 1028 ))) 1029 1029 1030 - (% style="color:#4472c4" %)**(%%)985 +**0xAD 01 00 00 14** **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds) 1031 1031 1032 1032 Each uplink is sent to the server at 20-second intervals when segmented. 1033 1033 ... ... @@ -1036,9 +1036,9 @@ 1036 1036 (% style="color:#037691" %)** Downlink Payload:** 1037 1037 ))) 1038 1038 1039 - (% style="color:#4472c4" %)**(%%)994 +**0xAD 00** **~-~->** Same as AT+DATAUP=0 1040 1040 1041 - (% 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. 1042 1042 1043 1043 1044 1044 * ((( ... ... @@ -1045,7 +1045,7 @@ 1045 1045 (% style="color:#037691" %)** AT Command:** 1046 1046 ))) 1047 1047 1048 - (% style="color:#4472c4" %)**1003 +**AT+DATAUP=1,Timeout** 1049 1049 1050 1050 1051 1051 * ((( ... ... @@ -1052,13 +1052,10 @@ 1052 1052 (% style="color:#037691" %)** Downlink Payload:** 1053 1053 ))) 1054 1054 1055 - (% style="color:#4472c4" %)**(%%)1010 +**0xAD 01 00 00 14** **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds) 1056 1056 1057 1057 Each uplink is sent to the server at 20-second intervals when segmented. 1058 1058 1059 - 1060 - 1061 - 1062 1062 ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ==== 1063 1063 1064 1064 ... ... @@ -1083,7 +1083,7 @@ 1083 1083 ))) 1084 1084 1085 1085 ((( 1086 - (% style="color:#4472c4" %)**(%%), RS485-LN will immediately send an uplink.1038 +**0x08 FF**, RS485-LN will immediately send an uplink. 1087 1087 ))) 1088 1088 1089 1089 ... ... @@ -1103,12 +1103,10 @@ 1103 1103 ))) 1104 1104 1105 1105 ((( 1106 - (% 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 1107 1107 ))) 1108 1108 1109 1109 ((( 1110 - 1111 - 1112 1112 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 1113 1113 ))) 1114 1114 ... ... @@ -1132,7 +1132,7 @@ 1132 1132 ))) 1133 1133 1134 1134 ((( 1135 - (% style="color:#4472c4" %)**(%%)same as AT+CMDEAR=aa,bb1085 +**0x09 aa bb** same as AT+CMDEAR=aa,bb 1136 1136 ))) 1137 1137 1138 1138 ... ... @@ -1149,9 +1149,6 @@ 1149 1149 1150 1150 * ((( 1151 1151 (% style="color:#037691" %)** AT Command:** 1152 - 1153 - 1154 - 1155 1155 ))) 1156 1156 1157 1157 ((( ... ... @@ -1158,7 +1158,7 @@ 1158 1158 * Set Baud Rate 1159 1159 ))) 1160 1160 1161 - (% 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 1162 1162 1163 1163 1164 1164 ((( ... ... @@ -1165,7 +1165,7 @@ 1165 1165 * Set UART Parity 1166 1166 ))) 1167 1167 1168 - (% style="color:#4472c4" %)**(%%)~/~/1115 +**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1169 1169 1170 1170 1171 1171 ((( ... ... @@ -1172,7 +1172,7 @@ 1172 1172 * Set STOPBIT 1173 1173 ))) 1174 1174 1175 - (% style="color:#4472c4" %)**(%%)~/~/1122 +**AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1176 1176 1177 1177 1178 1178 ... ... @@ -1181,17 +1181,15 @@ 1181 1181 ))) 1182 1182 1183 1183 ((( 1184 - (% style="color:#4472c4" %)**(%%)Same AT+BAUDR=hex(aa bb)*1001131 +**A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 1185 1185 ))) 1186 1186 1187 1187 ((( 1188 - 1189 - 1190 1190 **Example:** 1191 1191 ))) 1192 1192 1193 1193 * ((( 1194 -A7 01 00 60 1139 +A7 01 00 60 same as AT+BAUDR=9600 1195 1195 ))) 1196 1196 * ((( 1197 1197 A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -1198,17 +1198,14 @@ 1198 1198 ))) 1199 1199 1200 1200 ((( 1201 - *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) 1202 1202 ))) 1203 1203 1204 1204 ((( 1205 - *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) 1206 1206 ))) 1207 1207 1208 1208 1209 - 1210 - 1211 - 1212 1212 ==== (% style="color:blue" %)**Encrypted payload**(%%) ==== 1213 1213 1214 1214 ((( ... ... @@ -1219,13 +1219,11 @@ 1219 1219 (% style="color:#037691" %)** AT Command:** 1220 1220 ))) 1221 1221 1222 - (% style="color:#4472c4" %)**(%%)~/~/ The payload is uploaded without encryption1164 +**AT+DECRYPT=1 **~/~/ The payload is uploaded without encryption 1223 1223 1224 - (% style="color:#4472c4" %)**(%%)~/~/1166 +**AT+DECRYPT=0 **~/~/Encrypt when uploading payload (default) 1225 1225 1226 1226 1227 - 1228 - 1229 1229 ==== (% style="color:blue" %)**Get sensor value**(%%) ==== 1230 1230 1231 1231 ... ... @@ -1233,13 +1233,11 @@ 1233 1233 (% style="color:#037691" %)** AT Command:** 1234 1234 ))) 1235 1235 1236 - (% 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 1237 1237 1238 - (% style="color:#4472c4" %)**(%%)~/~/1178 +**AT+GETSENSORVALUE=1 **~/~/The serial port gets the current sensor reading and uploads it. 1239 1239 1240 1240 1241 - 1242 - 1243 1243 ==== (% style="color:blue" %)**Resets the downlink packet count**(%%) ==== 1244 1244 1245 1245 ... ... @@ -1247,13 +1247,11 @@ 1247 1247 (% style="color:#037691" %)** AT Command:** 1248 1248 ))) 1249 1249 1250 - (% 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) 1251 1251 1252 - (% 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. 1253 1253 1254 1254 1255 - 1256 - 1257 1257 ==== (% style="color:blue" %)**When the limit bytes are exceeded, upload in batches**(%%) ==== 1258 1258 1259 1259 ... ... @@ -1261,9 +1261,9 @@ 1261 1261 (% style="color:#037691" %)** AT Command:** 1262 1262 ))) 1263 1263 1264 - (% 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) 1265 1265 1266 - (% 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. 1267 1267 1268 1268 1269 1269 * ((( ... ... @@ -1270,11 +1270,9 @@ 1270 1270 (% style="color:#037691" %)** Downlink Payload:** 1271 1271 ))) 1272 1272 1273 - (% style="color:#4472c4" %)**(%%)~/~/ Set the DISMACANS=11209 +**0x21 00 01 ** ~/~/ Set the DISMACANS=1 1274 1274 1275 1275 1276 - 1277 - 1278 1278 ==== (% style="color:blue" %)** Copy downlink to uplink **(%%) ==== 1279 1279 1280 1280 ... ... @@ -1282,45 +1282,34 @@ 1282 1282 (% style="color:#037691" %)** AT Command:** 1283 1283 ))) 1284 1284 1285 - (% 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. 1286 1286 1287 - 1288 1288 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. 1289 1289 1290 - 1291 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-20220823173747-6.png?width=1124&height=165&rev=1.1||alt="image-20220823173747-6.png"]] 1292 1292 1293 - 1294 - 1295 1295 For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77. 1296 1296 1297 - 1298 1298 [[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"]] 1299 1299 1300 - 1301 1301 For example, if 01 00 02 58 is issued, a valid configuration of 01 01 00 02 58 will be returned. 1302 1302 1303 1303 1304 - 1305 - 1306 1306 ==== (% style="color:blue" %)**Query version number and frequency band 、TDC**(%%) ==== 1307 1307 1308 1308 1309 -((( 1310 - *(% style="color:#037691" %)**Downlink Payload:**1235 +* ((( 1236 +(% style="color:#037691" %)**Downlink Payload:** 1311 1311 1312 - (% style="color:#4472c4" %)**(%%)~/~/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 +==== ==== 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.1254 +**~ 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 **(%%)~/~/1256 +**~ 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 **(%%)~/~/1258 + **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,bb1265 +**A6 aa bb bb ** ~/~/same as AT+RXMODE=aa,bb 1343 1343 1344 1344 [[image:image-20220824144240-1.png]] 1345 1345 ... ... @@ -1358,12 +1358,10 @@ 1358 1358 1359 1359 ))) 1360 1360 1361 -(% aria-label="image-20220602171200-8.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602171200-8.png||data-widget="image" height="567" width="1007"]](% 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"]] 1284 +(% aria-label="image-20220602171200-8.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602171200-8.png||data-widget="image" height="567" width="1007"]](% 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" %) 1362 1362 1363 -(% title="Click and drag to resize" %) 1364 - 1365 1365 ((( 1366 -To enable the listening mode, use can run the command (% style="color:#4472c4" %)**AT+RXMODE**.1287 +To enable the listening mode, use can run the command AT+RXMODE. 1367 1367 ))) 1368 1368 1369 1369 ((( ... ... @@ -1398,13 +1398,11 @@ 1398 1398 ))) 1399 1399 1400 1400 ((( 1401 - 1402 - 1403 -(% style="color:#037691" %)**Downlink Command:** 1322 +(% style="color:#037691" %)** Downlink Command:** 1404 1404 ))) 1405 1405 1406 1406 ((( 1407 - (% style="color:#4472c4" %)**(%%)same as AT+RXMODE=aa,(bb<<8 | cc)1326 +**0xA6 aa bb cc ** same as AT+RXMODE=aa,(bb<<8 | cc) 1408 1408 ))) 1409 1409 1410 1410 ((( ... ... @@ -1460,8 +1460,6 @@ 1460 1460 |(% style="width:50px" %)**RST**|(% style="width:361px" %)Reboot RS485 1461 1461 |(% style="width:50px" %)**PRO**|(% style="width:361px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]] 1462 1462 1463 - 1464 - 1465 1465 == 3.8 LEDs == 1466 1466 1467 1467 ... ... @@ -1470,8 +1470,6 @@ 1470 1470 |**PWR**|Always on if there is power 1471 1471 |**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. 1472 1472 1473 - 1474 - 1475 1475 = 4. Case Study = 1476 1476 1477 1477 ... ... @@ -1487,18 +1487,13 @@ 1487 1487 1488 1488 ((( 1489 1489 RS485-LN supports AT Command set. User can use a USB to TTL adapter plus the 3.5mm Program Cable to connect to RS485-LN to use AT command, as below. 1490 - 1491 - 1492 1492 ))) 1493 1493 1494 1494 (% aria-label="1654162355560-817.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654162355560-817.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" %) 1495 1495 1496 1496 1497 - 1498 1498 ((( 1499 1499 In PC, User needs to set (% style="color:blue" %)**serial tool**(%%)(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console of RS485-LN. The default password is 123456. Below is the output for reference: 1500 - 1501 - 1502 1502 ))) 1503 1503 1504 1504 (% aria-label="1654162368066-342.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654162368066-342.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" %) ... ... @@ -1604,20 +1604,14 @@ 1604 1604 1605 1605 ((( 1606 1606 (% style="color:blue" %)**Step1**(%%)**:** Download [[flash loader>>url:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html]]. 1607 - 1608 - 1609 1609 ))) 1610 1610 1611 1611 ((( 1612 1612 (% 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]]. 1613 - 1614 - 1615 1615 ))) 1616 1616 1617 1617 ((( 1618 1618 (% style="color:blue" %)**Step3**(%%)**: **Open flashloader; choose the correct COM port to update. 1619 - 1620 - 1621 1621 ))) 1622 1622 1623 1623 ((( ... ... @@ -1716,8 +1716,6 @@ 1716 1716 * (% style="color:red" %)**RU864**(%%): frequency bands RU864 1717 1717 * (% style="color:red" %)**KZ865**(%%): frequency bands KZ865 1718 1718 1719 - 1720 - 1721 1721 = 9.Packing Info = 1722 1722 1723 1723 ... ... @@ -1734,8 +1734,6 @@ 1734 1734 * Package Size / pcs : 14.5 x 8 x 5 cm 1735 1735 * Weight / pcs : 170g 1736 1736 1737 - 1738 - 1739 1739 = 10. FCC Caution for RS485LN-US915 = 1740 1740 1741 1741