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 - **(% style="color:#037691" %)Hardware System:**77 +(% style="color:#037691" %)**Hardware System:** 77 77 78 78 * STM32L072CZT6 MCU 79 79 * SX1276/78 Wireless Chip ... ... @@ -82,16 +82,14 @@ 82 82 ** 20dB Transmit: 65mA@12v 83 83 84 84 86 +(% style="color:#037691" %)**Interface for Model:** 85 85 86 -**(% style="color:#037691" %)Interface for Model:** 87 - 88 88 * RS485 89 89 * Power Input 7~~ 24V DC. 90 90 91 91 92 +(% style="color:#037691" %)**LoRa Spec:** 92 92 93 -**(% style="color:#037691" %)LoRa Spec:** 94 - 95 95 * Frequency Range: 96 96 ** Band 1 (HF): 862 ~~ 1020 Mhz 97 97 ** Band 2 (LF): 410 ~~ 528 Mhz ... ... @@ -113,12 +113,11 @@ 113 113 114 114 115 115 116 - 117 117 == 1.3 Features == 118 118 119 119 120 120 * LoRaWAN Class A & Class C protocol (default Class C) 121 -* Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864 119 +* Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864/MA869 122 122 * AT Commands to change parameters 123 123 * Remote configure parameters via LoRa Downlink 124 124 * Firmware upgradable via program port ... ... @@ -128,7 +128,6 @@ 128 128 129 129 130 130 131 - 132 132 == 1.4 Applications == 133 133 134 134 ... ... @@ -141,7 +141,6 @@ 141 141 142 142 143 143 144 - 145 145 == 1.5 Firmware Change log == 146 146 147 147 ... ... @@ -188,6 +188,7 @@ 188 188 189 189 = 3. Operation Mode = 190 190 187 + 191 191 == 3.1 How it works? == 192 192 193 193 ... ... @@ -205,6 +205,7 @@ 205 205 206 206 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. 207 207 205 + 208 208 (% 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" %) 209 209 210 210 ... ... @@ -215,6 +215,8 @@ 215 215 216 216 ((( 217 217 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,6 +241,8 @@ 241 241 ((( 242 242 ((( 243 243 User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot: 244 + 245 + 244 244 ))) 245 245 246 246 ((( ... ... @@ -254,8 +254,11 @@ 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"]] (% 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"]] 258 258 261 + 262 +(% title="Click and drag to resize" %) 263 + 259 259 You can also choose to create the device manually. 260 260 261 261 (% 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" %) ... ... @@ -267,8 +267,11 @@ 267 267 (% 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" %) 268 268 269 269 275 + 270 270 ((( 271 271 (% 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 + 272 272 ))) 273 273 274 274 (% 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" %) ... ... @@ -282,6 +282,8 @@ 282 282 ((( 283 283 ((( 284 284 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 + 285 285 ))) 286 286 ))) 287 287 ... ... @@ -300,6 +300,7 @@ 300 300 301 301 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: 302 302 313 + 303 303 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 304 304 |=(% style="width: 110px;" %)((( 305 305 **AT Commands** ... ... @@ -360,7 +360,6 @@ 360 360 361 361 362 362 363 - 364 364 === 3.3.2 Configure sensors === 365 365 366 366 ... ... @@ -390,7 +390,6 @@ 390 390 391 391 392 392 393 - 394 394 === 3.3.3 Configure read commands for each sampling === 395 395 396 396 ... ... @@ -406,6 +406,7 @@ 406 406 407 407 (% style="color:#037691" %)**Each RS485 commands include two parts:** 408 408 418 + 409 409 ~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. 410 410 411 411 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. ... ... @@ -434,7 +434,7 @@ 434 434 In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 435 435 436 436 437 -(% 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. 438 438 439 439 (% border="1" style="background-color:#4bacc6; color:white; width:510px" %) 440 440 |(% style="width:510px" %)((( ... ... @@ -447,6 +447,7 @@ 447 447 448 448 **Examples:** 449 449 460 + 450 450 * (% style="color:#037691" %)**Grab bytes** 451 451 452 452 (% 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" %) ... ... @@ -487,15 +487,13 @@ 487 487 ))) 488 488 489 489 ((( 490 -Final Payload is 501 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 491 491 ))) 492 492 493 493 ((( 494 -(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 495 -))) 496 - 497 -((( 498 498 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 506 + 507 + 499 499 ))) 500 500 501 501 (% 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" %) ... ... @@ -506,16 +506,15 @@ 506 506 507 507 Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 508 508 509 -Final Payload is 518 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 510 510 511 -(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 512 512 513 - 514 514 1. PAYVER: Defined by AT+PAYVER 515 515 1. PAYLOAD COUNT: Total how many uplinks of this sampling. 516 516 1. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 517 517 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 518 518 526 + 519 519 (% 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" %) 520 520 521 521 ... ... @@ -530,6 +530,7 @@ 530 530 531 531 (% 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:** 532 532 541 + 533 533 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink. 534 534 535 535 * For AU915/AS923 bands, if UplinkDwell time=0, max 11 bytes for each uplink. ... ... @@ -538,9 +538,30 @@ 538 538 539 539 ~* For all other bands: max 51 bytes for each uplink. 540 540 550 +(% style="color:red" %)*** When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 541 541 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 + 542 542 Below are the uplink payloads: 543 543 573 + 544 544 (% 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" %) 545 545 546 546 ... ... @@ -550,11 +550,11 @@ 550 550 551 551 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. 552 552 553 -Downlink control command: 583 +(% style="color:blue" %)**Downlink control command:** 554 554 555 -**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. 556 556 557 -**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. 558 558 559 559 560 560 ... ... @@ -563,6 +563,7 @@ 563 563 564 564 RS485-LN support external Interrupt uplink since hardware v1.2 release. 565 565 596 + 566 566 (% 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" %) 567 567 568 568 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. ... ... @@ -572,8 +572,10 @@ 572 572 == 3.4 Uplink Payload == 573 573 574 574 575 -(% 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"]] 576 576 608 +(% title="Click and drag to resize" %) 609 + 577 577 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 578 578 579 579 ... ... @@ -637,7 +637,7 @@ 637 637 (% style="color:#037691" %)**AT Command** 638 638 639 639 ((( 640 -**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 641 641 ))) 642 642 ))) 643 643 ... ... @@ -650,7 +650,7 @@ 650 650 ))) 651 651 652 652 ((( 653 -Format: A8 MM NN XX XX XX XX YY 686 +Format: (% style="color:#4472c4" %)** A8 MM NN XX XX XX XX YY** 654 654 ))) 655 655 656 656 ((( ... ... @@ -759,7 +759,7 @@ 759 759 * ((( 760 760 (% style="color:#037691" %)**AT Command:** 761 761 762 -**AT+PAYVER: **Set PAYVER field = 1 795 +(% style="color:#4472c4" %)** AT+PAYVER: ** (%%) Set PAYVER field = 1 763 763 764 764 765 765 ))) ... ... @@ -768,16 +768,27 @@ 768 768 ))) 769 769 770 770 ((( 771 -**0xAE 01** 804 +(% style="color:#4472c4" %)** 0xAE 01** (%%) ~-~-> Set PAYVER field = 0x01 772 772 ))) 773 773 774 774 ((( 775 -**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 808 +(% style="color:#4472c4" %)** 0xAE 0F** (%%) ~-~-> Set PAYVER field = 0x0F 776 776 ))) 777 777 778 778 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) 779 779 814 +[[image:image-20220824145428-2.png||height="168" width="1300"]] 780 780 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 + 781 781 ==== (% style="color:blue" %)**Set RS485 Sampling Commands**(%%) ==== 782 782 783 783 ... ... @@ -797,9 +797,9 @@ 797 797 (% style="color:#037691" %)**AT Command:** 798 798 ))) 799 799 800 -**AT+COMMANDx: **Configure RS485 read command to sensor. 844 +(% style="color:#4472c4" %)** AT+COMMANDx: ** (%%) Configure RS485 read command to sensor. 801 801 802 -**AT+DATACUTx: **Configure how to handle return from RS485 devices. 846 +(% style="color:#4472c4" %)** AT+DATACUTx: **(%%) Configure how to handle return from RS485 devices. 803 803 804 804 805 805 * ((( ... ... @@ -807,19 +807,19 @@ 807 807 ))) 808 808 809 809 ((( 810 -**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. 811 811 812 812 813 813 ))) 814 814 815 815 ((( 816 -(% 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.** 817 817 818 818 819 819 ))) 820 820 821 821 ((( 822 -Format: AF MM NN LL XX XX XX XX YY 866 +Format: (% style="color:#4472c4" %)** AF MM NN LL XX XX XX XX YY** 823 823 ))) 824 824 825 825 ((( ... ... @@ -867,7 +867,7 @@ 867 867 868 868 869 869 ((( 870 -**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]]. 871 871 ))) 872 872 873 873 ((( ... ... @@ -916,10 +916,11 @@ 916 916 Default value: 0, range: 0 ~~ 65 seconds 917 917 ))) 918 918 919 - *(((920 -(% style="color:#037691" %)** AT Command:** 963 +((( 964 +* (% style="color:#037691" %)** AT Command:** 921 921 922 -**AT+CMDDLaa=hex(bb cc)*1000** 966 + 967 +(% style="color:#4472c4" %)** AT+CMDDLaa=hex(bb cc)*1000** 923 923 ))) 924 924 925 925 ((( ... ... @@ -929,7 +929,7 @@ 929 929 ))) 930 930 931 931 ((( 932 -**AT+CMDDL1=1000** to send the open time to 1000ms 977 +(% style="color:#4472c4" %)** AT+CMDDL1=1000** (%%)to send the open time to 1000ms 933 933 ))) 934 934 935 935 ((( ... ... @@ -941,14 +941,12 @@ 941 941 ))) 942 942 943 943 ((( 944 -**0x AA aa bb cc** 989 +(% style="color:#4472c4" %)** 0x AA aa bb cc**(%%) Same as: AT+CMDDLaa=hex(bb cc)*1000 945 945 ))) 946 946 947 947 ((( 948 -Same as: AT+CMDDLaa=hex(bb cc)*1000 949 -))) 993 + 950 950 951 -((( 952 952 **Example:** 953 953 ))) 954 954 ... ... @@ -972,13 +972,20 @@ 972 972 973 973 ))) 974 974 975 -* ((( 976 -(% 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 + 977 977 ))) 978 978 979 -**AT+DATAUP=0 **1029 +(% style="color:#4472c4" %)** 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/ (00 00 14 is 20 seconds) 980 980 981 - **AT+DATAUP=1**1031 +Each uplink is sent to the server at 20-second intervals when segmented. 982 982 983 983 984 984 * ((( ... ... @@ -985,17 +985,29 @@ 985 985 (% style="color:#037691" %)** Downlink Payload:** 986 986 ))) 987 987 988 -((( 989 -**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:** 990 990 ))) 991 991 992 -((( 993 -**0xAD 01** **~-~->** Same as AT+DATAUP=1 1047 +(% style="color:#4472c4" %)** AT+DATAUP=1,Timeout** 1048 + 1049 + 1050 +* ((( 1051 +(% style="color:#037691" %)** Downlink Payload:** 994 994 ))) 995 995 1054 +(% style="color:#4472c4" %)** 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/ (00 00 14 is 20 seconds) 996 996 1056 +Each uplink is sent to the server at 20-second intervals when segmented. 997 997 998 998 1059 + 1060 + 999 999 ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ==== 1000 1000 1001 1001 ... ... @@ -1020,7 +1020,7 @@ 1020 1020 ))) 1021 1021 1022 1022 ((( 1023 -**0x08 FF**, RS485-LN will immediately send an uplink. 1085 +(% style="color:#4472c4" %)** 0x08 FF**(%%), RS485-LN will immediately send an uplink. 1024 1024 ))) 1025 1025 1026 1026 ... ... @@ -1040,10 +1040,12 @@ 1040 1040 ))) 1041 1041 1042 1042 ((( 1043 -**AT+CMDEAR=mm,nn** 1105 +(% style="color:#4472c4" %)** AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase 1044 1044 ))) 1045 1045 1046 1046 ((( 1109 + 1110 + 1047 1047 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 1048 1048 ))) 1049 1049 ... ... @@ -1067,7 +1067,7 @@ 1067 1067 ))) 1068 1068 1069 1069 ((( 1070 -**0x09 aa bb** same as AT+CMDEAR=aa,bb 1134 +(% style="color:#4472c4" %)** 0x09 aa bb** (%%) same as AT+CMDEAR=aa,bb 1071 1071 ))) 1072 1072 1073 1073 ... ... @@ -1078,19 +1078,22 @@ 1078 1078 1079 1079 ((( 1080 1080 Set the Rs485 serial communication parameters: 1145 + 1146 + 1081 1081 ))) 1082 1082 1083 1083 * ((( 1084 1084 (% style="color:#037691" %)** AT Command:** 1085 -))) 1086 1086 1087 - (((1152 + 1088 1088 1154 +))) 1089 1089 1156 +((( 1090 1090 * Set Baud Rate 1091 1091 ))) 1092 1092 1093 -**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 1094 1094 1095 1095 1096 1096 ((( ... ... @@ -1097,7 +1097,7 @@ 1097 1097 * Set UART Parity 1098 1098 ))) 1099 1099 1100 -**AT+PARITY=0** 1167 +(% style="color:#4472c4" %)** AT+PARITY=0** (%%) ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1101 1101 1102 1102 1103 1103 ((( ... ... @@ -1104,7 +1104,7 @@ 1104 1104 * Set STOPBIT 1105 1105 ))) 1106 1106 1107 -**AT+STOPBIT=0** 1174 +(% style="color:#4472c4" %)** AT+STOPBIT=0** (%%) ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1108 1108 1109 1109 1110 1110 ... ... @@ -1113,15 +1113,17 @@ 1113 1113 ))) 1114 1114 1115 1115 ((( 1116 -**A7 01 aa bb**: 1183 +(% style="color:#4472c4" %)** A7 01 aa bb**: (%%) Same AT+BAUDR=hex(aa bb)*100 1117 1117 ))) 1118 1118 1119 1119 ((( 1187 + 1188 + 1120 1120 **Example:** 1121 1121 ))) 1122 1122 1123 1123 * ((( 1124 -A7 01 00 60 1193 +A7 01 00 60 same as AT+BAUDR=9600 1125 1125 ))) 1126 1126 * ((( 1127 1127 A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -1128,16 +1128,154 @@ 1128 1128 ))) 1129 1129 1130 1130 ((( 1131 -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) 1132 1132 ))) 1133 1133 1134 1134 ((( 1135 -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) 1136 1136 ))) 1137 1137 1138 1138 1139 1139 1140 1140 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 + 1141 1141 == 3.6 Listening mode for RS485 network == 1142 1142 1143 1143 ... ... @@ -1249,10 +1249,6 @@ 1249 1249 |(% style="width:50px" %)**RST**|(% style="width:361px" %)Reboot RS485 1250 1250 |(% style="width:50px" %)**PRO**|(% style="width:361px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]] 1251 1251 1252 - 1253 - 1254 - 1255 - 1256 1256 == 3.8 LEDs == 1257 1257 1258 1258 ... ... @@ -1261,10 +1261,6 @@ 1261 1261 |**PWR**|Always on if there is power 1262 1262 |**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. 1263 1263 1264 - 1265 - 1266 - 1267 - 1268 1268 = 4. Case Study = 1269 1269 1270 1270 ... ... @@ -1395,7 +1395,7 @@ 1395 1395 ))) 1396 1396 1397 1397 ((( 1398 -(% 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]]. 1399 1399 ))) 1400 1400 1401 1401 ((( ... ... @@ -1498,10 +1498,6 @@ 1498 1498 * (% style="color:red" %)**RU864**(%%): frequency bands RU864 1499 1499 * (% style="color:red" %)**KZ865**(%%): frequency bands KZ865 1500 1500 1501 - 1502 - 1503 - 1504 - 1505 1505 = 9.Packing Info = 1506 1506 1507 1507 ... ... @@ -1518,10 +1518,6 @@ 1518 1518 * Package Size / pcs : 14.5 x 8 x 5 cm 1519 1519 * Weight / pcs : 170g 1520 1520 1521 - 1522 - 1523 - 1524 - 1525 1525 = 10. FCC Caution for RS485LN-US915 = 1526 1526 1527 1527 ... ... @@ -1542,7 +1542,7 @@ 1542 1542 ))) 1543 1543 1544 1544 ((( 1545 - **(% 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: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: 1546 1546 ))) 1547 1547 1548 1548 (((
- 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