驱动介绍

关于驱动

驱动(也称连接器)是对传统的数据采集程序的标准化,驱动可以作为你的资产进行管理

  • 系统为每个设备创建一个驱动实例

  • 通过反射创建驱动实例

  • 驱动不可以静态

  • 驱动要继承IDriver接口

  • 驱动内需要通过web配置的属性(支持枚举等基本类型),上要加上Attribute

    [ConfigParameter("端口号")]
    public int Port { get; set; } = 666;
  • 系统通过反射为属性赋值

  • 若设备设置为启动,则进行连接读取的工作

  • 可以在驱动内,使用任何C#语法,记得在关闭和释放后释放你创建的资源,尤其是后台线程

驱动生命周期

  1. 构造

    [DriverInfoAttribute("YourDriver", "V1.0.0", "Copyright iotgateway© 2022-06-04")]public class YourDriverClass : IDriver{}
  2. 连接

    public bool Connect(){}
  3. 读取

    [Method("方法中文名", description: "方法描述")]
    public DriverReturnValueModel Read(DriverAddressIoArgModel ioarg){}public class DriverAddressIoArgModel{public string Address { get; set; }public DataTypeEnum ValueType { get; set; }}public class DriverReturnValueModel{public object Value { get; set; }[JsonConverter(typeof(StringEnumConverter))]public VaribaleStatusTypeEnum StatusType { get; set; } = VaribaleStatusTypeEnum.UnKnow;}

:::info 说明

你可以有多个读取数据的方法,只要加上MethodAttribute即可识别

DriverAddressIoArgModel.Address是通过前端传入的地址,你可以发挥想象(如使用逗号分隔符)传入更多的内容

DriverAddressIoArgModel.ValueType是通过前端传入的数据类型,你可以选择是否使用它

DriverReturnValueModel.Value 是object类型,你可以传出任何类型,或者与DriverAddressIoArgModel.ValueType呼应起来 :::

  1. 断开

    public bool Close(){}
  2. 释放

    public void Dispose(){}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务

目录 【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡 【iVX 初级工程师培训教程 10篇文拿证】02 数值绑定及自适应网站制作 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照 【iV…

memcached安装和php扩展memcache安装

1.准备安装包: libevent-2.1.8-stable.tar.gz memcached-1.5.0.tar.gz memcache-2.2.7.tgz 2.安装libevent tar xf /opt/libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable mkdir /usr/local/libevent ./configure --prefix/usr/local/libevent make && make …

J2EE开发技术点4:ajax技术

前言 AJAX 是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。需要知道的是,Ajax技术并不是一项新的技术,而是使用现有技术解决问题的新方法。Ajax(Asynchronous JavaScript and XML)也叫异步Jav…

【WEB API项目实战干货系列】- 接口文档与在线测试(二)

这一篇我们主要介绍如何做API帮助文档,给API的调用人员介绍各个 API的功能, 输入参数,输出参数, 以及在线测试 API功能(这个也是方便我们自己开发调试) 我们先来看看我们的API最终帮助文档及在线测试最终达到的效果: 概要图GET API添加产品API:删除产品 …

IOS多线程

http://www.jianshu.com/p/0b0d9b1f1f19 首页专题下载手机应用显示模式登录注册登录添加关注作者 伯恩的遗产 2015.07.29 00:37* 写了35249字,被2296人关注,获得了1668个喜欢关于iOS多线程,你看我就够了 字数8596 阅读92152 评论153 喜欢905在…

Android之提示Failed to load WebView provider: No WebView installed

1 问题 Fatal Exception: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installedat android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:435)at a…

地理(GIS)教学神器:气象地球生成器

