Changes for page 01 Lua Functions

Last modified by Theodore Xu on 2023/10/26 10:51

From version 9.1
edited by Stone Wu
on 2022/07/25 11:32
Change comment: Renamed from xwiki:V-BOX.V-Net.1\.User Manual.04 Lua Script.01 Lua Functions.WebHome
To version 5.35
edited by Stone Wu
on 2022/07/12 11:00
Change comment: (Autosaved)

Summary

Details

Page properties
Content
... ... @@ -140,7 +140,7 @@
140 140  
141 141   Table 2-1
142 142  
143 -(% class="box infomessage" %)
143 +(% class="box errormessage" %)
144 144  (((
145 145  **✎Note: **If HLword enters any other value, it will be treated as invalid.
146 146  )))
... ... @@ -608,12 +608,11 @@
608 608  Attempting to use a script to open a serial port in an unsupported mode will result in an error directly, as below.
609 609  
610 610  |(((
611 -{{code language="LUA"}}
612 612  local setup = {
613 613  
614 614  name = "COM2",
615 615  
616 -mode = 422, -- COM2 does not support RS422
615 +mode = 422, ~-~- COM2 does not support RS422
617 617  
618 618  ...
619 619  
... ... @@ -620,7 +620,6 @@
620 620  }
621 621  
622 622  serial.open(setup)
623 -{{/code}}
624 624  )))
625 625  
626 626  **Data bit:**
... ... @@ -1065,9 +1065,8 @@
1065 1065  
1066 1066  If there is no custom configuration, return an empty table, otherwise, return with "field name/field content"
1067 1067  
1068 -**For example:**
1066 +E.g:
1069 1069  
1070 -{{code language="LUA"}}
1071 1071  {
1072 1072  
1073 1073  [1]= {[1]=1234, [2]=1, [3]='temp', [4]='23.5', [5]={"fruit"="apple"}},
... ... @@ -1080,8 +1080,7 @@
1080 1080  
1081 1081  }
1082 1082  
1083 -Failed: table empty table
1084 -{{/code}}
1080 +Failed: //table// empty table
1085 1085  
1086 1086  (((
1087 1087  == **bns_get_config(string from)** ==
... ... @@ -1161,15 +1161,13 @@
1161 1161  
1162 1162  Type (1: switch, 2: number, 3: string)
1163 1163  
1164 -**For example:**
1160 +E.g:
1161 + {
1165 1165  
1166 -{{code language="LUA"}}
1167 -{
1163 +[1]={~-~-The first communication port
1168 1168  
1169 -[1]={--The first communication port
1165 +[1]={~-~-monitoring point array of the first communication port
1170 1170  
1171 -[1]={--monitoring point array of the first communication port
1172 -
1173 1173  [1]={[1]=11,[2]='data1',[3]=3,[4]=2},
1174 1174  
1175 1175  [2]={[1]=12,[2]='data2',[3]=3,[4]=2},
... ... @@ -1176,23 +1176,23 @@
1176 1176  
1177 1177  ...
1178 1178  
1179 -[n]={[1]=xx,[2]='datan',[3]=x,[4]=x},--n monitoring points
1173 +[n]={[1]=xx,[2]='datan',[3]=x,[4]=x},~-~-n monitoring points
1180 1180  
1181 1181  },
1182 1182  
1183 -[2]=14, --ID
1177 +[2]=14, ~-~-ID
1184 1184  
1185 -[3]='Modbus TCP' --n monitoring points
1179 +[3]='Modbus TCP' ~-~-n monitoring points
1186 1186  
1187 1187  },
1188 1188  
1189 -[2]={--The second communication port
1183 +[2]={~-~-The second communication port
1190 1190  
1191 -[1]={},--The monitoring point of the second communication port is not configured and is empty
1185 +[1]={},~-~-The monitoring point of the second communication port is not configured and is empty
1192 1192  
1193 -[2]=15, --ID
1187 +[2]=15, ~-~-ID
1194 1194  
1195 -[3]='WECON' --communication protocol name
1189 +[3]='WECON' ~-~-communication protocol name
1196 1196  
1197 1197  },
1198 1198  
... ... @@ -1199,7 +1199,6 @@
1199 1199  ...n communication ports and so on
1200 1200  
1201 1201  }
1202 -{{/code}}
1203 1203  
1204 1204  Failed~:// table// empty table
1205 1205  
... ... @@ -1279,9 +1279,8 @@
1279 1279  
1280 1280  Succeed: //table// one-dimensional array
1281 1281  
1282 -**For example:**
1275 +E.g:
1283 1283  
1284 -{{code language="LUA"}}
1285 1285  {
1286 1286  
1287 1287  [1]="This is the oldest message", - the first is the oldest message
... ... @@ -1293,7 +1293,6 @@
1293 1293  [n]="This is the latest message", - the last is the latest message
1294 1294  
1295 1295  }
1296 -{{/code}}
1297 1297  
1298 1298  Failede: nil
1299 1299  
... ... @@ -1311,7 +1311,7 @@
1311 1311  
1312 1312  == **https request** ==
1313 1313  
1314 -**For example:**
1305 +Example
1315 1315  
1316 1316  {{code language="LUA"}}
1317 1317  local json = require("json")
... ... @@ -1367,7 +1367,7 @@
1367 1367  
1368 1368  **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.**
1369 1369  
1370 -**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.
1361 +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.
1371 1371  
1372 1372  (% class="box infomessage" %)
1373 1373  (((
... ... @@ -1389,7 +1389,7 @@
1389 1389  1. Access in bit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15".
1390 1390  
1391 1391  (((
1392 -== **Special data area (HSW/HSX)** ==
1383 +== **8.2 Special data area (HSW/HSX)** ==
1393 1393  
1394 1394  (% class="box infomessage" %)
1395 1395  (((
... ... @@ -1543,7 +1543,7 @@
1543 1543  Failed: multi
1544 1544  
1545 1545  (((
1546 -== **send_sms_ucs2(string number, string message)** ==
1537 +== **9.2 send_sms_ucs2(string number, string message)** ==
1547 1547  )))
1548 1548  
1549 1549  **Function:**
... ... @@ -1692,7 +1692,7 @@
1692 1692  * number [prarm.refin]: whether each byte of the data to be measured is inverted by bit, true or false.
1693 1693  * number [prarm.refout]: after the calculation or before the heterodyning output, whether the whole data is inverted by bit, true or false.
1694 1694  
1695 -**Return:**
1686 +Return:
1696 1696  
1697 1697  Success: crc object
1698 1698  
... ... @@ -1751,7 +1751,7 @@
1751 1751  Failed: multi, error code
1752 1752  )))
1753 1753  
1754 -**For example:**
1745 +Example:
1755 1755  
1756 1756  {{code language="LUA"}}
1757 1757  function crcTest.main()
... ... @@ -1813,9 +1813,8 @@
1813 1813  ** 2: timeout
1814 1814  * Customization returns an empty table if there is no configuration, otherwise returns "field name/field content"
1815 1815  
1816 -**For example:**
1807 +For example:
1817 1817  
1818 -{{code language="LUA"}}
1819 1819  {
1820 1820  
1821 1821  [1]= {[1]=1234, [2]=1, [3]='temp', [4]='23.5'},
... ... @@ -1829,7 +1829,6 @@
1829 1829  }
1830 1830  
1831 1831  Failed: table, empty table
1832 -{{/code}}
1833 1833  
1834 1834  == **normal_setdata_byname(string name, string data)** ==
1835 1835  
... ... @@ -1845,10 +1845,13 @@
1845 1845  
1846 1846  Succeed: string: The value of the monitor point before it is written
1847 1847  
1848 -Failed: nil
1837 +Failed: mil
1849 1849  
1850 1850  == **normal_getdata_byname(string name)** ==
1851 1851  
1841 +
1842 +
1843 +
1852 1852  **Function:** Read the data of the monitoring point name
1853 1853  
1854 1854  **Parameter:**
... ... @@ -1859,7 +1859,7 @@
1859 1859  
1860 1860  Succeed: string
1861 1861  
1862 -Failed: nil
1854 +Failed: mil
1863 1863  
1864 1864  = **11 MySQL database operation** =
1865 1865  
... ... @@ -1899,12 +1899,13 @@
1899 1899  
1900 1900  Succeed: status: returns the number of rows affected by SQL statement execution.
1901 1901  
1902 -Failed: nil, errorString
1894 +Failed: mil, errorString
1903 1903  
1904 1904  == **luaMySql.execWithResult(string statement)** ==
1905 1905  
1906 -**Function:** Execute the given SQL statement returning the result set (check)
1907 1907  
1899 +**Function:** Execute the given SQL statement returning the result set (che)
1900 +
1908 1908  **Parameter:**
1909 1909  
1910 1910  statement: the given SQL statement
... ... @@ -1911,210 +1911,6 @@
1911 1911  
1912 1912  **Return:**
1913 1913  
1914 -Succeed: table: returns the result set
1907 +Succeed: status: returns the number of rows affected by SQL statement execution.
1915 1915  
1916 -Failed: nil, errorString
1917 -
1918 -**For example:**
1919 -
1920 -{{code language="LUA"}}
1921 -mysql = require"mysqlclient"
1922 -
1923 -function DataInitRight()
1924 -
1925 -local dbName = "db_lua1"
1926 -
1927 -local user = "root"
1928 -
1929 -local pwd = "123456"
1930 -
1931 -local host = "192.168.56.186"
1932 -
1933 -local port = 3306
1934 -local character = "UTF8"
1935 -
1936 -mysql.init(dbName, user, pwd, host, port, character)
1937 -
1938 -end
1939 -
1940 -function ExecFunc()
1941 -
1942 -status, errorString = mysql.exec("delete from tb_lua1 where mykey =
1943 -
1944 -10;")
1945 -
1946 -if nil == status then
1947 -
1948 -print("ExecFunc() error:", errorString)
1949 -
1950 -return -1
1951 -
1952 -else
1953 -
1954 -print("the number of rows affected by the command:", status)
1955 -
1956 -end
1957 -
1958 -return 0
1959 -
1960 -end
1961 -
1962 -function ExecWithResultFunc()
1963 -
1964 -status, errorString = mysql.execWithResult("select * from tb_lua1;")
1965 -
1966 -if nil == status then
1967 -
1968 -print("ExecWithResultFunc() error:", errorString)
1969 -
1970 -return -1
1971 -
1972 -else
1973 -
1974 -print("ExecWithResultFunc()
1975 -
1976 -success
1977 -
1978 -: status
1979 -
1980 -type
1981 -
1982 -=
1983 -
1984 -",
1985 -
1986 -type(status))
1987 -
1988 -print("ExecWithResultFunc() success : status len = ", #status)
1989 -
1990 -local num = #status
1991 -
1992 -local i = 1
1993 -
1994 -if num > 0 then
1995 -
1996 -for i = 1, num, 1 do
1997 -
1998 -local var = string.format("select result[%d] :mykey = %d,
1999 -
2000 -value = %s", i, status[i].mykey, status[i].value)
2001 -
2002 -print(var)
2003 -
2004 -end
2005 -
2006 -end
2007 -
2008 -print("---------------")
2009 -
2010 -end
2011 -
2012 -return 0
2013 -end
2014 -
2015 -function luaMysql_apiTest.main()
2016 -
2017 -print("script running ...")
2018 -
2019 -DataInitRight()
2020 -
2021 ---use exec demo
2022 -
2023 -if ExecFunc() < 0 then
2024 -
2025 -return
2026 -
2027 -end
2028 -
2029 ---use execWithResult demo
2030 -
2031 -if ExecWithResultFunc() < 0 then
2032 -
2033 -return
2034 -
2035 -end
2036 -
2037 -print("script running success")
2038 -
2039 -end
2040 -{{/code}}
2041 -
2042 -= **12 Message summary algorithm** =
2043 -
2044 -== **hmac(string hash_func, string key, string message)** ==
2045 -
2046 -**Function:** HMAC calculate
2047 -
2048 -**Function name**
2049 -
2050 -hash_func:
2051 -
2052 -* [md5, sha1, sha224, sha256, sha384, sha512]
2053 -* [sha512_224, sha512_256, sha3_224, sha3_256]
2054 -* [sha3_384, sha3_512]
2055 -
2056 -**Parameter:**
2057 -
2058 -key: the key
2059 -
2060 -message: message content
2061 -
2062 -**Return:**
2063 -
2064 -Succeed: string, calculation result
2065 -
2066 -Failed: nil
2067 -
2068 -**For example:**
2069 -
2070 -{{code language="LUA"}}
2071 -local sha = require"sha2"
2072 -
2073 -function hmac_test.main()
2074 -
2075 -local hmac = sha.hmac
2076 -
2077 -print(hmac(sha.sha1,
2078 -
2079 -"your key", "your message"))
2080 -
2081 -end
2082 -{{/code}}
2083 -
2084 -== **sha(string message** ==
2085 -
2086 -**Function:** SHA calculate
2087 -
2088 -**Function name:**
2089 -
2090 -sha:
2091 -
2092 -* sha1, sha224, sha256, sha384, sha512]
2093 -* [sha512_224, sha512_256, sha3_224, sha3_256]
2094 -* [sha3_384, sha3_512]
2095 -
2096 -**Parameter:**
2097 -
2098 -key: the key
2099 -
2100 -message: message content
2101 -
2102 -**Return:**
2103 -
2104 -Succeed: string, calculation result
2105 -
2106 -Failed: nil
2107 -
2108 -For example:
2109 -
2110 -{{code language="LUA"}}
2111 -local sha = require"sha2"
2112 -
2113 -function sha_test.main()
2114 -
2115 -local sha256 = sha.sha256
2116 -
2117 -print(sha256("your message"))
2118 -
2119 -end
2120 -{{/code}}
1909 +Failed: mil, errorString