驱动介绍

关于驱动

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

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

  • 通过反射创建驱动实例

  • 驱动不可以静态

  • 驱动要继承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(){
         
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值