【物联网智能网关-10】构建.NET MF平台下的流式驱动模型

简介: 正是基于流式驱动的一些优点和Interop驱动接口开发的繁杂,所以我在.NETMicro Framework系统上构建了一套流式驱动架构。尤为值得一提的是,在流式驱动架构的基础上,还实现了的用户可以在MDK IDE环境下,采用C++开发流式驱动

无论是做linux下的驱动开发,还是Windows CE平台下的驱动开发,对流式驱动模型一定非常熟悉。在此架构下,把所有的硬件设备都看成文件,和设备的交互其实就是读写文件,也就是数据流动。这样开发驱动不仅简单实用,并且用户也用一致的接口访问硬件,大大降低了学习代价。但是在.NET Micro Framework平台下,却没有提供这样的驱动开发接口,用户如果想在应用层操作硬件,必须要做一个专门的接口库(Interop),如果有n个设备,对应的驱动接口库文件也必须n个,如果一个应用程序和n个设备通信,那就必须引用n个库了。另外如果库接口有更改,那么上层和底层代码还必须重新编译才能使用。

正是基于流式驱动的一些优点和Interop驱动接口开发的繁杂,所以我在.NETMicro Framework系统上构建了一套流式驱动架构。尤为值得一提的是,在流式驱动架构的基础上,还实现了的用户可以在MDK IDE环境下,采用C++开发流式驱动(参见相关文章《.NET Micro Framework动态调用C/C++底层代码》)。

流式驱动应用层的C#接口代码如下:

public sealed class GeneralStream

    {

        publicGeneralStream();

        public event GeneralStreamEventHandlerNotice;

        public int Close();

        public int IOControl(intcode);

        public int IOControl(intcode, int parameter);

        public int IOControl(intcode, byte[] inBuffer, intinCount, byte[] outBuffer, int outCount);

        public int Open(stringname);

        public int Open(string name,int config);

        public int Open(string name,string config);

        public int Read(byte[]buffer, int offset, intcount);

        public int Write(byte[]buffer, int offset, intcount);

    }

以上接口其实和WinCE平台下的流式接口非常类似了,但是比较有特色的是,还提供了一个事件通知接口,这样就为各种硬件驱动开发提供了更灵活的支持。有了这个流式接口,一般情况下,为上层C#语言提供专有的硬件底层功能,就不需要再编写接口相关的代码了,直接写相关的C/C++代码,然后编译链接即可。
image.png

当前已经基于流式驱动接口,实现了10个设备和功能模块的驱动,下面先简单介绍一下,后续将详细写文章一一介绍。
1.png
在开发ADIS16227、Norkia5110和LCD1602模块驱动的过程中,深切感受到,给用户留一个C++驱动开发接口非常重要,因为这类驱动,上层应用一是没有现成的接口,二是直接用C#是不能实现的,所以必须底层移植,如果没有现成用户接口,就必须依赖厂商了,这很大层度上限制了用户的开发的主动性和灵活性,还有对产品及项目的把控性。

   关于这部分内容,我在用户流式驱动开发接口(UserDriver)的文章中会详细介绍。

 

MF简介:http://blog.csdn.net/yefanqiu/article/details/5711770

MF资料:http://www.sky-walker.com.cn/News.asp?Id=25

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
28天前
|
人工智能 算法 网络安全
基于PAI+专属网关+私网连接:构建全链路Deepseek云上私有化部署与模型调用架构
本文介绍了阿里云通过PAI+专属网关+私网连接方案,帮助企业实现DeepSeek-R1模型的私有化部署。方案解决了算力成本高、资源紧张、部署复杂和数据安全等问题,支持全链路零公网暴露及全球低延迟算力网络,最终实现技术可控、成本优化与安全可靠的AI部署路径,满足企业全球化业务需求。
|
4月前
|
传感器 人工智能 监控
AI与物联网的融合:开启智能化未来的新篇章
AI与物联网的融合:开启智能化未来的新篇章
939 96
|
2月前
|
存储 监控 安全
工业物联网关应用:PLC数据通过智能网关上传阿里云实战
本文介绍如何使用智能网关将工厂PLC数据传输至阿里云平台,适合中小企业远程监控设备状态。硬件准备包括三菱FX3U PLC、4G智能网关和24V电源。接线步骤涵盖PLC编程口与网关连接、运行状态检测及天线电源接入。配置过程涉及通讯参数、阿里云对接和数据点映射。PLC程序关键点包括数据上传触发和温度值处理。阿里云平台操作包含实时数据查看、数据可视化和规则引擎设置。最后提供常见故障排查表和安全建议,确保系统稳定运行。
186 1
|
6月前
|
人工智能 监控 物联网
深度探索人工智能与物联网的融合:构建未来智能生态系统###
在当今这个数据驱动的时代,人工智能(AI)与物联网(IoT)的深度融合正引领着一场前所未有的技术革命。本文旨在深入剖析这一融合背后的技术原理、探讨其在不同领域的应用实例及面临的挑战与机遇,为读者描绘一幅关于未来智能生态系统的宏伟蓝图。通过技术创新的视角,我们不仅揭示了AI与IoT结合的强大潜力,也展望了它们如何共同塑造一个更加高效、可持续且互联的世界。 ###
|
6月前
|
传感器 监控 安全
创新无限:物联网技术在智慧城市构建中的前沿探索
【10月更文挑战第29天】在这个信息爆炸的时代,物联网(IoT)技术正重塑我们对城市的认知。智慧城市已从科幻走向现实,物联网通过连接各种设备和传感器,收集、分析数据,提升城市运行效率和居民生活质量。从智慧城管、智能交通、智慧水务到智能电网,物联网的应用正逐步实现城市的智能化、互联化和可持续发展。
198 1
|
6月前
|
传感器 监控 物联网
智能物联网:LoRaWAN技术在低功耗广域网中的应用
【10月更文挑战第27天】LoRaWAN技术是低功耗广域网(LPWAN)的重要代表,以其远距离通信、低功耗和低成本部署等优势,广泛应用于智能城市、农业监测和环境监测等领域。本文介绍LoRaWAN的工作原理及其实际应用,并提供示例代码展示如何使用LoRaWAN进行数据传输。
178 2
|
6月前
|
存储 边缘计算 物联网
揭秘边缘计算:物联网时代的分布式智能
揭秘边缘计算:物联网时代的分布式智能
197 0
|
6月前
|
物联网 智能硬件
物联网技术:连接智能生活的桥梁
物联网技术:连接智能生活的桥梁
|
2月前
|
传感器 人工智能 物联网
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
297 19
|
6月前
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
235 60

相关产品

  • 物联网平台