Changes for page 01 Lua Functions

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

From version 5.35
edited by Stone Wu
on 2022/07/12 11:00
Change comment: (Autosaved)
To version 12.1
edited by Hunter
on 2023/02/18 15:29
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -V-BOX.V-Net.1\.User Manual.04 Lua Script.WebHome
1 +V-BOX.V-Net.Manual.04 Lua Script.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Stone
1 +XWiki.Hunter
Content
... ... @@ -1,5 +1,17 @@
1 1  = **1 Interface description** =
2 2  
3 +(% style="width:749.222px" %)
4 +|=(% scope="row" style="width: 374px;" %)z|=(% style="width: 373px;" %)cxz
5 +|=(% style="width: 374px;" %) |(% style="width:373px" %)
6 +|=(% style="width: 374px;" %) |(% style="width:373px" %)
7 +
8 +|分类|宽|高
9 +|网页全屏|700-850|400
10 +|手机全屏|300|400
11 +|其他大图片|400左右|400左右
12 +|小图片|200左右|200左右
13 +
14 +
3 3  == **Data type definition** ==
4 4  
5 5  |=**Type**|=**Description**
... ... @@ -140,7 +140,7 @@
140 140  
141 141   Table 2-1
142 142  
143 -(% class="box errormessage" %)
155 +(% class="box infomessage" %)
144 144  (((
145 145  **✎Note: **If HLword enters any other value, it will be treated as invalid.
146 146  )))
... ... @@ -608,11 +608,12 @@
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  |(((
623 +{{code language="LUA"}}
611 611  local setup = {
612 612  
613 613  name = "COM2",
614 614  
615 -mode = 422, ~-~- COM2 does not support RS422
628 +mode = 422, -- COM2 does not support RS422
616 616  
617 617  ...
618 618  
... ... @@ -619,6 +619,7 @@
619 619  }
620 620  
621 621  serial.open(setup)
635 +{{/code}}
622 622  )))
623 623  
624 624  **Data bit:**
... ... @@ -1063,8 +1063,9 @@
1063 1063  
1064 1064  If there is no custom configuration, return an empty table, otherwise, return with "field name/field content"
1065 1065  
1066 -E.g:
1080 +**For example:**
1067 1067  
1082 +{{code language="LUA"}}
1068 1068  {
1069 1069  
1070 1070  [1]= {[1]=1234, [2]=1, [3]='temp', [4]='23.5', [5]={"fruit"="apple"}},
... ... @@ -1077,7 +1077,8 @@
1077 1077  
1078 1078  }
1079 1079  
1080 -Failed: //table// empty table
1095 +Failed: table empty table
1096 +{{/code}}
1081 1081  
1082 1082  (((
1083 1083  == **bns_get_config(string from)** ==
... ... @@ -1157,13 +1157,15 @@
1157 1157  
1158 1158  Type (1: switch, 2: number, 3: string)
1159 1159  
1160 -E.g:
1161 - {
1176 +**For example:**
1162 1162  
1163 -[1]={~-~-The first communication port
1178 +{{code language="LUA"}}
1179 +{
1164 1164  
1165 -[1]={~-~-monitoring point array of the first communication port
1181 +[1]={--The first communication port
1166 1166  
1183 +[1]={--monitoring point array of the first communication port
1184 +
1167 1167  [1]={[1]=11,[2]='data1',[3]=3,[4]=2},
1168 1168  
1169 1169  [2]={[1]=12,[2]='data2',[3]=3,[4]=2},
... ... @@ -1170,23 +1170,23 @@
1170 1170  
1171 1171  ...
1172 1172  
1173 -[n]={[1]=xx,[2]='datan',[3]=x,[4]=x},~-~-n monitoring points
1191 +[n]={[1]=xx,[2]='datan',[3]=x,[4]=x},--n monitoring points
1174 1174  
1175 1175  },
1176 1176  
1177 -[2]=14, ~-~-ID
1195 +[2]=14, --ID
1178 1178  
1179 -[3]='Modbus TCP' ~-~-n monitoring points
1197 +[3]='Modbus TCP' --n monitoring points
1180 1180  
1181 1181  },
1182 1182  
1183 -[2]={~-~-The second communication port
1201 +[2]={--The second communication port
1184 1184  
1185 -[1]={},~-~-The monitoring point of the second communication port is not configured and is empty
1203 +[1]={},--The monitoring point of the second communication port is not configured and is empty
1186 1186  
1187 -[2]=15, ~-~-ID
1205 +[2]=15, --ID
1188 1188  
1189 -[3]='WECON' ~-~-communication protocol name
1207 +[3]='WECON' --communication protocol name
1190 1190  
1191 1191  },
1192 1192  
... ... @@ -1193,6 +1193,7 @@
1193 1193  ...n communication ports and so on
1194 1194  
1195 1195  }
1214 +{{/code}}
1196 1196  
1197 1197  Failed~:// table// empty table
1198 1198  
... ... @@ -1272,8 +1272,9 @@
1272 1272  
1273 1273  Succeed: //table// one-dimensional array
1274 1274  
1275 -E.g:
1294 +**For example:**
1276 1276  
1296 +{{code language="LUA"}}
1277 1277  {
1278 1278  
1279 1279  [1]="This is the oldest message", - the first is the oldest message
... ... @@ -1285,6 +1285,7 @@
1285 1285  [n]="This is the latest message", - the last is the latest message
1286 1286  
1287 1287  }
1308 +{{/code}}
1288 1288  
1289 1289  Failede: nil
1290 1290  
... ... @@ -1302,7 +1302,7 @@
1302 1302  
1303 1303  == **https request** ==
1304 1304  
1305 -Example
1326 +**For example:**
1306 1306  
1307 1307  {{code language="LUA"}}
1308 1308  local json = require("json")
... ... @@ -1358,7 +1358,7 @@
1358 1358  
1359 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.**
1360 1360  
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.
1382 +**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.
1362 1362  
1363 1363  (% class="box infomessage" %)
1364 1364  (((
... ... @@ -1380,7 +1380,7 @@
1380 1380  1. Access in bit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15".
1381 1381  
1382 1382  (((
1383 -== **8.2 Special data area (HSW/HSX)** ==
1404 +== **Special data area (HSW/HSX)** ==
1384 1384  
1385 1385  (% class="box infomessage" %)
1386 1386  (((
... ... @@ -1498,8 +1498,19 @@
1498 1498  ** addr_getstring("@W_HSW191",17)
1499 1499  * Obtaining ICCID (read only)
1500 1500  ** addr_getstring("@W_HSW225",15)
1522 +* (((
1523 +TSAP settings of Siemens LOGO PLC*
1501 1501  
1502 1502  (((
1526 +addr_setword("@W_0#HSW1200",8192) means set the Local TSAP as 20.00
1527 +)))
1528 +
1529 +* (((
1530 +addr_setword("@W_0#HSW1201",4096) means set the Remote TSAP as 10.00
1531 +)))
1532 +)))
1533 +
1534 +(((
1503 1503  == **Power-down storage area (HAW/HAX)** ==
1504 1504  
1505 1505  The system storage area (HAW) is used for the system power-down hold registers:
... ... @@ -1534,7 +1534,7 @@
1534 1534  Failed: multi
1535 1535  
1536 1536  (((
1537 -== **9.2 send_sms_ucs2(string number, string message)** ==
1569 +== **send_sms_ucs2(string number, string message)** ==
1538 1538  )))
1539 1539  
1540 1540  **Function:**
... ... @@ -1683,7 +1683,7 @@
1683 1683  * number [prarm.refin]: whether each byte of the data to be measured is inverted by bit, true or false.
1684 1684  * number [prarm.refout]: after the calculation or before the heterodyning output, whether the whole data is inverted by bit, true or false.
1685 1685  
1686 -Return:
1718 +**Return:**
1687 1687  
1688 1688  Success: crc object
1689 1689  
... ... @@ -1742,7 +1742,7 @@
1742 1742  Failed: multi, error code
1743 1743  )))
1744 1744  
1745 -Example:
1777 +**For example:**
1746 1746  
1747 1747  {{code language="LUA"}}
1748 1748  function crcTest.main()
... ... @@ -1804,8 +1804,9 @@
1804 1804  ** 2: timeout
1805 1805  * Customization returns an empty table if there is no configuration, otherwise returns "field name/field content"
1806 1806  
1807 -For example:
1839 +**For example:**
1808 1808  
1841 +{{code language="LUA"}}
1809 1809  {
1810 1810  
1811 1811  [1]= {[1]=1234, [2]=1, [3]='temp', [4]='23.5'},
... ... @@ -1819,6 +1819,7 @@
1819 1819  }
1820 1820  
1821 1821  Failed: table, empty table
1855 +{{/code}}
1822 1822  
1823 1823  == **normal_setdata_byname(string name, string data)** ==
1824 1824  
... ... @@ -1834,13 +1834,10 @@
1834 1834  
1835 1835  Succeed: string: The value of the monitor point before it is written
1836 1836  
1837 -Failed: mil
1871 +Failed: nil
1838 1838  
1839 1839  == **normal_getdata_byname(string name)** ==
1840 1840  
1841 -
1842 -
1843 -
1844 1844  **Function:** Read the data of the monitoring point name
1845 1845  
1846 1846  **Parameter:**
... ... @@ -1851,7 +1851,7 @@
1851 1851  
1852 1852  Succeed: string
1853 1853  
1854 -Failed: mil
1885 +Failed: nil
1855 1855  
1856 1856  = **11 MySQL database operation** =
1857 1857  
... ... @@ -1891,13 +1891,12 @@
1891 1891  
1892 1892  Succeed: status: returns the number of rows affected by SQL statement execution.
1893 1893  
1894 -Failed: mil, errorString
1925 +Failed: nil, errorString
1895 1895  
1896 1896  == **luaMySql.execWithResult(string statement)** ==
1897 1897  
1929 +**Function:** Execute the given SQL statement returning the result set (check)
1898 1898  
1899 -**Function:** Execute the given SQL statement returning the result set (che)
1900 -
1901 1901  **Parameter:**
1902 1902  
1903 1903  statement: the given SQL statement
... ... @@ -1904,6 +1904,210 @@
1904 1904  
1905 1905  **Return:**
1906 1906  
1907 -Succeed: status: returns the number of rows affected by SQL statement execution.
1937 +Succeed: table: returns the result set
1908 1908  
1909 -Failed: mil, errorString
1939 +Failed: nil, errorString
1940 +
1941 +**For example:**
1942 +
1943 +{{code language="LUA"}}
1944 +mysql = require"mysqlclient"
1945 +
1946 +function DataInitRight()
1947 +
1948 +local dbName = "db_lua1"
1949 +
1950 +local user = "root"
1951 +
1952 +local pwd = "123456"
1953 +
1954 +local host = "192.168.56.186"
1955 +
1956 +local port = 3306
1957 +local character = "UTF8"
1958 +
1959 +mysql.init(dbName, user, pwd, host, port, character)
1960 +
1961 +end
1962 +
1963 +function ExecFunc()
1964 +
1965 +status, errorString = mysql.exec("delete from tb_lua1 where mykey =
1966 +
1967 +10;")
1968 +
1969 +if nil == status then
1970 +
1971 +print("ExecFunc() error:", errorString)
1972 +
1973 +return -1
1974 +
1975 +else
1976 +
1977 +print("the number of rows affected by the command:", status)
1978 +
1979 +end
1980 +
1981 +return 0
1982 +
1983 +end
1984 +
1985 +function ExecWithResultFunc()
1986 +
1987 +status, errorString = mysql.execWithResult("select * from tb_lua1;")
1988 +
1989 +if nil == status then
1990 +
1991 +print("ExecWithResultFunc() error:", errorString)
1992 +
1993 +return -1
1994 +
1995 +else
1996 +
1997 +print("ExecWithResultFunc()
1998 +
1999 +success
2000 +
2001 +: status
2002 +
2003 +type
2004 +
2005 +=
2006 +
2007 +",
2008 +
2009 +type(status))
2010 +
2011 +print("ExecWithResultFunc() success : status len = ", #status)
2012 +
2013 +local num = #status
2014 +
2015 +local i = 1
2016 +
2017 +if num > 0 then
2018 +
2019 +for i = 1, num, 1 do
2020 +
2021 +local var = string.format("select result[%d] :mykey = %d,
2022 +
2023 +value = %s", i, status[i].mykey, status[i].value)
2024 +
2025 +print(var)
2026 +
2027 +end
2028 +
2029 +end
2030 +
2031 +print("---------------")
2032 +
2033 +end
2034 +
2035 +return 0
2036 +end
2037 +
2038 +function luaMysql_apiTest.main()
2039 +
2040 +print("script running ...")
2041 +
2042 +DataInitRight()
2043 +
2044 +--use exec demo
2045 +
2046 +if ExecFunc() < 0 then
2047 +
2048 +return
2049 +
2050 +end
2051 +
2052 +--use execWithResult demo
2053 +
2054 +if ExecWithResultFunc() < 0 then
2055 +
2056 +return
2057 +
2058 +end
2059 +
2060 +print("script running success")
2061 +
2062 +end
2063 +{{/code}}
2064 +
2065 += **12 Message summary algorithm** =
2066 +
2067 +== **hmac(string hash_func, string key, string message)** ==
2068 +
2069 +**Function:** HMAC calculate
2070 +
2071 +**Function name**
2072 +
2073 +hash_func:
2074 +
2075 +* [md5, sha1, sha224, sha256, sha384, sha512]
2076 +* [sha512_224, sha512_256, sha3_224, sha3_256]
2077 +* [sha3_384, sha3_512]
2078 +
2079 +**Parameter:**
2080 +
2081 +key: the key
2082 +
2083 +message: message content
2084 +
2085 +**Return:**
2086 +
2087 +Succeed: string, calculation result
2088 +
2089 +Failed: nil
2090 +
2091 +**For example:**
2092 +
2093 +{{code language="LUA"}}
2094 +local sha = require"sha2"
2095 +
2096 +function hmac_test.main()
2097 +
2098 +local hmac = sha.hmac
2099 +
2100 +print(hmac(sha.sha1,
2101 +
2102 +"your key", "your message"))
2103 +
2104 +end
2105 +{{/code}}
2106 +
2107 +== **sha(string message** ==
2108 +
2109 +**Function:** SHA calculate
2110 +
2111 +**Function name:**
2112 +
2113 +sha:
2114 +
2115 +* sha1, sha224, sha256, sha384, sha512]
2116 +* [sha512_224, sha512_256, sha3_224, sha3_256]
2117 +* [sha3_384, sha3_512]
2118 +
2119 +**Parameter:**
2120 +
2121 +key: the key
2122 +
2123 +message: message content
2124 +
2125 +**Return:**
2126 +
2127 +Succeed: string, calculation result
2128 +
2129 +Failed: nil
2130 +
2131 +For example:
2132 +
2133 +{{code language="LUA"}}
2134 +local sha = require"sha2"
2135 +
2136 +function sha_test.main()
2137 +
2138 +local sha256 = sha.sha256
2139 +
2140 +print(sha256("your message"))
2141 +
2142 +end
2143 +{{/code}}