Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Bei Jinggeng on 2025/01/16 11:36
Change comment:
Uploaded new attachment "image-20220929111027-1.png", version {1}
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 3 removed)
Details
- Page properties
-
- Content
-
... ... @@ -33,28 +33,40 @@ 33 33 34 34 == 1.1 What is RS485-LN RS485 to LoRaWAN Converter == 35 35 36 - 37 37 ((( 37 +((( 38 +((( 39 + 40 + 38 38 The Dragino RS485-LN is a (% style="color:blue" %)**RS485 to LoRaWAN Converter**(%%). It converts the RS485 signal into LoRaWAN wireless signal which simplify the IoT installation and reduce the installation/maintaining cost. 39 39 ))) 43 +))) 40 40 41 41 ((( 46 +((( 42 42 RS485-LN allows user to (% style="color:blue" %)**monitor / control RS485 devices**(%%) and reach extremely long ranges. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on. 43 43 ))) 49 +))) 44 44 45 45 ((( 52 +((( 46 46 (% style="color:blue" %)**For data uplink**(%%), RS485-LN sends user-defined commands to RS485 devices and gets the return from the RS485 devices. RS485-LN will process these returns according to user-define rules to get the final payload and upload to LoRaWAN server. 47 47 ))) 55 +))) 48 48 49 49 ((( 58 +((( 50 50 (% style="color:blue" %)**For data downlink**(%%), RS485-LN runs in LoRaWAN Class C. When there downlink commands from LoRaWAN server, RS485-LN will forward the commands from LoRaWAN server to RS485 devices. 51 51 ))) 52 52 53 53 ((( 54 54 (% style="color:blue" %)**Demo Dashboard for RS485-LN**(%%) connect to two energy meters: [[https:~~/~~/app.datacake.de/dashboard/d/58844a26-378d-4c5a-aaf5-b5b5b153447a>>url:https://app.datacake.de/dashboard/d/58844a26-378d-4c5a-aaf5-b5b5b153447a]] 64 + 65 + 55 55 ))) 67 +))) 68 +))) 56 56 57 - 58 58 (% aria-label="1653267211009-519.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653267211009-519.png||data-widget="image" height="419" 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" %) 59 59 60 60 ... ... @@ -64,7 +64,7 @@ 64 64 65 65 (% style="color:#037691" %)**Hardware System:** 66 66 67 -* STM32L072 xxxxMCU79 +* STM32L072CZT6 MCU 68 68 * SX1276/78 Wireless Chip 69 69 * Power Consumption (exclude RS485 device): 70 70 ** Idle: 32mA@12v ... ... @@ -297,10 +297,10 @@ 297 297 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: 298 298 299 299 300 -(% border="1" cellspacing=" 5" style="background-color:#ffffcc; color:green; width:510px" %)312 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 301 301 |=(% style="width: 110px;" %)((( 302 302 **AT Commands** 303 -)))|=(% style="width: 210px;" %)(((315 +)))|=(% style="width: 190px;" %)((( 304 304 **Description** 305 305 )))|=(% style="width: 190px;" %)((( 306 306 **Example** ... ... @@ -357,6 +357,7 @@ 357 357 358 358 359 359 372 + 360 360 === 3.3.2 Configure sensors === 361 361 362 362 ... ... @@ -368,8 +368,8 @@ 368 368 ))) 369 369 ))) 370 370 371 -(% border="1" cellspacing=" 5" style="background-color:#ffffcc; color:green; width:510px" %)372 -|=(% style="width: 110px;" %)**AT Commands**|=(% style="width: 210px;" %)**Description**|=(% style="width: 190px;" %)**Example**384 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 385 +|=(% style="width: 110px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example** 373 373 |AT+CFGDEV|(% style="width:110px" %)((( 374 374 ((( 375 375 This command is used to configure the RS485/TTL devices; they won’t be used during sampling. ... ... @@ -386,6 +386,7 @@ 386 386 387 387 388 388 402 + 389 389 === 3.3.3 Configure read commands for each sampling === 390 390 391 391 ... ... @@ -418,7 +418,7 @@ 418 418 419 419 (% border="1" style="background-color:#4bacc6; color:white; width:499px" %) 420 420 |(% style="width:496px" %)((( 421 -**AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 435 +(% style="color:#037691" %)**AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 422 422 423 423 **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent** 424 424 ... ... @@ -493,7 +493,7 @@ 493 493 494 494 ))) 495 495 496 -[[image:image-20220 929111027-1.png||height="509" width="685"]](% title="Click and drag to resize" %)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" %) 497 497 498 498 499 499 (% style="color:#037691" %)**Examples: AT+DATAUP=1** ... ... @@ -501,18 +501,14 @@ 501 501 502 502 Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 503 503 504 -Final Payload is (% style="color:#4f81bd" %)**PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 518 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 505 505 506 506 507 -~1. PAYVER: Defined by AT+PAYVER 521 +1. PAYVER: Defined by AT+PAYVER 522 +1. PAYLOAD COUNT: Total how many uplinks of this sampling. 523 +1. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 524 +1. DATA: Valid value: max 8 bytes for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 8 bytes 508 508 509 -2. PAYLOAD COUNT: Total how many uplinks of this sampling. 510 - 511 -3. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 512 - 513 -4. 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 514 - 515 - 516 516 (% 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" %) 517 517 518 518 ... ... @@ -536,13 +536,27 @@ 536 536 537 537 ~* For all other bands: max 51 bytes for each uplink. 538 538 549 +(% 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 540 -(% style="color:red" %)** When AT+DATAUP=1, the maximum number of segmentsis15,and theaximum totalnumberofbytesis1500;**551 +(% 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)** 541 541 542 -(% 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)** 543 543 554 +(% style="color:#4f81bd" %)**If the data is empty, return to the display(Since v1.4.0)** 544 544 556 +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**. 545 545 558 + 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 + 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 +[[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 + 568 + 569 + 546 546 Below are the uplink payloads: 547 547 548 548 ... ... @@ -578,26 +578,8 @@ 578 578 == 3.4 Uplink Payload == 579 579 580 580 581 -(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %) 582 -|=(% scope="row" style="width: 60px;" %)((( 583 -Size(bytes) 584 -)))|(% style="width:80px" %)1|(% style="width:360px" %)((( 585 -Length depends on the return from the commands 586 -))) 587 -|=(% style="width: 90px;" %)((( 588 -Value 589 -)))|(% style="width:114px" %)((( 590 -PAYLOAD_VER 591 -)))|(% style="width:353px" %)((( 592 -If the valid payload is too long and exceed the maximum 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"]] 593 593 594 -support payload length in server, server will show payload not 595 - 596 -provided in the LoRaWAN server. 597 -))) 598 - 599 -(% 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"]] 600 - 601 601 (% title="Click and drag to resize" %) 602 602 603 603 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. ... ... @@ -659,7 +659,7 @@ 659 659 660 660 661 661 ((( 662 -This command is used to configure the RS485 devices; they won't be used during sampling. Max Length of AT+CFGDEV is **40 bytes**.668 +This command is used to configure the RS485 devices; they won't be used during sampling. 663 663 ))) 664 664 665 665 ((( ... ... @@ -806,16 +806,14 @@ 806 806 ))) 807 807 808 808 809 - **1 ) Add the interrupt flag at the highest bit of the Payver byte, that is, Byte7 of the first byte. (Since v1.4.0)**815 +1 ) Add the interrupt flag at the highest bit of the Payver byte, that is, Byte7 of the first byte. (Since v1.4.0) 810 810 811 - 812 812 [[image:image-20220824145428-2.png||height="168" width="1300"]] 813 813 814 814 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. 815 815 816 -**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.** 817 817 818 - 819 819 [[image:image-20220824145428-3.png||height="308" width="1200"]] 820 820 821 821 ... ... @@ -941,10 +941,8 @@ 941 941 942 942 ))) 943 943 944 -(% aria-label="image-20220602165351-6.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602165351-6.png||data-widget="image"]] 948 +(% aria-label="image-20220602165351-6.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602165351-6.png||data-widget="image"]](% title="Click and drag to resize" %) 945 945 946 -(% title="Click and drag to resize" %) 947 - 948 948 (% aria-label="image-20220602165351-7.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602165351-7.png||data-widget="image"]](% title="Click and drag to resize" %) 949 949 950 950 ... ... @@ -1141,10 +1141,15 @@ 1141 1141 1142 1142 ((( 1143 1143 Set the Rs485 serial communication parameters: 1146 + 1147 + 1144 1144 ))) 1145 1145 1146 -((( 1147 -(% style="color:#037691" %)**AT Command:** 1150 +* ((( 1151 +(% style="color:#037691" %)** AT Command:** 1152 + 1153 + 1154 + 1148 1148 ))) 1149 1149 1150 1150 ((( ... ... @@ -1151,7 +1151,7 @@ 1151 1151 * Set Baud Rate 1152 1152 ))) 1153 1153 1154 -(% style="color:#4472c4" %)** 1161 +(% 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 1155 1155 1156 1156 1157 1157 ((( ... ... @@ -1158,7 +1158,7 @@ 1158 1158 * Set UART Parity 1159 1159 ))) 1160 1160 1161 -(% style="color:#4472c4" %)** 1168 +(% style="color:#4472c4" %)** AT+PARITY=0** (%%) ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1162 1162 1163 1163 1164 1164 ((( ... ... @@ -1165,18 +1165,21 @@ 1165 1165 * Set STOPBIT 1166 1166 ))) 1167 1167 1168 -(% style="color:#4472c4" %)** 1175 +(% style="color:#4472c4" %)** AT+STOPBIT=0** (%%) ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1169 1169 1170 1170 1171 -((( 1172 -(% style="color:#037691" %)**Downlink Payload:** 1178 + 1179 +* ((( 1180 +(% style="color:#037691" %)** Downlink Payload:** 1173 1173 ))) 1174 1174 1175 1175 ((( 1176 -(% style="color:#4472c4" %)** 1184 +(% style="color:#4472c4" %)** A7 01 aa bb**: (%%) Same AT+BAUDR=hex(aa bb)*100 1177 1177 ))) 1178 1178 1179 1179 ((( 1188 + 1189 + 1180 1180 **Example:** 1181 1181 ))) 1182 1182 ... ... @@ -1198,27 +1198,7 @@ 1198 1198 1199 1199 1200 1200 1201 -==== (% style="color:blue" %)**Configure Databit (Since Version 1.4.0)**(%%) ==== 1202 1202 1203 - 1204 -* ((( 1205 -(% style="color:#037691" %)** AT Command:** 1206 -))) 1207 - 1208 -(% style="color:#4472c4" %)** AT+DATABIT=7 **(%%)~/~/ Set the data bits to 7 1209 - 1210 -(% style="color:#4472c4" %)** AT+DATABIT=8 **(%%)~/~/ Set the data bits to 8 1211 - 1212 -* ((( 1213 -(% style="color:#037691" %)**Downlink Payload:** 1214 -))) 1215 - 1216 -(% style="color:#4472c4" %)** A7 04 07**(%%): Same as AT+DATABIT=7 1217 - 1218 -(% style="color:#4472c4" %)** A7 04 08**(%%): Same as AT+DATABIT=8 1219 - 1220 - 1221 - 1222 1222 ==== (% style="color:blue" %)**Encrypted payload**(%%) ==== 1223 1223 1224 1224 ((( ... ... @@ -1294,17 +1294,20 @@ 1294 1294 1295 1295 (% 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. 1296 1296 1287 + 1297 1297 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. 1298 1298 1299 1299 1300 1300 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823173747-6.png?width=1124&height=165&rev=1.1||alt="image-20220823173747-6.png"]] 1301 1301 1302 -For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77. 1303 1303 1304 1304 1295 +For example, sending 11 22 33 44 55 66 77 will return invalid configuration 00 11 22 33 44 55 66 77. 1305 1305 1297 + 1306 1306 [[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"]] 1307 1307 1300 + 1308 1308 For example, if 01 00 02 58 is issued, a valid configuration of 01 01 00 02 58 will be returned. 1309 1309 1310 1310 ... ... @@ -1346,7 +1346,7 @@ 1346 1346 (% style="color:#037691" %)**Downlink Payload:** 1347 1347 ))) 1348 1348 1349 -(% style="color:#4472c4" %)** A6 aa bb bb ** (%%) ~/~/ 1342 +(% style="color:#4472c4" %)** A6 aa bb bb ** (%%) ~/~/same as AT+RXMODE=aa,bb 1350 1350 1351 1351 [[image:image-20220824144240-1.png]] 1352 1352 ... ... @@ -1440,8 +1440,6 @@ 1440 1440 1441 1441 ((( 1442 1442 RS485-LN will capture both and send the uplink: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33 1443 - 1444 - 1445 1445 ))) 1446 1446 1447 1447 ((( ... ... @@ -1463,8 +1463,8 @@ 1463 1463 == 3.7 Buttons == 1464 1464 1465 1465 1466 -(% border="1 .5" cellspacing="4" style="background-color:#ffffcc; width:430px" %)1467 -|=(% style="width: 50px;" %)**Button**|=(% style="width: 3 80px;" %)**Feature**1457 +(% border="1" cellspacing="10" style="background-color:#f7faff; width:430px" %) 1458 +|=(% style="width: 50px;" %)**Button**|=(% style="width: 361px;" %)**Feature** 1468 1468 |(% style="width:50px" %)**ACT**|(% style="width:361px" %)If RS485 joined in network, press this button for more than 1 second, RS485 will upload a packet, and the SYS LED will give a (% style="color:blue" %)**Blue blink** 1469 1469 |(% style="width:50px" %)**RST**|(% style="width:361px" %)Reboot RS485 1470 1470 |(% style="width:50px" %)**PRO**|(% style="width:361px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]] ... ... @@ -1474,7 +1474,7 @@ 1474 1474 == 3.8 LEDs == 1475 1475 1476 1476 1477 -(% border="1 .5" cellspacing="4" style="background-color:#ffffcc; width:430px" %)1468 +(% border="1" cellspacing="10" style="background-color:#f7faff; width:430px" %) 1478 1478 |=(% style="width: 50px;" %)**LEDs**|=(% style="width: 380px;" %)**Feature** 1479 1479 |**PWR**|Always on if there is power 1480 1480 |**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. ... ... @@ -1679,7 +1679,7 @@ 1679 1679 == 6.5 Can i use point to point communication for RS485-LN? == 1680 1680 1681 1681 1682 -Yes, please updating point-to-point [[firmware>>https://www.dropbox.com/sh/g99v0fxcltn9r1y/AACP33wo_ZQLsxW2MJ70oUoba/RS485-LN/Firmware?dl=0&subfolder_nav_tracking=1]],thenrefer[[Point to Point Communication for RS485-LN>>Point to Point Communication for RS485-LN]].1673 +Yes, please refer [[Point to Point Communication for RS485-LN>>Point to Point Communication for RS485-LN]]. 1683 1683 1684 1684 1685 1685
- image-20221130104310-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -82.0 KB - Content
- image-20221130104310-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -392.9 KB - Content
- image-20221130104310-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -30.4 KB - Content