Changes for page 01 Lua Functions
Last modified by Theodore Xu on 2023/10/26 10:51
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -958,20 +958,17 @@ 958 958 959 959 Parameter: 960 960 961 -//Topic//, topic name 961 +* //Topic//, topic name 962 +* //Message//, content 962 962 963 - //Message//, content964 +**2."arrived" is published by publish, this function will be called after the publication arrives** 964 964 965 -**2.**"arrived" is published by publish, this function will be called after the publication arrives 966 - 967 967 //Callback// prototype~:// function ()// 968 968 969 -Parameter: 968 +Parameter: None 970 970 971 - None970 +**3.This function will be called after the "offline" connection is lost** 972 972 973 -**3.**This function will be called after the "offline" connection is lost 974 - 975 975 //Callback// prototype~:// function (string cause)// 976 976 977 977 Parameter: ... ... @@ -985,17 +985,13 @@ 985 985 Failed: multi 986 986 987 987 ((( 988 -== ** 4.11mqtt:setup_cfg()** ==985 +== **mqtt:setup_cfg()** == 989 989 ))) 990 990 991 -**Function:** 988 +**Function:** Cloud mode interface, to obtain MQTT information configured by the cloud platform 992 992 993 - Cloudmodeinterface, toobtainMQTT information configured by the cloud platform990 +**Parameters:** None 994 994 995 -**Parameters:** 996 - 997 -None 998 - 999 999 **Return:** 1000 1000 1001 1001 //serverurl, clientid, conn, lwt, cart //(5 returns, respectively, server address, client ID, connection table, last word table, certificate table) ... ... @@ -1013,39 +1013,27 @@ 1013 1013 Lua only has a table data structure, so all arrays and key-value objects of json will be returned as a table. 1014 1014 1015 1015 ((( 1016 -== ** 5.1json.encode( lua_object )** ==1009 +== **json.encode( lua_object )** == 1017 1017 ))) 1018 1018 1019 -**Function:** 1012 +**Function: **Convert lua data type to json string 1020 1020 1021 - Convertlua data typetojson string1014 +**Parameters: **Lua data type (including boolean, number, string, table) 1022 1022 1023 -** Parameters:**1016 +**Return:** Json format string 1024 1024 1025 -Lua data type (including boolean, number, string, table) 1026 - 1027 -**Return:** 1028 - 1029 -Json format string 1030 - 1031 1031 ((( 1032 -== ** 5.2json.decode(string json_string)** ==1019 +== **json.decode(string json_string)** == 1033 1033 ))) 1034 1034 1035 -**Function:** 1022 +**Function:** Convert json string to lua data type 1036 1036 1037 - Convert jsonluadata type1024 +**Parameters: **//json_string//, string of json data structure 1038 1038 1039 -** Parameters:**1026 +**Return: **Lua data type 1040 1040 1041 -//json_string//, string of json data structure 1042 - 1043 -**Return:** 1044 - 1045 -Lua data type 1046 - 1047 1047 ((( 1048 -== ** 5.3json.null** ==1029 +== **json.null** == 1049 1049 ))) 1050 1050 1051 1051 **Function:** ... ... @@ -1052,32 +1052,24 @@ 1052 1052 1053 1053 This method is used when assembling json data, which is equivalent to null in json. If the user directly uses json.null() to return the address of the function, it must be valid with the use of encode. 1054 1054 1055 -**Parameters:** 1036 +**Parameters:** None 1056 1056 1057 -None 1038 +**Return: **None 1058 1058 1059 -**Return:** 1060 - 1061 -None 1062 - 1063 1063 = **6 Cloud mode** = 1064 1064 1065 1065 The cloud interface is only used in cloud mode, and V-NET mode is not available. 1066 1066 1067 1067 ((( 1068 -== ** 6.1bns_get_alldata()** ==1045 +== **bns_get_alldata()** == 1069 1069 ))) 1070 1070 1071 -**Function:** 1048 +**Function:** Obtain all monitoring points (point table) data configured by the end user 1072 1072 1073 - Obtain allmonitoringpoints(point table)dataconfiguredbythe enduser1050 +**✎Note: **Assuming there are timing scripts A and B with a period of 1 second, if this function is called in script A, the data will not be obtained if called in script B 1074 1074 1075 - Note: Assuming thereareiming scripts A and B with a period of 1second, if this function is called in script A, the data will not be obtained if called in script B1052 +**Parameters:** None 1076 1076 1077 -**Parameters:** 1078 - 1079 -None 1080 - 1081 1081 **Return:** 1082 1082 1083 1083 Succeed: table two-dimensional array, the structure is as follows ... ... @@ -1107,13 +1107,11 @@ 1107 1107 Failed: //table// empty table 1108 1108 1109 1109 ((( 1110 -== ** 6.2bns_get_config(string from)** ==1083 +== **bns_get_config(string from)** == 1111 1111 ))) 1112 1112 1113 -**Function:** 1086 +**Function:** Obtain custom configuration parameters with the specified from type 1114 1114 1115 -Obtain custom configuration parameters with the specified from type 1116 - 1117 1117 **parameter:** 1118 1118 1119 1119 from type, there are the following two categories, the string must be all lowercase ... ... @@ -1131,13 +1131,11 @@ 1131 1131 Failed~:// table// empty table 1132 1132 1133 1133 ((( 1134 -== ** 6.3bns_get_data(string name, string data)** ==1105 +== **bns_get_data(string name, string data)** == 1135 1135 ))) 1136 1136 1137 -**Function:** 1108 +**Function:**write data to the name of the monitoring point 1138 1138 1139 -write data to the name of the monitoring point 1140 - 1141 1141 **parameter:** 1142 1142 1143 1143 //name //The name of the monitoring point ... ... @@ -1151,7 +1151,7 @@ 1151 1151 Failed: nil 1152 1152 1153 1153 ((( 1154 -== ** 6.4bns_get_data(string name)** ==1123 +== **bns_get_data(string name)** == 1155 1155 ))) 1156 1156 1157 1157 **Function:** ... ... @@ -1169,17 +1169,13 @@ 1169 1169 Failed: nil 1170 1170 1171 1171 ((( 1172 -== ** 6.5bns_get_datadesc()** ==1141 +== **bns_get_datadesc()** == 1173 1173 ))) 1174 1174 1175 -**Function:** 1144 +**Function: **Obtain all configured communication ports and monitoring point information 1176 1176 1177 - Obtain all configured communication portsand monitoring point information1146 +**Parameters:** None 1178 1178 1179 -**Parameters:** 1180 - 1181 -None 1182 - 1183 1183 **Return:** 1184 1184 1185 1185 Succeed: table three-dimensional array, the structure is as follows ... ... @@ -1232,17 +1232,13 @@ 1232 1232 Failed~:// table// empty table 1233 1233 1234 1234 ((( 1235 -== ** 6.6bns_get_machineinfo()** ==1200 +== **bns_get_machineinfo()** == 1236 1236 ))) 1237 1237 1238 -**Function:** 1203 +**Function:** get machine information 1239 1239 1240 - get machine information1205 +**Parameters:** None 1241 1241 1242 -**Parameters:** 1243 - 1244 -None 1245 - 1246 1246 **Return:** 1247 1247 1248 1248 Succeed: 3 string type results (model, machine code, software version) ... ... @@ -1250,13 +1250,11 @@ 1250 1250 Failed: nil 1251 1251 1252 1252 ((( 1253 -== ** 6.7bns_get_groupdata(string name)** ==1214 +== **bns_get_groupdata(string name)** == 1254 1254 ))) 1255 1255 1256 -**Function:** 1217 +**Function:** Get all monitoring point data under the specified group name 1257 1257 1258 -Get all monitoring point data under the specified group name 1259 - 1260 1260 **parameter:** 1261 1261 1262 1262 //Name // group name ... ... @@ -1268,17 +1268,13 @@ 1268 1268 Failed: //table// empty table 1269 1269 1270 1270 ((( 1271 -== ** 6.8bns_get_groupdesc()** ==1230 +== **bns_get_groupdesc()** == 1272 1272 ))) 1273 1273 1274 -**Function:** 1233 +**Function:** Get all group information 1275 1275 1276 - Getall group information1235 +**Parameters:** None 1277 1277 1278 -**Parameters:** 1279 - 1280 -None 1281 - 1282 1282 **Return:** 1283 1283 1284 1284 Succeed: //table// two-dimensional array, the structure is as follows ... ... @@ -1292,17 +1292,13 @@ 1292 1292 Failed: //table // empty table 1293 1293 1294 1294 ((( 1295 -== ** 6.9bns_get_onecache(string msg)** ==1250 +== **bns_get_onecache(string msg)** == 1296 1296 ))) 1297 1297 1298 -**Function:** 1253 +**Function:** Save a message to the cache file, which can be stored after power failure. Store up to 2000 items, delete the old and save the new in a rolling manner when it is full. 1299 1299 1300 - Saveassageto thecache file, which can be storedafter power failure. Store up to 2000 items,delete the old and save the new in arollingmanner when it is full.1255 +**Parameters: **//msg// String 1301 1301 1302 -**Parameters:** 1303 - 1304 -//msg// String 1305 - 1306 1306 **Return:** 1307 1307 1308 1308 Succeed: true ... ... @@ -1310,17 +1310,13 @@ 1310 1310 Failed: nil 1311 1311 1312 1312 ((( 1313 -== ** 6.10bns_get_allcache()** ==1264 +== **bns_get_allcache()** == 1314 1314 ))) 1315 1315 1316 -**Function:** 1267 +**Function:** Get all the cached content (once the internal cache file will be emptied) 1317 1317 1318 - Getall the cached content (oncethe internal cache file will be emptied)1269 +**Parameters:** None 1319 1319 1320 -**Parameters:** 1321 - 1322 -None 1323 - 1324 1324 **Return:** 1325 1325 1326 1326 Succeed: //table// one-dimensional array ... ... @@ -1348,182 +1348,211 @@ 1348 1348 Network communication includes Http request interface, this document does not provide interface description, please refer to the online document for how to use it. 1349 1349 1350 1350 ((( 1351 -== ** 7.1http request** ==1298 +== **http request** == 1352 1352 ))) 1353 1353 1354 1354 [[http:~~/~~/w3.impa.br/~~~~diego/software/luasocket/http.html#request>>url:http://w3.impa.br/~~diego/software/luasocket/http.html#request]] 1355 1355 1356 -((( 1357 -= **8 Internal register** = 1358 -))) 1303 +== **https request** == 1359 1359 1360 - The internal registers of the boxre divided into bit addresses and word addresses, which can be accessed in two ways (taking HDW as an example):1305 +Example: 1361 1361 1362 -**~1. **Access by word, prefix @W_HDW, 1307 +{{code language="LUA"}} 1308 +local json = require("json") 1363 1363 1364 - For example:@W_HDW0 represents the firstword ofthesystemdataarea, @W_HDW1represents the second word ofthe system data area.1310 +local https = require("https") 1365 1365 1366 - **2. **Accessinbitmode,theprefix is@B_HDX, thenumber in front of "." indicates the number of the word,and the number behind is the bit number of the word.1312 +functions https_demo.main() 1367 1367 1368 - For example: @B_HDX1020.12, its meaning is toaccess the system dataarea in bit mode, the specificlocationisthe 13th bitof the 1020th word.1314 +local url = "https://XXXXXXXXXXXXXXXXXXXXXXXXXX" 1369 1369 1370 - **✎Note:**1316 +local body = {} 1371 1371 1372 - **~1. **The address in @B_HDX is taken from the wordin @W_HDW, so payspecialattention when using the address.1318 +body["XXXXXX"] = "XXXXX" 1373 1373 1374 - For example, @B_HDX1020.12 is to access the 13thbitof the 1020th word. The value of this bit is the same as the word obtained by@W_HDW001020.The 13th bit of this word is actually the same bit as @B_HDX1020.12.1320 +body["XXXXXXX"] = "XXXXXXXXXXX" 1375 1375 1376 - **2.**Theaddressof thebit address@B_HDXhasa decimal point, whilethe wordaddress is an integer.1322 +local bodyJson = json.encode(body) 1377 1377 1378 -((( 1379 -== **8.1 Data storage area(HDW/HDX)** == 1380 -))) 1324 +local header = {} 1381 1381 1382 - Thesystem storagearea (HDW)oftheV-BOX is usedto storetemporarydata:1326 +header["content-type"] = "application/json" 1383 1383 1384 - ~1. Accessbyword,thenumberrange is:"@W_HDW0"-"@W_HDW299999".1328 +local result_table, code, headers, status = https.request(url, 1385 1385 1386 - 2. Access inbit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15".1330 +bodyJson) 1387 1387 1388 -((( 1389 -== **8.2 Special data area (HSW/HSX)** == 1390 -))) 1332 +if code == 200 then 1391 1391 1392 - **✎Note:**1334 +print("https suc") 1393 1393 1394 - //HSW// is a system specialregister, so please refer to the system special register table duringuse. Do notuse addresses that are not mentioned in the table, andusethe addresses stated in the table with caution (example: restart ("@W_HSW0") Writing a value of 1 will cause V-BOX to restart).1336 +return true 1395 1395 1396 - //Without any conditions. Direct use ("@W_HSW0") will causethe V-BOX to restart continuously.// When using ("@W_HSW0") address, please add judgment conditions, such as: connection to MQTT fails, there is no network, the value of a PLC address meets the condition or counts to a certain value.1338 +else 1397 1397 1398 - 1.The system data area (HSW) of the box is used for system specialregisters(system reserved). Use //addr_getword// to obtain the following registerinformation:1340 +print("https fail") 1399 1399 1400 -(% class="table-bordered" %) 1401 -|address|function|Read and write status: read only, write only, read and write 1402 -|@W_HSW0|restart|read and write 1403 -|@W_HSW1|Box time: year|read and write 1404 -|@W_HSW2|Box time: month|read and write 1405 -|@W_HSW3|Box time: day|read and write 1406 -|@W_HSW4|Box time: hour|read and write 1407 -|@W_HSW5|Box time: minute|read and write 1408 -|@W_HSW6|Box time: second|read and write 1409 -|@W_HSW7|Box time: week|read and write 1410 -|@W_HSW8|Ethernet IP1|read only 1411 -|@W_HSW9|Ethernet IP2|read only 1412 -|@W_HSW10|Ethernet IP3|read only 1413 -|@W_HSW11|Ethernet IP4|read only 1414 -|@W_HSW12|Ethernet Mask 1|read only 1415 -|@W_HSW13|Ethernet Mask 2|read only 1416 -|@W_HSW14|Ethernet Mask 3|read only 1417 -|@W_HSW15|Ethernet Mask 4|read only 1418 -|@W_HSW16|Ethernet Gateway 1|read only 1419 -|@W_HSW17|Ethernet Gateway 2|read only 1420 -|@W_HSW18|Ethernet Gateway 3|read only 1421 -|@W_HSW19|Ethernet Gateway 4|read only 1422 -|@W_HSW21|Ethernet MAC1|read only 1423 -|@W_HSW22|Ethernet MAC2|read only 1424 -|@W_HSW23|Ethernet MAC3|read only 1425 -|@W_HSW24|Ethernet MAC4|read only 1426 -|@W_HSW25|Ethernet MAC3|read only 1427 -|@W_HSW26|Ethernet MAC4|read only 1428 -|@W_HSW128|WIFI IP1|read only 1429 -|@W_HSW129|WIFI IP2|read only 1430 -|@W_HSW130|WIFI IP3|read only 1431 -|@W_HSW131|WIFI IP4|read only 1432 -|@W_HSW132|WIFI Mask 1|read only 1433 -|@W_HSW133|WIFI Mask 2|read only 1434 -|@W_HSW134|WIFI Mask 3|read only 1435 -|@W_HSW135|WIFI Mask 4|read only 1436 -|@W_HSW136|WIFI Gateway 1|read only 1437 -|@W_HSW137|WIFI Gateway 2|read only 1438 -|@W_HSW138|WIFI Gateway 3|read only 1439 -|@W_HSW139|WIFI Gateway 4|read only 1440 -|@W_HSW140|WIFI MAC1|read only 1441 -|@W_HSW141|WIFI MAC2|read only 1442 -|@W_HSW142|WIFI MAC3|read only 1443 -|@W_HSW143|WIFI MAC4|read only 1444 -|@W_HSW144|WIFI MAC5|read only 1445 -|@W_HSW145|WIFI MAC6|read only 1446 -|@W_HSW146|WIFI Signal value|read only 1447 -|@W_HSW148|4G IP1|read only 1448 -|@W_HSW149|4G IP2|read only 1449 -|@W_HSW150|4G IP3|read only 1450 -|@W_HSW151|4G IP4|read only 1451 -|@W_HSW152|4G Mask 1|read only 1452 -|@W_HSW153|4G Mask 2|read only 1453 -|@W_HSW154|4G Mask 3|read only 1454 -|@W_HSW155|4G Mask 4|read only 1455 -|@W_HSW156|4G Gateway 1|read only 1456 -|@W_HSW157|4G Gateway 2|read only 1457 -|@W_HSW158|4G Gateway 3|read only 1458 -|@W_HSW159|4G Gateway 4|read only 1459 -|@W_HSW160|4G MAC1|read only 1460 -|@W_HSW161|4G MAC2|read only 1461 -|@W_HSW162|4G MAC3|read only 1462 -|@W_HSW163|4G MAC4|read only 1463 -|@W_HSW164|4G MAC5|read only 1464 -|@W_HSW165|4G MAC6|read only 1465 -|@W_HSW166|4G Signal value|read only 1342 +return nil 1466 1466 1467 - 2. Other1344 +end 1468 1468 1469 -2.1 Access password: addr_getstring("@W_HSW27", 16) 1346 +end 1347 +{{/code}} 1470 1470 1471 -2.2 Machine code: addr_getstring("@W_HSW60", 64) 1349 +((( 1350 += **8 Internal register** = 1351 +))) 1472 1472 1473 - 2.3Positioningmethod (@W_HSW167):(readonly)1353 +The internal registers of the box are divided into bit addresses and word addresses, which can be accessed in two ways (taking HDW as an example): 1474 1474 1475 - ~1. Latitudeandlongitude1355 +**Access by word, prefix @W_HDW.** 1476 1476 1477 - Longitude:addr_getdouble("@W_HSW168")(readonly)1357 +For example: @W_HDW0 represents the first word of the system data area, @W_HDW1 represents the second word of the system data area. 1478 1478 1479 - Latitude:addr_getdouble("@W_HSW172")(readonly)1359 +**Access in bit mode, the prefix is @B_HDX, the number in front of "." indicates the number of the word, and the number behind is the bit number of the word.** 1480 1480 1481 -2. Base stationpositioning1361 +For example: @B_HDX1020.12, its meaning is to access the system data area in bit mode, the specific location is the 13th bit of the 1020th word. 1482 1482 1483 -LAC: addr_getdword("@W_HSW168") (read only) 1363 +(% class="box infomessage" %) 1364 +((( 1365 +**✎Note: ** 1484 1484 1485 -CI: addr_getdword("@W_HSW172") (read only) 1367 +* The address in @B_HDX is taken from the word in @W_HDW, so pay special attention when using the address. 1368 +** For example, @B_HDX1020.12 is to access the 13th bit of the 1020th word. The value of this bit is the same as the word obtained by @W_HDW001020. The 13th bit of this word is actually the same bit as @B_HDX1020.12. 1369 +* The address of the bit address @B_HDX has a decimal point, while the word address is an integer. 1370 +))) 1486 1486 1487 -2.4 Convert base station to latitude and longitude via API 1488 1488 1489 -Longitude: addr_getdouble("@W_HSW187") (read only) 1490 1490 1491 -Latitude: addr_getdouble("@W_HSW183") (read only) 1374 +((( 1375 +== **Data storage area(HDW/HDX)** == 1376 +))) 1492 1492 1493 - 2.5Operatorinformation:addr_getdword("@W_HSW181")(read only)1378 +The system storage area (HDW) of the V-BOX is used to store temporary data: 1494 1494 1495 -2.6 Networking mode: addr_getword("@W_HSW177") (read only) 1380 +1. Access by word, the number range is: "@W_HDW0"-"@W_HDW299999". 1381 +1. Access in bit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15". 1496 1496 1497 -0: Ethernet, 1: WIFI, 2: 4G, 3: 2G 1383 +((( 1384 +== **8.2 Special data area (HSW/HSX)** == 1498 1498 1499 -2.7 Map fence flag: addr_getword("@W_HSW178") (read only) 1386 +(% class="box infomessage" %) 1387 +((( 1388 +**✎Note: ** 1500 1500 1501 -0: No map fence is drawn 1390 +* //HSW// is a system special register, so please refer to the system special register table during use. Do not use addresses that are not mentioned in the table, and use the addresses stated in the table with caution (example: restart ("@W_HSW0") Writing a value of 1 will cause V-BOX to restart). 1391 +* //Without any conditions. Direct use ("@W_HSW0") will cause the V-BOX to restart continuously.// When using ("@W_HSW0") address, please add judgment conditions, such as: connection to MQTT fails, there is no network, the value of a PLC address meets the condition or counts to a certain value. 1392 +))) 1393 +))) 1502 1502 1503 - 1:Drawamapfenceandthe box is in the fence1395 +The system data area (HSW) of the box is used for system special registers (system reserved). Use //addr_getword// to obtain the following register information: 1504 1504 1505 -2: Draw a map fence and the box is not in the fence 1397 +(% class="table-bordered" %) 1398 +|=(% style="width: 151px;" %)address|=(% style="width: 169px;" %)function|=(% style="width: 456px;" %)Read and write status: read only, write only, read and write 1399 +|(% style="width:151px" %)@W_HSW0|(% style="width:169px" %)restart|(% style="width:456px" %)read and write 1400 +|(% style="width:151px" %)@W_HSW1|(% style="width:169px" %)Box time: year|(% style="width:456px" %)read and write 1401 +|(% style="width:151px" %)@W_HSW2|(% style="width:169px" %)Box time: month|(% style="width:456px" %)read and write 1402 +|(% style="width:151px" %)@W_HSW3|(% style="width:169px" %)Box time: day|(% style="width:456px" %)read and write 1403 +|(% style="width:151px" %)@W_HSW4|(% style="width:169px" %)Box time: hour|(% style="width:456px" %)read and write 1404 +|(% style="width:151px" %)@W_HSW5|(% style="width:169px" %)Box time: minute|(% style="width:456px" %)read and write 1405 +|(% style="width:151px" %)@W_HSW6|(% style="width:169px" %)Box time: second|(% style="width:456px" %)read and write 1406 +|(% style="width:151px" %)@W_HSW7|(% style="width:169px" %)Box time: week|(% style="width:456px" %)read and write 1407 +|(% style="width:151px" %)@W_HSW8|(% style="width:169px" %)Ethernet IP1|(% style="width:456px" %)read only 1408 +|(% style="width:151px" %)@W_HSW9|(% style="width:169px" %)Ethernet IP2|(% style="width:456px" %)read only 1409 +|(% style="width:151px" %)@W_HSW10|(% style="width:169px" %)Ethernet IP3|(% style="width:456px" %)read only 1410 +|(% style="width:151px" %)@W_HSW11|(% style="width:169px" %)Ethernet IP4|(% style="width:456px" %)read only 1411 +|(% style="width:151px" %)@W_HSW12|(% style="width:169px" %)Ethernet Mask 1|(% style="width:456px" %)read only 1412 +|(% style="width:151px" %)@W_HSW13|(% style="width:169px" %)Ethernet Mask 2|(% style="width:456px" %)read only 1413 +|(% style="width:151px" %)@W_HSW14|(% style="width:169px" %)Ethernet Mask 3|(% style="width:456px" %)read only 1414 +|(% style="width:151px" %)@W_HSW15|(% style="width:169px" %)Ethernet Mask 4|(% style="width:456px" %)read only 1415 +|(% style="width:151px" %)@W_HSW16|(% style="width:169px" %)Ethernet Gateway 1|(% style="width:456px" %)read only 1416 +|(% style="width:151px" %)@W_HSW17|(% style="width:169px" %)Ethernet Gateway 2|(% style="width:456px" %)read only 1417 +|(% style="width:151px" %)@W_HSW18|(% style="width:169px" %)Ethernet Gateway 3|(% style="width:456px" %)read only 1418 +|(% style="width:151px" %)@W_HSW19|(% style="width:169px" %)Ethernet Gateway 4|(% style="width:456px" %)read only 1419 +|(% style="width:151px" %)@W_HSW21|(% style="width:169px" %)Ethernet MAC1|(% style="width:456px" %)read only 1420 +|(% style="width:151px" %)@W_HSW22|(% style="width:169px" %)Ethernet MAC2|(% style="width:456px" %)read only 1421 +|(% style="width:151px" %)@W_HSW23|(% style="width:169px" %)Ethernet MAC3|(% style="width:456px" %)read only 1422 +|(% style="width:151px" %)@W_HSW24|(% style="width:169px" %)Ethernet MAC4|(% style="width:456px" %)read only 1423 +|(% style="width:151px" %)@W_HSW25|(% style="width:169px" %)Ethernet MAC3|(% style="width:456px" %)read only 1424 +|(% style="width:151px" %)@W_HSW26|(% style="width:169px" %)Ethernet MAC4|(% style="width:456px" %)read only 1425 +|(% style="width:151px" %)@W_HSW128|(% style="width:169px" %)WIFI IP1|(% style="width:456px" %)read only 1426 +|(% style="width:151px" %)@W_HSW129|(% style="width:169px" %)WIFI IP2|(% style="width:456px" %)read only 1427 +|(% style="width:151px" %)@W_HSW130|(% style="width:169px" %)WIFI IP3|(% style="width:456px" %)read only 1428 +|(% style="width:151px" %)@W_HSW131|(% style="width:169px" %)WIFI IP4|(% style="width:456px" %)read only 1429 +|(% style="width:151px" %)@W_HSW132|(% style="width:169px" %)WIFI Mask 1|(% style="width:456px" %)read only 1430 +|(% style="width:151px" %)@W_HSW133|(% style="width:169px" %)WIFI Mask 2|(% style="width:456px" %)read only 1431 +|(% style="width:151px" %)@W_HSW134|(% style="width:169px" %)WIFI Mask 3|(% style="width:456px" %)read only 1432 +|(% style="width:151px" %)@W_HSW135|(% style="width:169px" %)WIFI Mask 4|(% style="width:456px" %)read only 1433 +|(% style="width:151px" %)@W_HSW136|(% style="width:169px" %)WIFI Gateway 1|(% style="width:456px" %)read only 1434 +|(% style="width:151px" %)@W_HSW137|(% style="width:169px" %)WIFI Gateway 2|(% style="width:456px" %)read only 1435 +|(% style="width:151px" %)@W_HSW138|(% style="width:169px" %)WIFI Gateway 3|(% style="width:456px" %)read only 1436 +|(% style="width:151px" %)@W_HSW139|(% style="width:169px" %)WIFI Gateway 4|(% style="width:456px" %)read only 1437 +|(% style="width:151px" %)@W_HSW140|(% style="width:169px" %)WIFI MAC1|(% style="width:456px" %)read only 1438 +|(% style="width:151px" %)@W_HSW141|(% style="width:169px" %)WIFI MAC2|(% style="width:456px" %)read only 1439 +|(% style="width:151px" %)@W_HSW142|(% style="width:169px" %)WIFI MAC3|(% style="width:456px" %)read only 1440 +|(% style="width:151px" %)@W_HSW143|(% style="width:169px" %)WIFI MAC4|(% style="width:456px" %)read only 1441 +|(% style="width:151px" %)@W_HSW144|(% style="width:169px" %)WIFI MAC5|(% style="width:456px" %)read only 1442 +|(% style="width:151px" %)@W_HSW145|(% style="width:169px" %)WIFI MAC6|(% style="width:456px" %)read only 1443 +|(% style="width:151px" %)@W_HSW146|(% style="width:169px" %)WIFI Signal value|(% style="width:456px" %)read only 1444 +|(% style="width:151px" %)@W_HSW148|(% style="width:169px" %)4G IP1|(% style="width:456px" %)read only 1445 +|(% style="width:151px" %)@W_HSW149|(% style="width:169px" %)4G IP2|(% style="width:456px" %)read only 1446 +|(% style="width:151px" %)@W_HSW150|(% style="width:169px" %)4G IP3|(% style="width:456px" %)read only 1447 +|(% style="width:151px" %)@W_HSW151|(% style="width:169px" %)4G IP4|(% style="width:456px" %)read only 1448 +|(% style="width:151px" %)@W_HSW152|(% style="width:169px" %)4G Mask 1|(% style="width:456px" %)read only 1449 +|(% style="width:151px" %)@W_HSW153|(% style="width:169px" %)4G Mask 2|(% style="width:456px" %)read only 1450 +|(% style="width:151px" %)@W_HSW154|(% style="width:169px" %)4G Mask 3|(% style="width:456px" %)read only 1451 +|(% style="width:151px" %)@W_HSW155|(% style="width:169px" %)4G Mask 4|(% style="width:456px" %)read only 1452 +|(% style="width:151px" %)@W_HSW156|(% style="width:169px" %)4G Gateway 1|(% style="width:456px" %)read only 1453 +|(% style="width:151px" %)@W_HSW157|(% style="width:169px" %)4G Gateway 2|(% style="width:456px" %)read only 1454 +|(% style="width:151px" %)@W_HSW158|(% style="width:169px" %)4G Gateway 3|(% style="width:456px" %)read only 1455 +|(% style="width:151px" %)@W_HSW159|(% style="width:169px" %)4G Gateway 4|(% style="width:456px" %)read only 1456 +|(% style="width:151px" %)@W_HSW160|(% style="width:169px" %)4G MAC1|(% style="width:456px" %)read only 1457 +|(% style="width:151px" %)@W_HSW161|(% style="width:169px" %)4G MAC2|(% style="width:456px" %)read only 1458 +|(% style="width:151px" %)@W_HSW162|(% style="width:169px" %)4G MAC3|(% style="width:456px" %)read only 1459 +|(% style="width:151px" %)@W_HSW163|(% style="width:169px" %)4G MAC4|(% style="width:456px" %)read only 1460 +|(% style="width:151px" %)@W_HSW164|(% style="width:169px" %)4G MAC5|(% style="width:456px" %)read only 1461 +|(% style="width:151px" %)@W_HSW165|(% style="width:169px" %)4G MAC6|(% style="width:456px" %)read only 1462 +|(% style="width:151px" %)@W_HSW166|(% style="width:169px" %)4G Signal value|(% style="width:456px" %)read only 1506 1506 1507 - 2.8 SIM card status addr_getword("@W_HSW179") (read only)1464 +**Others** 1508 1508 1509 -1: No card detected 1466 +* Access password: addr_getstring("@W_HSW27", 16) 1467 +* Machine code: addr_getstring("@W_HSW60", 64) 1468 +* Positioning method (@W_HSW167): (read only) 1469 +** Latitude and longitude 1470 +*** Longitude: addr_getdouble("@W_HSW168") (read only) 1471 +*** Latitude: addr_getdouble("@W_HSW172") (read only) 1472 +** Base station positioning 1473 +*** LAC: addr_getdword("@W_HSW168") (read only) 1474 +*** CI: addr_getdword("@W_HSW172") (read only) 1475 +* Convert base station to latitude and longitude via API 1476 +** Longitude: addr_getdouble("@W_HSW187") (read only) 1477 +** Latitude: addr_getdouble("@W_HSW183") (read only) 1478 +* Operator information: addr_getdword("@W_HSW181") (read only) 1479 +* Networking mode: addr_getword("@W_HSW177") (read only) 1480 +** 0: Ethernet 1481 +** 1: WIFI 1482 +** 2: 4G 1483 +** 3: 2G 1484 +* Map fence flag: addr_getword("@W_HSW178") (read only) 1485 +** 0: No map fence is drawn 1486 +** 1: Draw a map fence and the box is in the fence 1487 +** 2: Draw a map fence and the box is not in the fence 1488 +* SIM card status addr_getword("@W_HSW179") (read only) 1489 +** 1: No card detected 1490 +** 2: Card insertion detected 1491 +** 3: The card status is abnormal 1492 +* MQTT status addr_getword("@W_HSW180") (read only) 1493 +** 1: online, 2: offline 1494 +* IO interface, X is read only, Y is read and write (H series) 1495 +** addr_getbit(addr1), addr_setbit(addr2) 1496 +** addr1:"@B_Y0" "@B_Y1" "@B_X0" "@B_X1" 1497 +** addr2:"@B_Y0" "@B_Y1" 1498 +* Obtaining IMEI (read only) 1499 +** addr_getstring("@W_HSW191",17) 1500 +* Obtaining ICCID (read only) 1501 +** addr_getstring("@W_HSW225",15) 1510 1510 1511 -2: Card insertion detected 1512 - 1513 -3: The card status is abnormal 1514 - 1515 -2.9 MQTT status addr_getword("@W_HSW180") (read only) 1516 - 1517 -1: online, 2: offline 1518 - 1519 -2.10 IO interface, X is read only, Y is read and write (H series) 1520 - 1521 -addr_getbit(addr1), addr_setbit(addr2) 1522 - 1523 -addr1:"@B_Y0" "@B_Y1" "@B_X0" "@B_X1" 1524 - 1525 -addr2:"@B_Y0" "@B_Y1" 1526 - 1527 1527 ((( 1528 1528 = **9 General Functions** = 1529 1529 )))