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,17 +958,20 @@ 958 958 959 959 Parameter: 960 960 961 -* //Topic//, topic name 962 -* //Message//, content 961 +//Topic//, topic name 963 963 964 - **2."arrived" ispublished by publish,this functionwill be called after the publicationarrives**963 +//Message//, content 965 965 965 +**2.**"arrived" is published by publish, this function will be called after the publication arrives 966 + 966 966 //Callback// prototype~:// function ()// 967 967 968 -Parameter: None969 +Parameter: 969 969 970 - **3.This functionwill becalled after the "offline" connection is lost**971 +None 971 971 973 +**3.**This function will be called after the "offline" connection is lost 974 + 972 972 //Callback// prototype~:// function (string cause)// 973 973 974 974 Parameter: ... ... @@ -982,13 +982,17 @@ 982 982 Failed: multi 983 983 984 984 ((( 985 -== **mqtt:setup_cfg()** == 988 +== **4.11 mqtt:setup_cfg()** == 986 986 ))) 987 987 988 -**Function:** Cloud mode interface, to obtain MQTT information configured by the cloud platform991 +**Function:** 989 989 990 - **Parameters:** None993 +Cloud mode interface, to obtain MQTT information configured by the cloud platform 991 991 995 +**Parameters:** 996 + 997 +None 998 + 992 992 **Return:** 993 993 994 994 //serverurl, clientid, conn, lwt, cart //(5 returns, respectively, server address, client ID, connection table, last word table, certificate table) ... ... @@ -1006,27 +1006,39 @@ 1006 1006 Lua only has a table data structure, so all arrays and key-value objects of json will be returned as a table. 1007 1007 1008 1008 ((( 1009 -== **json.encode( lua_object )** == 1016 +== **5.1 json.encode( lua_object )** == 1010 1010 ))) 1011 1011 1012 -**Function: Convert lua data type to json string1019 +**Function:** 1013 1013 1014 - **Parameters:**Lua data type(includingboolean,number,string, table)1021 +Convert lua data type to json string 1015 1015 1016 -** Return:**Json format string1023 +**Parameters:** 1017 1017 1025 +Lua data type (including boolean, number, string, table) 1026 + 1027 +**Return:** 1028 + 1029 +Json format string 1030 + 1018 1018 ((( 1019 -== **json.decode(string json_string)** == 1032 +== **5.2 json.decode(string json_string)** == 1020 1020 ))) 1021 1021 1022 -**Function:** Convert json string to lua data type1035 +**Function:** 1023 1023 1024 - **Parameters:**//json_string//,string ofjsondatastructure1037 +Convert json string to lua data type 1025 1025 1026 -** Return:Lua data type1039 +**Parameters:** 1027 1027 1041 +//json_string//, string of json data structure 1042 + 1043 +**Return:** 1044 + 1045 +Lua data type 1046 + 1028 1028 ((( 1029 -== **json.null** == 1048 +== **5.3 json.null** == 1030 1030 ))) 1031 1031 1032 1032 **Function:** ... ... @@ -1033,24 +1033,32 @@ 1033 1033 1034 1034 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. 1035 1035 1036 -**Parameters:** None1055 +**Parameters:** 1037 1037 1038 - **Return: **None1057 +None 1039 1039 1059 +**Return:** 1060 + 1061 +None 1062 + 1040 1040 = **6 Cloud mode** = 1041 1041 1042 1042 The cloud interface is only used in cloud mode, and V-NET mode is not available. 1043 1043 1044 1044 ((( 1045 -== **bns_get_alldata()** == 1068 +== **6.1 bns_get_alldata()** == 1046 1046 ))) 1047 1047 1048 -**Function:** Obtain all monitoring points (point table) data configured by the end user1071 +**Function:** 1049 1049 1050 - **✎Note: **Assumingtherearetiming scripts A and B with a period of 1 second,ifthisfunctionis called inscriptA,the datawill not beobtainedif calledinscript B1073 +Obtain all monitoring points (point table) data configured by the end user 1051 1051 1052 - **Parameters:** None1075 +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 1053 1053 1077 +**Parameters:** 1078 + 1079 +None 1080 + 1054 1054 **Return:** 1055 1055 1056 1056 Succeed: table two-dimensional array, the structure is as follows ... ... @@ -1080,11 +1080,13 @@ 1080 1080 Failed: //table// empty table 1081 1081 1082 1082 ((( 1083 -== **bns_get_config(string from)** == 1110 +== **6.2 bns_get_config(string from)** == 1084 1084 ))) 1085 1085 1086 -**Function:** Obtain custom configuration parameters with the specified from type1113 +**Function:** 1087 1087 1115 +Obtain custom configuration parameters with the specified from type 1116 + 1088 1088 **parameter:** 1089 1089 1090 1090 from type, there are the following two categories, the string must be all lowercase ... ... @@ -1102,11 +1102,13 @@ 1102 1102 Failed~:// table// empty table 1103 1103 1104 1104 ((( 1105 -== **bns_get_data(string name, string data)** == 1134 +== **6.3 bns_get_data(string name, string data)** == 1106 1106 ))) 1107 1107 1108 -**Function:** write data to the name of the monitoring point1137 +**Function:** 1109 1109 1139 +write data to the name of the monitoring point 1140 + 1110 1110 **parameter:** 1111 1111 1112 1112 //name //The name of the monitoring point ... ... @@ -1120,7 +1120,7 @@ 1120 1120 Failed: nil 1121 1121 1122 1122 ((( 1123 -== **bns_get_data(string name)** == 1154 +== **6.4 bns_get_data(string name)** == 1124 1124 ))) 1125 1125 1126 1126 **Function:** ... ... @@ -1138,13 +1138,17 @@ 1138 1138 Failed: nil 1139 1139 1140 1140 ((( 1141 -== **bns_get_datadesc()** == 1172 +== **6.5 bns_get_datadesc()** == 1142 1142 ))) 1143 1143 1144 -**Function: Obtain all configured communication ports and monitoring point information1175 +**Function:** 1145 1145 1146 - **Parameters:** None1177 +Obtain all configured communication ports and monitoring point information 1147 1147 1179 +**Parameters:** 1180 + 1181 +None 1182 + 1148 1148 **Return:** 1149 1149 1150 1150 Succeed: table three-dimensional array, the structure is as follows ... ... @@ -1197,13 +1197,17 @@ 1197 1197 Failed~:// table// empty table 1198 1198 1199 1199 ((( 1200 -== **bns_get_machineinfo()** == 1235 +== **6.6 bns_get_machineinfo()** == 1201 1201 ))) 1202 1202 1203 -**Function:** get machine information1238 +**Function:** 1204 1204 1205 - **Parameters:** None1240 +get machine information 1206 1206 1242 +**Parameters:** 1243 + 1244 +None 1245 + 1207 1207 **Return:** 1208 1208 1209 1209 Succeed: 3 string type results (model, machine code, software version) ... ... @@ -1211,11 +1211,13 @@ 1211 1211 Failed: nil 1212 1212 1213 1213 ((( 1214 -== **bns_get_groupdata(string name)** == 1253 +== **6.7 bns_get_groupdata(string name)** == 1215 1215 ))) 1216 1216 1217 -**Function:** Get all monitoring point data under the specified group name1256 +**Function:** 1218 1218 1258 +Get all monitoring point data under the specified group name 1259 + 1219 1219 **parameter:** 1220 1220 1221 1221 //Name // group name ... ... @@ -1227,13 +1227,17 @@ 1227 1227 Failed: //table// empty table 1228 1228 1229 1229 ((( 1230 -== **bns_get_groupdesc()** == 1271 +== **6.8 bns_get_groupdesc()** == 1231 1231 ))) 1232 1232 1233 -**Function:** Get all group information1274 +**Function:** 1234 1234 1235 - **Parameters:** None1276 +Get all group information 1236 1236 1278 +**Parameters:** 1279 + 1280 +None 1281 + 1237 1237 **Return:** 1238 1238 1239 1239 Succeed: //table// two-dimensional array, the structure is as follows ... ... @@ -1247,13 +1247,17 @@ 1247 1247 Failed: //table // empty table 1248 1248 1249 1249 ((( 1250 -== **bns_get_onecache(string msg)** == 1295 +== **6.9 bns_get_onecache(string msg)** == 1251 1251 ))) 1252 1252 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.1298 +**Function:** 1254 1254 1255 - **Parameters:**//msg//String1300 +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. 1256 1256 1302 +**Parameters:** 1303 + 1304 +//msg// String 1305 + 1257 1257 **Return:** 1258 1258 1259 1259 Succeed: true ... ... @@ -1261,13 +1261,17 @@ 1261 1261 Failed: nil 1262 1262 1263 1263 ((( 1264 -== **bns_get_allcache()** == 1313 +== **6.10 bns_get_allcache()** == 1265 1265 ))) 1266 1266 1267 -**Function:** Get all the cached content (once the internal cache file will be emptied)1316 +**Function:** 1268 1268 1269 - **Parameters:** None1318 +Get all the cached content (once the internal cache file will be emptied) 1270 1270 1320 +**Parameters:** 1321 + 1322 +None 1323 + 1271 1271 **Return:** 1272 1272 1273 1273 Succeed: //table// one-dimensional array ... ... @@ -1295,232 +1295,194 @@ 1295 1295 Network communication includes Http request interface, this document does not provide interface description, please refer to the online document for how to use it. 1296 1296 1297 1297 ((( 1298 -== **http request** == 1351 +== **7.1 http request** == 1299 1299 ))) 1300 1300 1301 1301 [[http:~~/~~/w3.impa.br/~~~~diego/software/luasocket/http.html#request>>url:http://w3.impa.br/~~diego/software/luasocket/http.html#request]] 1302 1302 1303 -== **https request** == 1356 +((( 1357 += **8 Internal register** = 1358 +))) 1304 1304 1305 - Example:1360 +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): 1306 1306 1307 -{{code language="LUA"}} 1308 -local json = require("json") 1362 +**~1. **Access by word, prefix @W_HDW, 1309 1309 1310 - local https=require("https")1364 +For example: @W_HDW0 represents the first word of the system data area, @W_HDW1 represents the second word of the system data area. 1311 1311 1312 - functionshttps_demo.main()1366 +**2. **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. 1313 1313 1314 -loca lurl="https://XXXXXXXXXXXXXXXXXXXXXXXXXX"1368 +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. 1315 1315 1316 - localbody = {}1370 +**✎Note: ** 1317 1317 1318 - body["XXXXXX"]="XXXXX"1372 +**~1. **The address in @B_HDX is taken from the word in @W_HDW, so pay special attention when using the address. 1319 1319 1320 -body ["XXXXXXX"]="XXXXXXXXXXX"1374 +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. 1321 1321 1322 - localbodyJson=json.encode(body)1376 +**2.**The address of the bit address @B_HDX has a decimal point, while the word address is an integer. 1323 1323 1324 -local header = {} 1378 +((( 1379 +== **8.1 Data storage area(HDW/HDX)** == 1380 +))) 1325 1325 1326 -hea der["content-type"]= "application/json"1382 +The system storage area (HDW) of the V-BOX is used to store temporary data: 1327 1327 1328 - localresult_table,code, headers,status= https.request(url,1384 +~1. Access by word, the number range is: "@W_HDW0"-"@W_HDW299999". 1329 1329 1330 -bod yJson)1386 +2. Access in bit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15". 1331 1331 1332 -if code == 200 then 1388 +((( 1389 +== **8.2 Special data area (HSW/HSX)** == 1390 +))) 1333 1333 1334 - print("httpssuc")1392 +**✎Note: ** 1335 1335 1336 -return true 1394 +//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). 1337 1337 1338 -else 1396 +//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. 1339 1339 1340 -pri nt("https fail")1398 +1.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: 1341 1341 1342 -return nil 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 1343 1343 1344 -e nd1467 +2. Other 1345 1345 1346 -end 1347 -{{/code}} 1469 +2.1 Access password: addr_getstring("@W_HSW27", 16) 1348 1348 1349 -((( 1350 -= **8 Internal register** = 1351 -))) 1471 +2.2 Machine code: addr_getstring("@W_HSW60", 64) 1352 1352 1353 - Theinternal registersof the box are divided into bit addresses andword addresses, which can be accessedin two ways(takingHDW asanexample):1473 +2.3 Positioning method (@W_HSW167): (read only) 1354 1354 1355 - **Accessbyword, prefix @W_HDW.**1475 +~1. Latitude and longitude 1356 1356 1357 - For example: @W_HDW0 represents the firstwordof thesystem data area,@W_HDW1 represents the secondword of the system data area.1477 +Longitude: addr_getdouble("@W_HSW168") (read only) 1358 1358 1359 - **Accessin bitmode,the prefix is @B_HDX, thenumber in front of"."indicates the numberof theword,andthe number behind is the bit numberof the word.**1479 +Latitude: addr_getdouble("@W_HSW172") (read only) 1360 1360 1361 - For example: @B_HDX1020.12,its meaning isto accessthesystem data areainbit mode, thespecific locations the 13th bit of the 1020th word.1481 +2. Base station positioning 1362 1362 1363 -(% class="box infomessage" %) 1364 -((( 1365 -**✎Note: ** 1483 +LAC: addr_getdword("@W_HSW168") (read only) 1366 1366 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 -))) 1485 +CI: addr_getdword("@W_HSW172") (read only) 1371 1371 1487 +2.4 Convert base station to latitude and longitude via API 1372 1372 1373 -((( 1374 -== **Data storage area(HDW/HDX)** == 1375 -))) 1489 +Longitude: addr_getdouble("@W_HSW187") (read only) 1376 1376 1377 - The system storage area(HDW)of theV-BOX is usedtostore temporarydata:1491 +Latitude: addr_getdouble("@W_HSW183") (read only) 1378 1378 1379 -1. Access by word, the number range is: "@W_HDW0"-"@W_HDW299999". 1380 -1. Access in bit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15". 1493 +2.5 Operator information: addr_getdword("@W_HSW181") (read only) 1381 1381 1382 -((( 1383 -== **8.2 Special data area (HSW/HSX)** == 1495 +2.6 Networking mode: addr_getword("@W_HSW177") (read only) 1384 1384 1385 -(% class="box infomessage" %) 1386 -((( 1387 -**✎Note: ** 1497 +0: Ethernet, 1: WIFI, 2: 4G, 3: 2G 1388 1388 1389 -* //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). 1390 -* //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. 1391 -))) 1392 -))) 1499 +2.7 Map fence flag: addr_getword("@W_HSW178") (read only) 1393 1393 1394 - Thesystemdataarea (HSW) ofthebox is usedfor system special registers(system reserved). Use //addr_getword// to obtain the following register information:1501 +0: No map fence is drawn 1395 1395 1396 -(% class="table-bordered" %) 1397 -|=(% style="width: 151px;" %)address|=(% style="width: 169px;" %)function|=(% style="width: 456px;" %)Read and write status: read only, write only, read and write 1398 -|(% style="width:151px" %)@W_HSW0|(% style="width:169px" %)restart|(% style="width:456px" %)read and write 1399 -|(% style="width:151px" %)@W_HSW1|(% style="width:169px" %)Box time: year|(% style="width:456px" %)read and write 1400 -|(% style="width:151px" %)@W_HSW2|(% style="width:169px" %)Box time: month|(% style="width:456px" %)read and write 1401 -|(% style="width:151px" %)@W_HSW3|(% style="width:169px" %)Box time: day|(% style="width:456px" %)read and write 1402 -|(% style="width:151px" %)@W_HSW4|(% style="width:169px" %)Box time: hour|(% style="width:456px" %)read and write 1403 -|(% style="width:151px" %)@W_HSW5|(% style="width:169px" %)Box time: minute|(% style="width:456px" %)read and write 1404 -|(% style="width:151px" %)@W_HSW6|(% style="width:169px" %)Box time: second|(% style="width:456px" %)read and write 1405 -|(% style="width:151px" %)@W_HSW7|(% style="width:169px" %)Box time: week|(% style="width:456px" %)read and write 1406 -|(% style="width:151px" %)@W_HSW8|(% style="width:169px" %)Ethernet IP1|(% style="width:456px" %)read only 1407 -|(% style="width:151px" %)@W_HSW9|(% style="width:169px" %)Ethernet IP2|(% style="width:456px" %)read only 1408 -|(% style="width:151px" %)@W_HSW10|(% style="width:169px" %)Ethernet IP3|(% style="width:456px" %)read only 1409 -|(% style="width:151px" %)@W_HSW11|(% style="width:169px" %)Ethernet IP4|(% style="width:456px" %)read only 1410 -|(% style="width:151px" %)@W_HSW12|(% style="width:169px" %)Ethernet Mask 1|(% style="width:456px" %)read only 1411 -|(% style="width:151px" %)@W_HSW13|(% style="width:169px" %)Ethernet Mask 2|(% style="width:456px" %)read only 1412 -|(% style="width:151px" %)@W_HSW14|(% style="width:169px" %)Ethernet Mask 3|(% style="width:456px" %)read only 1413 -|(% style="width:151px" %)@W_HSW15|(% style="width:169px" %)Ethernet Mask 4|(% style="width:456px" %)read only 1414 -|(% style="width:151px" %)@W_HSW16|(% style="width:169px" %)Ethernet Gateway 1|(% style="width:456px" %)read only 1415 -|(% style="width:151px" %)@W_HSW17|(% style="width:169px" %)Ethernet Gateway 2|(% style="width:456px" %)read only 1416 -|(% style="width:151px" %)@W_HSW18|(% style="width:169px" %)Ethernet Gateway 3|(% style="width:456px" %)read only 1417 -|(% style="width:151px" %)@W_HSW19|(% style="width:169px" %)Ethernet Gateway 4|(% style="width:456px" %)read only 1418 -|(% style="width:151px" %)@W_HSW21|(% style="width:169px" %)Ethernet MAC1|(% style="width:456px" %)read only 1419 -|(% style="width:151px" %)@W_HSW22|(% style="width:169px" %)Ethernet MAC2|(% style="width:456px" %)read only 1420 -|(% style="width:151px" %)@W_HSW23|(% style="width:169px" %)Ethernet MAC3|(% style="width:456px" %)read only 1421 -|(% style="width:151px" %)@W_HSW24|(% style="width:169px" %)Ethernet MAC4|(% style="width:456px" %)read only 1422 -|(% style="width:151px" %)@W_HSW25|(% style="width:169px" %)Ethernet MAC3|(% style="width:456px" %)read only 1423 -|(% style="width:151px" %)@W_HSW26|(% style="width:169px" %)Ethernet MAC4|(% style="width:456px" %)read only 1424 -|(% style="width:151px" %)@W_HSW128|(% style="width:169px" %)WIFI IP1|(% style="width:456px" %)read only 1425 -|(% style="width:151px" %)@W_HSW129|(% style="width:169px" %)WIFI IP2|(% style="width:456px" %)read only 1426 -|(% style="width:151px" %)@W_HSW130|(% style="width:169px" %)WIFI IP3|(% style="width:456px" %)read only 1427 -|(% style="width:151px" %)@W_HSW131|(% style="width:169px" %)WIFI IP4|(% style="width:456px" %)read only 1428 -|(% style="width:151px" %)@W_HSW132|(% style="width:169px" %)WIFI Mask 1|(% style="width:456px" %)read only 1429 -|(% style="width:151px" %)@W_HSW133|(% style="width:169px" %)WIFI Mask 2|(% style="width:456px" %)read only 1430 -|(% style="width:151px" %)@W_HSW134|(% style="width:169px" %)WIFI Mask 3|(% style="width:456px" %)read only 1431 -|(% style="width:151px" %)@W_HSW135|(% style="width:169px" %)WIFI Mask 4|(% style="width:456px" %)read only 1432 -|(% style="width:151px" %)@W_HSW136|(% style="width:169px" %)WIFI Gateway 1|(% style="width:456px" %)read only 1433 -|(% style="width:151px" %)@W_HSW137|(% style="width:169px" %)WIFI Gateway 2|(% style="width:456px" %)read only 1434 -|(% style="width:151px" %)@W_HSW138|(% style="width:169px" %)WIFI Gateway 3|(% style="width:456px" %)read only 1435 -|(% style="width:151px" %)@W_HSW139|(% style="width:169px" %)WIFI Gateway 4|(% style="width:456px" %)read only 1436 -|(% style="width:151px" %)@W_HSW140|(% style="width:169px" %)WIFI MAC1|(% style="width:456px" %)read only 1437 -|(% style="width:151px" %)@W_HSW141|(% style="width:169px" %)WIFI MAC2|(% style="width:456px" %)read only 1438 -|(% style="width:151px" %)@W_HSW142|(% style="width:169px" %)WIFI MAC3|(% style="width:456px" %)read only 1439 -|(% style="width:151px" %)@W_HSW143|(% style="width:169px" %)WIFI MAC4|(% style="width:456px" %)read only 1440 -|(% style="width:151px" %)@W_HSW144|(% style="width:169px" %)WIFI MAC5|(% style="width:456px" %)read only 1441 -|(% style="width:151px" %)@W_HSW145|(% style="width:169px" %)WIFI MAC6|(% style="width:456px" %)read only 1442 -|(% style="width:151px" %)@W_HSW146|(% style="width:169px" %)WIFI Signal value|(% style="width:456px" %)read only 1443 -|(% style="width:151px" %)@W_HSW148|(% style="width:169px" %)4G IP1|(% style="width:456px" %)read only 1444 -|(% style="width:151px" %)@W_HSW149|(% style="width:169px" %)4G IP2|(% style="width:456px" %)read only 1445 -|(% style="width:151px" %)@W_HSW150|(% style="width:169px" %)4G IP3|(% style="width:456px" %)read only 1446 -|(% style="width:151px" %)@W_HSW151|(% style="width:169px" %)4G IP4|(% style="width:456px" %)read only 1447 -|(% style="width:151px" %)@W_HSW152|(% style="width:169px" %)4G Mask 1|(% style="width:456px" %)read only 1448 -|(% style="width:151px" %)@W_HSW153|(% style="width:169px" %)4G Mask 2|(% style="width:456px" %)read only 1449 -|(% style="width:151px" %)@W_HSW154|(% style="width:169px" %)4G Mask 3|(% style="width:456px" %)read only 1450 -|(% style="width:151px" %)@W_HSW155|(% style="width:169px" %)4G Mask 4|(% style="width:456px" %)read only 1451 -|(% style="width:151px" %)@W_HSW156|(% style="width:169px" %)4G Gateway 1|(% style="width:456px" %)read only 1452 -|(% style="width:151px" %)@W_HSW157|(% style="width:169px" %)4G Gateway 2|(% style="width:456px" %)read only 1453 -|(% style="width:151px" %)@W_HSW158|(% style="width:169px" %)4G Gateway 3|(% style="width:456px" %)read only 1454 -|(% style="width:151px" %)@W_HSW159|(% style="width:169px" %)4G Gateway 4|(% style="width:456px" %)read only 1455 -|(% style="width:151px" %)@W_HSW160|(% style="width:169px" %)4G MAC1|(% style="width:456px" %)read only 1456 -|(% style="width:151px" %)@W_HSW161|(% style="width:169px" %)4G MAC2|(% style="width:456px" %)read only 1457 -|(% style="width:151px" %)@W_HSW162|(% style="width:169px" %)4G MAC3|(% style="width:456px" %)read only 1458 -|(% style="width:151px" %)@W_HSW163|(% style="width:169px" %)4G MAC4|(% style="width:456px" %)read only 1459 -|(% style="width:151px" %)@W_HSW164|(% style="width:169px" %)4G MAC5|(% style="width:456px" %)read only 1460 -|(% style="width:151px" %)@W_HSW165|(% style="width:169px" %)4G MAC6|(% style="width:456px" %)read only 1461 -|(% style="width:151px" %)@W_HSW166|(% style="width:169px" %)4G Signal value|(% style="width:456px" %)read only 1503 +1: Draw a map fence and the box is in the fence 1462 1462 1463 - **Others**1505 +2: Draw a map fence and the box is not in the fence 1464 1464 1465 -* Access password: addr_getstring("@W_HSW27", 16) 1466 -* Machine code: addr_getstring("@W_HSW60", 64) 1467 -* Positioning method (@W_HSW167): (read only) 1468 -** Latitude and longitude 1469 -*** Longitude: addr_getdouble("@W_HSW168") (read only) 1470 -*** Latitude: addr_getdouble("@W_HSW172") (read only) 1471 -** Base station positioning 1472 -*** LAC: addr_getdword("@W_HSW168") (read only) 1473 -*** CI: addr_getdword("@W_HSW172") (read only) 1474 -* Convert base station to latitude and longitude via API 1475 -** Longitude: addr_getdouble("@W_HSW187") (read only) 1476 -** Latitude: addr_getdouble("@W_HSW183") (read only) 1477 -* Operator information: addr_getdword("@W_HSW181") (read only) 1478 -* Networking mode: addr_getword("@W_HSW177") (read only) 1479 -** 0: Ethernet 1480 -** 1: WIFI 1481 -** 2: 4G 1482 -** 3: 2G 1483 -* Map fence flag: addr_getword("@W_HSW178") (read only) 1484 -** 0: No map fence is drawn 1485 -** 1: Draw a map fence and the box is in the fence 1486 -** 2: Draw a map fence and the box is not in the fence 1487 -* SIM card status addr_getword("@W_HSW179") (read only) 1488 -** 1: No card detected 1489 -** 2: Card insertion detected 1490 -** 3: The card status is abnormal 1491 -* MQTT status addr_getword("@W_HSW180") (read only) 1492 -** 1: online, 2: offline 1493 -* IO interface, X is read only, Y is read and write (H series) 1494 -** addr_getbit(addr1), addr_setbit(addr2) 1495 -** addr1:"@B_Y0" "@B_Y1" "@B_X0" "@B_X1" 1496 -** addr2:"@B_Y0" "@B_Y1" 1497 -* Obtaining IMEI (read only) 1498 -** addr_getstring("@W_HSW191",17) 1499 -* Obtaining ICCID (read only) 1500 -** addr_getstring("@W_HSW225",15) 1507 +2.8 SIM card status addr_getword("@W_HSW179") (read only) 1501 1501 1502 -((( 1503 -== **Power-down storage area (HAW/HAX)** == 1509 +1: No card detected 1504 1504 1505 - Thesystem storage area(HAW)isused forhe system power-downholdregisters:1511 +2: Card insertion detected 1506 1506 1507 -1. Accessed as a word, numbered in the range: "@W_HAW0"-"@W_HAW199999". 1508 -1. Accessed by bit, the numbering range is: "@B_HAX0.0"-"@B_HAX199999.15". 1513 +3: The card status is abnormal 1509 1509 1510 -(% class="box infomessage" %) 1511 -((( 1512 -**✎Note:** HAW/HAX is a power-down hold, that is, the registers of this type can retain the data before power-down in case of power-down. 1513 -))) 1515 +2.9 MQTT status addr_getword("@W_HSW180") (read only) 1514 1514 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 +((( 1515 1515 = **9 General Functions** = 1516 1516 ))) 1517 1517 1518 1518 ((( 1519 -== **send_sms_ira(string number, string message)** == 1532 +== **9.1 send_sms_ira(string number, string message)** == 1520 1520 ))) 1521 1521 1522 -**Function:** Use IRA character set to send English text messages1535 +**Function:** 1523 1523 1537 +Use IRA character set to send English text messages 1538 + 1524 1524 **Parameters:** 1525 1525 1526 1526 //number: //number (up to 32 characters, the excess will be discarded) ... ... @@ -1554,11 +1554,13 @@ 1554 1554 Failed: multi 1555 1555 1556 1556 ((( 1557 -== **sms_get_state(number id)** == 1572 +== **9.3 sms_get_state(number id)** == 1558 1558 ))) 1559 1559 1560 -**Function:** Get the status of the SMS1575 +**Function:** 1561 1561 1577 +Get the status of the SMS 1578 + 1562 1562 **parameter:** 1563 1563 1564 1564 //id~:// SMS corresponding id ... ... @@ -1570,11 +1570,13 @@ 1570 1570 Failed: multi 1571 1571 1572 1572 ((( 1573 -== **jwt_encode(table head, table payload, string aud, number iat, number exp, string key, int jwttype)** == 1590 +== **9.4 jwt_encode(table head, table payload, string aud, number iat, number exp, string key, int jwttype)** == 1574 1574 ))) 1575 1575 1576 -**Function:** Convert data to JWT format1593 +**Function:** 1577 1577 1595 +Convert data to JWT format 1596 + 1578 1578 **parameter:** 1579 1579 1580 1580 //aud: //project name ... ... @@ -1619,20 +1619,19 @@ 1619 1619 1620 1620 //key~:// the private key required for encryption 1621 1621 1622 - **For example:**1641 +For example: 1623 1623 1624 -{{code language="LUA"}} 1625 1625 function jwt.main() 1626 1626 1627 -local PRIVATE_KEY = [[-- Please enter the secret key--]] 1645 +local PRIVATE_KEY = ~[~[~-~- Please enter the secret key~-~-]] 1628 1628 1629 1629 local JWTType=0 1630 1630 1631 -local payload = {{key="test1",value="test1",type="0"}, 1649 +local payload = ~{~{key="test1",value="test1",type="0"}, 1632 1632 1633 1633 {key="test",value="123122131",type="1"}} 1634 1634 1635 -local head = {{ key="name",value="data",type="0"}, 1653 +local head = ~{~{ key="name",value="data",type="0"}, 1636 1636 1637 1637 {key="test2",value="test2",type="0"}} 1638 1638 ... ... @@ -1647,14 +1647,15 @@ 1647 1647 print(en) 1648 1648 1649 1649 End 1650 -{{/code}} 1651 1651 1652 1652 ((( 1653 -== **convertohex(number type, number value)** == 1670 +== **9.5 convertohex(number type, number value)** == 1654 1654 ))) 1655 1655 1656 -**Function:** Convert data into hexadecimal data1673 +**Function:** 1657 1657 1675 +Convert data into hexadecimal data 1676 + 1658 1658 **parameter:** 1659 1659 1660 1660 //type~:// incoming data type 0:word 1:dword 2:float ... ... @@ -1667,28 +1667,14 @@ 1667 1667 1668 1668 Failed: multi 1669 1669 1670 -== **crc.init(table prarm)** == 1671 - 1672 -**Function:** Initialize the CRC 1673 - 1674 -**Parameters:** 1675 - 1676 -prarm is a Lua table and needs to contain the following fields. 1677 - 1678 -* string prarm name, see table 9-1 for details of the parameter model name When this parameter is passed in, the default table parameters are used and the poly,init,xorout,refin,and refout passed in are invalid. 1679 -* number prarm.width: the width, i.e. the number of CRC bits. 1680 -* number [prarm.poly]: short for the generated item in hexadecimal. For example, CRC-32 is 0x04C11DB7, ignoring the highest bit "1", i.e., the complete generation item is 0x104C11DB7. 1681 -* number [prarm.init]: the initialization preset value of the register (crc) at the beginning of the algorithm in hexadecimal. 1682 -* number [prarm.xorout], the final CRC value obtained after heterodyning the calculation result with this parameter. 1683 -* number [prarm.refin], whether each byte of the data to be measured is inverted by bit, true or false. 1684 -* number [prarm.refout], after the calculation and before the heterodyning output, whether the whole data is inverted by bit, true or false. Return: success: crc object Failure: multi, error code 1685 - 1686 1686 ((( 1687 -== **set_network(table config)** == 1690 +== **9.6 set_network(table config)** == 1688 1688 ))) 1689 1689 1690 -**Function:** Set V-BOX network, take effect after restart1693 +**Function:** 1691 1691 1695 +Set V-BOX network, take effect after restart 1696 + 1692 1692 **parameter:** 1693 1693 1694 1694 //config~:// incoming network configuration table