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
-
... ... @@ -627,13 +627,11 @@ 627 627 1. When the data bit is 8, the maximum value of data transmission is 255 (0xFF), which supports the transmission of any character. 628 628 629 629 ((( 630 -== ** 3.1serial.open(table setup)** ==630 +== **serial.open(table setup)** == 631 631 ))) 632 632 633 -**Function:** 633 +**Function:** Enable one serial port 634 634 635 -Enable one serial port 636 - 637 637 **Parameters:** 638 638 639 639 //Setup// is a Lua table; it needs to contain the following fields ... ... @@ -667,17 +667,13 @@ 667 667 Failed: multi 668 668 669 669 ((( 670 -== ** 3.2serial.close(serial obj)** ==668 +== **serial.close(serial obj)** == 671 671 ))) 672 672 673 -**Function:** 671 +**Function:** Disable the serial port 674 674 675 - Disable the serialport673 +**Parameters: **//Obj //is the object returned by serial.open 676 676 677 -**Parameters:** 678 - 679 -//Obj //is the object returned by serial.open 680 - 681 681 **Return:** 682 682 683 683 Succeed: true ... ... @@ -685,13 +685,11 @@ 685 685 Failed: multi 686 686 687 687 ((( 688 -== ** 3.3serial:read(number bytes[, number timeout])** ==682 +== **serial:read(number bytes[, number timeout])** == 689 689 ))) 690 690 691 -**Function:** 685 +**Function:** Read the specified byte length serial port data 692 692 693 -Read the specified byte length serial port data 694 - 695 695 **Parameters:** 696 696 697 697 //bytes//: number of bytes ... ... @@ -705,15 +705,13 @@ 705 705 Failed: multi 706 706 707 707 ((( 708 -== ** 3.4serial:write(string data)** ==700 +== **serial:write(string data)** == 709 709 ))) 710 710 711 -**Function:** 703 +**Function:** Write the specified byte length to serial port data 712 712 713 - Writehepecifiedbyte length to serial port data705 +**Parameters: ** 714 714 715 -**Parameters:** 716 - 717 717 //data//: serial port data 718 718 719 719 **Return:** ... ... @@ -723,13 +723,11 @@ 723 723 Failed: multi 724 724 725 725 ((( 726 -== ** 3.5serial:flush([number flag])** ==716 +== **serial:flush([number flag])** == 727 727 ))) 728 728 729 -**Function:** 719 +**Function:** Clear the serial port buffer 730 730 731 -Clear the serial port buffer 732 - 733 733 **Parameters:** 734 734 735 735 //[flag=2]// clear option: 0: read, 1: write, 2: read-write ... ... @@ -741,17 +741,13 @@ 741 741 Failed: multi 742 742 743 743 ((( 744 -== ** 3.6serial:close()** ==732 +== **serial:close()** == 745 745 ))) 746 746 747 -**Function:** 735 +**Function:** Close the serial port object 748 748 749 - Closeheserial port object737 +**Parameters:** None 750 750 751 -**Parameters:** 752 - 753 -None 754 - 755 755 **Return:** 756 756 757 757 Succeed: true ... ... @@ -768,12 +768,10 @@ 768 768 769 769 **QoS value:** 770 770 771 -0: Only push messages once, messages may be lost or duplicated. It can be used for environmental sensor data, it doesn't matter if lose a record, because there will be a second push message soon. This method is mainly used for normal APP push, but if the user smart device is not connected when the message is pushed, the message will be discarded, and the smart device will not be received when it is networked again. 755 +* 0: Only push messages once, messages may be lost or duplicated. It can be used for environmental sensor data, it doesn't matter if lose a record, because there will be a second push message soon. This method is mainly used for normal APP push, but if the user smart device is not connected when the message is pushed, the message will be discarded, and the smart device will not be received when it is networked again. 756 +* 1: The message is delivered at least once, but the message may be delivered repeatedly. 757 +* 2: The message was delivered exactly once. This level can be used in a billing system. In a billing system, repeated or missing messages can lead to incorrect results. This highest quality message push service can also be used for instant messaging APP pushes, ensuring that users only receive messages once. 772 772 773 -1: The message is delivered at least once, but the message may be delivered repeatedly. 774 - 775 -2: The message was delivered exactly once. This level can be used in a billing system. In a billing system, repeated or missing messages can lead to incorrect results. This highest quality message push service can also be used for instant messaging APP pushes, ensuring that users only receive messages once. 776 - 777 777 **Retain flag:** 778 778 779 779 0: not reserved; ... ... @@ -781,13 +781,11 @@ 781 781 1: reserved 782 782 783 783 ((( 784 -== ** 4.1mqtt.create(string serverurl, string clientid)** ==766 +== **mqtt.create(string serverurl, string clientid)** == 785 785 ))) 786 786 787 -**Function:** 769 +**Function:** Create an MQTT object 788 788 789 -Create an MQTT object 790 - 791 791 **Parameters:** 792 792 793 793 //serverurl //Server url ... ... @@ -809,17 +809,13 @@ 809 809 Failed: multi 810 810 811 811 ((( 812 -== ** 4.2mqtt.close(mqtt obj)** ==792 +== **mqtt.close(mqtt obj)** == 813 813 ))) 814 814 815 -**Function:** 795 +**Function:** Close the specified MQTT object (if the connected server will be disconnected automatically) 816 816 817 - ClosehepecifiedMQTT object(iftheconnectedserverwill be disconnectedautomatically)797 +**Parameters: **//Obj //is the objeced returned by mqtt.create 818 818 819 -**Parameters:** 820 - 821 -//Obj //is the objeced returned by mqtt.create 822 - 823 823 **Return:** 824 824 825 825 Succeed: true ... ... @@ -827,32 +827,25 @@ 827 827 Failed: multi 828 828 829 829 ((( 830 -== ** 4.3mqtt:connect(table conn[, table lwt, table cart])** ==806 +== **mqtt:connect(table conn[, table lwt, table cart])** == 831 831 ))) 832 832 833 -**Function:** 809 +**Function:**Establish a connection to the server 834 834 835 -Establish a connection to the server 836 - 837 837 **Parameters:** 838 838 839 839 //conn //is a Lua table and needs to contain the following fields 840 840 841 -//string conn.username//, user name 815 +* //string conn.username//, user name 816 +* //string conn.password//, password 817 +* //number [conn.netway=0]//, networking method, if set error number will use Ethernet method 818 +** 0: Ethernet 819 +** 1: WIFI 820 +** 2: 4G 821 +** 3: 2G 822 +* //number [conn.keepalive=60]//, keep connected heartbeat interval, in seconds 823 +* //number [conn.cleansession=1]//, empty the session as described below: 842 842 843 -//string conn.password//, password 844 - 845 -//number [conn.netway=0]//, networking method, if set error number will use Ethernet method 846 - 847 -* 0: Ethernet 848 -* 1: WIFI 849 -* 2: 4G 850 -* 3: 2G 851 - 852 -//number [conn.keepalive=60]//, keep connected heartbeat interval, in seconds 853 - 854 -//number [conn.cleansession=1]//, empty the session as described below: 855 - 856 856 This function is used to control the behavior when connecting and disconnecting, and the client and server will retain the session information. This information is used to guarantee "at least once" and "accurately once" delivery, as well as the subject of the client subscription, the user can choose to keep or ignore the session message, set as follows: 857 857 858 858 * 1 (Empty): If a session exists and is 1, the previous session messages on the client and server are emptied. ... ... @@ -860,14 +860,11 @@ 860 860 861 861 //lwt// (Last Will and Testament) is a Lua table and needs to contain the following fields 862 862 863 -//string lwt.topic//, topic 832 +* //string lwt.topic//, topic 833 +* //string lwt.message//, message 834 +* //number [lwt.qos=0]//, qos value 835 +* //number [lwt.retain=0]//, retain flag 864 864 865 -//string lwt.message//, message 866 - 867 -//number [lwt.qos=0]//, qos value 868 - 869 -//number [lwt.retain=0]//, retain flag 870 - 871 871 **Return:** 872 872 873 873 Succeed: true ... ... @@ -875,17 +875,13 @@ 875 875 Failed: multi 876 876 877 877 ((( 878 -== ** 4.4mqtt:disconnect([number timeout])** ==844 +== **mqtt:disconnect([number timeout])** == 879 879 ))) 880 880 881 -**Function:** 847 +**Function:** Disconnect from the MQTT server 882 882 883 -Disconnect fromtheMQTTserver849 +**Parameters: **//[timeout=10000] //Disconnect waiting timeout, in milliseconds 884 884 885 -**Parameters:** 886 - 887 -//[timeout=10000] //Disconnect waiting timeout, in milliseconds 888 - 889 889 **Return:** 890 890 891 891 Succeed: true ... ... @@ -893,17 +893,13 @@ 893 893 Failed: multi 894 894 895 895 ((( 896 -== ** 4.5mqtt:isconnected()** ==858 +== **mqtt:isconnected()** == 897 897 ))) 898 898 899 -**Function:** 861 +**Function:** Test whether or not a client is currently connected to the MQTT server 900 900 901 - Test whetheror notaclientis currently connectedto the MQTT server863 +**Parameters:** None 902 902 903 -**Parameters:** 904 - 905 -None 906 - 907 907 **Return:** 908 908 909 909 Succeed: true ~-~-Connected ... ... @@ -911,13 +911,11 @@ 911 911 Failed: false ~-~- Unconnected and other unknowns 912 912 913 913 ((( 914 -== ** 4.6mqtt:subscribe(string topic, number qos)** ==872 +== **mqtt:subscribe(string topic, number qos)** == 915 915 ))) 916 916 917 -**Function:** 875 +**Function: **Subscribe to the topic (before the subscription, the user must first call the connect method to connect to the server) 918 918 919 -Subscribe to the topic (before the subscription, the user must first call the connect method to connect to the server) 920 - 921 921 **Parameters:** 922 922 923 923 //topic//, topic name ... ... @@ -931,13 +931,11 @@ 931 931 Failed: multi 932 932 933 933 ((( 934 -== ** 4.7mqtt:unsubscribe(string topic)** ==890 +== **mqtt:unsubscribe(string topic)** == 935 935 ))) 936 936 937 -**Function:** 893 +**Function:** Unsubscribe topic 938 938 939 -Unsubscribe topic 940 - 941 941 **Parameters:** 942 942 943 943 //topic//, topic name ... ... @@ -949,13 +949,11 @@ 949 949 Failed: multi 950 950 951 951 ((( 952 -== ** 4.8mqtt:publish(string topic, string message, number qos, number retain[, number timeout])** ==906 +== **mqtt:publish(string topic, string message, number qos, number retain[, number timeout])** == 953 953 ))) 954 954 955 -**Function:** 909 +**Function:** Publish message 956 956 957 -Publish message 958 - 959 959 **Parameters:** 960 960 961 961 //topic//, topic name ... ... @@ -975,17 +975,13 @@ 975 975 Failed: multi 976 976 977 977 ((( 978 -== ** 4.9mqtt:close()** ==930 +== **mqtt:close()** == 979 979 ))) 980 980 981 -**Function:** 933 +**Function:** Close the mqtt object (the connection to the server will be automatically disconnected) 982 982 983 - Close themqtt object(theconnection to the server will be automatically disconnected)935 +**Parameters:** None 984 984 985 -**Parameters:** 986 - 987 -None 988 - 989 989 **Return:** 990 990 991 991 Succeed: true ... ... @@ -993,13 +993,11 @@ 993 993 Failed: multi 994 994 995 995 ((( 996 -== ** 4.10mqtt:on(string method, function callback)** ==944 +== **mqtt:on(string method, function callback)** == 997 997 ))) 998 998 999 -**Function:** 947 +**Function:** Register event callback function 1000 1000 1001 -Register event callback function 1002 - 1003 1003 **Parameters:** 1004 1004 1005 1005 //method//, It can be message/arrived/offline, these 3 types of events ... ... @@ -1012,20 +1012,17 @@ 1012 1012 1013 1013 Parameter: 1014 1014 1015 -//Topic//, topic name 961 +* //Topic//, topic name 962 +* //Message//, content 1016 1016 1017 - //Message//, content964 +**2."arrived" is published by publish, this function will be called after the publication arrives** 1018 1018 1019 -**2.**"arrived" is published by publish, this function will be called after the publication arrives 1020 - 1021 1021 //Callback// prototype~:// function ()// 1022 1022 1023 -Parameter: 968 +Parameter: None 1024 1024 1025 - None970 +**3.This function will be called after the "offline" connection is lost** 1026 1026 1027 -**3.**This function will be called after the "offline" connection is lost 1028 - 1029 1029 //Callback// prototype~:// function (string cause)// 1030 1030 1031 1031 Parameter: ... ... @@ -1039,17 +1039,13 @@ 1039 1039 Failed: multi 1040 1040 1041 1041 ((( 1042 -== ** 4.11mqtt:setup_cfg()** ==985 +== **mqtt:setup_cfg()** == 1043 1043 ))) 1044 1044 1045 -**Function:** 988 +**Function:** Cloud mode interface, to obtain MQTT information configured by the cloud platform 1046 1046 1047 - Cloudmodeinterface, toobtainMQTT information configured by the cloud platform990 +**Parameters:** None 1048 1048 1049 -**Parameters:** 1050 - 1051 -None 1052 - 1053 1053 **Return:** 1054 1054 1055 1055 //serverurl, clientid, conn, lwt, cart //(5 returns, respectively, server address, client ID, connection table, last word table, certificate table) ... ... @@ -1067,39 +1067,27 @@ 1067 1067 Lua only has a table data structure, so all arrays and key-value objects of json will be returned as a table. 1068 1068 1069 1069 ((( 1070 -== ** 5.1json.encode( lua_object )** ==1009 +== **json.encode( lua_object )** == 1071 1071 ))) 1072 1072 1073 -**Function:** 1012 +**Function: **Convert lua data type to json string 1074 1074 1075 - Convertlua data typetojson string1014 +**Parameters: **Lua data type (including boolean, number, string, table) 1076 1076 1077 -** Parameters:**1016 +**Return:** Json format string 1078 1078 1079 -Lua data type (including boolean, number, string, table) 1080 - 1081 -**Return:** 1082 - 1083 -Json format string 1084 - 1085 1085 ((( 1086 -== ** 5.2json.decode(string json_string)** ==1019 +== **json.decode(string json_string)** == 1087 1087 ))) 1088 1088 1089 -**Function:** 1022 +**Function:** Convert json string to lua data type 1090 1090 1091 - Convert jsonluadata type1024 +**Parameters: **//json_string//, string of json data structure 1092 1092 1093 -** Parameters:**1026 +**Return: **Lua data type 1094 1094 1095 -//json_string//, string of json data structure 1096 - 1097 -**Return:** 1098 - 1099 -Lua data type 1100 - 1101 1101 ((( 1102 -== ** 5.3json.null** ==1029 +== **json.null** == 1103 1103 ))) 1104 1104 1105 1105 **Function:** ... ... @@ -1106,32 +1106,24 @@ 1106 1106 1107 1107 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. 1108 1108 1109 -**Parameters:** 1036 +**Parameters:** None 1110 1110 1111 -None 1038 +**Return: **None 1112 1112 1113 -**Return:** 1114 - 1115 -None 1116 - 1117 1117 = **6 Cloud mode** = 1118 1118 1119 1119 The cloud interface is only used in cloud mode, and V-NET mode is not available. 1120 1120 1121 1121 ((( 1122 -== ** 6.1bns_get_alldata()** ==1045 +== **bns_get_alldata()** == 1123 1123 ))) 1124 1124 1125 -**Function:** 1048 +**Function:** Obtain all monitoring points (point table) data configured by the end user 1126 1126 1127 - 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 1128 1128 1129 - 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 1130 1130 1131 -**Parameters:** 1132 - 1133 -None 1134 - 1135 1135 **Return:** 1136 1136 1137 1137 Succeed: table two-dimensional array, the structure is as follows ... ... @@ -1161,13 +1161,11 @@ 1161 1161 Failed: //table// empty table 1162 1162 1163 1163 ((( 1164 -== ** 6.2bns_get_config(string from)** ==1083 +== **bns_get_config(string from)** == 1165 1165 ))) 1166 1166 1167 -**Function:** 1086 +**Function:** Obtain custom configuration parameters with the specified from type 1168 1168 1169 -Obtain custom configuration parameters with the specified from type 1170 - 1171 1171 **parameter:** 1172 1172 1173 1173 from type, there are the following two categories, the string must be all lowercase ... ... @@ -1185,13 +1185,11 @@ 1185 1185 Failed~:// table// empty table 1186 1186 1187 1187 ((( 1188 -== ** 6.3bns_get_data(string name, string data)** ==1105 +== **bns_get_data(string name, string data)** == 1189 1189 ))) 1190 1190 1191 -**Function:** 1108 +**Function:**write data to the name of the monitoring point 1192 1192 1193 -write data to the name of the monitoring point 1194 - 1195 1195 **parameter:** 1196 1196 1197 1197 //name //The name of the monitoring point ... ... @@ -1205,7 +1205,7 @@ 1205 1205 Failed: nil 1206 1206 1207 1207 ((( 1208 -== ** 6.4bns_get_data(string name)** ==1123 +== **bns_get_data(string name)** == 1209 1209 ))) 1210 1210 1211 1211 **Function:** ... ... @@ -1223,17 +1223,13 @@ 1223 1223 Failed: nil 1224 1224 1225 1225 ((( 1226 -== ** 6.5bns_get_datadesc()** ==1141 +== **bns_get_datadesc()** == 1227 1227 ))) 1228 1228 1229 -**Function:** 1144 +**Function: **Obtain all configured communication ports and monitoring point information 1230 1230 1231 - Obtain all configured communication portsand monitoring point information1146 +**Parameters:** None 1232 1232 1233 -**Parameters:** 1234 - 1235 -None 1236 - 1237 1237 **Return:** 1238 1238 1239 1239 Succeed: table three-dimensional array, the structure is as follows ... ... @@ -1286,17 +1286,13 @@ 1286 1286 Failed~:// table// empty table 1287 1287 1288 1288 ((( 1289 -== ** 6.6bns_get_machineinfo()** ==1200 +== **bns_get_machineinfo()** == 1290 1290 ))) 1291 1291 1292 -**Function:** 1203 +**Function:** get machine information 1293 1293 1294 - get machine information1205 +**Parameters:** None 1295 1295 1296 -**Parameters:** 1297 - 1298 -None 1299 - 1300 1300 **Return:** 1301 1301 1302 1302 Succeed: 3 string type results (model, machine code, software version) ... ... @@ -1304,13 +1304,11 @@ 1304 1304 Failed: nil 1305 1305 1306 1306 ((( 1307 -== ** 6.7bns_get_groupdata(string name)** ==1214 +== **bns_get_groupdata(string name)** == 1308 1308 ))) 1309 1309 1310 -**Function:** 1217 +**Function:** Get all monitoring point data under the specified group name 1311 1311 1312 -Get all monitoring point data under the specified group name 1313 - 1314 1314 **parameter:** 1315 1315 1316 1316 //Name // group name ... ... @@ -1322,17 +1322,13 @@ 1322 1322 Failed: //table// empty table 1323 1323 1324 1324 ((( 1325 -== ** 6.8bns_get_groupdesc()** ==1230 +== **bns_get_groupdesc()** == 1326 1326 ))) 1327 1327 1328 -**Function:** 1233 +**Function:** Get all group information 1329 1329 1330 - Getall group information1235 +**Parameters:** None 1331 1331 1332 -**Parameters:** 1333 - 1334 -None 1335 - 1336 1336 **Return:** 1337 1337 1338 1338 Succeed: //table// two-dimensional array, the structure is as follows ... ... @@ -1346,17 +1346,13 @@ 1346 1346 Failed: //table // empty table 1347 1347 1348 1348 ((( 1349 -== ** 6.9bns_get_onecache(string msg)** ==1250 +== **bns_get_onecache(string msg)** == 1350 1350 ))) 1351 1351 1352 -**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. 1353 1353 1354 - 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 1355 1355 1356 -**Parameters:** 1357 - 1358 -//msg// String 1359 - 1360 1360 **Return:** 1361 1361 1362 1362 Succeed: true ... ... @@ -1364,17 +1364,13 @@ 1364 1364 Failed: nil 1365 1365 1366 1366 ((( 1367 -== ** 6.10bns_get_allcache()** ==1264 +== **bns_get_allcache()** == 1368 1368 ))) 1369 1369 1370 -**Function:** 1267 +**Function:** Get all the cached content (once the internal cache file will be emptied) 1371 1371 1372 - Getall the cached content (oncethe internal cache file will be emptied)1269 +**Parameters:** None 1373 1373 1374 -**Parameters:** 1375 - 1376 -None 1377 - 1378 1378 **Return:** 1379 1379 1380 1380 Succeed: //table// one-dimensional array ... ... @@ -1402,11 +1402,55 @@ 1402 1402 Network communication includes Http request interface, this document does not provide interface description, please refer to the online document for how to use it. 1403 1403 1404 1404 ((( 1405 -== ** 7.1http request** ==1298 +== **http request** == 1406 1406 ))) 1407 1407 1408 1408 [[http:~~/~~/w3.impa.br/~~~~diego/software/luasocket/http.html#request>>url:http://w3.impa.br/~~diego/software/luasocket/http.html#request]] 1409 1409 1303 +== https request == 1304 + 1305 +Example: 1306 + 1307 +local json = require("json") 1308 + 1309 +local https = require("https") 1310 + 1311 +functions https_demo.main() 1312 + 1313 +local url = "https:~/~/XXXXXXXXXXXXXXXXXXXXXXXXXX" 1314 + 1315 +local body = {} 1316 + 1317 +body["XXXXXX"] = "XXXXX" 1318 + 1319 +body["XXXXXXX"] = "XXXXXXXXXXX" 1320 + 1321 +local bodyJson = json.encode(body) 1322 + 1323 +local header = {} 1324 + 1325 +header["content-type"] = "application/json" 1326 + 1327 +local result_table, code, headers, status = https.request(url, 1328 + 1329 +bodyJson) 1330 + 1331 +if code == 200 then 1332 + 1333 +print("https suc") 1334 + 1335 +return true 1336 + 1337 +else 1338 + 1339 +print("https fail") 1340 + 1341 +return nil 1342 + 1343 +end 1344 + 1345 +end 1346 + 1410 1410 ((( 1411 1411 = **8 Internal register** = 1412 1412 )))