<
From version < 102.13 >
edited by Xiaoling
on 2023/04/25 12:00
To version < 109.1 >
edited by Saxer Lin
on 2023/12/14 09:34
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +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,79 +255,89 @@
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 Commands to read data ==
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  
284 -
285 285  (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
286 -|=(% style="width: 119px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)(((
293 +|=(% style="width: 126px; background-color:#D9E2F3;color:#0070C0" %)(((
287 287  **AT Commands**
288 -)))|=(% style="width: 116px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)(((
295 +)))|=(% style="width: 187px; background-color:#D9E2F3;color:#0070C0" %)(((
289 289  **Description**
290 -)))|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)(((
297 +)))|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)(((
291 291  **Example**
292 292  )))
293 -|(% style="width:119px" %)(((
300 +|(% style="width:126px" %)(((
301 +
302 +
303 +(((
294 294  AT+BAUDR
295 -)))|(% style="width:116px" %)(((
305 +)))
306 +)))|(% style="width:177px" %)(((
296 296  Set the baud rate (for RS485 connection). Default Value is: 9600.
297 -)))|(% style="width:190px" %)(((
308 +)))|(% style="width:193px" %)(((
298 298  (((
299 299  AT+BAUDR=9600
300 300  )))
301 301  
302 302  (((
303 -Options: (1200,2400,4800,14400,19200,115200)
314 +Options: (1200,2400,4800,
315 +14400,19200,115200)
304 304  )))
305 305  )))
306 -|(% style="width:119px" %)(((
318 +|(% style="width:126px" %)(((
307 307  AT+PARITY
308 -)))|(% style="width:116px" %)(((
320 +)))|(% style="width:177px" %)(((
309 309  Set UART parity (for RS485 connection)
310 -)))|(% style="width:190px" %)(((
322 +)))|(% style="width:193px" %)(((
311 311  (((
312 312  AT+PARITY=0
313 313  )))
314 314  
315 315  (((
316 -Option: 0: no parity, 1: odd parity, 2: even parity
328 +Option: 0: no parity,
329 +1: odd parity,
330 +2: even parity
317 317  )))
318 318  )))
319 -|(% style="width:119px" %)(((
333 +|(% style="width:126px" %)(((
320 320  AT+STOPBIT
321 -)))|(% style="width:116px" %)(((
335 +)))|(% style="width:177px" %)(((
322 322  (((
323 323  Set serial stopbit (for RS485 connection)
324 324  )))
325 -
339 +)))|(% style="width:193px" %)(((
326 326  (((
327 -
328 -)))
329 -)))|(% style="width:190px" %)(((
330 -(((
331 331  AT+STOPBIT=0 for 1bit
332 332  )))
333 333  
... ... @@ -340,16 +340,12 @@
340 340  )))
341 341  )))
342 342  
343 -=== 3.3.2 Configure sensors ===
353 +=== 3.3.3 Configure sensors ===
344 344  
345 345  
346 346  (((
347 -(((
348 348  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.
349 -
350 -
351 351  )))
352 -)))
353 353  
354 354  (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
355 355  |=(% style="width: 122px; background-color:#D9E2F3;color:#0070C0" %)**AT Commands**|=(% style="width: 198px; background-color:#D9E2F3;color:#0070C0" %)**Description**|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)**Example**
... ... @@ -367,7 +367,7 @@
367 367  )))
368 368  )))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
369 369  
370 -=== 3.3.3 Configure read commands for each sampling ===
376 +=== 3.3.4 Configure read commands for each sampling ===
371 371  
372 372  
373 373  (((
... ... @@ -411,6 +411,20 @@
411 411  In the RS485-LN, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
412 412  
413 413  
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 +
414 414  (% style="color:#037691" %)**AT+DATACUTx **(%%)**: **This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
415 415  
416 416  (% border="1" style="background-color:#f2f2f2; width:510px" %)
... ... @@ -444,7 +444,7 @@
444 444  
445 445  )))
446 446  
447 -=== 3.3.4 Compose the uplink payload ===
467 +=== 3.3.5 Compose the uplink payload ===
448 448  
449 449  
450 450  (((
... ... @@ -529,7 +529,7 @@
529 529  (% 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" %)​
530 530  
531 531  
532 -=== 3.3.5 Uplink on demand ===
552 +=== 3.3.6 Uplink on demand ===
533 533  
534 534  
535 535  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.
... ... @@ -541,7 +541,7 @@
541 541  (% style="color:#4472c4" %)** 0xA8 command**(%%): Send a command to RS485-LN and uplink the output from sensors.
542 542  
543 543  
544 -=== 3.3.6 Uplink on Interrupt ===
564 +=== 3.3.7 Uplink on Interrupt ===
545 545  
546 546  
547 547  RS485-LN support external Interrupt uplink since hardware v1.2 release.
... ... @@ -556,7 +556,7 @@
556 556  
557 557  
558 558  (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
559 -|=(% scope="row" style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
579 +|=(% scope="row" style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)(((
560 560  Size(bytes)
561 561  )))|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:360px" %)(((
562 562  **Length depends on the return from the commands**
... ... @@ -916,8 +916,13 @@
916 916  
917 917  (% 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" %)​
918 918  
939 +* (((
940 +(% style="color:#037691" %)**Downlink Command:**
941 +)))
919 919  
943 +**~ (% style="color:#4472c4" %)A9 aa(%%)** ~-~-> Same as AT+MBFUN=aa
920 920  
945 +
921 921  ==== (% style="color:blue" %)**RS485 command timeout**(%%) ====
922 922  
923 923  
... ... @@ -1006,6 +1006,8 @@
1006 1006  (% 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.
1007 1007  
1008 1008  
1034 +(Since firmware v1.4.0)
1035 +
1009 1009  * (((
1010 1010  (% style="color:#037691" %)** AT Command:**
1011 1011  )))
... ... @@ -1022,7 +1022,44 @@
1022 1022  Each uplink is sent to the server at 20-second intervals when segmented.
1023 1023  
1024 1024  
1052 +==== (% style="color:blue" %)**Cut data separation processing(Since Version 1.4.2)**(%%) ====
1025 1025  
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 +
1026 1026  ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ====
1027 1027  
1028 1028  
... ... @@ -1585,6 +1585,13 @@
1585 1585  (% 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" %)​
1586 1586  
1587 1587  
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 +
1588 1588  (% 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:**
1589 1589  
1590 1590  (% 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" %)​
... ... @@ -1737,6 +1737,18 @@
1737 1737  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)
1738 1738  
1739 1739  
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 +
1740 1740  = 7. Trouble Shooting =
1741 1741  
1742 1742  == 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
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0