Last modified by Xiaoling on 2025/04/23 15:57

From version 44.15
edited by Xiaoling
on 2022/06/14 10:10
Change comment: There is no comment for this version
To version 41.12
edited by Xiaoling
on 2022/06/06 10:58
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,9 +1,13 @@
1 1  (% style="text-align:center" %)
2 -[[image:1652947681187-144.png||height="404" width="404"]]
2 +[[image:1652947681187-144.png||height="385" width="385"]]
3 3  
4 4  
5 5  
6 6  
7 +**RS485-BL – Waterproof RS485 to LoRaWAN Converter User Manual**
8 +
9 +
10 +
7 7  **Table of Contents:**
8 8  
9 9  {{toc/}}
... ... @@ -90,7 +90,6 @@
90 90  * 127 dB Dynamic Range RSSI.
91 91  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
92 92  
93 -
94 94  == 1.3 Features ==
95 95  
96 96  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -102,7 +102,6 @@
102 102  * Support Modbus protocol
103 103  * Support Interrupt uplink
104 104  
105 -
106 106  == 1.4 Applications ==
107 107  
108 108  * Smart Buildings & Home Automation
... ... @@ -112,7 +112,6 @@
112 112  * Smart Cities
113 113  * Smart Factory
114 114  
115 -
116 116  == 1.5 Firmware Change log ==
117 117  
118 118  [[RS485-BL Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/RS485-BL/Firmware/||style="background-color: rgb(255, 255, 255);"]]
... ... @@ -196,7 +196,6 @@
196 196  
197 197  [[image:1652953414711-647.png||height="337" width="723"]]
198 198  
199 -
200 200  (((
201 201  The RS485-BL in this example connected to two RS485 devices for demonstration, user can connect to other RS485 devices via the same method.
202 202  )))
... ... @@ -206,7 +206,7 @@
206 206  )))
207 207  
208 208  (((
209 -(% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from RS485-BL.
209 +**Step 1**: Create a device in TTN V3 with the OTAA keys from RS485-BL.
210 210  )))
211 211  
212 212  (((
... ... @@ -215,13 +215,12 @@
215 215  
216 216  [[image:1652953462722-299.png]]
217 217  
218 -
219 219  (((
220 220  User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot:
221 221  )))
222 222  
223 223  (((
224 -**Add APP EUI in the application.**
223 +Add APP EUI in the application.
225 225  )))
226 226  
227 227  
... ... @@ -233,20 +233,17 @@
233 233  
234 234  [[image:image-20220519174512-4.png]]
235 235  
236 -
237 237  You can also choose to create the device manually.
238 238  
239 239  [[image:1652953542269-423.png||height="710" width="723"]]
240 240  
241 -
242 242  Add APP KEY and DEV EUI
243 243  
244 244  [[image:1652953553383-907.png||height="514" width="724"]]
245 245  
246 246  
247 -
248 248  (((
249 -(% style="color:blue" %)**Step 2**(%%): Power on RS485-BL 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.
245 +**Step 2**: Power on RS485-BL 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.
250 250  )))
251 251  
252 252  [[image:1652953568895-172.png||height="232" width="724"]]
... ... @@ -287,28 +287,28 @@
287 287  )))
288 288  
289 289  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
290 -|=(% style="width: 80px;" %)(((
286 +|=(% style="width: 120px;" %)(((
291 291  (((
292 292  **AT Commands**
293 293  )))
294 -)))|=(% style="width: 210px;" %)(((
290 +)))|=(% style="width: 190px;" %)(((
295 295  (((
296 296  **Description**
297 297  )))
298 -)))|=(% style="width: 210px;" %)(((
294 +)))|=(% style="width: 190px;" %)(((
299 299  (((
300 300  **Example**
301 301  )))
302 302  )))
303 -|(% style="width:80px" %)(((
299 +|(% style="width:120px" %)(((
304 304  (((
305 305  AT+BAUDR
306 306  )))
307 -)))|(% style="width:210px" %)(((
303 +)))|(% style="width:190px" %)(((
308 308  (((
309 309  Set the baud rate (for RS485 connection). Default Value is: 9600.
310 310  )))
311 -)))|(% style="width:210px" %)(((
307 +)))|(% style="width:190px" %)(((
312 312  (((
313 313  (((
314 314  AT+BAUDR=9600
... ... @@ -321,11 +321,11 @@
321 321  )))
322 322  )))
323 323  )))
324 -|(% style="width:80px" %)(((
320 +|(% style="width:120px" %)(((
325 325  (((
326 326  AT+PARITY
327 327  )))
328 -)))|(% style="width:210px" %)(((
324 +)))|(% style="width:190px" %)(((
329 329  (((
330 330  (((
331 331  Set UART parity (for RS485 connection)
... ... @@ -337,7 +337,7 @@
337 337  Default Value is: no parity.
338 338  )))
339 339  )))
340 -)))|(% style="width:210px" %)(((
336 +)))|(% style="width:190px" %)(((
341 341  (((
342 342  (((
343 343  AT+PARITY=0
... ... @@ -350,11 +350,11 @@
350 350  )))
351 351  )))
352 352  )))
353 -|(% style="width:80px" %)(((
349 +|(% style="width:120px" %)(((
354 354  (((
355 355  AT+STOPBIT
356 356  )))
357 -)))|(% style="width:210px" %)(((
353 +)))|(% style="width:190px" %)(((
358 358  (((
359 359  (((
360 360  Set serial stopbit (for RS485 connection)
... ... @@ -366,7 +366,7 @@
366 366  Default Value is: 1bit.
367 367  )))
368 368  )))
369 -)))|(% style="width:210px" %)(((
365 +)))|(% style="width:190px" %)(((
370 370  (((
371 371  (((
372 372  AT+STOPBIT=0 for 1bit
... ... @@ -399,20 +399,14 @@
399 399  )))
400 400  
401 401  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
402 -|=(% style="width: 80px;" %)**AT Commands**|=(% style="width: 210px;" %)**Description**|=(% style="width: 210px;" %)**Example**
403 -|AT+CFGDEV|(% style="width:80px" %)(((
404 -(((
398 +|=(% style="width: 120px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example**
399 +|AT+CFGDEV|(% style="width:120px" %)(((
405 405  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
406 -)))
407 407  
408 -(((
409 409  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
410 -)))
411 411  
412 -(((
413 413  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
414 -)))
415 -)))|(% style="width:210px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
405 +)))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
416 416  
417 417  Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
418 418  
... ... @@ -438,22 +438,18 @@
438 438  
439 439  (((
440 440  During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads.
441 -
442 -
443 443  )))
444 444  
445 445  (((
446 -(% style="color:blue" %)**Command from RS485-BL to Sensor:**
434 +**Command from RS485-BL to Sensor:**
447 447  )))
448 448  
449 449  (((
450 450  RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar.
451 -
452 -
453 453  )))
454 454  
455 455  (((
456 -(% style="color:blue" %)**Handle return from sensors to RS485-BL**:
442 +**Handle return from sensors to RS485-BL**:
457 457  )))
458 458  
459 459  (((
... ... @@ -461,17 +461,15 @@
461 461  )))
462 462  
463 463  * (((
464 -(% style="color:blue" %)**AT+DATACUT**
450 +**AT+DATACUT**
465 465  )))
466 466  
467 467  (((
468 468  When the return value from sensor have fix length and we know which position the valid value we should get, we can use AT+DATACUT command.
469 -
470 -
471 471  )))
472 472  
473 473  * (((
474 -(% style="color:blue" %)**AT+SEARCH**
458 +**AT+SEARCH**
475 475  )))
476 476  
477 477  (((
... ... @@ -479,9 +479,7 @@
479 479  )))
480 480  
481 481  (((
482 -
483 -
484 -(% style="color:blue" %)**Define wait timeout:**
466 +**Define wait timeout:**
485 485  )))
486 486  
487 487  (((
... ... @@ -493,8 +493,6 @@
493 493  )))
494 494  
495 495  (((
496 -
497 -
498 498  **Examples:**
499 499  )))
500 500  
... ... @@ -530,10 +530,6 @@
530 530  )))
531 531  
532 532  (((
533 -
534 -)))
535 -
536 -(((
537 537  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
538 538  )))
539 539  
... ... @@ -552,8 +552,6 @@
552 552  )))
553 553  
554 554  (((
555 -
556 -
557 557  **Examples:**
558 558  )))
559 559  
... ... @@ -908,22 +908,16 @@
908 908  
909 909  == 3.5 Configure RS485-BL via AT or Downlink ==
910 910  
911 -(((
912 912  User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
913 -)))
914 914  
915 -(((
916 916  There are two kinds of Commands:
917 -)))
918 918  
919 -* (((
920 -(% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
921 -)))
889 +* (% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
922 922  
923 -* (((
924 -(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
925 -)))
891 +* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
926 926  
893 +
894 +
927 927  === 3.5.1 Common Commands: ===
928 928  
929 929  They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
... ... @@ -959,101 +959,51 @@
959 959  
960 960  ==== **RS485 Debug Command (AT+CFGDEV)** ====
961 961  
962 -(((
963 963  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
964 -)))
965 965  
966 -* (((
967 -**AT Command**
968 -)))
932 +* **AT Command**
969 969  
970 970  (% class="box infomessage" %)
971 971  (((
972 -(((
973 973  **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
974 974  )))
975 -)))
976 976  
977 -(((
978 978  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
979 -)))
980 980  
981 -(((
982 -
983 -)))
984 984  
985 -* (((
986 -**Downlink Payload**
987 -)))
942 +* **Downlink Payload**
988 988  
989 -(((
990 990  Format: A8 MM NN XX XX XX XX YY
991 -)))
992 992  
993 -(((
994 994  Where:
995 -)))
996 996  
997 -* (((
998 -MM: 1: add CRC-16/MODBUS ; 0: no CRC
999 -)))
1000 -* (((
1001 -NN: The length of RS485 command
1002 -)))
1003 -* (((
1004 -XX XX XX XX: RS485 command total NN bytes
1005 -)))
1006 -* (((
1007 -YY: How many bytes will be uplink from the return of this RS485 command, if YY=0, RS485-BL will execute the downlink command without uplink; if YY>0, RS485-BL will uplink total YY bytes from the output of this RS485 command
1008 -)))
948 +* MM: 1: add CRC-16/MODBUS ; 0: no CRC
949 +* NN: The length of RS485 command
950 +* XX XX XX XX: RS485 command total NN bytes
951 +* YY: How many bytes will be uplink from the return of this RS485 command, if YY=0, RS485-BL will execute the downlink command without uplink; if YY>0, RS485-BL will uplink total YY bytes from the output of this RS485 command
1009 1009  
1010 -(((
1011 1011  **Example 1:**
1012 -)))
1013 1013  
1014 -(((
1015 1015  To connect a Modbus Alarm with below commands.
1016 -)))
1017 1017  
1018 -* (((
1019 -The command to active alarm is: 0A 05 00 04 00 01 **4C B0**. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
1020 -)))
957 +* The command to active alarm is: 0A 05 00 04 00 01 **4C B0**. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
1021 1021  
1022 -* (((
1023 -The command to deactivate alarm is: 0A 05 00 04 00 00 **8D 70**. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
1024 -)))
959 +* The command to deactivate alarm is: 0A 05 00 04 00 00 **8D 70**. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
1025 1025  
1026 -(((
1027 1027  So if user want to use downlink command to control to RS485 Alarm, he can use:
1028 -)))
1029 1029  
1030 -(((
1031 1031  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
1032 -)))
1033 1033  
1034 -(((
1035 1035  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
1036 -)))
1037 1037  
1038 -(((
1039 1039  A8 is type code and 01 means add CRC-16/MODBUS at the end, the 3^^rd^^ byte is 06, means the next 6 bytes are the command to be sent to the RS485 network, the final byte 00 means this command don’t need to acquire output.
1040 -)))
1041 1041  
1042 -(((
1043 -
1044 -)))
1045 1045  
1046 -(((
1047 1047  **Example 2:**
1048 -)))
1049 1049  
1050 -(((
1051 1051  Check TTL Sensor return:
1052 -)))
1053 1053  
1054 -(((
1055 1055  [[image:1654132684752-193.png]]
1056 -)))
1057 1057  
1058 1058  
1059 1059  
... ... @@ -1082,121 +1082,62 @@
1082 1082  
1083 1083  ==== **Set RS485 Sampling Commands** ====
1084 1084  
1085 -(((
1086 1086  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
1087 -)))
1088 1088  
1089 -(((
1090 1090  These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
1091 -)))
1092 1092  
1093 -(((
1094 -
1095 -)))
1096 1096  
1097 -* (((
1098 -**AT Command:**
1099 -)))
1008 +* **AT Command:**
1100 1100  
1101 1101  (% class="box infomessage" %)
1102 1102  (((
1103 -(((
1104 1104  **AT+COMMANDx: Configure RS485 read command to sensor.**
1105 1105  )))
1106 -)))
1107 1107  
1108 1108  (% class="box infomessage" %)
1109 1109  (((
1110 -(((
1111 1111  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
1112 1112  )))
1113 -)))
1114 1114  
1115 1115  (% class="box infomessage" %)
1116 1116  (((
1117 -(((
1118 1118  **AT+SEARCHx: Configure search command**
1119 1119  )))
1120 -)))
1121 1121  
1122 -(((
1123 -
1124 -)))
1125 1125  
1126 -* (((
1127 -**Downlink Payload:**
1128 -)))
1026 +* **Downlink Payload:**
1129 1129  
1130 -(((
1131 1131  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
1132 -)))
1133 1133  
1134 -(((
1135 1135  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
1136 -)))
1137 1137  
1138 -(((
1139 1139  Format: AF MM NN LL XX XX XX XX YY
1140 -)))
1141 1141  
1142 -(((
1143 1143  Where:
1144 -)))
1145 1145  
1146 -* (((
1147 -MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1148 -)))
1149 -* (((
1150 -NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1151 -)))
1152 -* (((
1153 -LL:  The length of AT+COMMAND or AT+DATACUT command
1154 -)))
1155 -* (((
1156 -XX XX XX XX: AT+COMMAND or AT+DATACUT command
1157 -)))
1158 -* (((
1159 -YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
1160 -)))
1036 +* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1037 +* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1038 +* LL:  The length of AT+COMMAND or AT+DATACUT command
1039 +* XX XX XX XX: AT+COMMAND or AT+DATACUT command
1040 +* YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
1161 1161  
1162 -(((
1163 1163  **Example:**
1164 -)))
1165 1165  
1166 -(((
1167 1167  (% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1
1168 -)))
1169 1169  
1170 -(((
1171 1171  (% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10**
1172 -)))
1173 1173  
1174 -(((
1175 1175  (% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10**
1176 -)))
1177 1177  
1178 -(((
1179 -
1180 -)))
1181 1181  
1182 -(((
1183 1183  **0xAB** downlink command can be used for set AT+SEARCHx
1184 -)))
1185 1185  
1186 -(((
1187 1187  **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
1188 -)))
1189 1189  
1190 -* (((
1191 -AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1192 -)))
1193 -* (((
1194 -AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands
1195 -)))
1055 +* AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1056 +* AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands
1196 1196  
1197 -(((
1198 1198  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
1199 -)))
1200 1200  
1201 1201  
1202 1202  
... ... @@ -1203,47 +1203,24 @@
1203 1203  
1204 1204  ==== **Fast command to handle MODBUS device** ====
1205 1205  
1206 -(((
1207 1207  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]].
1208 -)))
1209 1209  
1210 -(((
1211 1211  This command is valid since v1.3 firmware version
1212 -)))
1213 1213  
1214 -(((
1215 -
1216 -)))
1217 1217  
1218 -(((
1219 1219  **AT+MBFUN has only two value:**
1220 -)))
1221 1221  
1222 -* (((
1223 -**AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1224 -)))
1072 +* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1225 1225  
1226 -(((
1227 1227  AT+MBFUN=1, device can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore.
1228 -)))
1229 1229  
1230 -* (((
1231 -**AT+MBFUN=0**: Disable Modbus fast reading.
1232 -)))
1076 +* **AT+MBFUN=0**: Disable Modbus fast reading.
1233 1233  
1234 -(((
1235 1235  **Example:**
1236 -)))
1237 1237  
1238 -* (((
1239 -AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1240 -)))
1241 -* (((
1242 -AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
1243 -)))
1244 -* (((
1245 -AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
1246 -)))
1080 +* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1081 +* AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
1082 +* AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
1247 1247  
1248 1248  [[image:1654133913295-597.png]]
1249 1249  
... ... @@ -1251,13 +1251,9 @@
1251 1251  [[image:1654133954153-643.png]]
1252 1252  
1253 1253  
1254 -* (((
1255 -**Downlink Commands:**
1256 -)))
1090 +* **Downlink Commands:**
1257 1257  
1258 -(((
1259 1259  **A9 aa** ~-~-> Same as AT+MBFUN=aa
1260 -)))
1261 1261  
1262 1262  
1263 1263  
... ... @@ -1264,60 +1264,32 @@
1264 1264  
1265 1265  ==== **RS485 command timeout** ====
1266 1266  
1267 -(((
1268 1268  Some Modbus device has slow action to send replies. This command is used to configure the RS485-BL to use longer time to wait for their action.
1269 -)))
1270 1270  
1271 -(((
1272 1272  Default value: 0, range:  0 ~~ 5 seconds
1273 -)))
1274 1274  
1275 -(((
1276 -
1277 -)))
1278 1278  
1279 -* (((
1280 -**AT Command:**
1281 -)))
1104 +* **AT Command:**
1282 1282  
1283 1283  (% class="box infomessage" %)
1284 1284  (((
1285 -(((
1286 1286  **AT+CMDDLaa=hex(bb cc)**
1287 1287  )))
1288 -)))
1289 1289  
1290 -(((
1291 1291  **Example:**
1292 -)))
1293 1293  
1294 -(((
1295 1295  **AT+CMDDL1=1000** to send the open time to 1000ms
1296 -)))
1297 1297  
1298 -(((
1299 -
1300 -)))
1301 1301  
1302 -* (((
1303 -**Downlink Payload:**
1304 -)))
1116 +* **Downlink Payload:**
1305 1305  
1306 -(((
1307 1307  0x AA aa bb cc
1308 -)))
1309 1309  
1310 -(((
1311 1311  Same as: AT+CMDDLaa=hex(bb cc)
1312 -)))
1313 1313  
1314 -(((
1315 1315   **Example:**
1316 -)))
1317 1317  
1318 -(((
1319 1319   **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
1320 -)))
1321 1321  
1322 1322  
1323 1323  
... ... @@ -1324,47 +1324,28 @@
1324 1324  
1325 1325  ==== **Uplink payload mode** ====
1326 1326  
1327 -(((
1328 1328  Define to use one uplink or multiple uplinks for the sampling.
1329 -)))
1330 1330  
1331 -(((
1332 1332  The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]]
1333 -)))
1334 1334  
1335 -* (((
1336 -**AT Command:**
1337 -)))
1135 +* **AT Command:**
1338 1338  
1339 1339  (% class="box infomessage" %)
1340 1340  (((
1341 -(((
1342 1342  **AT+DATAUP=0**
1343 1343  )))
1344 -)))
1345 1345  
1346 1346  (% class="box infomessage" %)
1347 1347  (((
1348 -(((
1349 1349  **AT+DATAUP=1**
1350 1350  )))
1351 -)))
1352 1352  
1353 -(((
1354 -
1355 -)))
1356 1356  
1357 -* (((
1358 -**Downlink Payload:**
1359 -)))
1148 +* **Downlink Payload:**
1360 1360  
1361 -(((
1362 1362  **0xAD 00**  **~-~->** Same as AT+DATAUP=0
1363 -)))
1364 1364  
1365 -(((
1366 1366  **0xAD 01**  **~-~->** Same as AT+DATAUP=1
1367 -)))
1368 1368  
1369 1369  
1370 1370  
... ... @@ -1382,229 +1382,133 @@
1382 1382  
1383 1383  ==== **Clear RS485 Command** ====
1384 1384  
1385 -(((
1386 1386  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
1387 -)))
1388 1388  
1389 -(((
1390 -
1391 -)))
1392 1392  
1393 -* (((
1394 -**AT Command:**
1395 -)))
1173 +* **AT Command:**
1396 1396  
1397 1397  (((
1398 1398  (% style="color:#037691" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
1399 1399  )))
1400 1400  
1401 -(((
1402 1402  Example screen shot after clear all RS485 commands. 
1403 -)))
1404 1404  
1405 -(((
1406 -
1407 -)))
1408 1408  
1409 -(((
1410 1410  The uplink screen shot is:
1411 -)))
1412 1412  
1413 -(((
1414 1414  [[image:1654134704555-320.png]]
1415 -)))
1416 1416  
1417 -(((
1418 -
1419 -)))
1420 1420  
1421 -* (((
1422 -**Downlink Payload:**
1423 -)))
1187 +* **Downlink Payload:**
1424 1424  
1425 -(((
1426 1426  **0x09 aa bb** same as AT+CMDEAR=aa,bb
1427 -)))
1428 1428  
1429 1429  
1430 1430  
1431 -
1432 1432  ==== **Set Serial Communication Parameters** ====
1433 1433  
1434 -(((
1435 1435  Set the Rs485 serial communication parameters:
1436 -)))
1437 1437  
1438 -* (((
1439 -**AT Command:**
1440 -)))
1197 +* **AT Command:**
1441 1441  
1442 -(((
1443 1443  Set Baud Rate:
1444 -)))
1445 1445  
1446 1446  (% class="box infomessage" %)
1447 1447  (((
1448 -(((
1449 1449  **AT+BAUDR=9600**    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
1204 +)))
1450 1450  
1451 1451  Set UART Parity
1207 +
1208 +(% class="box infomessage" %)
1209 +(((
1452 1452  **AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1211 +)))
1453 1453  
1454 1454  Set STOPBIT
1455 1455  
1215 +(% class="box infomessage" %)
1216 +(((
1456 1456  **AT+STOPBIT=0**    ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits
1457 1457  )))
1458 -)))
1459 1459  
1460 1460  
1461 -* (((
1462 -**Downlink Payload:**
1463 -)))
1221 +* **Downlink Payload:**
1464 1464  
1465 -(((
1466 1466  **A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
1467 -)))
1468 1468  
1469 -(((
1470 1470  **Example:**
1471 -)))
1472 1472  
1473 -* (((
1474 -A7 01 00 60   same as AT+BAUDR=9600
1475 -)))
1476 -* (((
1477 -A7 01 04 80  same as AT+BAUDR=115200
1478 -)))
1227 +* A7 01 00 60   same as AT+BAUDR=9600
1228 +* A7 01 04 80  same as AT+BAUDR=115200
1479 1479  
1480 -(((
1481 1481  A7 02 aa: Same as  AT+PARITY=aa  (aa value: 00 , 01 or 02)
1482 -)))
1483 1483  
1484 -(((
1485 1485  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
1486 -)))
1487 1487  
1488 1488  
1489 1489  
1490 -
1491 1491  ==== **Control output power duration** ====
1492 1492  
1493 -(((
1494 1494  User can set the output power duration before each sampling.
1495 -)))
1496 1496  
1497 -* (((
1498 -**AT Command:**
1499 -)))
1240 +* **AT Command:**
1500 1500  
1501 -(((
1502 1502  **Example:**
1503 -)))
1504 1504  
1505 -(((
1506 1506  **AT+3V3T=1000**  ~/~/ 3V3 output power will open 1s before each sampling.
1507 -)))
1508 1508  
1509 -(((
1510 1510  **AT+5VT=1000**  ~/~/ +5V output power will open 1s before each sampling.
1511 -)))
1512 1512  
1513 -(((
1514 -
1515 -)))
1516 1516  
1517 -* (((
1518 -**LoRaWAN Downlink Command:**
1519 -)))
1249 +* **LoRaWAN Downlink Command:**
1520 1520  
1521 -(((
1522 1522  **07 01 aa bb**  Same as AT+5VT=(aa bb)
1523 -)))
1524 1524  
1525 -(((
1526 1526  **07 02 aa bb**  Same as AT+3V3T=(aa bb)
1527 -)))
1528 1528  
1529 1529  
1530 1530  
1531 1531  == 3.6 Buttons ==
1532 1532  
1533 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:233px" %)
1259 +(% border="1" style="background-color:#ffffcc; color:green; width:233px" %)
1534 1534  |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1535 1535  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1536 1536  
1537 1537  == 3.7 +3V3 Output ==
1538 1538  
1539 -(((
1540 1540  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
1541 -)))
1542 1542  
1543 -(((
1544 1544  The +3V3 output will be valid for every sampling. RS485-BL will enable +3V3 output before all sampling and disable the +3V3 after all sampling. 
1545 -)))
1546 1546  
1547 -(((
1548 1548  The +3V3 output time can be controlled by AT Command.
1549 -)))
1550 1550  
1551 -(((
1552 -
1553 -)))
1554 1554  
1555 -(((
1556 1556  (% style="color:#037691" %)**AT+3V3T=1000**
1557 -)))
1558 1558  
1559 -(((
1560 -
1561 -)))
1562 1562  
1563 -(((
1564 1564  Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1565 -)))
1566 1566  
1567 -(((
1568 1568  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1569 -)))
1570 1570  
1571 1571  
1572 1572  == 3.8 +5V Output ==
1573 1573  
1574 -(((
1575 1575  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
1576 -)))
1577 1577  
1578 -(((
1579 1579  The +5V output will be valid for every sampling. RS485-BL will enable +5V output before all sampling and disable the +5v after all sampling. 
1580 -)))
1581 1581  
1582 -(((
1583 1583  The 5V output time can be controlled by AT Command.
1584 -)))
1585 1585  
1586 -(((
1587 -
1588 -)))
1589 1589  
1590 -(((
1591 1591  (% style="color:#037691" %)**AT+5VT=1000**
1592 -)))
1593 1593  
1594 -(((
1595 -
1596 -)))
1597 1597  
1598 -(((
1599 1599  Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1600 -)))
1601 1601  
1602 -(((
1603 1603  By default, the AT+5VT=0. If the external sensor which require 5v and require more time to get stable state, user can use this command to increase the power ON duration for this sensor.
1604 -)))
1605 1605  
1606 1606  
1607 -
1608 1608  == 3.9 LEDs ==
1609 1609  
1610 1610  (% border="1" style="background-color:#ffffcc; color:green; width:332px" %)
... ... @@ -1613,20 +1613,22 @@
1613 1613  
1614 1614  == 3.10 Switch Jumper ==
1615 1615  
1616 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:463px" %)
1617 -|=(% style="width: 123px;" %)**Switch Jumper**|=(% style="width: 336px;" %)**Feature**
1618 -|(% style="width:123px" %)**SW1**|(% style="width:336px" %)ISP position: Upgrade firmware via UART
1305 +(% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
1306 +|=(% style="width: 124px;" %)**Switch Jumper**|=(% style="width: 388px;" %)**Feature**
1307 +|(% style="width:124px" %)**SW1**|(% style="width:388px" %)(((
1308 +ISP position: Upgrade firmware via UART
1309 +
1619 1619  Flash position: Configure device, check running status.
1620 -|(% style="width:123px" %)**SW2**|(% style="width:336px" %)5V position: set to compatible with 5v I/O.
1311 +)))
1312 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)(((
1313 +5V position: set to compatible with 5v I/O.
1314 +
1621 1621  3.3v position: set to compatible with 3.3v I/O.,
1316 +)))
1622 1622  
1623 -(((
1624 1624  **+3.3V**: is always ON
1625 -)))
1626 1626  
1627 -(((
1628 1628  **+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0.  Max open time. 5000 ms.
1629 -)))
1630 1630  
1631 1631  
1632 1632  = 4. Case Study =
... ... @@ -1638,23 +1638,17 @@
1638 1638  
1639 1639  == 5.1 Access AT Command ==
1640 1640  
1641 -(((
1642 1642  RS485-BL supports AT Command set. User can use a USB to TTL adapter plus the 3.5mm Program Cable to connect to RS485-BL to use AT command, as below.
1643 -)))
1644 1644  
1645 1645  [[image:1654135840598-282.png]]
1646 1646  
1647 1647  
1648 -(((
1649 1649  In PC, User needs to set (% style="color:blue" %)**serial tool**(%%)(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console of RS485-BL. The default password is 123456. Below is the output for reference:
1650 -)))
1651 1651  
1652 1652  [[image:1654136105500-922.png]]
1653 1653  
1654 1654  
1655 -(((
1656 1656  More detail AT Command manual can be found at [[AT Command Manual>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]]
1657 -)))
1658 1658  
1659 1659  
1660 1660  == 5.2 Common AT Command Sequence ==
... ... @@ -1666,14 +1666,20 @@
1666 1666  (% class="box infomessage" %)
1667 1667  (((
1668 1668  **AT+FDR**
1354 +)))
1355 +
1356 +(% class="box infomessage" %)
1357 +(((
1669 1669  **AT+NJM=0**
1359 +)))
1360 +
1361 +(% class="box infomessage" %)
1362 +(((
1670 1670  **ATZ**
1671 1671  )))
1672 1672  
1673 1673  
1674 -(((
1675 1675  If device already joined network:
1676 -)))
1677 1677  
1678 1678  (% class="box infomessage" %)
1679 1679  (((
... ... @@ -1712,12 +1712,10 @@
1712 1712  
1713 1713  (% style="color:red" %)**Note:**
1714 1714  
1715 -(((
1716 1716  (% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server.
1717 1717  2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting.
1718 1718  3. Make sure SF / bandwidth setting in LG01/LG02 match the settings of AT+DR. refer [[this link>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/&file=LoRaWAN%201.0.3%20Regional%20Parameters.xlsx]] to see what DR means.
1719 1719  4. The command AT+RX2FQ and AT+RX2DR is to let downlink work. to set the correct parameters, user can check the actually downlink parameters to be used. As below. Which shows the RX2FQ should use 868400000 and RX2DR should be 5
1720 -)))
1721 1721  
1722 1722  [[image:1654136435598-589.png]]
1723 1723  
... ... @@ -1726,23 +1726,13 @@
1726 1726  
1727 1727  == 6.1 How to upgrade the image? ==
1728 1728  
1729 -(((
1730 1730  The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to:
1731 -)))
1732 1732  
1733 -* (((
1734 -Support new features
1735 -)))
1736 -* (((
1737 -For bug fix
1738 -)))
1739 -* (((
1740 -Change LoRaWAN bands.
1741 -)))
1420 +* Support new features
1421 +* For bug fix
1422 +* Change LoRaWAN bands.
1742 1742  
1743 -(((
1744 1744  Below shows the hardware connection for how to upload an image to RS485-BL:
1745 -)))
1746 1746  
1747 1747  [[image:1654136646995-976.png]]
1748 1748