YFIOs就是YFSoft I/O Server的简称,在物联网、云计算时代,一切以数据为中心,不一样的传感器经过不一样的方式接入网络,经过云计算的方式为不一样的终端用户提供服务。ios
为了适应这种新形势的发展,加速和下降各类传感器、智能模块的入网代价,以微软成熟的.NET Micro Framework系统为基础,打造出物联网时代的轻量级嵌入式组态系统 —— YFIOs。网络
详情请参见《YFIOs技术白皮书》。app
请参见文档《YFIOs安装指南》。ide
选择YFIOs Driver模板进行驱动开发。函数
public DriverInfo GetDriverInfo() { DriverInfo info = new DriverInfo(); //驱动名称 info.Name = this.Name; //版本号 info.Ver = "V1.0.0"; //说明 info.Explain = "虚拟串口设备"; //开发者 info.Developer = "yefan"; //开发日期 info.Date = "2011-10-18"; //自动化标志 //0 bit 0 - 系统为你初始化通讯接口 1 - 由驱动程序自己完成通讯接口初始化 //1 bit 0 - 无操做 1 - 由驱动程序自己完成IO变量添加 //2~31 bit 备用 info.AutoFlag = 0; //ConnMode-Manufacturer-DeviceType 是驱动的惟一标识 //通讯方式 info.ConnMode = DeviceConnMode.SerialPort; //制造商 info.Manufacturer = "YFSoft"; //设备的类型 info.DeviceType = "VirtualDevice"; //端口配置 info.PortAddrExplain = "串 口 号:"; info.PortAddrValue = "COM1|COM2|COM3|COM4|COM5|COM6|COM7|COM8"; info.PortConfigExplain = "串口参数:"; info.PortConfigValue = "9600,n,8,1"; //设备配置 info.DeviceAddrExplain = ""; info.DeviceAddrValue = ""; info.DeviceConfigExplain = ""; info.DeviceConfigValue = ""; info.ItemExplain = new string[1]; info.ItemValue = new string[1]; info.ItemExplain[0] = "数据类型:"; info.ItemValue[0] = "V|CommState"; return info; }
代码模板会自动生成如上代码。学习
这是一个虚拟串口设备的模板,能够根据实际传感器的特色和接口进行相关参数配置。测试
咱们在OnRun函数里,添加以下代码:this
public int OnRun(Device dv, IOperate op, object arg)云计算
{spa
if (dv.DebugMode != 0) op.Print(MessageType.SysDebug, "OnRun", this.Name);
op.Print(MessageType.Information, "Hello World!!!", this.Name);
return 0;
}
编译上述代码,把YFIOsDriver1\bin\Debug\le目录下的YFIOsDriver1.dll和YFIOsDriver1.pe文件拷贝到C:\Program Files (x86)\YFIOs\YFIOsManager\Driver目录。
而后运行YFIOsManager.exe软件。
在驱动列表中,能够看到刚编写的驱动信息(如上图所示)。
单击树形控件 中的【用户设备】项,双击列表控件中的【新建…】选项,则弹出用户设备窗体。
咱们选择串口驱动下的VirtualDevice驱动,也就是咱们刚编写的那个驱动。
咱们命名为“HelloDevice”,串口号咱们选择COM3,而后保存。
单击树形控件中的【项目属性】选项,双击列表控件中配置数据,则弹出以下界面,默认状况下,用户调试、普通讯息、系统调试信息选项是没有勾选的。
咱们勾选全部的选项。
保存项目后,单击【调试】->【部署】菜单(或单击部署图标)进行项目部署。
单击【调试】->【启动】菜单(或单击启动图标)让项目开始运行。
从信息输出窗口中,能够看到,驱动已经正确加载,也输出了 Hello World!!!
虽然编写的驱动能够在YFIOsManager经过信息输出的方式进行调试,可是若是驱动比较复杂,这种调试方法仍是不太理想。
所以咱们构建一个TinyIOsEmulator,在Visual Studio 2010环境里进行驱动调试。
因为YFSoft.DriverTest是一个标准的.NET Micro Framework程序,因此调试的时候,须要把系统设置为.NET Micro Framework系统模式。
确保PF9和GND链接。
TinyIOsEmulator项目里须要引用咱们刚刚建立的驱动。
测试的主要代码以下:
public class YFIOsEmulator { YFIOS ios = new YFIOS(); Device device = new Device(); public void Run() { IDriver md = TestVirtualDevice(); md.OnLoad(device, ios.operate, null); while (true) { md.OnRun(device, ios.operate, null); Thread.Sleep(3000); } } public IDriver TestVirtualDevice() { device.PortAddr = 1; device.PortConfig = "9600,n,8,1"; device.DebugMode = 0; device.DeviceAddr = 0; device.DeviceConfig = ""; device.IOItems = new ArrayList(); OpenPort(device, ios.operate); return new YFIOsDriver1(); } }
从上图能够看出,在Visual Studio开发环境里,咱们已经能够进行调试了,而且调试窗口也输出了Hello world!!!信息。
本篇文章仅仅是一篇驱动开发入门的文章,要编写一个比较复杂的驱动,还须要深刻学习各类开发知识。
高阶驱动开发相关的内容以下:
(1) 驱动设备变量设计;
(2) 驱动设备读写;
(3) 驱动扩展配置面板开发;
(4) 驱动代码引用第三库;
(5) 驱动YFIOBC操做;
(6) 策略直接调用驱动;
一、.NET Micro Framework 官方网址
http://www.microsoft.com/netmf/default.mspx
二、.NET Micro Framework官方博客
http://blogs.msdn.com/netmfteam/
三、中文博客
http://www.cnblogs.com/yefanqiu
四、叶帆科技
五、物联网中间件技术开发论坛
从2012-12-21起YFIOs和YFHMI将开展为期半年的免费试用活动,符合申请条件的用户,将依次获取YFIOs和YFHMI的试用机会。
申请表下载:http://sky-walker.com.cn/MFRelease/document/yfios_yfhmi_application.doc