Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Bei Jinggeng on 2025/01/16 11:36
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 3 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -30,6 +30,7 @@ 30 30 31 31 = 1.Introduction = 32 32 33 + 33 33 == 1.1 What is RS485-LN RS485 to LoRaWAN Converter == 34 34 35 35 ((( ... ... @@ -73,7 +73,7 @@ 73 73 == 1.2 Specifications == 74 74 75 75 76 -**Hardware System:** 77 +(% style="color:#037691" %)**Hardware System:** 77 77 78 78 * STM32L072CZT6 MCU 79 79 * SX1276/78 Wireless Chip ... ... @@ -82,13 +82,13 @@ 82 82 ** 20dB Transmit: 65mA@12v 83 83 84 84 85 -**Interface for Model:** 86 +(% style="color:#037691" %)**Interface for Model:** 86 86 87 87 * RS485 88 88 * Power Input 7~~ 24V DC. 89 89 90 90 91 -**LoRa Spec:** 92 +(% style="color:#037691" %)**LoRa Spec:** 92 92 93 93 * Frequency Range: 94 94 ** Band 1 (HF): 862 ~~ 1020 Mhz ... ... @@ -111,12 +111,11 @@ 111 111 112 112 113 113 114 - 115 115 == 1.3 Features == 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 119 +* Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864/MA869 120 120 * AT Commands to change parameters 121 121 * Remote configure parameters via LoRa Downlink 122 122 * Firmware upgradable via program port ... ... @@ -126,7 +126,6 @@ 126 126 127 127 128 128 129 - 130 130 == 1.4 Applications == 131 131 132 132 ... ... @@ -139,7 +139,6 @@ 139 139 140 140 141 141 142 - 143 143 == 1.5 Firmware Change log == 144 144 145 145 ... ... @@ -186,6 +186,7 @@ 186 186 187 187 = 3. Operation Mode = 188 188 187 + 189 189 == 3.1 How it works? == 190 190 191 191 ... ... @@ -203,6 +203,7 @@ 203 203 204 204 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. 205 205 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,6 +213,8 @@ 213 213 214 214 ((( 215 215 485A+ and 485B- of the sensor are connected to RS485A and RA485B of RS485-LN respectively. 216 + 217 + 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,6 +239,8 @@ 239 239 ((( 240 240 ((( 241 241 User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot: 244 + 245 + 242 242 ))) 243 243 244 244 ((( ... ... @@ -252,8 +252,11 @@ 252 252 253 253 (% 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" %) 254 254 255 -(% 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" %)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"]] 256 256 261 + 262 +(% title="Click and drag to resize" %) 263 + 257 257 You can also choose to create the device manually. 258 258 259 259 (% 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" %) ... ... @@ -265,8 +265,11 @@ 265 265 (% 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" %) 266 266 267 267 275 + 268 268 ((( 269 269 (% 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 + 270 270 ))) 271 271 272 272 (% 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" %) ... ... @@ -280,6 +280,8 @@ 280 280 ((( 281 281 ((( 282 282 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 + 283 283 ))) 284 284 ))) 285 285 ... ... @@ -298,6 +298,7 @@ 298 298 299 299 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: 300 300 313 + 301 301 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 302 302 |=(% style="width: 110px;" %)((( 303 303 **AT Commands** ... ... @@ -358,7 +358,6 @@ 358 358 359 359 360 360 361 - 362 362 === 3.3.2 Configure sensors === 363 363 364 364 ... ... @@ -388,7 +388,6 @@ 388 388 389 389 390 390 391 - 392 392 === 3.3.3 Configure read commands for each sampling === 393 393 394 394 ... ... @@ -404,6 +404,7 @@ 404 404 405 405 (% style="color:#037691" %)**Each RS485 commands include two parts:** 406 406 418 + 407 407 ~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. 408 408 409 409 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. ... ... @@ -432,7 +432,7 @@ 432 432 In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 433 433 434 434 435 -(% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 45bytes.447 +(% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 436 436 437 437 (% border="1" style="background-color:#4bacc6; color:white; width:510px" %) 438 438 |(% style="width:510px" %)((( ... ... @@ -445,6 +445,7 @@ 445 445 446 446 **Examples:** 447 447 460 + 448 448 * (% style="color:#037691" %)**Grab bytes** 449 449 450 450 (% 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" %) ... ... @@ -485,15 +485,13 @@ 485 485 ))) 486 486 487 487 ((( 488 -Final Payload is 501 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 489 489 ))) 490 490 491 491 ((( 492 -(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 493 -))) 494 - 495 -((( 496 496 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 506 + 507 + 497 497 ))) 498 498 499 499 (% 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" %) ... ... @@ -504,16 +504,15 @@ 504 504 505 505 Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 506 506 507 -Final Payload is 518 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 508 508 509 -(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 510 510 511 - 512 512 1. PAYVER: Defined by AT+PAYVER 513 513 1. PAYLOAD COUNT: Total how many uplinks of this sampling. 514 514 1. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 515 515 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 516 516 526 + 517 517 (% 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" %) 518 518 519 519 ... ... @@ -528,6 +528,7 @@ 528 528 529 529 (% 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:** 530 530 541 + 531 531 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink. 532 532 533 533 * For AU915/AS923 bands, if UplinkDwell time=0, max 11 bytes for each uplink. ... ... @@ -536,9 +536,30 @@ 536 536 537 537 ~* For all other bands: max 51 bytes for each uplink. 538 538 550 +(% style="color:red" %)*** When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 539 539 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 + 540 540 Below are the uplink payloads: 541 541 573 + 542 542 (% 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" %) 543 543 544 544 ... ... @@ -548,11 +548,11 @@ 548 548 549 549 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. 550 550 551 -Downlink control command: 583 +(% style="color:blue" %)**Downlink control command:** 552 552 553 -**0x08 command**: Poll an uplink with current command set in RS485-LN. 585 +(% style="color:#4472c4" %)** 0x08 command**(%%): Poll an uplink with current command set in RS485-LN. 554 554 555 -**0xA8 command**: Send a command to RS485-LN and uplink the output from sensors. 587 +(% style="color:#4472c4" %)** 0xA8 command**(%%): Send a command to RS485-LN and uplink the output from sensors. 556 556 557 557 558 558 ... ... @@ -561,6 +561,7 @@ 561 561 562 562 RS485-LN support external Interrupt uplink since hardware v1.2 release. 563 563 596 + 564 564 (% 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" %) 565 565 566 566 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. ... ... @@ -570,8 +570,10 @@ 570 570 == 3.4 Uplink Payload == 571 571 572 572 573 -(% 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 +(% 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"]] 574 574 608 +(% title="Click and drag to resize" %) 609 + 575 575 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 576 576 577 577 ... ... @@ -635,7 +635,7 @@ 635 635 (% style="color:#037691" %)**AT Command** 636 636 637 637 ((( 638 -**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 673 +(% style="color:#4472c4" %)** AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** (%%) m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 639 639 ))) 640 640 ))) 641 641 ... ... @@ -648,7 +648,7 @@ 648 648 ))) 649 649 650 650 ((( 651 -Format: A8 MM NN XX XX XX XX YY 686 +Format: (% style="color:#4472c4" %)** A8 MM NN XX XX XX XX YY** 652 652 ))) 653 653 654 654 ((( ... ... @@ -757,7 +757,7 @@ 757 757 * ((( 758 758 (% style="color:#037691" %)**AT Command:** 759 759 760 -**AT+PAYVER: **Set PAYVER field = 1 795 +(% style="color:#4472c4" %)** AT+PAYVER: ** (%%) Set PAYVER field = 1 761 761 762 762 763 763 ))) ... ... @@ -766,16 +766,27 @@ 766 766 ))) 767 767 768 768 ((( 769 -**0xAE 01** 804 +(% style="color:#4472c4" %)** 0xAE 01** (%%) ~-~-> Set PAYVER field = 0x01 770 770 ))) 771 771 772 772 ((( 773 -**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 808 +(% style="color:#4472c4" %)** 0xAE 0F** (%%) ~-~-> Set PAYVER field = 0x0F 774 774 ))) 775 775 776 776 812 +1 ) Add the interrupt flag at the highest bit of the Payver byte, that is, Byte7 of the first byte. (Since v1.4.0) 777 777 814 +[[image:image-20220824145428-2.png||height="168" width="1300"]] 778 778 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 +[[image:image-20220824145428-3.png||height="308" width="1200"]] 821 + 822 + 823 + 824 + 779 779 ==== (% style="color:blue" %)**Set RS485 Sampling Commands**(%%) ==== 780 780 781 781 ... ... @@ -795,9 +795,9 @@ 795 795 (% style="color:#037691" %)**AT Command:** 796 796 ))) 797 797 798 -**AT+COMMANDx: **Configure RS485 read command to sensor. 844 +(% style="color:#4472c4" %)** AT+COMMANDx: ** (%%) Configure RS485 read command to sensor. 799 799 800 -**AT+DATACUTx: **Configure how to handle return from RS485 devices. 846 +(% style="color:#4472c4" %)** AT+DATACUTx: **(%%) Configure how to handle return from RS485 devices. 801 801 802 802 803 803 * ((( ... ... @@ -805,19 +805,19 @@ 805 805 ))) 806 806 807 807 ((( 808 -**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 854 +(% style="color:#4472c4" %)** 0xAF**(%%) downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 809 809 810 810 811 811 ))) 812 812 813 813 ((( 814 -(% style="color:red" %)**Note **(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.860 +(% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 815 815 816 816 817 817 ))) 818 818 819 819 ((( 820 -Format: AF MM NN LL XX XX XX XX YY 866 +Format: (% style="color:#4472c4" %)** AF MM NN LL XX XX XX XX YY** 821 821 ))) 822 822 823 823 ((( ... ... @@ -865,7 +865,7 @@ 865 865 866 866 867 867 ((( 868 -**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]]. 914 +(% style="color:#4472c4" %)** AT+MBFUN**(%%) is valid since v1.3 firmware version. The command is for fast configure to read Modbus devices. It is only valid for the devices which follow the [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]]. 869 869 ))) 870 870 871 871 ((( ... ... @@ -914,10 +914,11 @@ 914 914 Default value: 0, range: 0 ~~ 65 seconds 915 915 ))) 916 916 917 - *(((918 -(% style="color:#037691" %)** AT Command:** 963 +((( 964 +* (% style="color:#037691" %)** AT Command:** 919 919 920 -**AT+CMDDLaa=hex(bb cc)*1000** 966 + 967 +(% style="color:#4472c4" %)** AT+CMDDLaa=hex(bb cc)*1000** 921 921 ))) 922 922 923 923 ((( ... ... @@ -927,7 +927,7 @@ 927 927 ))) 928 928 929 929 ((( 930 -**AT+CMDDL1=1000** to send the open time to 1000ms 977 +(% style="color:#4472c4" %)** AT+CMDDL1=1000** (%%)to send the open time to 1000ms 931 931 ))) 932 932 933 933 ((( ... ... @@ -939,14 +939,12 @@ 939 939 ))) 940 940 941 941 ((( 942 -**0x AA aa bb cc** 989 +(% style="color:#4472c4" %)** 0x AA aa bb cc**(%%) Same as: AT+CMDDLaa=hex(bb cc)*1000 943 943 ))) 944 944 945 945 ((( 946 -Same as: AT+CMDDLaa=hex(bb cc)*1000 947 -))) 993 + 948 948 949 -((( 950 950 **Example:** 951 951 ))) 952 952 ... ... @@ -970,13 +970,20 @@ 970 970 971 971 ))) 972 972 973 -* ((( 974 -(% style="color:#037691" %)** AT Command:** 1018 +((( 1019 +* (% style="color:#037691" %)** AT Command:** 1020 + 1021 + 1022 +(% style="color:#4472c4" %)** AT+DATAUP=0** 1023 + 1024 +(% style="color:#4472c4" %)** AT+DATAUP=1** 1025 + 1026 + 975 975 ))) 976 976 977 -**AT+DATAUP=0 **1029 +(% style="color:#4472c4" %)** 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/ (00 00 14 is 20 seconds) 978 978 979 - **AT+DATAUP=1**1031 +Each uplink is sent to the server at 20-second intervals when segmented. 980 980 981 981 982 982 * ((( ... ... @@ -983,17 +983,29 @@ 983 983 (% style="color:#037691" %)** Downlink Payload:** 984 984 ))) 985 985 986 -((( 987 -**0xAD 00** **~-~->** Same as AT+DATAUP=0 1038 +(% style="color:#4472c4" %)** 0xAD 00** (%%) **~-~->** Same as AT+DATAUP=0 1039 + 1040 +(% 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. 1041 + 1042 + 1043 +* ((( 1044 +(% style="color:#037691" %)** AT Command:** 988 988 ))) 989 989 990 -((( 991 -**0xAD 01** **~-~->** Same as AT+DATAUP=1 1047 +(% style="color:#4472c4" %)** AT+DATAUP=1,Timeout** 1048 + 1049 + 1050 +* ((( 1051 +(% style="color:#037691" %)** Downlink Payload:** 992 992 ))) 993 993 1054 +(% style="color:#4472c4" %)** 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/ (00 00 14 is 20 seconds) 994 994 1056 +Each uplink is sent to the server at 20-second intervals when segmented. 995 995 996 996 1059 + 1060 + 997 997 ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ==== 998 998 999 999 ... ... @@ -1018,7 +1018,7 @@ 1018 1018 ))) 1019 1019 1020 1020 ((( 1021 -**0x08 FF**, RS485-LN will immediately send an uplink. 1085 +(% style="color:#4472c4" %)** 0x08 FF**(%%), RS485-LN will immediately send an uplink. 1022 1022 ))) 1023 1023 1024 1024 ... ... @@ -1038,10 +1038,12 @@ 1038 1038 ))) 1039 1039 1040 1040 ((( 1041 -**AT+CMDEAR=mm,nn** 1105 +(% style="color:#4472c4" %)** AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase 1042 1042 ))) 1043 1043 1044 1044 ((( 1109 + 1110 + 1045 1045 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 1046 1046 ))) 1047 1047 ... ... @@ -1065,7 +1065,7 @@ 1065 1065 ))) 1066 1066 1067 1067 ((( 1068 -**0x09 aa bb** same as AT+CMDEAR=aa,bb 1134 +(% style="color:#4472c4" %)** 0x09 aa bb** (%%) same as AT+CMDEAR=aa,bb 1069 1069 ))) 1070 1070 1071 1071 ... ... @@ -1076,19 +1076,22 @@ 1076 1076 1077 1077 ((( 1078 1078 Set the Rs485 serial communication parameters: 1145 + 1146 + 1079 1079 ))) 1080 1080 1081 1081 * ((( 1082 1082 (% style="color:#037691" %)** AT Command:** 1083 -))) 1084 1084 1085 - (((1152 + 1086 1086 1154 +))) 1087 1087 1156 +((( 1088 1088 * Set Baud Rate 1089 1089 ))) 1090 1090 1091 -**AT+BAUDR=9600** 1200,2400,4800,14400,19200,115200)1160 +(% style="color:#4472c4" %)** AT+BAUDR=9600** (%%) ~/~/ Options: (200~~115200) When using low baud rate or receiving multiple bytes, you need to use AT+CMDDL to increase the receive timeout (the default receive timeout is 400ms), otherwise data will be lost 1092 1092 1093 1093 1094 1094 ((( ... ... @@ -1095,7 +1095,7 @@ 1095 1095 * Set UART Parity 1096 1096 ))) 1097 1097 1098 -**AT+PARITY=0** 1167 +(% style="color:#4472c4" %)** AT+PARITY=0** (%%) ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1099 1099 1100 1100 1101 1101 ((( ... ... @@ -1102,7 +1102,7 @@ 1102 1102 * Set STOPBIT 1103 1103 ))) 1104 1104 1105 -**AT+STOPBIT=0** 1174 +(% style="color:#4472c4" %)** AT+STOPBIT=0** (%%) ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1106 1106 1107 1107 1108 1108 ... ... @@ -1111,15 +1111,17 @@ 1111 1111 ))) 1112 1112 1113 1113 ((( 1114 -**A7 01 aa bb**: 1183 +(% style="color:#4472c4" %)** A7 01 aa bb**: (%%) Same AT+BAUDR=hex(aa bb)*100 1115 1115 ))) 1116 1116 1117 1117 ((( 1187 + 1188 + 1118 1118 **Example:** 1119 1119 ))) 1120 1120 1121 1121 * ((( 1122 -A7 01 00 60 1193 +A7 01 00 60 same as AT+BAUDR=9600 1123 1123 ))) 1124 1124 * ((( 1125 1125 A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -1126,16 +1126,154 @@ 1126 1126 ))) 1127 1127 1128 1128 ((( 1129 -A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02) 1200 +* A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02) 1130 1130 ))) 1131 1131 1132 1132 ((( 1133 -A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 1204 +* A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 1134 1134 ))) 1135 1135 1136 1136 1137 1137 1138 1138 1210 + 1211 +==== (% style="color:blue" %)**Encrypted payload**(%%) ==== 1212 + 1213 +((( 1214 + 1215 +))) 1216 + 1217 +* ((( 1218 +(% style="color:#037691" %)** AT Command:** 1219 +))) 1220 + 1221 +(% style="color:#4472c4" %)** AT+DECRYPT=1 ** (%%) ~/~/ The payload is uploaded without encryption 1222 + 1223 +(% style="color:#4472c4" %)** AT+DECRYPT=0 ** (%%) ~/~/ Encrypt when uploading payload (default) 1224 + 1225 + 1226 + 1227 + 1228 +==== (% style="color:blue" %)**Get sensor value**(%%) ==== 1229 + 1230 + 1231 +* ((( 1232 +(% style="color:#037691" %)** AT Command:** 1233 +))) 1234 + 1235 +(% style="color:#4472c4" %)** AT+GETSENSORVALUE=0 **(%%) ~/~/ The serial port gets the reading of the current sensor 1236 + 1237 +(% style="color:#4472c4" %)** AT+GETSENSORVALUE=1 **(%%) ~/~/ The serial port gets the current sensor reading and uploads it. 1238 + 1239 + 1240 + 1241 + 1242 +==== (% style="color:blue" %)**Resets the downlink packet count**(%%) ==== 1243 + 1244 + 1245 +* ((( 1246 +(% style="color:#037691" %)** AT Command:** 1247 +))) 1248 + 1249 +(% 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) 1250 + 1251 +(% 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. 1252 + 1253 + 1254 + 1255 + 1256 +==== (% style="color:blue" %)**When the limit bytes are exceeded, upload in batches**(%%) ==== 1257 + 1258 + 1259 +* ((( 1260 +(% style="color:#037691" %)** AT Command:** 1261 +))) 1262 + 1263 + (% 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) 1264 + 1265 + (% 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. 1266 + 1267 + 1268 +* ((( 1269 +(% style="color:#037691" %)** Downlink Payload:** 1270 +))) 1271 + 1272 +(% style="color:#4472c4" %)** 0x21 00 01 ** (%%) ~/~/ Set the DISMACANS=1 1273 + 1274 + 1275 + 1276 + 1277 +==== (% style="color:blue" %)** Copy downlink to uplink **(%%) ==== 1278 + 1279 + 1280 +* ((( 1281 +(% style="color:#037691" %)** AT Command:** 1282 +))) 1283 + 1284 +(% 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. 1285 + 1286 + 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 + 1289 + 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 + 1292 + 1293 + 1294 +For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77. 1295 + 1296 + 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 + 1299 + 1300 +For example, if 01 00 02 58 is issued, a valid configuration of 01 01 00 02 58 will be returned. 1301 + 1302 + 1303 + 1304 + 1305 +==== (% style="color:blue" %)**Query version number and frequency band 、TDC**(%%) ==== 1306 + 1307 + 1308 +((( 1309 +* (% style="color:#037691" %)**Downlink Payload:** 1310 + 1311 + 1312 +(% style="color:#4472c4" %)** 26 01 ** (%%) ~/~/ Downlink 26 01 can query device upload frequency, frequency band, software version number, TDC time. 1313 +))) 1314 + 1315 + 1316 +Example: 1317 + 1318 + 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 + 1321 + 1322 + 1323 + 1324 +==== (% style="color:blue" %)** Monitor RS485 communication of other devices**(%%) ==== 1325 + 1326 + 1327 +* ((( 1328 +(% style="color:#037691" %)** AT Command:** 1329 +))) 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. 1332 + 1333 +(% 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. 1334 + 1335 +(% style="color:#4472c4" %)**AT+RXMODE=0,0 ** (%%) ~/~/ Disable this mode (default) 1336 + 1337 + 1338 +* ((( 1339 +(% style="color:#037691" %)**Downlink Payload:** 1340 +))) 1341 + 1342 +(% style="color:#4472c4" %)** A6 aa bb bb ** (%%) ~/~/same as AT+RXMODE=aa,bb 1343 + 1344 +[[image:image-20220824144240-1.png]] 1345 + 1346 + 1347 + 1139 1139 == 3.6 Listening mode for RS485 network == 1140 1140 1141 1141 ... ... @@ -1247,10 +1247,6 @@ 1247 1247 |(% style="width:50px" %)**RST**|(% style="width:361px" %)Reboot RS485 1248 1248 |(% style="width:50px" %)**PRO**|(% style="width:361px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]] 1249 1249 1250 - 1251 - 1252 - 1253 - 1254 1254 == 3.8 LEDs == 1255 1255 1256 1256 ... ... @@ -1259,10 +1259,6 @@ 1259 1259 |**PWR**|Always on if there is power 1260 1260 |**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. 1261 1261 1262 - 1263 - 1264 - 1265 - 1266 1266 = 4. Case Study = 1267 1267 1268 1268 ... ... @@ -1393,7 +1393,7 @@ 1393 1393 ))) 1394 1394 1395 1395 ((( 1396 -(% style="color:blue" %)**Step2**(%%)**:** Download the [[LT Image files>>url:https://www.dr agino.com/downloads/index.php?dir=RS485-LN/Firmware/]].1597 +(% 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]]. 1397 1397 ))) 1398 1398 1399 1399 ((( ... ... @@ -1496,10 +1496,6 @@ 1496 1496 * (% style="color:red" %)**RU864**(%%): frequency bands RU864 1497 1497 * (% style="color:red" %)**KZ865**(%%): frequency bands KZ865 1498 1498 1499 - 1500 - 1501 - 1502 - 1503 1503 = 9.Packing Info = 1504 1504 1505 1505 ... ... @@ -1516,10 +1516,6 @@ 1516 1516 * Package Size / pcs : 14.5 x 8 x 5 cm 1517 1517 * Weight / pcs : 170g 1518 1518 1519 - 1520 - 1521 - 1522 - 1523 1523 = 10. FCC Caution for RS485LN-US915 = 1524 1524 1525 1525 ... ... @@ -1540,7 +1540,7 @@ 1540 1540 ))) 1541 1541 1542 1542 ((( 1543 -**Note: **This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures: 1736 +(% style="color:red" %)**Note: **(%%)This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures: 1544 1544 ))) 1545 1545 1546 1546 (((
- image-20220824144240-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +110.9 KB - Content
- image-20220824145428-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +12.6 KB - Content
- image-20220824145428-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.7 KB - Content