1.SDK驱动代码说明
1、InitComm
- 通信初始化
def InitComm(self,attrs):
#!coding:utf8
import json
import sys
sys.path.append("..")
from driver import *
class TemplateDriver(IOTOSDriverI):
#1、通信初始化
def InitComm(self,attrs):
'''*************************************************
TODO
#self.online(True)
#self.setValue(u'demo_device.热水供水泵控制', True)
**************************************************'''
参数说明
参数名 | 必选 | 类型 | 默认值 | 简述 |
---|---|---|---|---|
attrs | 是 | string | / | 设备属性结构对象 |
- 这个函数时用户撰写驱动时,针对中台对设备\子系统\前端设备等的初始连接,因为初始化仅在代码初始状态下执行一次,仅用于初始连接 。传入的 attrs 是点表补全后 , 当前设备下的属性部分 ,包括数据点id,config配置、名字name等。值得注意的是,不论何时情况,
2、Collecting
- 采集引擎回调,可也可以开启,也可以直接注释掉(对于主动上报,不存在遍历采集的情况)
#2、采集引擎回调,可也可以开启,也可以直接注释掉(对于主动上报,不存在遍历采集的情况)
def Collecting(self, dataId):
'''*************************************************
TODO
**************************************************'''
return ()
参数说明
参数名 | 必选 | 类型 | 默认值 | 简述 |
---|---|---|---|---|
dataId | 是 | string | / | 数据点ID |
- 需要用户实现设备采集协议(结合前端设备/子系统 SDK或者API) 。将传入数据点 id,根据设备的协议实现中台与设备\子系统\前端设备的通讯.
3、Event_setData
- 控制事件回调,数据点控制访问
# 5、控制事件回调,数据点控制访问
def Event_setData(self, dataId, value):
'''*************************************************
TODO
**************************************************'''
return json.dumps({'code':0, 'msg':'', 'data':''})
驱动方面执行数据下发工作
参数名 | 必选 | 类型 | 默认值 | 简述 |
---|---|---|---|---|
dataId | 是 | string | / | 数据点id |
value | 是 | string | / | 要下发的值 |
- 客户在反向控制设备/子系统中可用到这个接口,通过data数据点ID设置值value;即客户像根据数据点设置数据点值;
2.设备驱动SDK
驱动套件包含采集引擎和驱动,其中采集引擎由ZMIotLib库和iotosEngine进程构成;驱动则包含驱动类IOTOSDriverI,和用户基于此开发的扩展包。iotosEngine进程是整个采集引擎的启动入口,负责与平台通讯以及动态实例化加载驱动。用户进行设备对接、系统集成、服务扩展,只需要在驱动类基础上,开发扩展包即可,开发时配合WEB控制台进行设备建模、数据点表配置。
2.1接口说明
2.1.1采集驱动引擎(IOTOSDriverI)方法/属性列表
类别 | 名称 |
---|---|
sysAttrs | 当前系统属性 ———————— 系统属性(不包括数据点),属于驱动的属性,初次关联到新建设备时,需要还原。注意问题:如果设备已经设置了属性,是覆盖替换吗? |
data2attrs | 当前系统下的数据点及对应属性字典 ——- 数据点及属性,同样属于驱动的属性,初次关联到新建设备时,需要还原。注意问题,如果设备下数据点不为空或者有属性,是覆盖替换吗? |
collectingOneCircle | 采集循环仅执行一次(使用collecting和init初始化的时候使用) |
pauseCollect | 停止采集(使用collecting和init初始化的时候使用) |
setValue | 采集时数据上报 |
2.1.2接口详细说明
功能说明
驱动运行后,获取当前我的设备中运行此驱动设备的所有设备配置(中台端)的内容,内容为JSON格式;
参数列表
/
功能说明
传入的dataID为数据点的oid,驱动中传入成功后会返回涵盖数据点内所有的信息(数据点配置信息),用于数据上报
参数列表
参数名 | 必选 | 类型 | 默认值 | 简述 |
---|---|---|---|---|
dataId | 是 | string | / | 数据点oid |
返回示例
返回设备下数据点的所有配置信息,格式为Json;
collectingOneCircle
- 数据采集时,在collecting中设置循环采集值.当此值为false时,循环采集可以循环;如果为true则collecting的内容只执行一次;
- self.collectingOneCircle = False
功能说明
针对collecting内容让使用者自行决定是否开启循环采集;
功能说明
在collecting中,针对数据点进行数据上报;
参数列表
参数名 | 必选 | 类型 | 默认值 | 简述 |
---|---|---|---|---|
name | 是 | string | / | 数据点名称 |
value | 是 | string | / | 需要设置的数据点值 |
功能说明
{
"5e65": {
"name": "上电时间",
"readwrite": "1",
"timestamp": 1620813515249,
"defaultvalue": "",
"maxvalue": "9",
"value": "1621658767.92",
"minvalue": "0",
"sensibility": "0.1",
"refreshcycle": "10",
"tpl_id": 354,
"id": 11982,
"regexp": "english",
"data_date": "2021-05-22 12:46:09",
"memoryvalue": 1621658881.776,
"config": {
"disabled": false,
"_comment": "",
"proxy": {
"index": -1,
"pointer": null
},
"param": {},
"parentId": null
},
"valuetype": "FLOAT",
"unit": "",
"description": "(请编写驱动配置文档,以及对应的数据数据点用户配置规则!)"
}
}
2.1.3错误码定义列表
详见附录一
作者:admin 创建时间:2021-10-12 09:49
最后编辑:IOTOS 更新时间:2023-11-29 09:38
最后编辑:IOTOS 更新时间:2023-11-29 09:38