- 用户API
- 1.1 用户API
- 1.1.1
user.setluaver
- 1.1.2
user.setdevinfo
- 1.1.3
user.ipconfig
- 1.1.4
user.stop_gardsroute
- 1.1.5
user.waitmsg
- 1.1.6
user.setPDcallback
- 1.1.7
user.ledctrl
- 1.1.8
user.configReport
- 1.1.9
user.addtimer
- 1.1.10
user.closetimer
- 1.1.11
user.newClockTimer
- 1.1.12
user.resetClockTimer
- 1.1.13
user.getClockTimer
- 1.1.14
user.saveVal
- 1.1.15
user.getVal
- 1.1.16
user.safeModel
- 1.1.17
user.getDev
- 示例:
用户API
1.1 用户API
1.1.1 user.setluaver
功能 | 设置lua版本信息 |
---|---|
接口描述 | setluaver(luaver) |
luaver | lua版本信息<字符串> 例:”LUA_V1.0.0” |
1.1.2 user.setdevinfo
功能 | 设置lua所采集设备的信息 |
---|---|
接口描述 | setdevinfo(devinfo) |
devinfo | 所采集设备的信息<字符串> 例:”Siemens_S7-1200” |
1.1.3 user.ipconfig
功能 | 设置数据采集网口的信息 |
---|---|
接口描述 | ipconfig(ipmode, inet_addr, netmask, gw, dns) |
ipmode | ip获取方式<字符串> [“none” / “manual” / “auto”] |
inet_addr | ip地址<字符串> 例:”192.168.1.100” |
netmask | 子网掩码<字符串> 例:”255.255.255.0” |
gw | 网关<字符串> 例:”192.168.1.1” |
dns | 域名服务器<字符串> 例:”114.114.114.114” |
1.1.4 user.stop_gardsroute
功能 | 禁止通过路由模式自动连接服务器,当需指定mqtt server时使用 |
---|---|
接口描述 | stop_gardsroute() |
1.1.5 user.waitmsg
功能 | 消息获取接口,阻塞等待所有事件 |
---|---|
接口描述 | msg = user.waitmsg() |
msg | msg.from<字符串> 来自哪个模块的消息 包括:”mqtt-sys”:mqtt系统消息 “mqtt-msg”:mqtt 数据消息 “s7”: s7模块的消息 “modbus”:modbus模块的消息 “mitsufx”:mitsufx模块的消息 “mitsumc”:mitsumc模块的消息 “opcua”:opcua模块的消息 “devdata”:设备属性的消息 “adio”:开关模拟量的消息 “dlt645”:dlt645模块的消息 “transfer”:透传模块的消息 msg.session 消息的来自哪个obj msg.code 消息编码 |
1.1.6 user.setPDcallback
功能 | 设置掉电事件的lua回调函数名 |
---|---|
接口描述 | setPDcallback(pFunName) |
pFunName | 回调函数的名称<字符串> |
1.1.7 user.ledctrl
功能 | 设置led灯状态 |
---|---|
接口描述 | ledctrl(led, status, arg) |
led | led<字符串> [“green” / “red”/ “yellow”/“blue”/“white”/“orange”] |
status | 状态<字符串>[“on” / “off”/ “blink”] |
arg | 闪烁参数(当status为blink时有效 代表闪烁次数)<整形> |
1.1.8 user.configReport
功能 | 设置默认上报配置 |
---|---|
接口描述 | configReport(flag_ReportLua,cycle_ReportLua, flag_ReportCSQ, cycle_ReportCSQ, flag_ReportGPS, cycle_ReportGPS) |
flag_ReportLua | 是否上报lua信息[-1(仅上报一次)/0(不上报)/1(周期上报)] |
cycle_ReportLua | lua信息上报周期 |
flag_ReportCSQ | 是否上报4G/wifi信号强度[-1(仅上报一次)/0(不上报)/1(周期上报)] |
cycle_ReportCSQ | 4G/wifi信号强度上报周期 |
flag_ReportGPS | 是否上报GPS信息[-1(仅上报一次)/0(不上报)/1(周期上报)] |
cycle_ReportGPS | GPS信息上报周期 |
1.1.9 user.addtimer
功能 | 设置定时器(一个Lua程序中最多可存在10个定时器) |
---|---|
接口描述 | user.addtimer("timerName", Count, Cycle) |
“timerName” | 定时器的名称为”timerName”(最长19字符) |
Count | 总共需要执行的定时器次数。如果Count为-1,则表示定时器将无限次执行。 |
Cycle | 定时器执行的间隔时间,以秒为单位。每隔Cycle秒,定时器就会执行一次回调函数。 |
1.1.10 user.closetimer
功能 | 停止定时器 |
---|---|
接口描述 | user.closetimer("timerName") |
“timerName” | 定时器的名称为timerName |
1.1.11 user.newClockTimer
功能 | user.newTimer 返回一个计时器实例对象;未复位前,计时器的值会从当前时间开始一直增加下去;一个LUA程序可以有多个计时器;可用于延时函数 |
---|---|
接口描述 | myTimer = user.newClockTimer() |
myTimer | user.newClockTimer 返回值;计时器实例对象 |
1.1.12 user.resetClockTimer
功能 | 复位计时器 |
---|---|
接口描述 | user.resetClockTimer(myTimer) |
myTimer | 计时器实例对象 |
1.1.13 user.getClockTimer
功能 | 获取计时器当前计时值 |
---|---|
接口描述 | num = user.getClockTimer(myTimer) |
myTimer | 计时器实例对象 |
num | 计时器当前计时值,单位ms |
1.1.14 user.saveVal
功能 | 保存数据到文件中,以json格式保存 |
---|---|
接口描述 | user.saveVal("/data/val_1","Total_Quantity", Total_Quantity) |
/data/val_1 | 字符串,将数据保存到/data/val_1文件中 |
Total_Quantity | 字符串,具体的json中的key值索引 |
Total_Quantity | 值,具体的json中的val值 |
1.1.15 user.getVal
功能 | 获取文件中的数据,通过json中的key索引 |
---|---|
接口描述 | Total_Quantity = user.getVal("/data/val_1", "Total_Quantity") |
“/data/val_1” | 字符串,从/data/val_1文件中获取数据 |
Total_Quantity | 字符串,具体的json中的key值索引 |
Total_Quantity | 返回值,具体的json中的val值 |
1.1.16 user.safeModel
功能 | 设置为安全模式 断开管理平台链接; 断开远程通道; Lua中配置的mqtt链接需要自行处理,即删除mqtt.run即可不连接lua配置的mqtt服务器 |
---|---|
接口描述 | user.safeModel(1) user.safeModel(0) |
1 0 |
数值 1—打开安全模式 0—关闭安全模式,默认为关闭安全模式; 注意:在打开安全模式后需要调用 user.safeModel(0) 来关闭安全模式,仅仅通过注释user.safeModel(1) 这一行是不可以的 |
1.1.17 user.getDev
功能 | 获取设备数据;若想要获取的参数在下述结构体中不存在,则返回nil值 |
---|---|
接口描述 | net_ver = user.getDev("net", "ver") |
net | 字符串,参数类型;可选manage、net、app |
ver | 字符串,具体的参数;参考如下结构体 |
示例:
若要获取适配器ID,可以
devID = user.getDev("manage", "devid")
若要获取GPS的状态,可以
gps_status = user.getDev("manage", "gps.status")
若要获取文件系统版本,可以
gps_status = user.getDev("manage", "sysver")
若要获取网络程序版本,可以
net_ver = user.getDev("net", "ver")
若要获取ECM(4G)的IMEI数据,可以
ecm_imei = user.getDev("net", "ecm.imei")
若要获取网卡的数据(两个网卡索引从0开始),可以
eth0_status = user.getDev("net", "eth[0].status")
eth1_status = user.getDev("net", "eth[1].status")
eth0_ip0 = user.getDev("net", "eth[0].ip")
eth1_ip1 = user.getDev("net", "eth[1].ip")
若要获取mixrtu程序版本,可以
mixrtu_ver = user.getDev("app", "softver")
若要获取Lua程序版本,可以
lua_ver = user.getDev("app", "lua_ver")
若要获取mqtt服务器,可以
mqtt0_svr = user.getDev("app", "mqtt[0].mqttserver")
mqtt1_svr = user.getDev("app", "mqtt[1].mqttserver")
若要获取mqtt密码,可以
mqtt0_pwd = user.getDev("app", "mqtt[0].pwd")
mqtt1_pwd = user.getDev("app", "mqtt[1].pwd")