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

From version 44.18
edited by Xiaoling
on 2022/06/14 10:13
Change comment: There is no comment for this version
To version 41.21
edited by Xiaoling
on 2022/06/06 11:07
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/}}
... ... @@ -193,7 +193,6 @@
193 193  
194 194  [[image:1652953414711-647.png||height="337" width="723"]]
195 195  
196 -
197 197  (((
198 198  The RS485-BL in this example connected to two RS485 devices for demonstration, user can connect to other RS485 devices via the same method.
199 199  )))
... ... @@ -203,7 +203,7 @@
203 203  )))
204 204  
205 205  (((
206 -(% 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.
207 207  )))
208 208  
209 209  (((
... ... @@ -212,13 +212,12 @@
212 212  
213 213  [[image:1652953462722-299.png]]
214 214  
215 -
216 216  (((
217 217  User can enter this key in their LoRaWAN Server portal. Below is TTN V3 screen shot:
218 218  )))
219 219  
220 220  (((
221 -**Add APP EUI in the application.**
223 +Add APP EUI in the application.
222 222  )))
223 223  
224 224  
... ... @@ -230,20 +230,17 @@
230 230  
231 231  [[image:image-20220519174512-4.png]]
232 232  
233 -
234 234  You can also choose to create the device manually.
235 235  
236 236  [[image:1652953542269-423.png||height="710" width="723"]]
237 237  
238 -
239 239  Add APP KEY and DEV EUI
240 240  
241 241  [[image:1652953553383-907.png||height="514" width="724"]]
242 242  
243 243  
244 -
245 245  (((
246 -(% 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.
247 247  )))
248 248  
249 249  [[image:1652953568895-172.png||height="232" width="724"]]
... ... @@ -284,28 +284,28 @@
284 284  )))
285 285  
286 286  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
287 -|=(% style="width: 80px;" %)(((
286 +|=(% style="width: 120px;" %)(((
288 288  (((
289 289  **AT Commands**
290 290  )))
291 -)))|=(% style="width: 210px;" %)(((
290 +)))|=(% style="width: 190px;" %)(((
292 292  (((
293 293  **Description**
294 294  )))
295 -)))|=(% style="width: 210px;" %)(((
294 +)))|=(% style="width: 190px;" %)(((
296 296  (((
297 297  **Example**
298 298  )))
299 299  )))
300 -|(% style="width:80px" %)(((
299 +|(% style="width:120px" %)(((
301 301  (((
302 302  AT+BAUDR
303 303  )))
304 -)))|(% style="width:210px" %)(((
303 +)))|(% style="width:190px" %)(((
305 305  (((
306 306  Set the baud rate (for RS485 connection). Default Value is: 9600.
307 307  )))
308 -)))|(% style="width:210px" %)(((
307 +)))|(% style="width:190px" %)(((
309 309  (((
310 310  (((
311 311  AT+BAUDR=9600
... ... @@ -318,11 +318,11 @@
318 318  )))
319 319  )))
320 320  )))
321 -|(% style="width:80px" %)(((
320 +|(% style="width:120px" %)(((
322 322  (((
323 323  AT+PARITY
324 324  )))
325 -)))|(% style="width:210px" %)(((
324 +)))|(% style="width:190px" %)(((
326 326  (((
327 327  (((
328 328  Set UART parity (for RS485 connection)
... ... @@ -334,7 +334,7 @@
334 334  Default Value is: no parity.
335 335  )))
336 336  )))
337 -)))|(% style="width:210px" %)(((
336 +)))|(% style="width:190px" %)(((
338 338  (((
339 339  (((
340 340  AT+PARITY=0
... ... @@ -347,11 +347,11 @@
347 347  )))
348 348  )))
349 349  )))
350 -|(% style="width:80px" %)(((
349 +|(% style="width:120px" %)(((
351 351  (((
352 352  AT+STOPBIT
353 353  )))
354 -)))|(% style="width:210px" %)(((
353 +)))|(% style="width:190px" %)(((
355 355  (((
356 356  (((
357 357  Set serial stopbit (for RS485 connection)
... ... @@ -363,7 +363,7 @@
363 363  Default Value is: 1bit.
364 364  )))
365 365  )))
366 -)))|(% style="width:210px" %)(((
365 +)))|(% style="width:190px" %)(((
367 367  (((
368 368  (((
369 369  AT+STOPBIT=0 for 1bit
... ... @@ -384,6 +384,7 @@
384 384  )))
385 385  
386 386  
386 +
387 387  === 3.3.2 Configure sensors ===
388 388  
389 389  (((
... ... @@ -395,20 +395,14 @@
395 395  )))
396 396  
397 397  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
398 -|=(% style="width: 80px;" %)**AT Commands**|=(% style="width: 210px;" %)**Description**|=(% style="width: 210px;" %)**Example**
399 -|AT+CFGDEV|(% style="width:80px" %)(((
400 -(((
398 +|=(% style="width: 120px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example**
399 +|AT+CFGDEV|(% style="width:120px" %)(((
401 401  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
402 -)))
403 403  
404 -(((
405 405  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
406 -)))
407 407  
408 -(((
409 409  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
410 -)))
411 -)))|(% 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
412 412  
413 413  Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
414 414  
... ... @@ -434,22 +434,18 @@
434 434  
435 435  (((
436 436  During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads.
437 -
438 -
439 439  )))
440 440  
441 441  (((
442 -(% style="color:blue" %)**Command from RS485-BL to Sensor:**
434 +**Command from RS485-BL to Sensor:**
443 443  )))
444 444  
445 445  (((
446 446  RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar.
447 -
448 -
449 449  )))
450 450  
451 451  (((
452 -(% style="color:blue" %)**Handle return from sensors to RS485-BL**:
442 +**Handle return from sensors to RS485-BL**:
453 453  )))
454 454  
455 455  (((
... ... @@ -457,17 +457,15 @@
457 457  )))
458 458  
459 459  * (((
460 -(% style="color:blue" %)**AT+DATACUT**
450 +**AT+DATACUT**
461 461  )))
462 462  
463 463  (((
464 464  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.
465 -
466 -
467 467  )))
468 468  
469 469  * (((
470 -(% style="color:blue" %)**AT+SEARCH**
458 +**AT+SEARCH**
471 471  )))
472 472  
473 473  (((
... ... @@ -475,9 +475,7 @@
475 475  )))
476 476  
477 477  (((
478 -
479 -
480 -(% style="color:blue" %)**Define wait timeout:**
466 +**Define wait timeout:**
481 481  )))
482 482  
483 483  (((
... ... @@ -489,8 +489,6 @@
489 489  )))
490 490  
491 491  (((
492 -
493 -
494 494  **Examples:**
495 495  )))
496 496  
... ... @@ -548,8 +548,6 @@
548 548  )))
549 549  
550 550  (((
551 -
552 -
553 553  **Examples:**
554 554  )))
555 555  
... ... @@ -567,8 +567,6 @@
567 567  
568 568  (((
569 569  [[image:1653271044481-711.png]]
570 -
571 -
572 572  )))
573 573  
574 574  (((
... ... @@ -609,13 +609,11 @@
609 609  )))
610 610  
611 611  (((
612 -
613 -
614 614  **Examples:**
615 615  )))
616 616  
617 617  * (((
618 -(% style="color:blue" %)**Grab bytes:**
596 +Grab bytes:
619 619  )))
620 620  
621 621  (((
... ... @@ -627,7 +627,7 @@
627 627  )))
628 628  
629 629  * (((
630 -(% style="color:blue" %)**Grab a section.**
608 +Grab a section.
631 631  )))
632 632  
633 633  (((
... ... @@ -639,13 +639,11 @@
639 639  )))
640 640  
641 641  * (((
642 -(% style="color:blue" %)**Grab different sections.**
620 +Grab different sections.
643 643  )))
644 644  
645 645  (((
646 646  [[image:1653271657255-576.png||height="305" width="730"]]
647 -
648 -
649 649  )))
650 650  
651 651  (((
... ... @@ -926,6 +926,8 @@
926 926  (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
927 927  )))
928 928  
905 +
906 +
929 929  === 3.5.1 Common Commands: ===
930 930  
931 931  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]]
... ... @@ -961,101 +961,53 @@
961 961  
962 962  ==== **RS485 Debug Command (AT+CFGDEV)** ====
963 963  
964 -(((
965 965  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
966 -)))
967 967  
968 -* (((
969 -**AT Command**
970 -)))
944 +* **AT Command**
971 971  
972 972  (% class="box infomessage" %)
973 973  (((
974 -(((
975 975  **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
976 976  )))
977 -)))
978 978  
979 -(((
980 980  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
981 -)))
982 982  
983 -(((
984 -
985 -)))
986 986  
987 -* (((
988 -**Downlink Payload**
989 -)))
954 +* **Downlink Payload**
990 990  
991 -(((
992 992  Format: A8 MM NN XX XX XX XX YY
993 -)))
994 994  
995 -(((
996 996  Where:
997 -)))
998 998  
999 -* (((
1000 -MM: 1: add CRC-16/MODBUS ; 0: no CRC
1001 -)))
1002 -* (((
1003 -NN: The length of RS485 command
1004 -)))
1005 -* (((
1006 -XX XX XX XX: RS485 command total NN bytes
1007 -)))
1008 -* (((
1009 -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
1010 -)))
960 +* MM: 1: add CRC-16/MODBUS ; 0: no CRC
961 +* NN: The length of RS485 command
962 +* XX XX XX XX: RS485 command total NN bytes
963 +* 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
1011 1011  
1012 -(((
1013 1013  **Example 1:**
1014 -)))
1015 1015  
1016 -(((
1017 1017  To connect a Modbus Alarm with below commands.
1018 -)))
1019 1019  
1020 -* (((
1021 -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.
1022 -)))
969 +* 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.
1023 1023  
1024 -* (((
1025 -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.
1026 -)))
971 +* 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.
1027 1027  
1028 -(((
1029 1029  So if user want to use downlink command to control to RS485 Alarm, he can use:
1030 -)))
1031 1031  
1032 -(((
1033 1033  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
1034 -)))
1035 1035  
1036 -(((
1037 1037  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
1038 -)))
1039 1039  
1040 1040  (((
1041 1041  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.
1042 1042  )))
1043 1043  
1044 -(((
1045 -
1046 -)))
1047 1047  
1048 -(((
1049 1049  **Example 2:**
1050 -)))
1051 1051  
1052 -(((
1053 1053  Check TTL Sensor return:
1054 -)))
1055 1055  
1056 -(((
1057 1057  [[image:1654132684752-193.png]]
1058 -)))
1059 1059  
1060 1060  
1061 1061  
... ... @@ -1084,121 +1084,62 @@
1084 1084  
1085 1085  ==== **Set RS485 Sampling Commands** ====
1086 1086  
1087 -(((
1088 1088  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
1089 -)))
1090 1090  
1091 -(((
1092 1092  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"]].
1093 -)))
1094 1094  
1095 -(((
1096 -
1097 -)))
1098 1098  
1099 -* (((
1100 -**AT Command:**
1101 -)))
1022 +* **AT Command:**
1102 1102  
1103 1103  (% class="box infomessage" %)
1104 1104  (((
1105 -(((
1106 1106  **AT+COMMANDx: Configure RS485 read command to sensor.**
1107 1107  )))
1108 -)))
1109 1109  
1110 1110  (% class="box infomessage" %)
1111 1111  (((
1112 -(((
1113 1113  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
1114 1114  )))
1115 -)))
1116 1116  
1117 1117  (% class="box infomessage" %)
1118 1118  (((
1119 -(((
1120 1120  **AT+SEARCHx: Configure search command**
1121 1121  )))
1122 -)))
1123 1123  
1124 -(((
1125 -
1126 -)))
1127 1127  
1128 -* (((
1129 -**Downlink Payload:**
1130 -)))
1040 +* **Downlink Payload:**
1131 1131  
1132 -(((
1133 1133  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
1134 -)))
1135 1135  
1136 -(((
1137 1137  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
1138 -)))
1139 1139  
1140 -(((
1141 1141  Format: AF MM NN LL XX XX XX XX YY
1142 -)))
1143 1143  
1144 -(((
1145 1145  Where:
1146 -)))
1147 1147  
1148 -* (((
1149 -MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1150 -)))
1151 -* (((
1152 -NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1153 -)))
1154 -* (((
1155 -LL:  The length of AT+COMMAND or AT+DATACUT command
1156 -)))
1157 -* (((
1158 -XX XX XX XX: AT+COMMAND or AT+DATACUT command
1159 -)))
1160 -* (((
1161 -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.
1162 -)))
1050 +* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1051 +* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1052 +* LL:  The length of AT+COMMAND or AT+DATACUT command
1053 +* XX XX XX XX: AT+COMMAND or AT+DATACUT command
1054 +* 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.
1163 1163  
1164 -(((
1165 1165  **Example:**
1166 -)))
1167 1167  
1168 -(((
1169 1169  (% 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
1170 -)))
1171 1171  
1172 -(((
1173 1173  (% 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**
1174 -)))
1175 1175  
1176 -(((
1177 1177  (% 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**
1178 -)))
1179 1179  
1180 -(((
1181 -
1182 -)))
1183 1183  
1184 -(((
1185 1185  **0xAB** downlink command can be used for set AT+SEARCHx
1186 -)))
1187 1187  
1188 -(((
1189 1189  **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
1190 -)))
1191 1191  
1192 -* (((
1193 -AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1194 -)))
1195 -* (((
1196 -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
1197 -)))
1069 +* AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1070 +* 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
1198 1198  
1199 -(((
1200 1200  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
1201 -)))
1202 1202  
1203 1203  
1204 1204  
... ... @@ -1205,47 +1205,24 @@
1205 1205  
1206 1206  ==== **Fast command to handle MODBUS device** ====
1207 1207  
1208 -(((
1209 1209  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]].
1210 -)))
1211 1211  
1212 -(((
1213 1213  This command is valid since v1.3 firmware version
1214 -)))
1215 1215  
1216 -(((
1217 -
1218 -)))
1219 1219  
1220 -(((
1221 1221  **AT+MBFUN has only two value:**
1222 -)))
1223 1223  
1224 -* (((
1225 -**AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1226 -)))
1086 +* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1227 1227  
1228 -(((
1229 1229  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.
1230 -)))
1231 1231  
1232 -* (((
1233 -**AT+MBFUN=0**: Disable Modbus fast reading.
1234 -)))
1090 +* **AT+MBFUN=0**: Disable Modbus fast reading.
1235 1235  
1236 -(((
1237 1237  **Example:**
1238 -)))
1239 1239  
1240 -* (((
1241 -AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1242 -)))
1243 -* (((
1244 -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.
1245 -)))
1246 -* (((
1247 -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.
1248 -)))
1094 +* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1095 +* 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.
1096 +* 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.
1249 1249  
1250 1250  [[image:1654133913295-597.png]]
1251 1251  
... ... @@ -1253,13 +1253,9 @@
1253 1253  [[image:1654133954153-643.png]]
1254 1254  
1255 1255  
1256 -* (((
1257 -**Downlink Commands:**
1258 -)))
1104 +* **Downlink Commands:**
1259 1259  
1260 -(((
1261 1261  **A9 aa** ~-~-> Same as AT+MBFUN=aa
1262 -)))
1263 1263  
1264 1264  
1265 1265  
... ... @@ -1266,60 +1266,32 @@
1266 1266  
1267 1267  ==== **RS485 command timeout** ====
1268 1268  
1269 -(((
1270 1270  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.
1271 -)))
1272 1272  
1273 -(((
1274 1274  Default value: 0, range:  0 ~~ 5 seconds
1275 -)))
1276 1276  
1277 -(((
1278 -
1279 -)))
1280 1280  
1281 -* (((
1282 -**AT Command:**
1283 -)))
1118 +* **AT Command:**
1284 1284  
1285 1285  (% class="box infomessage" %)
1286 1286  (((
1287 -(((
1288 1288  **AT+CMDDLaa=hex(bb cc)**
1289 1289  )))
1290 -)))
1291 1291  
1292 -(((
1293 1293  **Example:**
1294 -)))
1295 1295  
1296 -(((
1297 1297  **AT+CMDDL1=1000** to send the open time to 1000ms
1298 -)))
1299 1299  
1300 -(((
1301 -
1302 -)))
1303 1303  
1304 -* (((
1305 -**Downlink Payload:**
1306 -)))
1130 +* **Downlink Payload:**
1307 1307  
1308 -(((
1309 1309  0x AA aa bb cc
1310 -)))
1311 1311  
1312 -(((
1313 1313  Same as: AT+CMDDLaa=hex(bb cc)
1314 -)))
1315 1315  
1316 -(((
1317 1317   **Example:**
1318 -)))
1319 1319  
1320 -(((
1321 1321   **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
1322 -)))
1323 1323  
1324 1324  
1325 1325  
... ... @@ -1326,47 +1326,28 @@
1326 1326  
1327 1327  ==== **Uplink payload mode** ====
1328 1328  
1329 -(((
1330 1330  Define to use one uplink or multiple uplinks for the sampling.
1331 -)))
1332 1332  
1333 -(((
1334 1334  The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]]
1335 -)))
1336 1336  
1337 -* (((
1338 -**AT Command:**
1339 -)))
1149 +* **AT Command:**
1340 1340  
1341 1341  (% class="box infomessage" %)
1342 1342  (((
1343 -(((
1344 1344  **AT+DATAUP=0**
1345 1345  )))
1346 -)))
1347 1347  
1348 1348  (% class="box infomessage" %)
1349 1349  (((
1350 -(((
1351 1351  **AT+DATAUP=1**
1352 1352  )))
1353 -)))
1354 1354  
1355 -(((
1356 -
1357 -)))
1358 1358  
1359 -* (((
1360 -**Downlink Payload:**
1361 -)))
1162 +* **Downlink Payload:**
1362 1362  
1363 -(((
1364 1364  **0xAD 00**  **~-~->** Same as AT+DATAUP=0
1365 -)))
1366 1366  
1367 -(((
1368 1368  **0xAD 01**  **~-~->** Same as AT+DATAUP=1
1369 -)))
1370 1370  
1371 1371  
1372 1372  
... ... @@ -1384,49 +1384,26 @@
1384 1384  
1385 1385  ==== **Clear RS485 Command** ====
1386 1386  
1387 -(((
1388 1388  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
1389 -)))
1390 1390  
1391 -(((
1392 -
1393 -)))
1394 1394  
1395 -* (((
1396 -**AT Command:**
1397 -)))
1187 +* **AT Command:**
1398 1398  
1399 1399  (((
1400 1400  (% 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
1401 1401  )))
1402 1402  
1403 -(((
1404 1404  Example screen shot after clear all RS485 commands. 
1405 -)))
1406 1406  
1407 -(((
1408 -
1409 -)))
1410 1410  
1411 -(((
1412 1412  The uplink screen shot is:
1413 -)))
1414 1414  
1415 -(((
1416 1416  [[image:1654134704555-320.png]]
1417 -)))
1418 1418  
1419 -(((
1420 -
1421 -)))
1422 1422  
1423 -* (((
1424 -**Downlink Payload:**
1425 -)))
1201 +* **Downlink Payload:**
1426 1426  
1427 -(((
1428 1428  **0x09 aa bb** same as AT+CMDEAR=aa,bb
1429 -)))
1430 1430  
1431 1431  
1432 1432  
... ... @@ -1433,59 +1433,44 @@
1433 1433  
1434 1434  ==== **Set Serial Communication Parameters** ====
1435 1435  
1436 -(((
1437 1437  Set the Rs485 serial communication parameters:
1438 -)))
1439 1439  
1440 -* (((
1441 -**AT Command:**
1442 -)))
1212 +* **AT Command:**
1443 1443  
1444 -(((
1445 1445  Set Baud Rate:
1446 -)))
1447 1447  
1448 1448  (% class="box infomessage" %)
1449 1449  (((
1450 -(((
1451 1451  **AT+BAUDR=9600**    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
1219 +)))
1452 1452  
1453 1453  Set UART Parity
1222 +
1223 +(% class="box infomessage" %)
1224 +(((
1454 1454  **AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1226 +)))
1455 1455  
1456 1456  Set STOPBIT
1457 1457  
1230 +(% class="box infomessage" %)
1231 +(((
1458 1458  **AT+STOPBIT=0**    ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits
1459 1459  )))
1460 -)))
1461 1461  
1462 1462  
1463 -* (((
1464 -**Downlink Payload:**
1465 -)))
1236 +* **Downlink Payload:**
1466 1466  
1467 -(((
1468 1468  **A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
1469 -)))
1470 1470  
1471 -(((
1472 1472  **Example:**
1473 -)))
1474 1474  
1475 -* (((
1476 -A7 01 00 60   same as AT+BAUDR=9600
1477 -)))
1478 -* (((
1479 -A7 01 04 80  same as AT+BAUDR=115200
1480 -)))
1242 +* A7 01 00 60   same as AT+BAUDR=9600
1243 +* A7 01 04 80  same as AT+BAUDR=115200
1481 1481  
1482 -(((
1483 1483  A7 02 aa: Same as  AT+PARITY=aa  (aa value: 00 , 01 or 02)
1484 -)))
1485 1485  
1486 -(((
1487 1487  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
1488 -)))
1489 1489  
1490 1490  
1491 1491  
... ... @@ -1492,41 +1492,22 @@
1492 1492  
1493 1493  ==== **Control output power duration** ====
1494 1494  
1495 -(((
1496 1496  User can set the output power duration before each sampling.
1497 -)))
1498 1498  
1499 -* (((
1500 -**AT Command:**
1501 -)))
1256 +* **AT Command:**
1502 1502  
1503 -(((
1504 1504  **Example:**
1505 -)))
1506 1506  
1507 -(((
1508 1508  **AT+3V3T=1000**  ~/~/ 3V3 output power will open 1s before each sampling.
1509 -)))
1510 1510  
1511 -(((
1512 1512  **AT+5VT=1000**  ~/~/ +5V output power will open 1s before each sampling.
1513 -)))
1514 1514  
1515 -(((
1516 -
1517 -)))
1518 1518  
1519 -* (((
1520 -**LoRaWAN Downlink Command:**
1521 -)))
1265 +* **LoRaWAN Downlink Command:**
1522 1522  
1523 -(((
1524 1524  **07 01 aa bb**  Same as AT+5VT=(aa bb)
1525 -)))
1526 1526  
1527 -(((
1528 1528  **07 02 aa bb**  Same as AT+3V3T=(aa bb)
1529 -)))
1530 1530  
1531 1531  
1532 1532  
... ... @@ -1536,77 +1536,42 @@
1536 1536  |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1537 1537  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1538 1538  
1279 +
1280 +
1539 1539  == 3.7 +3V3 Output ==
1540 1540  
1541 -(((
1542 1542  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
1543 -)))
1544 1544  
1545 -(((
1546 1546  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. 
1547 -)))
1548 1548  
1549 -(((
1550 1550  The +3V3 output time can be controlled by AT Command.
1551 -)))
1552 1552  
1553 -(((
1554 -
1555 -)))
1556 1556  
1557 -(((
1558 1558  (% style="color:#037691" %)**AT+3V3T=1000**
1559 -)))
1560 1560  
1561 -(((
1562 -
1563 -)))
1564 1564  
1565 -(((
1566 1566  Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1567 -)))
1568 1568  
1569 -(((
1570 1570  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1571 -)))
1572 1572  
1573 1573  
1574 1574  == 3.8 +5V Output ==
1575 1575  
1576 -(((
1577 1577  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
1578 -)))
1579 1579  
1580 -(((
1581 1581  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. 
1582 -)))
1583 1583  
1584 -(((
1585 1585  The 5V output time can be controlled by AT Command.
1586 -)))
1587 1587  
1588 -(((
1589 -
1590 -)))
1591 1591  
1592 -(((
1593 1593  (% style="color:#037691" %)**AT+5VT=1000**
1594 -)))
1595 1595  
1596 -(((
1597 -
1598 -)))
1599 1599  
1600 -(((
1601 1601  Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1602 -)))
1603 1603  
1604 -(((
1605 1605  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.
1606 -)))
1607 1607  
1608 1608  
1609 -
1610 1610  == 3.9 LEDs ==
1611 1611  
1612 1612  (% border="1" style="background-color:#ffffcc; color:green; width:332px" %)
... ... @@ -1613,22 +1613,26 @@
1613 1613  |=**LEDs**|=(% style="width: 274px;" %)**Feature**
1614 1614  |**LED1**|(% style="width:274px" %)Blink when device transmit a packet.
1615 1615  
1321 +
1322 +
1616 1616  == 3.10 Switch Jumper ==
1617 1617  
1618 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:463px" %)
1619 -|=(% style="width: 123px;" %)**Switch Jumper**|=(% style="width: 336px;" %)**Feature**
1620 -|(% style="width:123px" %)**SW1**|(% style="width:336px" %)ISP position: Upgrade firmware via UART
1325 +(% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
1326 +|=(% style="width: 124px;" %)**Switch Jumper**|=(% style="width: 388px;" %)**Feature**
1327 +|(% style="width:124px" %)**SW1**|(% style="width:388px" %)(((
1328 +ISP position: Upgrade firmware via UART
1329 +
1621 1621  Flash position: Configure device, check running status.
1622 -|(% style="width:123px" %)**SW2**|(% style="width:336px" %)5V position: set to compatible with 5v I/O.
1331 +)))
1332 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)(((
1333 +5V position: set to compatible with 5v I/O.
1334 +
1623 1623  3.3v position: set to compatible with 3.3v I/O.,
1336 +)))
1624 1624  
1625 -(((
1626 1626  **+3.3V**: is always ON
1627 -)))
1628 1628  
1629 -(((
1630 1630  **+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0.  Max open time. 5000 ms.
1631 -)))
1632 1632  
1633 1633  
1634 1634  = 4. Case Study =
... ... @@ -1640,23 +1640,17 @@
1640 1640  
1641 1641  == 5.1 Access AT Command ==
1642 1642  
1643 -(((
1644 1644  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.
1645 -)))
1646 1646  
1647 1647  [[image:1654135840598-282.png]]
1648 1648  
1649 1649  
1650 -(((
1651 1651  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:
1652 -)))
1653 1653  
1654 1654  [[image:1654136105500-922.png]]
1655 1655  
1656 1656  
1657 -(((
1658 1658  More detail AT Command manual can be found at [[AT Command Manual>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]]
1659 -)))
1660 1660  
1661 1661  
1662 1662  == 5.2 Common AT Command Sequence ==
... ... @@ -1668,14 +1668,20 @@
1668 1668  (% class="box infomessage" %)
1669 1669  (((
1670 1670  **AT+FDR**
1374 +)))
1375 +
1376 +(% class="box infomessage" %)
1377 +(((
1671 1671  **AT+NJM=0**
1379 +)))
1380 +
1381 +(% class="box infomessage" %)
1382 +(((
1672 1672  **ATZ**
1673 1673  )))
1674 1674  
1675 1675  
1676 -(((
1677 1677  If device already joined network:
1678 -)))
1679 1679  
1680 1680  (% class="box infomessage" %)
1681 1681  (((
... ... @@ -1714,12 +1714,10 @@
1714 1714  
1715 1715  (% style="color:red" %)**Note:**
1716 1716  
1717 -(((
1718 1718  (% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server.
1719 1719  2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting.
1720 1720  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.
1721 1721  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
1722 -)))
1723 1723  
1724 1724  [[image:1654136435598-589.png]]
1725 1725  
... ... @@ -1728,23 +1728,13 @@
1728 1728  
1729 1729  == 6.1 How to upgrade the image? ==
1730 1730  
1731 -(((
1732 1732  The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to:
1733 -)))
1734 1734  
1735 -* (((
1736 -Support new features
1737 -)))
1738 -* (((
1739 -For bug fix
1740 -)))
1741 -* (((
1742 -Change LoRaWAN bands.
1743 -)))
1440 +* Support new features
1441 +* For bug fix
1442 +* Change LoRaWAN bands.
1744 1744  
1745 -(((
1746 1746  Below shows the hardware connection for how to upload an image to RS485-BL:
1747 -)))
1748 1748  
1749 1749  [[image:1654136646995-976.png]]
1750 1750