Changes for page 01 Lua Functions

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

From version 10.1
edited by Hunter
on 2023/01/15 16:45
Change comment: There is no comment for this version
To version 5.32
edited by Stone Wu
on 2022/07/12 10:47
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -V-BOX.V-Net.Manual.04 Lua Script.WebHome
1 +V-BOX.V-Net.1\.User Manual.04 Lua Script.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Hunter
1 +XWiki.Stone
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  (((
... ... @@ -1507,14 +1507,6 @@
1507 1507  ** addr_getstring("@W_HSW191",17)
1508 1508  * Obtaining ICCID (read only)
1509 1509  ** addr_getstring("@W_HSW225",15)
1510 -* (((
1511 -TSAP settings of Siemens LOGO PLC* (((
1512 -addr_setword("@W_0#HSW1200",8192) means set the Local TSAP as 20.00
1513 -)))
1514 -* (((
1515 -addr_setword("@W_0#HSW1201",4096) means set the Remote TSAP as 10.00
1516 -)))
1517 -)))
1518 1518  
1519 1519  (((
1520 1520  == **Power-down storage area (HAW/HAX)** ==
... ... @@ -1551,7 +1551,7 @@
1551 1551  Failed: multi
1552 1552  
1553 1553  (((
1554 -== **send_sms_ucs2(string number, string message)** ==
1537 +== **9.2 send_sms_ucs2(string number, string message)** ==
1555 1555  )))
1556 1556  
1557 1557  **Function:**
... ... @@ -1700,7 +1700,7 @@
1700 1700  * number [prarm.refin]: whether each byte of the data to be measured is inverted by bit, true or false.
1701 1701  * number [prarm.refout]: after the calculation or before the heterodyning output, whether the whole data is inverted by bit, true or false.
1702 1702  
1703 -**Return:**
1686 +Return:
1704 1704  
1705 1705  Success: crc object
1706 1706  
... ... @@ -1759,7 +1759,7 @@
1759 1759  Failed: multi, error code
1760 1760  )))
1761 1761  
1762 -**For example:**
1745 +Example:
1763 1763  
1764 1764  {{code language="LUA"}}
1765 1765  function crcTest.main()
... ... @@ -1821,9 +1821,8 @@
1821 1821  ** 2: timeout
1822 1822  * Customization returns an empty table if there is no configuration, otherwise returns "field name/field content"
1823 1823  
1824 -**For example:**
1807 +For example:
1825 1825  
1826 -{{code language="LUA"}}
1827 1827  {
1828 1828  
1829 1829  [1]= {[1]=1234, [2]=1, [3]='temp', [4]='23.5'},
... ... @@ -1837,7 +1837,6 @@
1837 1837  }
1838 1838  
1839 1839  Failed: table, empty table
1840 -{{/code}}
1841 1841  
1842 1842  == **normal_setdata_byname(string name, string data)** ==
1843 1843  
... ... @@ -1853,10 +1853,11 @@
1853 1853  
1854 1854  Succeed: string: The value of the monitor point before it is written
1855 1855  
1856 -Failed: nil
1837 +Failed: mil
1857 1857  
1858 1858  == **normal_getdata_byname(string name)** ==
1859 1859  
1841 +
1860 1860  **Function:** Read the data of the monitoring point name
1861 1861  
1862 1862  **Parameter:**
... ... @@ -1867,262 +1867,8 @@
1867 1867  
1868 1868  Succeed: string
1869 1869  
1870 -Failed: nil
1852 +Failed: mil
1871 1871  
1872 1872  = **11 MySQL database operation** =
1873 1873  
1874 -== **luaMySql.init(string sourcename, string username, string password, string host, number port, string character)** ==
1875 -
1876 -**Function:** Configure database connection parameters
1877 -
1878 -**Parameter:**
1879 -
1880 -sourcename: the name of database
1881 -
1882 -username: the username of the connection
1883 -
1884 -password: the password of the connection
1885 -
1886 -host: the host name of the connection
1887 -
1888 -port: the host port of the connection
1889 -
1890 -character: the character set of the connection
1891 -
1892 -**Return:**
1893 -
1894 -Succeed: string
1895 -
1896 -Failed: multi
1897 -
1898 -== **luaMySql.exec(string statement)** ==
1899 -
1900 -**Function:** Execute the given SQL statement without returning the result set (add, delete, change)
1901 -
1902 -**Parameter:**
1903 -
1904 -statement: the given SQL statement
1905 -
1906 -**Return:**
1907 -
1908 -Succeed: status: returns the number of rows affected by SQL statement execution.
1909 -
1910 -Failed: nil, errorString
1911 -
1912 -== **luaMySql.execWithResult(string statement)** ==
1913 -
1914 -**Function:** Execute the given SQL statement returning the result set (check)
1915 -
1916 -**Parameter:**
1917 -
1918 -statement: the given SQL statement
1919 -
1920 -**Return:**
1921 -
1922 -Succeed: table: returns the result set
1923 -
1924 -Failed: nil, errorString
1925 -
1926 -**For example:**
1927 -
1928 -{{code language="LUA"}}
1929 -mysql = require"mysqlclient"
1930 -
1931 -function DataInitRight()
1932 -
1933 -local dbName = "db_lua1"
1934 -
1935 -local user = "root"
1936 -
1937 -local pwd = "123456"
1938 -
1939 -local host = "192.168.56.186"
1940 -
1941 -local port = 3306
1942 -local character = "UTF8"
1943 -
1944 -mysql.init(dbName, user, pwd, host, port, character)
1945 -
1946 -end
1947 -
1948 -function ExecFunc()
1949 -
1950 -status, errorString = mysql.exec("delete from tb_lua1 where mykey =
1951 -
1952 -10;")
1953 -
1954 -if nil == status then
1955 -
1956 -print("ExecFunc() error:", errorString)
1957 -
1958 -return -1
1959 -
1960 -else
1961 -
1962 -print("the number of rows affected by the command:", status)
1963 -
1964 -end
1965 -
1966 -return 0
1967 -
1968 -end
1969 -
1970 -function ExecWithResultFunc()
1971 -
1972 -status, errorString = mysql.execWithResult("select * from tb_lua1;")
1973 -
1974 -if nil == status then
1975 -
1976 -print("ExecWithResultFunc() error:", errorString)
1977 -
1978 -return -1
1979 -
1980 -else
1981 -
1982 -print("ExecWithResultFunc()
1983 -
1984 -success
1985 -
1986 -: status
1987 -
1988 -type
1989 -
1990 -=
1991 -
1992 -",
1993 -
1994 -type(status))
1995 -
1996 -print("ExecWithResultFunc() success : status len = ", #status)
1997 -
1998 -local num = #status
1999 -
2000 -local i = 1
2001 -
2002 -if num > 0 then
2003 -
2004 -for i = 1, num, 1 do
2005 -
2006 -local var = string.format("select result[%d] :mykey = %d,
2007 -
2008 -value = %s", i, status[i].mykey, status[i].value)
2009 -
2010 -print(var)
2011 -
2012 -end
2013 -
2014 -end
2015 -
2016 -print("---------------")
2017 -
2018 -end
2019 -
2020 -return 0
2021 -end
2022 -
2023 -function luaMysql_apiTest.main()
2024 -
2025 -print("script running ...")
2026 -
2027 -DataInitRight()
2028 -
2029 ---use exec demo
2030 -
2031 -if ExecFunc() < 0 then
2032 -
2033 -return
2034 -
2035 -end
2036 -
2037 ---use execWithResult demo
2038 -
2039 -if ExecWithResultFunc() < 0 then
2040 -
2041 -return
2042 -
2043 -end
2044 -
2045 -print("script running success")
2046 -
2047 -end
2048 -{{/code}}
2049 -
2050 -= **12 Message summary algorithm** =
2051 -
2052 -== **hmac(string hash_func, string key, string message)** ==
2053 -
2054 -**Function:** HMAC calculate
2055 -
2056 -**Function name**
2057 -
2058 -hash_func:
2059 -
2060 -* [md5, sha1, sha224, sha256, sha384, sha512]
2061 -* [sha512_224, sha512_256, sha3_224, sha3_256]
2062 -* [sha3_384, sha3_512]
2063 -
2064 -**Parameter:**
2065 -
2066 -key: the key
2067 -
2068 -message: message content
2069 -
2070 -**Return:**
2071 -
2072 -Succeed: string, calculation result
2073 -
2074 -Failed: nil
2075 -
2076 -**For example:**
2077 -
2078 -{{code language="LUA"}}
2079 -local sha = require"sha2"
2080 -
2081 -function hmac_test.main()
2082 -
2083 -local hmac = sha.hmac
2084 -
2085 -print(hmac(sha.sha1,
2086 -
2087 -"your key", "your message"))
2088 -
2089 -end
2090 -{{/code}}
2091 -
2092 -== **sha(string message** ==
2093 -
2094 -**Function:** SHA calculate
2095 -
2096 -**Function name:**
2097 -
2098 -sha:
2099 -
2100 -* sha1, sha224, sha256, sha384, sha512]
2101 -* [sha512_224, sha512_256, sha3_224, sha3_256]
2102 -* [sha3_384, sha3_512]
2103 -
2104 -**Parameter:**
2105 -
2106 -key: the key
2107 -
2108 -message: message content
2109 -
2110 -**Return:**
2111 -
2112 -Succeed: string, calculation result
2113 -
2114 -Failed: nil
2115 -
2116 -For example:
2117 -
2118 -{{code language="LUA"}}
2119 -local sha = require"sha2"
2120 -
2121 -function sha_test.main()
2122 -
2123 -local sha256 = sha.sha256
2124 -
2125 -print(sha256("your message"))
2126 -
2127 -end
2128 -{{/code}}
1856 +