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

From version 41.33
edited by Xiaoling
on 2022/06/06 11:18
Change comment: There is no comment for this version
To version 41.40
edited by Xiaoling
on 2022/06/06 11:20
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1062,62 +1062,121 @@
1062 1062  
1063 1063  ==== **Set RS485 Sampling Commands** ====
1064 1064  
1065 +(((
1065 1065  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
1067 +)))
1066 1066  
1069 +(((
1067 1067  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 +)))
1068 1068  
1073 +(((
1074 +
1075 +)))
1069 1069  
1070 -* **AT Command:**
1077 +* (((
1078 +**AT Command:**
1079 +)))
1071 1071  
1072 1072  (% class="box infomessage" %)
1073 1073  (((
1083 +(((
1074 1074  **AT+COMMANDx: Configure RS485 read command to sensor.**
1075 1075  )))
1086 +)))
1076 1076  
1077 1077  (% class="box infomessage" %)
1078 1078  (((
1090 +(((
1079 1079  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
1080 1080  )))
1093 +)))
1081 1081  
1082 1082  (% class="box infomessage" %)
1083 1083  (((
1097 +(((
1084 1084  **AT+SEARCHx: Configure search command**
1085 1085  )))
1100 +)))
1086 1086  
1102 +(((
1103 +
1104 +)))
1087 1087  
1088 -* **Downlink Payload:**
1106 +* (((
1107 +**Downlink Payload:**
1108 +)))
1089 1089  
1110 +(((
1090 1090  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
1112 +)))
1091 1091  
1114 +(((
1092 1092  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
1116 +)))
1093 1093  
1118 +(((
1094 1094  Format: AF MM NN LL XX XX XX XX YY
1120 +)))
1095 1095  
1122 +(((
1096 1096  Where:
1124 +)))
1097 1097  
1098 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1099 -* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1100 -* LL:  The length of AT+COMMAND or AT+DATACUT command
1101 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command
1102 -* 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 +)))
1103 1103  
1142 +(((
1104 1104  **Example:**
1144 +)))
1105 1105  
1146 +(((
1106 1106  (% 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 +)))
1107 1107  
1150 +(((
1108 1108  (% 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 +)))
1109 1109  
1154 +(((
1110 1110  (% 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 +)))
1111 1111  
1158 +(((
1159 +
1160 +)))
1112 1112  
1162 +(((
1113 1113  **0xAB** downlink command can be used for set AT+SEARCHx
1164 +)))
1114 1114  
1166 +(((
1115 1115  **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
1168 +)))
1116 1116  
1117 -* AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1118 -* 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 +)))
1119 1119  
1177 +(((
1120 1120  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
1179 +)))
1121 1121  
1122 1122  
1123 1123  
... ... @@ -1124,24 +1124,47 @@
1124 1124  
1125 1125  ==== **Fast command to handle MODBUS device** ====
1126 1126  
1186 +(((
1127 1127  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 +)))
1128 1128  
1190 +(((
1129 1129  This command is valid since v1.3 firmware version
1192 +)))
1130 1130  
1194 +(((
1195 +
1196 +)))
1131 1131  
1198 +(((
1132 1132  **AT+MBFUN has only two value:**
1200 +)))
1133 1133  
1134 -* **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 +)))
1135 1135  
1206 +(((
1136 1136  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 +)))
1137 1137  
1138 -* **AT+MBFUN=0**: Disable Modbus fast reading.
1210 +* (((
1211 +**AT+MBFUN=0**: Disable Modbus fast reading.
1212 +)))
1139 1139  
1214 +(((
1140 1140  **Example:**
1216 +)))
1141 1141  
1142 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1143 -* 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.
1144 -* 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 +)))
1145 1145  
1146 1146  [[image:1654133913295-597.png]]
1147 1147  
... ... @@ -1149,9 +1149,13 @@
1149 1149  [[image:1654133954153-643.png]]
1150 1150  
1151 1151  
1152 -* **Downlink Commands:**
1234 +* (((
1235 +**Downlink Commands:**
1236 +)))
1153 1153  
1238 +(((
1154 1154  **A9 aa** ~-~-> Same as AT+MBFUN=aa
1240 +)))
1155 1155  
1156 1156  
1157 1157  
... ... @@ -1158,32 +1158,60 @@
1158 1158  
1159 1159  ==== **RS485 command timeout** ====
1160 1160  
1247 +(((
1161 1161  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.
1249 +)))
1162 1162  
1251 +(((
1163 1163  Default value: 0, range:  0 ~~ 5 seconds
1253 +)))
1164 1164  
1255 +(((
1256 +
1257 +)))
1165 1165  
1166 -* **AT Command:**
1259 +* (((
1260 +**AT Command:**
1261 +)))
1167 1167  
1168 1168  (% class="box infomessage" %)
1169 1169  (((
1265 +(((
1170 1170  **AT+CMDDLaa=hex(bb cc)**
1171 1171  )))
1268 +)))
1172 1172  
1270 +(((
1173 1173  **Example:**
1272 +)))
1174 1174  
1274 +(((
1175 1175  **AT+CMDDL1=1000** to send the open time to 1000ms
1276 +)))
1176 1176  
1278 +(((
1279 +
1280 +)))
1177 1177  
1178 -* **Downlink Payload:**
1282 +* (((
1283 +**Downlink Payload:**
1284 +)))
1179 1179  
1286 +(((
1180 1180  0x AA aa bb cc
1288 +)))
1181 1181  
1290 +(((
1182 1182  Same as: AT+CMDDLaa=hex(bb cc)
1292 +)))
1183 1183  
1294 +(((
1184 1184   **Example:**
1296 +)))
1185 1185  
1298 +(((
1186 1186   **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
1300 +)))
1187 1187  
1188 1188  
1189 1189  
... ... @@ -1190,28 +1190,47 @@
1190 1190  
1191 1191  ==== **Uplink payload mode** ====
1192 1192  
1307 +(((
1193 1193  Define to use one uplink or multiple uplinks for the sampling.
1309 +)))
1194 1194  
1311 +(((
1195 1195  The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]]
1313 +)))
1196 1196  
1197 -* **AT Command:**
1315 +* (((
1316 +**AT Command:**
1317 +)))
1198 1198  
1199 1199  (% class="box infomessage" %)
1200 1200  (((
1321 +(((
1201 1201  **AT+DATAUP=0**
1202 1202  )))
1324 +)))
1203 1203  
1204 1204  (% class="box infomessage" %)
1205 1205  (((
1328 +(((
1206 1206  **AT+DATAUP=1**
1207 1207  )))
1331 +)))
1208 1208  
1333 +(((
1334 +
1335 +)))
1209 1209  
1210 -* **Downlink Payload:**
1337 +* (((
1338 +**Downlink Payload:**
1339 +)))
1211 1211  
1341 +(((
1212 1212  **0xAD 00**  **~-~->** Same as AT+DATAUP=0
1343 +)))
1213 1213  
1345 +(((
1214 1214  **0xAD 01**  **~-~->** Same as AT+DATAUP=1
1347 +)))
1215 1215  
1216 1216  
1217 1217  
... ... @@ -1229,26 +1229,49 @@
1229 1229  
1230 1230  ==== **Clear RS485 Command** ====
1231 1231  
1365 +(((
1232 1232  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
1367 +)))
1233 1233  
1369 +(((
1370 +
1371 +)))
1234 1234  
1235 -* **AT Command:**
1373 +* (((
1374 +**AT Command:**
1375 +)))
1236 1236  
1237 1237  (((
1238 1238  (% 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
1239 1239  )))
1240 1240  
1381 +(((
1241 1241  Example screen shot after clear all RS485 commands. 
1383 +)))
1242 1242  
1385 +(((
1386 +
1387 +)))
1243 1243  
1389 +(((
1244 1244  The uplink screen shot is:
1391 +)))
1245 1245  
1393 +(((
1246 1246  [[image:1654134704555-320.png]]
1395 +)))
1247 1247  
1397 +(((
1398 +
1399 +)))
1248 1248  
1249 -* **Downlink Payload:**
1401 +* (((
1402 +**Downlink Payload:**
1403 +)))
1250 1250  
1405 +(((
1251 1251  **0x09 aa bb** same as AT+CMDEAR=aa,bb
1407 +)))
1252 1252  
1253 1253  
1254 1254  
... ... @@ -1255,44 +1255,77 @@
1255 1255  
1256 1256  ==== **Set Serial Communication Parameters** ====
1257 1257  
1414 +(((
1258 1258  Set the Rs485 serial communication parameters:
1416 +)))
1259 1259  
1260 -* **AT Command:**
1418 +* (((
1419 +**AT Command:**
1420 +)))
1261 1261  
1422 +(((
1262 1262  Set Baud Rate:
1424 +)))
1263 1263  
1264 1264  (% class="box infomessage" %)
1265 1265  (((
1428 +(((
1266 1266  **AT+BAUDR=9600**    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
1267 1267  )))
1431 +)))
1268 1268  
1433 +(((
1269 1269  Set UART Parity
1435 +)))
1270 1270  
1271 1271  (% class="box infomessage" %)
1272 1272  (((
1439 +(((
1273 1273  **AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1274 1274  )))
1442 +)))
1275 1275  
1444 +(((
1276 1276  Set STOPBIT
1446 +)))
1277 1277  
1278 1278  (% class="box infomessage" %)
1279 1279  (((
1450 +(((
1280 1280  **AT+STOPBIT=0**    ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits
1281 1281  )))
1453 +)))
1282 1282  
1455 +(((
1456 +
1457 +)))
1283 1283  
1284 -* **Downlink Payload:**
1459 +* (((
1460 +**Downlink Payload:**
1461 +)))
1285 1285  
1463 +(((
1286 1286  **A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
1465 +)))
1287 1287  
1467 +(((
1288 1288  **Example:**
1469 +)))
1289 1289  
1290 -* A7 01 00 60   same as AT+BAUDR=9600
1291 -* A7 01 04 80  same as AT+BAUDR=115200
1471 +* (((
1472 +A7 01 00 60   same as AT+BAUDR=9600
1473 +)))
1474 +* (((
1475 +A7 01 04 80  same as AT+BAUDR=115200
1476 +)))
1292 1292  
1478 +(((
1293 1293  A7 02 aa: Same as  AT+PARITY=aa  (aa value: 00 , 01 or 02)
1480 +)))
1294 1294  
1482 +(((
1295 1295  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
1484 +)))
1296 1296  
1297 1297  
1298 1298