基础接口

FreeIOE框架为每个应用创建的服务接口,用以帮助应用快速构建设备模型等操作

set_handler

function api:set_handler(handler, watch_data)

设定处理函数。

  • handler:接口对象
  • watch_data: 是否关注其他应用创建的设备数据消息

示例:

  1. local api = sys:data_api()
  2. api:set_handler({
  3. on_comm = function(app, sn, ...) end, -- watch_data = true
  4. on_stat = function(app, sn, ...) end, -- watch_data = true
  5. on_input = function(...) end, -- watch_data = true
  6. on_add_device = function(...) end, -- watch_data = true
  7. on_del_device = function(...) end, -- watch_data = true
  8. on_mod_device = function(...) end, -- watch_data = true
  9. on_output = function(...) end, -- 数据输出项回调
  10. on_command = function(...) end, -- 命令回调
  11. on_ctrl = function(...) end, -- 应用控制接口

list_devices

function api:list_devices()

枚举系统中所有设备对象的描述信息 (meta, inputs, outputs, commands等等)

add_device

function api:add_device(sn, meta, inputs, outputs, commands)

创建新的采集设备对象。返回设备对象实例(参考设备API)。

  • sn:设备序列号
  • meta: 设备Meta信息
  • inputs:设备输入项列表
  • outputs:设备输出项列表
  • commands:设备控制项列表

del_device

function api:del_device(dev)

删除设备。 dev为设备对象实例。

get_device

function api:get_device(sn)

获取设备对象实例。 此接口对象只能用来读取设备输入项数据,写入设备输出项,发送设备控制项。

send_ctrl

function api:send_ctrl(app, ctrl, params)

发送应用控制指令。 会调用应用设定的handler.on_ctrl

cleanup

function api:cleanup()

接口清理接口(sys接口清理时,会自动调用此接口)

api:_dump_comm(sn, dir, …)

内部接口

api:_fire_event(sn, level, data, timestamp)

内部接口