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

From version 44.23
edited by Xiaoling
on 2022/06/14 10:23
Change comment: There is no comment for this version
To version 41.20
edited by Xiaoling
on 2022/06/06 11:06
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
... ... @@ -383,6 +383,8 @@
383 383  )))
384 384  )))
385 385  
385 +
386 +
386 386  === 3.3.2 Configure sensors ===
387 387  
388 388  (((
... ... @@ -394,20 +394,14 @@
394 394  )))
395 395  
396 396  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
397 -|=(% style="width: 80px;" %)**AT Commands**|=(% style="width: 210px;" %)**Description**|=(% style="width: 210px;" %)**Example**
398 -|AT+CFGDEV|(% style="width:80px" %)(((
399 -(((
398 +|=(% style="width: 120px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example**
399 +|AT+CFGDEV|(% style="width:120px" %)(((
400 400  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
401 -)))
402 402  
403 -(((
404 404  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
405 -)))
406 406  
407 -(((
408 408  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
409 -)))
410 -)))|(% 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
411 411  
412 412  Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
413 413  
... ... @@ -433,22 +433,18 @@
433 433  
434 434  (((
435 435  During each sampling, the RS485-BL can support 15 commands to read sensors. And combine the return to one or several uplink payloads.
436 -
437 -
438 438  )))
439 439  
440 440  (((
441 -(% style="color:blue" %)**Command from RS485-BL to Sensor:**
434 +**Command from RS485-BL to Sensor:**
442 442  )))
443 443  
444 444  (((
445 445  RS485-BL can send out pre-set max 15 strings via **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF** . All commands are of same grammar.
446 -
447 -
448 448  )))
449 449  
450 450  (((
451 -(% style="color:blue" %)**Handle return from sensors to RS485-BL**:
442 +**Handle return from sensors to RS485-BL**:
452 452  )))
453 453  
454 454  (((
... ... @@ -456,17 +456,15 @@
456 456  )))
457 457  
458 458  * (((
459 -(% style="color:blue" %)**AT+DATACUT**
450 +**AT+DATACUT**
460 460  )))
461 461  
462 462  (((
463 463  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.
464 -
465 -
466 466  )))
467 467  
468 468  * (((
469 -(% style="color:blue" %)**AT+SEARCH**
458 +**AT+SEARCH**
470 470  )))
471 471  
472 472  (((
... ... @@ -474,9 +474,7 @@
474 474  )))
475 475  
476 476  (((
477 -
478 -
479 -(% style="color:blue" %)**Define wait timeout:**
466 +**Define wait timeout:**
480 480  )))
481 481  
482 482  (((
... ... @@ -488,8 +488,6 @@
488 488  )))
489 489  
490 490  (((
491 -
492 -
493 493  **Examples:**
494 494  )))
495 495  
... ... @@ -547,8 +547,6 @@
547 547  )))
548 548  
549 549  (((
550 -
551 -
552 552  **Examples:**
553 553  )))
554 554  
... ... @@ -566,8 +566,6 @@
566 566  
567 567  (((
568 568  [[image:1653271044481-711.png]]
569 -
570 -
571 571  )))
572 572  
573 573  (((
... ... @@ -608,13 +608,11 @@
608 608  )))
609 609  
610 610  (((
611 -
612 -
613 613  **Examples:**
614 614  )))
615 615  
616 616  * (((
617 -(% style="color:blue" %)**Grab bytes:**
596 +Grab bytes:
618 618  )))
619 619  
620 620  (((
... ... @@ -626,7 +626,7 @@
626 626  )))
627 627  
628 628  * (((
629 -(% style="color:blue" %)**Grab a section.**
608 +Grab a section.
630 630  )))
631 631  
632 632  (((
... ... @@ -638,13 +638,11 @@
638 638  )))
639 639  
640 640  * (((
641 -(% style="color:blue" %)**Grab different sections.**
620 +Grab different sections.
642 642  )))
643 643  
644 644  (((
645 645  [[image:1653271657255-576.png||height="305" width="730"]]
646 -
647 -
648 648  )))
649 649  
650 650  (((
... ... @@ -772,8 +772,6 @@
772 772  )))
773 773  1. (((
774 774  DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
775 -
776 -
777 777  )))
778 778  
779 779  [[image:1653272817147-600.png||height="437" width="717"]]
... ... @@ -897,7 +897,7 @@
897 897  )))
898 898  
899 899  (((
900 -}
875 +**}**
901 901  
902 902  
903 903  )))
... ... @@ -925,12 +925,10 @@
925 925  
926 926  * (((
927 927  (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
903 +)))
928 928  
929 929  
930 930  
931 -
932 -)))
933 -
934 934  === 3.5.1 Common Commands: ===
935 935  
936 936  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]]
... ... @@ -944,17 +944,21 @@
944 944  
945 945  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
946 946  
947 -* (% style="color:#037691" %)**AT Command**
920 +* **AT Command**
948 948  
949 -
922 +(% class="box infomessage" %)
923 +(((
950 950  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
925 +)))
951 951  
927 +(% class="box infomessage" %)
928 +(((
952 952  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
930 +)))
953 953  
954 954  
933 +* **Downlink Payload**
955 955  
956 -* (% style="color:#037691" %)**Downlink Payload**
957 -
958 958  **0A aa**  ~-~->  same as AT+MOD=aa
959 959  
960 960  
... ... @@ -962,101 +962,53 @@
962 962  
963 963  ==== **RS485 Debug Command (AT+CFGDEV)** ====
964 964  
965 -(((
966 966  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
967 -)))
968 968  
969 -* (((
970 -(% style="color:#037691" %)**AT Command**
971 -)))
944 +* **AT Command**
972 972  
973 973  (% class="box infomessage" %)
974 974  (((
975 -(((
976 976  **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
977 977  )))
978 -)))
979 979  
980 -(((
981 981  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
982 -)))
983 983  
984 -(((
985 -
986 -)))
987 987  
988 -* (((
989 -(% style="color:#037691" %)**Downlink Payload**
990 -)))
954 +* **Downlink Payload**
991 991  
992 -(((
993 993  Format: A8 MM NN XX XX XX XX YY
994 -)))
995 995  
996 -(((
997 997  Where:
998 -)))
999 999  
1000 -* (((
1001 -MM: 1: add CRC-16/MODBUS ; 0: no CRC
1002 -)))
1003 -* (((
1004 -NN: The length of RS485 command
1005 -)))
1006 -* (((
1007 -XX XX XX XX: RS485 command total NN bytes
1008 -)))
1009 -* (((
1010 -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 -)))
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
1012 1012  
1013 -(((
1014 1014  **Example 1:**
1015 -)))
1016 1016  
1017 -(((
1018 1018  To connect a Modbus Alarm with below commands.
1019 -)))
1020 1020  
1021 -* (((
1022 -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 -)))
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.
1024 1024  
1025 -* (((
1026 -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 -)))
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.
1028 1028  
1029 -(((
1030 1030  So if user want to use downlink command to control to RS485 Alarm, he can use:
1031 -)))
1032 1032  
1033 -(((
1034 1034  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
1035 -)))
1036 1036  
1037 -(((
1038 1038  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
1039 -)))
1040 1040  
1041 1041  (((
1042 1042  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.
1043 1043  )))
1044 1044  
1045 -(((
1046 -
1047 -)))
1048 1048  
1049 -(((
1050 1050  **Example 2:**
1051 -)))
1052 1052  
1053 -(((
1054 1054  Check TTL Sensor return:
1055 -)))
1056 1056  
1057 -(((
1058 1058  [[image:1654132684752-193.png]]
1059 -)))
1060 1060  
1061 1061  
1062 1062  
... ... @@ -1066,14 +1066,16 @@
1066 1066  
1067 1067  This is the first byte of the uplink payload. RS485-BL can connect to different sensors. User can set the PAYVER field to tell server how to decode the current payload.
1068 1068  
1069 -* (% style="color:#037691" %)**AT Command:**
998 +* **AT Command:**
1070 1070  
1000 +(% class="box infomessage" %)
1001 +(((
1071 1071  **AT+PAYVER: Set PAYVER field = 1**
1003 +)))
1072 1072  
1073 1073  
1006 +* **Downlink Payload:**
1074 1074  
1075 -* (% style="color:#037691" %)**Downlink Payload:**
1076 -
1077 1077  **0xAE 01**  ~-~-> Set PAYVER field =  0x01
1078 1078  
1079 1079  **0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
... ... @@ -1083,103 +1083,62 @@
1083 1083  
1084 1084  ==== **Set RS485 Sampling Commands** ====
1085 1085  
1086 -(((
1087 1087  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
1088 -)))
1089 1089  
1090 -(((
1091 1091  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"]].
1092 -)))
1093 1093  
1094 -(((
1095 -
1096 -)))
1097 1097  
1098 -* (((
1099 -(% style="color:#037691" %)**AT Command:**
1100 -)))
1022 +* **AT Command:**
1101 1101  
1024 +(% class="box infomessage" %)
1025 +(((
1102 1102  **AT+COMMANDx: Configure RS485 read command to sensor.**
1027 +)))
1103 1103  
1029 +(% class="box infomessage" %)
1030 +(((
1104 1104  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
1032 +)))
1105 1105  
1034 +(% class="box infomessage" %)
1035 +(((
1106 1106  **AT+SEARCHx: Configure search command**
1037 +)))
1107 1107  
1108 1108  
1109 -* (((
1110 -(% style="color:#037691" %)**Downlink Payload:**
1111 -)))
1040 +* **Downlink Payload:**
1112 1112  
1113 -(((
1114 1114  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
1115 -)))
1116 1116  
1117 -(((
1118 1118  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
1119 -)))
1120 1120  
1121 -(((
1122 1122  Format: AF MM NN LL XX XX XX XX YY
1123 -)))
1124 1124  
1125 -(((
1126 1126  Where:
1127 -)))
1128 1128  
1129 -* (((
1130 -MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1131 -)))
1132 -* (((
1133 -NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1134 -)))
1135 -* (((
1136 -LL:  The length of AT+COMMAND or AT+DATACUT command
1137 -)))
1138 -* (((
1139 -XX XX XX XX: AT+COMMAND or AT+DATACUT command
1140 -)))
1141 -* (((
1142 -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.
1143 -)))
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.
1144 1144  
1145 -(((
1146 1146  **Example:**
1147 -)))
1148 1148  
1149 -(((
1150 1150  (% 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
1151 -)))
1152 1152  
1153 -(((
1154 1154  (% 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**
1155 -)))
1156 1156  
1157 -(((
1158 1158  (% 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**
1159 -)))
1160 1160  
1161 -(((
1162 -
1163 -)))
1164 1164  
1165 -(((
1166 1166  **0xAB** downlink command can be used for set AT+SEARCHx
1167 -)))
1168 1168  
1169 -(((
1170 1170  **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
1171 -)))
1172 1172  
1173 -* (((
1174 -AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1175 -)))
1176 -* (((
1177 -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
1178 -)))
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
1179 1179  
1180 -(((
1181 1181  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
1182 -)))
1183 1183  
1184 1184  
1185 1185  
... ... @@ -1186,47 +1186,24 @@
1186 1186  
1187 1187  ==== **Fast command to handle MODBUS device** ====
1188 1188  
1189 -(((
1190 1190  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]].
1191 -)))
1192 1192  
1193 -(((
1194 1194  This command is valid since v1.3 firmware version
1195 -)))
1196 1196  
1197 -(((
1198 -
1199 -)))
1200 1200  
1201 -(((
1202 -(% style="color:#037691" %)**AT+MBFUN has only two value:**
1203 -)))
1084 +**AT+MBFUN has only two value:**
1204 1204  
1205 -* (((
1206 -**AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1207 -)))
1086 +* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1208 1208  
1209 -(((
1210 1210  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.
1211 -)))
1212 1212  
1213 -* (((
1214 -**AT+MBFUN=0**: Disable Modbus fast reading.
1215 -)))
1090 +* **AT+MBFUN=0**: Disable Modbus fast reading.
1216 1216  
1217 -(((
1218 1218  **Example:**
1219 -)))
1220 1220  
1221 -* (((
1222 -AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1223 -)))
1224 -* (((
1225 -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.
1226 -)))
1227 -* (((
1228 -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.
1229 -)))
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.
1230 1230  
1231 1231  [[image:1654133913295-597.png]]
1232 1232  
... ... @@ -1234,13 +1234,9 @@
1234 1234  [[image:1654133954153-643.png]]
1235 1235  
1236 1236  
1237 -* (((
1238 -(% style="color:#037691" %)**Downlink Commands:**
1239 -)))
1104 +* **Downlink Commands:**
1240 1240  
1241 -(((
1242 1242  **A9 aa** ~-~-> Same as AT+MBFUN=aa
1243 -)))
1244 1244  
1245 1245  
1246 1246  
... ... @@ -1247,60 +1247,32 @@
1247 1247  
1248 1248  ==== **RS485 command timeout** ====
1249 1249  
1250 -(((
1251 1251  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.
1252 -)))
1253 1253  
1254 -(((
1255 1255  Default value: 0, range:  0 ~~ 5 seconds
1256 -)))
1257 1257  
1258 -(((
1259 -
1260 -)))
1261 1261  
1262 -* (((
1263 -(% style="color:#037691" %)**AT Command:**
1264 -)))
1118 +* **AT Command:**
1265 1265  
1266 1266  (% class="box infomessage" %)
1267 1267  (((
1268 -(((
1269 1269  **AT+CMDDLaa=hex(bb cc)**
1270 1270  )))
1271 -)))
1272 1272  
1273 -(((
1274 1274  **Example:**
1275 -)))
1276 1276  
1277 -(((
1278 1278  **AT+CMDDL1=1000** to send the open time to 1000ms
1279 -)))
1280 1280  
1281 -(((
1282 -
1283 -)))
1284 1284  
1285 -* (((
1286 -(% style="color:#037691" %)**Downlink Payload:**
1287 -)))
1130 +* **Downlink Payload:**
1288 1288  
1289 -(((
1290 1290  0x AA aa bb cc
1291 -)))
1292 1292  
1293 -(((
1294 1294  Same as: AT+CMDDLaa=hex(bb cc)
1295 -)))
1296 1296  
1297 -(((
1298 1298   **Example:**
1299 -)))
1300 1300  
1301 -(((
1302 1302   **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
1303 -)))
1304 1304  
1305 1305  
1306 1306  
... ... @@ -1307,47 +1307,28 @@
1307 1307  
1308 1308  ==== **Uplink payload mode** ====
1309 1309  
1310 -(((
1311 1311  Define to use one uplink or multiple uplinks for the sampling.
1312 -)))
1313 1313  
1314 -(((
1315 1315  The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]]
1316 -)))
1317 1317  
1318 -* (((
1319 -(% style="color:#037691" %)**AT Command:**
1320 -)))
1149 +* **AT Command:**
1321 1321  
1322 1322  (% class="box infomessage" %)
1323 1323  (((
1324 -(((
1325 1325  **AT+DATAUP=0**
1326 1326  )))
1327 -)))
1328 1328  
1329 1329  (% class="box infomessage" %)
1330 1330  (((
1331 -(((
1332 1332  **AT+DATAUP=1**
1333 1333  )))
1334 -)))
1335 1335  
1336 -(((
1337 -
1338 -)))
1339 1339  
1340 -* (((
1341 -(% style="color:#037691" %)**Downlink Payload:**
1342 -)))
1162 +* **Downlink Payload:**
1343 1343  
1344 -(((
1345 1345  **0xAD 00**  **~-~->** Same as AT+DATAUP=0
1346 -)))
1347 1347  
1348 -(((
1349 1349  **0xAD 01**  **~-~->** Same as AT+DATAUP=1
1350 -)))
1351 1351  
1352 1352  
1353 1353  
... ... @@ -1356,7 +1356,7 @@
1356 1356  
1357 1357  Ask device to send an uplink immediately.
1358 1358  
1359 -* (% style="color:#037691" %)**Downlink Payload:**
1175 +* **Downlink Payload:**
1360 1360  
1361 1361  **0x08 FF**, RS485-BL will immediately send an uplink.
1362 1362  
... ... @@ -1365,49 +1365,26 @@
1365 1365  
1366 1366  ==== **Clear RS485 Command** ====
1367 1367  
1368 -(((
1369 1369  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
1370 -)))
1371 1371  
1372 -(((
1373 -
1374 -)))
1375 1375  
1376 -* (((
1377 -(% style="color:#037691" %)**AT Command:**
1378 -)))
1187 +* **AT Command:**
1379 1379  
1380 1380  (((
1381 1381  (% 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
1382 1382  )))
1383 1383  
1384 -(((
1385 1385  Example screen shot after clear all RS485 commands. 
1386 -)))
1387 1387  
1388 -(((
1389 -
1390 -)))
1391 1391  
1392 -(((
1393 1393  The uplink screen shot is:
1394 -)))
1395 1395  
1396 -(((
1397 1397  [[image:1654134704555-320.png]]
1398 -)))
1399 1399  
1400 -(((
1401 -
1402 -)))
1403 1403  
1404 -* (((
1405 -(% style="color:#037691" %)**Downlink Payload:**
1406 -)))
1201 +* **Downlink Payload:**
1407 1407  
1408 -(((
1409 1409  **0x09 aa bb** same as AT+CMDEAR=aa,bb
1410 -)))
1411 1411  
1412 1412  
1413 1413  
... ... @@ -1414,57 +1414,44 @@
1414 1414  
1415 1415  ==== **Set Serial Communication Parameters** ====
1416 1416  
1417 -(((
1418 1418  Set the Rs485 serial communication parameters:
1419 -)))
1420 1420  
1421 -* (((
1422 -(% style="color:#037691" %)**AT Command:**
1423 -)))
1212 +* **AT Command:**
1424 1424  
1425 -(((
1426 1426  Set Baud Rate:
1427 -)))
1428 1428  
1429 -
1216 +(% class="box infomessage" %)
1217 +(((
1430 1430  **AT+BAUDR=9600**    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
1219 +)))
1431 1431  
1432 1432  Set UART Parity
1222 +
1223 +(% class="box infomessage" %)
1224 +(((
1433 1433  **AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1226 +)))
1434 1434  
1435 -
1436 1436  Set STOPBIT
1437 1437  
1230 +(% class="box infomessage" %)
1231 +(((
1438 1438  **AT+STOPBIT=0**    ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits
1233 +)))
1439 1439  
1440 1440  
1236 +* **Downlink Payload:**
1441 1441  
1442 -* (((
1443 -(% style="color:#037691" %)**Downlink Payload:**
1444 -)))
1445 -
1446 -(((
1447 1447  **A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
1448 -)))
1449 1449  
1450 -(((
1451 1451  **Example:**
1452 -)))
1453 1453  
1454 -* (((
1455 -A7 01 00 60   same as AT+BAUDR=9600
1456 -)))
1457 -* (((
1458 -A7 01 04 80  same as AT+BAUDR=115200
1459 -)))
1242 +* A7 01 00 60   same as AT+BAUDR=9600
1243 +* A7 01 04 80  same as AT+BAUDR=115200
1460 1460  
1461 -(((
1462 1462  A7 02 aa: Same as  AT+PARITY=aa  (aa value: 00 , 01 or 02)
1463 -)))
1464 1464  
1465 -(((
1466 1466  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
1467 -)))
1468 1468  
1469 1469  
1470 1470  
... ... @@ -1471,41 +1471,22 @@
1471 1471  
1472 1472  ==== **Control output power duration** ====
1473 1473  
1474 -(((
1475 1475  User can set the output power duration before each sampling.
1476 -)))
1477 1477  
1478 -* (((
1479 -(% style="color:#037691" %)**AT Command:**
1480 -)))
1256 +* **AT Command:**
1481 1481  
1482 -(((
1483 1483  **Example:**
1484 -)))
1485 1485  
1486 -(((
1487 1487  **AT+3V3T=1000**  ~/~/ 3V3 output power will open 1s before each sampling.
1488 -)))
1489 1489  
1490 -(((
1491 1491  **AT+5VT=1000**  ~/~/ +5V output power will open 1s before each sampling.
1492 -)))
1493 1493  
1494 -(((
1495 -
1496 -)))
1497 1497  
1498 -* (((
1499 -(% style="color:#037691" %)**LoRaWAN Downlink Command:**
1500 -)))
1265 +* **LoRaWAN Downlink Command:**
1501 1501  
1502 -(((
1503 1503  **07 01 aa bb**  Same as AT+5VT=(aa bb)
1504 -)))
1505 1505  
1506 -(((
1507 1507  **07 02 aa bb**  Same as AT+3V3T=(aa bb)
1508 -)))
1509 1509  
1510 1510  
1511 1511  
... ... @@ -1517,78 +1517,40 @@
1517 1517  
1518 1518  
1519 1519  
1520 -
1521 1521  == 3.7 +3V3 Output ==
1522 1522  
1523 -(((
1524 1524  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
1525 -)))
1526 1526  
1527 -(((
1528 1528  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. 
1529 -)))
1530 1530  
1531 -(((
1532 1532  The +3V3 output time can be controlled by AT Command.
1533 -)))
1534 1534  
1535 -(((
1536 -
1537 -)))
1538 1538  
1539 -(((
1540 1540  (% style="color:#037691" %)**AT+3V3T=1000**
1541 -)))
1542 1542  
1543 -(((
1544 -
1545 -)))
1546 1546  
1547 -(((
1548 1548  Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1549 -)))
1550 1550  
1551 -(((
1552 1552  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1553 -)))
1554 1554  
1555 1555  
1556 1556  == 3.8 +5V Output ==
1557 1557  
1558 -(((
1559 1559  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
1560 -)))
1561 1561  
1562 -(((
1563 1563  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. 
1564 -)))
1565 1565  
1566 -(((
1567 1567  The 5V output time can be controlled by AT Command.
1568 -)))
1569 1569  
1570 -(((
1571 -
1572 -)))
1573 1573  
1574 -(((
1575 1575  (% style="color:#037691" %)**AT+5VT=1000**
1576 -)))
1577 1577  
1578 -(((
1579 -
1580 -)))
1581 1581  
1582 -(((
1583 1583  Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1584 -)))
1585 1585  
1586 -(((
1587 1587  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.
1588 -)))
1589 1589  
1590 1590  
1591 -
1592 1592  == 3.9 LEDs ==
1593 1593  
1594 1594  (% border="1" style="background-color:#ffffcc; color:green; width:332px" %)
... ... @@ -1597,20 +1597,22 @@
1597 1597  
1598 1598  == 3.10 Switch Jumper ==
1599 1599  
1600 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:463px" %)
1601 -|=(% style="width: 123px;" %)**Switch Jumper**|=(% style="width: 336px;" %)**Feature**
1602 -|(% style="width:123px" %)**SW1**|(% style="width:336px" %)ISP position: Upgrade firmware via UART
1323 +(% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
1324 +|=(% style="width: 124px;" %)**Switch Jumper**|=(% style="width: 388px;" %)**Feature**
1325 +|(% style="width:124px" %)**SW1**|(% style="width:388px" %)(((
1326 +ISP position: Upgrade firmware via UART
1327 +
1603 1603  Flash position: Configure device, check running status.
1604 -|(% style="width:123px" %)**SW2**|(% style="width:336px" %)5V position: set to compatible with 5v I/O.
1329 +)))
1330 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)(((
1331 +5V position: set to compatible with 5v I/O.
1332 +
1605 1605  3.3v position: set to compatible with 3.3v I/O.,
1334 +)))
1606 1606  
1607 -(((
1608 1608  **+3.3V**: is always ON
1609 -)))
1610 1610  
1611 -(((
1612 1612  **+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0.  Max open time. 5000 ms.
1613 -)))
1614 1614  
1615 1615  
1616 1616  = 4. Case Study =
... ... @@ -1622,23 +1622,17 @@
1622 1622  
1623 1623  == 5.1 Access AT Command ==
1624 1624  
1625 -(((
1626 1626  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.
1627 -)))
1628 1628  
1629 1629  [[image:1654135840598-282.png]]
1630 1630  
1631 1631  
1632 -(((
1633 1633  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:
1634 -)))
1635 1635  
1636 1636  [[image:1654136105500-922.png]]
1637 1637  
1638 1638  
1639 -(((
1640 1640  More detail AT Command manual can be found at [[AT Command Manual>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]]
1641 -)))
1642 1642  
1643 1643  
1644 1644  == 5.2 Common AT Command Sequence ==
... ... @@ -1650,14 +1650,20 @@
1650 1650  (% class="box infomessage" %)
1651 1651  (((
1652 1652  **AT+FDR**
1372 +)))
1373 +
1374 +(% class="box infomessage" %)
1375 +(((
1653 1653  **AT+NJM=0**
1377 +)))
1378 +
1379 +(% class="box infomessage" %)
1380 +(((
1654 1654  **ATZ**
1655 1655  )))
1656 1656  
1657 1657  
1658 -(((
1659 1659  If device already joined network:
1660 -)))
1661 1661  
1662 1662  (% class="box infomessage" %)
1663 1663  (((
... ... @@ -1696,12 +1696,10 @@
1696 1696  
1697 1697  (% style="color:red" %)**Note:**
1698 1698  
1699 -(((
1700 1700  (% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server.
1701 1701  2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting.
1702 1702  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.
1703 1703  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
1704 -)))
1705 1705  
1706 1706  [[image:1654136435598-589.png]]
1707 1707  
... ... @@ -1710,23 +1710,13 @@
1710 1710  
1711 1711  == 6.1 How to upgrade the image? ==
1712 1712  
1713 -(((
1714 1714  The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to:
1715 -)))
1716 1716  
1717 -* (((
1718 -Support new features
1719 -)))
1720 -* (((
1721 -For bug fix
1722 -)))
1723 -* (((
1724 -Change LoRaWAN bands.
1725 -)))
1438 +* Support new features
1439 +* For bug fix
1440 +* Change LoRaWAN bands.
1726 1726  
1727 -(((
1728 1728  Below shows the hardware connection for how to upload an image to RS485-BL:
1729 -)))
1730 1730  
1731 1731  [[image:1654136646995-976.png]]
1732 1732