地理教学中,不管是高中还是初中,都会涉及到大气运动的相关教学,并且,高中阶段的大气运动知识对很多学生来说相对比较复杂,如: (三圈环流) (青藏高原对西风带的影响&#…

使用 Yarp 做网关

资料GitHub: https://github.com/microsoft/reverse-proxyYARP 文档:https://microsoft.github.io/reverse-proxy/articles/getting-started.html主动和被动健康检查 : https://microsoft.github.io/reverse-proxy/articles/dests-health-checks.html#ac…

Android之OkDownload里面的OKHttp提示java.lang.IllegalArgumentException: Invalid URL port: “image“

1 、问题 release版本线上奔溃如下 Fatal Exception: java.lang.IllegalArgumentException: Invalid URL port: "image"at okhttp3.t$a.a(HttpUrl.kt:63)at okhttp3.t$b.b(HttpUrl.kt:8)at okhttp3.y$a.b(Request.kt:5)at com.liulishuo.okdownload.j.e.b.<init…

【iVX 初级工程师培训教程 10篇文拿证】05 画布及飞机大战游戏制作

目录 【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡 【iVX 初级工程师培训教程 10篇文拿证】02 数值绑定及自适应网站制作 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照 【iV…

【WEB API项目实战干货系列】- API登录与身份验证(三)

这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API&#xff0c; API身份验证. 这一篇的主要原理是&#xff1a; API会提供一个单独的登录API, 通过用户名&#xff0c;密码来产生一个SessionKey, SessionKey具有过期时间的特点, 系…

mysql数据库建立的数据库在哪个文件夹?

为什么80%的码农都做不了架构师&#xff1f;>>> 一般在安装目录下的data文件夹下&#xff0c;或者在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data&#xff08;你的可能是C:\Documents and Settings\All Users\Application D…

python 学习笔记01

python学习过程遇到一些问题记录&#xff1a; 1、 IndentationError:expected an indented block错误的解决办法 一句话 有冒号的下一行往往要缩进&#xff0c;该缩进就缩进 参考资料&#xff1a;http://blog.csdn.net/hongkangwl/article/details/16344749 2、17个新手常见Pyt…

ArcGIS实验教程——实验二十四:人口密度制图

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 一、实验分析 人口密度是指单位土地面积上居住的人口数,通常以每平方千米或每公顷内的常住人口为单位计算。人口密度同资源、经济密切结合,因此,科学准确地分析人口密度的分布情况,对合理制定…

Navicat 远程连接ubuntu出现的问题

2003-Cantt connect to Mysql server to xxxxxxx 解决&#xff1a; vim /etc/mysql/my.cnf 修改bind-address 0.0.0.0 然后重启mysql&#xff1a; 这时进入mysql可能会报错&#xff1a; ERROR 2002 (HY000): Cant connect to local MySQL server through socket /v…

WPF效果第一百八十八篇之再玩Expander

大端午节的在屋里吹着空调撸着代码真是酸爽;闲话也不多扯,直接看今天要分享的效果:1、关于简单的布局设计:2、前台先来个死布局,回头ListBox改模板:<Expander ExpandDirection"Left" Header"控制卡" VerticalAlignment"Bottom" HorizontalAli…

Android之实现长按Webview页面文字自定义复制、全选、分享、搜索、翻译功能(支持多语言,博文也有Demo下载地址)

1 需求和效果爆照 浏览器app封装了Webview,然后实现实现长按Webview页面文字自定义复制、全选、分享、搜索、翻译功能(支持多语言),都在自己的浏览器app里面进行搜索和翻译,不跳到系统浏览器里面去 效果爆照如下,oppo手机效果如下 华为手机效果如下 2 Demo下载地址 De…

中国西北地区专题地图合集(高清)

1. 西北地区概况图 2. 西北地区植被类型分布图 3. NDVI变化趋势图 4. 气候与NDVI的相关性

Apache、tomcat、Nginx常用配置合集

配置文件地址&#xff1a; Apache&#xff1a; /etc/httpd/conf/httpd.conf tomcat&#xff1a; /usr/local/tomcat/conf/server.xml Nginx &#xff1a; /usr/local/nginx/conf/nginx.conf 开机启动文件&#xff1a;/etc/rc.d/rc.local 启动方式&#xff1a; Apache&#xff…

使用putty连接linux

使用putty连接linux 快照的使用 &#xff0c;做快照相当于做备份&#xff0c;比如配置好IP&#xff0c;快照一下&#xff0c;下次就可以在回到这里&#xff01; putty下载 最好去官网下载 下载putty.zip如图所示 如何使用putty 如图设置好IP然后 save 保存 如…