Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Bei Jinggeng on 2025/01/10 15:06
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 2 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Saxer - Content
-
... ... @@ -38,7 +38,7 @@ 38 38 ))) 39 39 40 40 ((( 41 -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.41 +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, building automation, and so on. 42 42 ))) 43 43 44 44 ((( ... ... @@ -208,7 +208,7 @@ 208 208 ))) 209 209 ))) 210 210 211 -(% aria-label="1652953462722-299.png image widget" contenteditable="false" role="region"tabindex="-1" %)[[image:1652953462722-299.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" %)211 +(% 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"]][[image:image-20230425175410-2.png]](% title="Click and drag to resize" %) 212 212 213 213 214 214 ((( ... ... @@ -255,29 +255,37 @@ 255 255 (% 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" %) 256 256 257 257 258 -== 3.3 Configure Commandstoreaddata==258 +== 3.3 Configure Device to Read RS485 Sensors == 259 259 260 260 261 -((( 262 -((( 263 -((( 264 -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. 261 +There are plenty of RS485 and TTL level devices in the market and each device has different commands to read the valid data. To support these devices in most flexible, RS485-LN supports flexible command set. User can use [[Dragino RS485 Tool>>url:https://www.dropbox.com/sh/us9qecn39fwt8n1/AABREdqUCzEmJMRrfuWuXasoa?dl=0]], [[AT Commands or LoRaWAN Downlink>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LB_Waterproof_RS485UART_to_LoRaWAN_Converter/#H3.5ConfigureRS485-LBviaATorDownlink]] Command to configure how RS485-LN should read the sensor and how to handle the return from RS485 or TTL sensors. 265 265 266 - 267 -))) 268 -))) 269 269 270 270 ((( 271 271 ((( 266 +((( 272 272 (% style="color:red" %)**Note: below description and commands are for firmware version >v1.1, if you have firmware version v1.0. Please check the [[user manual v1.0>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/&file=RS485-LN_UserManual_v1.0.1.pdf]] or upgrade the firmware to v1.1** 273 273 ))) 274 274 275 - 270 +=== === 271 + 272 +=== 3.3.1 Method 1 ~-~- via RS485 Configure Tool === 273 + 274 +Use the RS485 Configure tool is the recommand method. Please see the instruction of how to use the tool: 275 + 276 +* **[[RS485 Configure Tool Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/RS485_Configure_Tool/]]** 277 + 278 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LB_Waterproof_RS485UART_to_LoRaWAN_Converter/WebHome/image-20231127144411-1.png?width=494&height=368&rev=1.1||alt="image-20231127144411-1.png" height="368" width="494"]] 279 + 280 +=== === 281 + 282 +=== 3.3.2 Method 2 ~-~- via AT Commands === 276 276 ))) 277 277 ))) 278 278 279 -=== 3.3.1 Configure UART settings for RS485 or TTL communication === 286 +==== 3.3.2.1 Configure UART settings for RS485 or TTL communication ==== 280 280 288 +RS485-LN can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. 281 281 282 282 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: 283 283 ... ... @@ -304,7 +304,6 @@ 304 304 305 305 ((( 306 306 Options: (1200,2400,4800, 307 - 308 308 14400,19200,115200) 309 309 ))) 310 310 ))) ... ... @@ -319,9 +319,7 @@ 319 319 320 320 ((( 321 321 Option: 0: no parity, 322 - 323 323 1: odd parity, 324 - 325 325 2: even parity 326 326 ))) 327 327 ))) ... ... @@ -331,10 +331,6 @@ 331 331 ((( 332 332 Set serial stopbit (for RS485 connection) 333 333 ))) 334 - 335 -((( 336 - 337 -))) 338 338 )))|(% style="width:193px" %)((( 339 339 ((( 340 340 AT+STOPBIT=0 for 1bit ... ... @@ -349,10 +349,9 @@ 349 349 ))) 350 350 ))) 351 351 353 +=== 3.3.3 Configure sensors === 352 352 353 -=== 3.3.2 Configure sensors === 354 354 355 - 356 356 ((( 357 357 Some sensors might need to configure before normal operation. User can configure such sensor via PC and RS485 adapter or through RS485-LN AT Commands (% style="color:#4f81bd" %)**AT+CFGDEV**(%%). Each (% style="color:#4f81bd" %)**AT+CFGDEV **(%%)equals to send a RS485 command to sensors. This command will only run when user input it and won't run during each sampling. 358 358 ))) ... ... @@ -373,7 +373,7 @@ 373 373 ))) 374 374 )))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 375 375 376 -=== 3.3. 3Configure read commands for each sampling ===376 +=== 3.3.4 Configure read commands for each sampling === 377 377 378 378 379 379 ((( ... ... @@ -417,6 +417,20 @@ 417 417 In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 418 418 419 419 420 +If a single command exceeds 14 bytes, you can use the command splicing function. 421 + 422 +When AT+CMDDLx=1, the commands of AT+COMMANDx and AT+COMMAND(x+1) will be merged. 423 + 424 + 425 +**Examples:** To send 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F data it should be configured: 426 + 427 + AT+COMMAND1=00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D,0 428 + 429 + AT+COMMAND1=1 430 + 431 + AT+COMMAND2=0E 0F,0 432 + 433 + 420 420 (% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 421 421 422 422 (% border="1" style="background-color:#f2f2f2; width:510px" %) ... ... @@ -450,7 +450,7 @@ 450 450 451 451 ))) 452 452 453 -=== 3.3. 4Compose the uplink payload ===467 +=== 3.3.5 Compose the uplink payload === 454 454 455 455 456 456 ((( ... ... @@ -535,7 +535,7 @@ 535 535 (% 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" %) 536 536 537 537 538 -=== 3.3. 5Uplink on demand ===552 +=== 3.3.6 Uplink on demand === 539 539 540 540 541 541 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. ... ... @@ -547,7 +547,7 @@ 547 547 (% style="color:#4472c4" %)** 0xA8 command**(%%): Send a command to RS485-LN and uplink the output from sensors. 548 548 549 549 550 -=== 3.3. 6Uplink on Interrupt ===564 +=== 3.3.7 Uplink on Interrupt === 551 551 552 552 553 553 RS485-LN support external Interrupt uplink since hardware v1.2 release. ... ... @@ -562,7 +562,7 @@ 562 562 563 563 564 564 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 565 -|=(% scope="row" style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((579 +|=(% scope="row" style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)((( 566 566 Size(bytes) 567 567 )))|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:360px" %)((( 568 568 **Length depends on the return from the commands** ... ... @@ -922,8 +922,13 @@ 922 922 923 923 (% 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" %) 924 924 939 +* ((( 940 +(% style="color:#037691" %)**Downlink Command:** 941 +))) 925 925 943 +**~ (% style="color:#4472c4" %)A9 aa(%%)** ~-~-> Same as AT+MBFUN=aa 926 926 945 + 927 927 ==== (% style="color:blue" %)**RS485 command timeout**(%%) ==== 928 928 929 929 ... ... @@ -1012,6 +1012,8 @@ 1012 1012 (% 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. 1013 1013 1014 1014 1034 +(Since firmware v1.4.0) 1035 + 1015 1015 * ((( 1016 1016 (% style="color:#037691" %)** AT Command:** 1017 1017 ))) ... ... @@ -1028,7 +1028,44 @@ 1028 1028 Each uplink is sent to the server at 20-second intervals when segmented. 1029 1029 1030 1030 1052 +==== (% style="color:blue" %)**Cut data separation processing(Since Version 1.4.2)**(%%) ==== 1031 1031 1054 + 1055 +AT+NEWLINE command, which only takes effect when AT+DATAUP=1 or AT+DATAUP=1, timeout. 1056 + 1057 +When not set, each part of AT+DATAUP is sent according to the maximum number of bytes of DR. 1058 + 1059 +When setting, each part of AT+DATAUP is sent according to the value set by AT+NEWLINE. 1060 + 1061 + 1062 +* ((( 1063 +(% style="color:#037691" %)** AT Command:** 1064 +))) 1065 + 1066 +(% style="color:#4472c4" %)//**AT+NEWLINE=ALL**//(%%)// //The data cut out by each AT+COMMANDx command is sent separately as an uplink. 1067 + 1068 +(% style="color:#4472c4" %)//**AT+NEWLINE=ALL**//(%%)// equal: (% style="color:#4472c4" %)**AT+NEWLINE=1+2+3+4+5+6+7+8+9+10+11+12+13+14+15**// 1069 + 1070 + 1071 +(% style="color:#4472c4" %)//**AT+NEWLINE=a+b+c**//(%%)// //The data returned by all commands is divided into three parts, COMMAND(1~~a) is the first part, COMMAND(a+1~~b) is the second part,COMMAND(b+1~~c) is the third part. 1072 + 1073 + 1074 +(% style="color:#4472c4" %)//**AT+NEWLINE=NULL**//(%%)// //Turn off the functionality of this AT command. 1075 + 1076 + 1077 +* ((( 1078 +(% style="color:#037691" %)** Downlink Payload:** 1079 +))) 1080 + 1081 +//AT+NEWLINE=ALL ~-~--> (% style="color:#4472c4" %)**0xAC 01**// 1082 + 1083 +// AT+NEWLINE= NULL ~-~--> (% style="color:#4472c4" %)**0xAC 00**// 1084 + 1085 +//AT+NEWLINE= a+b+c ~-~--> (% style="color:#4472c4" %)**0xAC number of bytes a b c**// 1086 + 1087 +//AT+NEWLINE= 1+5+15 ~-~--> (% style="color:#4472c4" %)**0xAC 03 01 05 0F**// 1088 + 1089 + 1032 1032 ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ==== 1033 1033 1034 1034 ... ... @@ -1591,6 +1591,13 @@ 1591 1591 (% aria-label="image-20220602175912-14.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602175912-14.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" %) 1592 1592 1593 1593 1652 + 1653 +(% style="color:red" %)**Users can select the new burning software STM32Cubeprogramer for firmware upgrade and follow the same connection steps to enter burning mode (until SYS LED is RED ON):** 1654 + 1655 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H4.2.FirmwareupgradeusingSTM32Cubeprogramer>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H4.2.FirmwareupgradeusingSTM32Cubeprogramer]] 1656 + 1657 + 1658 + 1594 1594 (% style="color:red" %)**Notice**: **In case user has lost the program cable. User can hand made one from a 3.5mm cable. The pin mapping is:** 1595 1595 1596 1596 (% aria-label="image-20220602175638-10.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602175638-10.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" %) ... ... @@ -1743,6 +1743,18 @@ 1743 1743 The decoder for RS485-LN needs to be written by yourself. Because the sensor to which the user is connected is custom, the read device data bytes also need custom parsing, so there is no universal decoder. We can only provide [[templates>>https://github.com/dragino/dragino-end-node-decoder/tree/main/RS485-LN]] for decoders (no intermediate data parsing part involved) 1744 1744 1745 1745 1811 +== 6.9 How to configure RS485 commands more conveniently? == 1812 + 1813 + 1814 +Dragino has developed an application for the RS485 series of products. 1815 + 1816 +It can help you configure RS485 sensors more conveniently 1817 +Please refer to the link below for specific usage: 1818 + 1819 +[[RS485 Configure Tool - DRAGINO>>url:http://wiki.dragino.com/xwiki/bin/view/Main/RS485_Configure_Tool/#HTableofContentsFF1A]] 1820 + 1821 + 1822 + 1746 1746 = 7. Trouble Shooting = 1747 1747 1748 1748 == 7.1 Downlink doesn't work, how to solve it? ==
- image-20230425175403-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +150.1 KB - Content
- image-20230425175410-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +150.1 KB - Content