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 ... ... @@ -900,6 +900,7 @@ 900 900 === 3.5.2 Sensor related commands: === 901 901 902 902 915 + 903 903 ==== **Choose Device Type (RS485 or TTL)** ==== 904 904 905 905 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. ... ... @@ -926,55 +926,106 @@ 926 926 927 927 ==== **RS485 Debug Command (AT+CFGDEV)** ==== 928 928 942 +((( 929 929 This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling. 944 +))) 930 930 931 -* **AT Command** 946 +* ((( 947 +**AT Command** 948 +))) 932 932 933 933 (% class="box infomessage" %) 934 934 ((( 952 +((( 935 935 **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 936 936 ))) 955 +))) 937 937 957 +((( 938 938 m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command. 959 +))) 939 939 961 +((( 962 + 963 +))) 940 940 941 -* **Downlink Payload** 965 +* ((( 966 +**Downlink Payload** 967 +))) 942 942 969 +((( 943 943 Format: A8 MM NN XX XX XX XX YY 971 +))) 944 944 973 +((( 945 945 Where: 975 +))) 946 946 947 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC 948 -* NN: The length of RS485 command 949 -* XX XX XX XX: RS485 command total NN bytes 950 -* 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 +))) 951 951 990 +((( 952 952 **Example 1:** 992 +))) 953 953 994 +((( 954 954 To connect a Modbus Alarm with below commands. 996 +))) 955 955 956 -* 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 +))) 957 957 958 -* 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 +))) 959 959 1006 +((( 960 960 So if user want to use downlink command to control to RS485 Alarm, he can use: 1008 +))) 961 961 1010 +((( 962 962 (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 1012 +))) 963 963 1014 +((( 964 964 (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 1016 +))) 965 965 1018 +((( 966 966 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 +))) 967 967 1022 +((( 1023 + 1024 +))) 968 968 1026 +((( 969 969 **Example 2:** 1028 +))) 970 970 1030 +((( 971 971 Check TTL Sensor return: 1032 +))) 972 972 1034 +((( 973 973 [[image:1654132684752-193.png]] 1036 +))) 974 974 975 975 976 976 977 977 1041 + 978 978 ==== **Set Payload version** ==== 979 979 980 980 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. ... ... @@ -995,87 +995,171 @@ 995 995 996 996 997 997 1062 + 998 998 ==== **Set RS485 Sampling Commands** ==== 999 999 1065 +((( 1000 1000 AT+COMMANDx, AT+DATACUTx and AT+SEARCHx 1067 +))) 1001 1001 1069 +((( 1002 1002 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 +))) 1003 1003 1073 +((( 1074 + 1075 +))) 1004 1004 1005 -* **AT Command:** 1077 +* ((( 1078 +**AT Command:** 1079 +))) 1006 1006 1007 1007 (% class="box infomessage" %) 1008 1008 ((( 1083 +((( 1009 1009 **AT+COMMANDx: Configure RS485 read command to sensor.** 1010 1010 ))) 1086 +))) 1011 1011 1012 1012 (% class="box infomessage" %) 1013 1013 ((( 1090 +((( 1014 1014 **AT+DATACUTx: Configure how to handle return from RS485 devices.** 1015 1015 ))) 1093 +))) 1016 1016 1017 1017 (% class="box infomessage" %) 1018 1018 ((( 1097 +((( 1019 1019 **AT+SEARCHx: Configure search command** 1020 1020 ))) 1100 +))) 1021 1021 1102 +((( 1103 + 1104 +))) 1022 1022 1023 -* **Downlink Payload:** 1106 +* ((( 1107 +**Downlink Payload:** 1108 +))) 1024 1024 1110 +((( 1025 1025 **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 1112 +))) 1026 1026 1114 +((( 1027 1027 (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 1116 +))) 1028 1028 1118 +((( 1029 1029 Format: AF MM NN LL XX XX XX XX YY 1120 +))) 1030 1030 1122 +((( 1031 1031 Where: 1124 +))) 1032 1032 1033 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 1034 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 1035 -* LL: The length of AT+COMMAND or AT+DATACUT command 1036 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command 1037 -* 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 +))) 1038 1038 1142 +((( 1039 1039 **Example:** 1144 +))) 1040 1040 1146 +((( 1041 1041 (% 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 +))) 1042 1042 1150 +((( 1043 1043 (% 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 +))) 1044 1044 1154 +((( 1045 1045 (% 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 +))) 1046 1046 1158 +((( 1159 + 1160 +))) 1047 1047 1162 +((( 1048 1048 **0xAB** downlink command can be used for set AT+SEARCHx 1164 +))) 1049 1049 1166 +((( 1050 1050 **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 1168 +))) 1051 1051 1052 -* AB aa 01 03 xx xx xx same as AT+SEARCHaa=1,xx xx xx 1053 -* 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 +))) 1054 1054 1177 +((( 1055 1055 **AB aa 02 03 xx xx xx 02 yy yy** same as **AT+SEARCHaa=2,xx xx xx+yy yy** 1179 +))) 1056 1056 1057 1057 1058 1058 1183 + 1059 1059 ==== **Fast command to handle MODBUS device** ==== 1060 1060 1186 +((( 1061 1061 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 +))) 1062 1062 1190 +((( 1063 1063 This command is valid since v1.3 firmware version 1192 +))) 1064 1064 1194 +((( 1195 + 1196 +))) 1065 1065 1198 +((( 1066 1066 **AT+MBFUN has only two value:** 1200 +))) 1067 1067 1068 -* **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 +))) 1069 1069 1206 +((( 1070 1070 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 +))) 1071 1071 1072 -* **AT+MBFUN=0**: Disable Modbus fast reading. 1210 +* ((( 1211 +**AT+MBFUN=0**: Disable Modbus fast reading. 1212 +))) 1073 1073 1214 +((( 1074 1074 **Example:** 1216 +))) 1075 1075 1076 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). 1077 -* 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. 1078 -* 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 +))) 1079 1079 1080 1080 [[image:1654133913295-597.png]] 1081 1081 ... ... @@ -1089,6 +1089,7 @@ 1089 1089 1090 1090 1091 1091 1240 + 1092 1092 ==== **RS485 command timeout** ==== 1093 1093 1094 1094 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. ... ... @@ -1120,6 +1120,7 @@ 1120 1120 1121 1121 1122 1122 1272 + 1123 1123 ==== **Uplink payload mode** ==== 1124 1124 1125 1125 Define to use one uplink or multiple uplinks for the sampling. ... ... @@ -1166,7 +1166,9 @@ 1166 1166 1167 1167 * **AT Command:** 1168 1168 1319 +((( 1169 1169 (% 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 +))) 1170 1170 1171 1171 Example screen shot after clear all RS485 commands. 1172 1172 ... ... @@ -1182,6 +1182,7 @@ 1182 1182 1183 1183 1184 1184 1337 + 1185 1185 ==== **Set Serial Communication Parameters** ==== 1186 1186 1187 1187 Set the Rs485 serial communication parameters: ... ... @@ -1225,6 +1225,7 @@ 1225 1225 1226 1226 1227 1227 1381 + 1228 1228 ==== **Control output power duration** ==== 1229 1229 1230 1230 User can set the output power duration before each sampling. ... ... @@ -1248,44 +1248,83 @@ 1248 1248 1249 1249 == 3.6 Buttons == 1250 1250 1251 -(% border="1" style="background-color:#ffffcc; color:green; width:233px" %) 1405 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:233px" %) 1252 1252 |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature** 1253 1253 |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL 1254 1254 1409 + 1410 + 1255 1255 == 3.7 +3V3 Output == 1256 1256 1413 +((( 1257 1257 RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. 1415 +))) 1258 1258 1417 +((( 1259 1259 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 +))) 1260 1260 1421 +((( 1261 1261 The +3V3 output time can be controlled by AT Command. 1423 +))) 1262 1262 1425 +((( 1426 + 1427 +))) 1263 1263 1429 +((( 1264 1264 (% style="color:#037691" %)**AT+3V3T=1000** 1431 +))) 1265 1265 1433 +((( 1434 + 1435 +))) 1266 1266 1437 +((( 1267 1267 Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors. 1439 +))) 1268 1268 1441 +((( 1269 1269 By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time 1443 +))) 1270 1270 1271 1271 1272 1272 == 3.8 +5V Output == 1273 1273 1448 +((( 1274 1274 RS485-BL has a Controllable +5V output, user can use this output to power external sensor. 1450 +))) 1275 1275 1452 +((( 1276 1276 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 +))) 1277 1277 1456 +((( 1278 1278 The 5V output time can be controlled by AT Command. 1458 +))) 1279 1279 1460 +((( 1461 + 1462 +))) 1280 1280 1464 +((( 1281 1281 (% style="color:#037691" %)**AT+5VT=1000** 1466 +))) 1282 1282 1468 +((( 1469 + 1470 +))) 1283 1283 1472 +((( 1284 1284 Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors. 1474 +))) 1285 1285 1476 +((( 1286 1286 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 +))) 1287 1287 1288 1288 1481 + 1289 1289 == 3.9 LEDs == 1290 1290 1291 1291 (% border="1" style="background-color:#ffffcc; color:green; width:332px" %) ... ... @@ -1292,6 +1292,8 @@ 1292 1292 |=**LEDs**|=(% style="width: 274px;" %)**Feature** 1293 1293 |**LED1**|(% style="width:274px" %)Blink when device transmit a packet. 1294 1294 1488 + 1489 + 1295 1295 == 3.10 Switch Jumper == 1296 1296 1297 1297 (% border="1" style="background-color:#ffffcc; color:green; width:515px" %) ... ... @@ -1307,9 +1307,13 @@ 1307 1307 3.3v position: set to compatible with 3.3v I/O., 1308 1308 ))) 1309 1309 1505 +((( 1310 1310 **+3.3V**: is always ON 1507 +))) 1311 1311 1509 +((( 1312 1312 **+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0. Max open time. 5000 ms. 1511 +))) 1313 1313 1314 1314 1315 1315 = 4. Case Study = ... ... @@ -1321,17 +1321,23 @@ 1321 1321 1322 1322 == 5.1 Access AT Command == 1323 1323 1523 +((( 1324 1324 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 +))) 1325 1325 1326 1326 [[image:1654135840598-282.png]] 1327 1327 1328 1328 1530 +((( 1329 1329 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 +))) 1330 1330 1331 1331 [[image:1654136105500-922.png]] 1332 1332 1333 1333 1537 +((( 1334 1334 More detail AT Command manual can be found at [[AT Command Manual>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]] 1539 +))) 1335 1335 1336 1336 1337 1337 == 5.2 Common AT Command Sequence == ... ... @@ -1356,7 +1356,9 @@ 1356 1356 ))) 1357 1357 1358 1358 1564 +((( 1359 1359 If device already joined network: 1566 +))) 1360 1360 1361 1361 (% class="box infomessage" %) 1362 1362 ((( ... ... @@ -1395,10 +1395,12 @@ 1395 1395 1396 1396 (% style="color:red" %)**Note:** 1397 1397 1605 +((( 1398 1398 (% style="color:red" %)1. Make sure the device is set to ABP mode in the IoT Server. 1399 1399 2. Make sure the LG01/02 gateway RX frequency is exactly the same as AT+CHS setting. 1400 1400 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. 1401 1401 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 +))) 1402 1402 1403 1403 [[image:1654136435598-589.png]] 1404 1404 ... ... @@ -1407,13 +1407,23 @@ 1407 1407 1408 1408 == 6.1 How to upgrade the image? == 1409 1409 1619 +((( 1410 1410 The RS485-BL LoRaWAN Controller is shipped with a 3.5mm cable, the cable is used to upload image to RS485-BL to: 1621 +))) 1411 1411 1412 -* Support new features 1413 -* For bug fix 1414 -* Change LoRaWAN bands. 1623 +* ((( 1624 +Support new features 1625 +))) 1626 +* ((( 1627 +For bug fix 1628 +))) 1629 +* ((( 1630 +Change LoRaWAN bands. 1631 +))) 1415 1415 1633 +((( 1416 1416 Below shows the hardware connection for how to upload an image to RS485-BL: 1635 +))) 1417 1417 1418 1418 [[image:1654136646995-976.png]] 1419 1419 ... ... @@ -1479,6 +1479,8 @@ 1479 1479 * (% style="color:blue" %)**RU864**(%%): frequency bands RU864 1480 1480 * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865 1481 1481 1701 + 1702 + 1482 1482 = 9. Packing Info = 1483 1483 1484 1484 (((