Changes for page RS485-BL – Waterproof RS485 to LoRaWAN Converter
Last modified by Xiaoling on 2025/04/23 15:57
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -510,6 +510,10 @@ 510 510 ))) 511 511 512 512 ((( 513 + 514 +))) 515 + 516 +((( 513 513 **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx. 514 514 ))) 515 515 ... ... @@ -868,7 +868,7 @@ 868 868 ))) 869 869 870 870 ((( 871 - **}**875 +{{{}}}} 872 872 873 873 874 874 ))) ... ... @@ -882,13 +882,21 @@ 882 882 883 883 == 3.5 Configure RS485-BL via AT or Downlink == 884 884 889 +((( 885 885 User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands 891 +))) 886 886 893 +((( 887 887 There are two kinds of Commands: 895 +))) 888 888 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]] 897 +* ((( 898 +(% 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]] 899 +))) 890 890 891 -* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL. User can see these commands below: 901 +* ((( 902 +(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL. User can see these commands below: 903 +))) 892 892 893 893 894 894 ... ... @@ -927,51 +927,101 @@ 927 927 928 928 ==== **RS485 Debug Command (AT+CFGDEV)** ==== 929 929 942 +((( 930 930 This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling. 944 +))) 931 931 932 -* **AT Command** 946 +* ((( 947 +**AT Command** 948 +))) 933 933 934 934 (% class="box infomessage" %) 935 935 ((( 952 +((( 936 936 **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 937 937 ))) 955 +))) 938 938 957 +((( 939 939 m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command. 959 +))) 940 940 961 +((( 962 + 963 +))) 941 941 942 -* **Downlink Payload** 965 +* ((( 966 +**Downlink Payload** 967 +))) 943 943 969 +((( 944 944 Format: A8 MM NN XX XX XX XX YY 971 +))) 945 945 973 +((( 946 946 Where: 975 +))) 947 947 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 977 +* ((( 978 +MM: 1: add CRC-16/MODBUS ; 0: no CRC 979 +))) 980 +* ((( 981 +NN: The length of RS485 command 982 +))) 983 +* ((( 984 +XX XX XX XX: RS485 command total NN bytes 985 +))) 986 +* ((( 987 +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 988 +))) 952 952 990 +((( 953 953 **Example 1:** 992 +))) 954 954 994 +((( 955 955 To connect a Modbus Alarm with below commands. 996 +))) 956 956 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. 998 +* ((( 999 +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. 1000 +))) 958 958 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. 1002 +* ((( 1003 +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. 1004 +))) 960 960 1006 +((( 961 961 So if user want to use downlink command to control to RS485 Alarm, he can use: 1008 +))) 962 962 1010 +((( 963 963 (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 1012 +))) 964 964 1014 +((( 965 965 (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 1016 +))) 966 966 1018 +((( 967 967 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. 1020 +))) 968 968 1022 +((( 1023 + 1024 +))) 969 969 1026 +((( 970 970 **Example 2:** 1028 +))) 971 971 1030 +((( 972 972 Check TTL Sensor return: 1032 +))) 973 973 1034 +((( 974 974 [[image:1654132684752-193.png]] 1036 +))) 975 975 976 976 977 977 ... ... @@ -1000,62 +1000,121 @@ 1000 1000 1001 1001 ==== **Set RS485 Sampling Commands** ==== 1002 1002 1065 +((( 1003 1003 AT+COMMANDx, AT+DATACUTx and AT+SEARCHx 1067 +))) 1004 1004 1069 +((( 1005 1005 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"]]. 1071 +))) 1006 1006 1073 +((( 1074 + 1075 +))) 1007 1007 1008 -* **AT Command:** 1077 +* ((( 1078 +**AT Command:** 1079 +))) 1009 1009 1010 1010 (% class="box infomessage" %) 1011 1011 ((( 1083 +((( 1012 1012 **AT+COMMANDx: Configure RS485 read command to sensor.** 1013 1013 ))) 1086 +))) 1014 1014 1015 1015 (% class="box infomessage" %) 1016 1016 ((( 1090 +((( 1017 1017 **AT+DATACUTx: Configure how to handle return from RS485 devices.** 1018 1018 ))) 1093 +))) 1019 1019 1020 1020 (% class="box infomessage" %) 1021 1021 ((( 1097 +((( 1022 1022 **AT+SEARCHx: Configure search command** 1023 1023 ))) 1100 +))) 1024 1024 1102 +((( 1103 + 1104 +))) 1025 1025 1026 -* **Downlink Payload:** 1106 +* ((( 1107 +**Downlink Payload:** 1108 +))) 1027 1027 1110 +((( 1028 1028 **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 1112 +))) 1029 1029 1114 +((( 1030 1030 (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 1116 +))) 1031 1031 1118 +((( 1032 1032 Format: AF MM NN LL XX XX XX XX YY 1120 +))) 1033 1033 1122 +((( 1034 1034 Where: 1124 +))) 1035 1035 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. 1126 +* ((( 1127 +MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 1128 +))) 1129 +* ((( 1130 +NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 1131 +))) 1132 +* ((( 1133 +LL: The length of AT+COMMAND or AT+DATACUT command 1134 +))) 1135 +* ((( 1136 +XX XX XX XX: AT+COMMAND or AT+DATACUT command 1137 +))) 1138 +* ((( 1139 +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. 1140 +))) 1041 1041 1142 +((( 1042 1042 **Example:** 1144 +))) 1043 1043 1146 +((( 1044 1044 (% 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 1148 +))) 1045 1045 1150 +((( 1046 1046 (% 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** 1152 +))) 1047 1047 1154 +((( 1048 1048 (% 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** 1156 +))) 1049 1049 1158 +((( 1159 + 1160 +))) 1050 1050 1162 +((( 1051 1051 **0xAB** downlink command can be used for set AT+SEARCHx 1164 +))) 1052 1052 1166 +((( 1053 1053 **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 1168 +))) 1054 1054 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 1170 +* ((( 1171 +AB aa 01 03 xx xx xx same as AT+SEARCHaa=1,xx xx xx 1172 +))) 1173 +* ((( 1174 +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 1175 +))) 1057 1057 1177 +((( 1058 1058 **AB aa 02 03 xx xx xx 02 yy yy** same as **AT+SEARCHaa=2,xx xx xx+yy yy** 1179 +))) 1059 1059 1060 1060 1061 1061 ... ... @@ -1062,24 +1062,47 @@ 1062 1062 1063 1063 ==== **Fast command to handle MODBUS device** ==== 1064 1064 1186 +((( 1065 1065 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]]. 1188 +))) 1066 1066 1190 +((( 1067 1067 This command is valid since v1.3 firmware version 1192 +))) 1068 1068 1194 +((( 1195 + 1196 +))) 1069 1069 1198 +((( 1070 1070 **AT+MBFUN has only two value:** 1200 +))) 1071 1071 1072 -* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return 1202 +* ((( 1203 +**AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return 1204 +))) 1073 1073 1206 +((( 1074 1074 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. 1208 +))) 1075 1075 1076 -* **AT+MBFUN=0**: Disable Modbus fast reading. 1210 +* ((( 1211 +**AT+MBFUN=0**: Disable Modbus fast reading. 1212 +))) 1077 1077 1214 +((( 1078 1078 **Example:** 1216 +))) 1079 1079 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. 1218 +* ((( 1219 +AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). 1220 +))) 1221 +* ((( 1222 +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. 1223 +))) 1224 +* ((( 1225 +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. 1226 +))) 1083 1083 1084 1084 [[image:1654133913295-597.png]] 1085 1085 ... ... @@ -1125,6 +1125,7 @@ 1125 1125 1126 1126 1127 1127 1272 + 1128 1128 ==== **Uplink payload mode** ==== 1129 1129 1130 1130 Define to use one uplink or multiple uplinks for the sampling. ... ... @@ -1171,7 +1171,9 @@ 1171 1171 1172 1172 * **AT Command:** 1173 1173 1319 +((( 1174 1174 (% 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 1321 +))) 1175 1175 1176 1176 Example screen shot after clear all RS485 commands. 1177 1177 ... ... @@ -1187,6 +1187,7 @@ 1187 1187 1188 1188 1189 1189 1337 + 1190 1190 ==== **Set Serial Communication Parameters** ==== 1191 1191 1192 1192 Set the Rs485 serial communication parameters: ... ... @@ -1230,6 +1230,7 @@ 1230 1230 1231 1231 1232 1232 1381 + 1233 1233 ==== **Control output power duration** ==== 1234 1234 1235 1235 User can set the output power duration before each sampling. ... ... @@ -1253,44 +1253,83 @@ 1253 1253 1254 1254 == 3.6 Buttons == 1255 1255 1256 -(% border="1" style="background-color:#ffffcc; color:green; width:233px" %) 1405 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:233px" %) 1257 1257 |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature** 1258 1258 |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL 1259 1259 1409 + 1410 + 1260 1260 == 3.7 +3V3 Output == 1261 1261 1413 +((( 1262 1262 RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. 1415 +))) 1263 1263 1417 +((( 1264 1264 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. 1419 +))) 1265 1265 1421 +((( 1266 1266 The +3V3 output time can be controlled by AT Command. 1423 +))) 1267 1267 1425 +((( 1426 + 1427 +))) 1268 1268 1429 +((( 1269 1269 (% style="color:#037691" %)**AT+3V3T=1000** 1431 +))) 1270 1270 1433 +((( 1434 + 1435 +))) 1271 1271 1437 +((( 1272 1272 Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors. 1439 +))) 1273 1273 1441 +((( 1274 1274 By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time 1443 +))) 1275 1275 1276 1276 1277 1277 == 3.8 +5V Output == 1278 1278 1448 +((( 1279 1279 RS485-BL has a Controllable +5V output, user can use this output to power external sensor. 1450 +))) 1280 1280 1452 +((( 1281 1281 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. 1454 +))) 1282 1282 1456 +((( 1283 1283 The 5V output time can be controlled by AT Command. 1458 +))) 1284 1284 1460 +((( 1461 + 1462 +))) 1285 1285 1464 +((( 1286 1286 (% style="color:#037691" %)**AT+5VT=1000** 1466 +))) 1287 1287 1468 +((( 1469 + 1470 +))) 1288 1288 1472 +((( 1289 1289 Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors. 1474 +))) 1290 1290 1476 +((( 1291 1291 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. 1478 +))) 1292 1292 1293 1293 1481 + 1294 1294 == 3.9 LEDs == 1295 1295 1296 1296 (% border="1" style="background-color:#ffffcc; color:green; width:332px" %) ... ... @@ -1297,6 +1297,8 @@ 1297 1297 |=**LEDs**|=(% style="width: 274px;" %)**Feature** 1298 1298 |**LED1**|(% style="width:274px" %)Blink when device transmit a packet. 1299 1299 1488 + 1489 + 1300 1300 == 3.10 Switch Jumper == 1301 1301 1302 1302 (% border="1" style="background-color:#ffffcc; color:green; width:515px" %) ... ... @@ -1312,9 +1312,13 @@ 1312 1312 3.3v position: set to compatible with 3.3v I/O., 1313 1313 ))) 1314 1314 1505 +((( 1315 1315 **+3.3V**: is always ON 1507 +))) 1316 1316 1509 +((( 1317 1317 **+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0. Max open time. 5000 ms. 1511 +))) 1318 1318 1319 1319 1320 1320 = 4. Case Study = ... ... @@ -1326,17 +1326,23 @@ 1326 1326 1327 1327 == 5.1 Access AT Command == 1328 1328 1523 +((( 1329 1329 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. 1525 +))) 1330 1330 1331 1331 [[image:1654135840598-282.png]] 1332 1332 1333 1333 1530 +((( 1334 1334 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: 1532 +))) 1335 1335 1336 1336 [[image:1654136105500-922.png]] 1337 1337 1338 1338 1537 +((( 1339 1339 More detail AT Command manual can be found at [[AT Command Manual>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]] 1539 +))) 1340 1340 1341 1341 1342 1342 == 5.2 Common AT Command Sequence == ... ... @@ -1361,7 +1361,9 @@ 1361 1361 ))) 1362 1362 1363 1363 1564 +((( 1364 1364 If device already joined network: 1566 +))) 1365 1365 1366 1366 (% class="box infomessage" %) 1367 1367 ((( ... ... @@ -1400,10 +1400,12 @@ 1400 1400 1401 1401 (% style="color:red" %)**Note:** 1402 1402 1605 +((( 1403 1403 (% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server. 1404 1404 2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting. 1405 1405 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. 1406 1406 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 1610 +))) 1407 1407 1408 1408 [[image:1654136435598-589.png]] 1409 1409 ... ... @@ -1412,13 +1412,23 @@ 1412 1412 1413 1413 == 6.1 How to upgrade the image? == 1414 1414 1619 +((( 1415 1415 The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to: 1621 +))) 1416 1416 1417 -* Support new features 1418 -* For bug fix 1419 -* Change LoRaWAN bands. 1623 +* ((( 1624 +Support new features 1625 +))) 1626 +* ((( 1627 +For bug fix 1628 +))) 1629 +* ((( 1630 +Change LoRaWAN bands. 1631 +))) 1420 1420 1633 +((( 1421 1421 Below shows the hardware connection for how to upload an image to RS485-BL: 1635 +))) 1422 1422 1423 1423 [[image:1654136646995-976.png]] 1424 1424 ... ... @@ -1484,6 +1484,8 @@ 1484 1484 * (% style="color:blue" %)**RU864**(%%): frequency bands RU864 1485 1485 * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865 1486 1486 1701 + 1702 + 1487 1487 = 9. Packing Info = 1488 1488 1489 1489 (((