【物聯網中介軟體平台-04】YFIOs驅動開發指南

來源:互聯網
上載者:User
文章目錄
  • 2.5.1 驅動編譯載入
  • 2.5.2 添加使用者裝置
  • 2.5.3 設定項目屬性
  • 2.5.4 項目部署調試
  • 2.5.5 項目運行

 

文檔名稱

YFIOs驅動開發指南

版本

V1.0.0

作者

葉帆

日期

2012-12-25

曆史

 

文檔列表

http://www.sky-walker.com.cn/MFRelease/YF_document_list.pdf

1 YFIOs簡介

YFIOs就是YFSoft I/O Server的簡稱,在物聯網、雲端運算時代,一切以資料為中心,不同的感應器通過不同的方式接入網路,通過雲端運算的方式為不同的終端使用者提供服務。

為了適應這種新形勢的發展,加速和降低各種感應器、智能模組的入網代價,以微軟成熟的.NET Micro Framework系統為基礎,打造出物聯網時代的輕量級嵌入式組態系統 —— YFIOs

詳情請參見《YFIOs技術白皮書》。

2 驅動開發2.1 YFIOs SDK安裝

請參見文檔《YFIOs安裝指南》。

2.2建立驅動項目

 

選擇YFIOs Driver模板進行驅動開發。

2.3代碼模板

  

 

   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;    }

 

代碼模板會自動產生如上代碼。

這是一個虛擬串口裝置的模板,可以根據實際感應器的特點和介面進行相關參數配置。

2.4 Hello world

我們在OnRun函數裡,添加如下代碼:

 public int OnRun(Device dv, IOperate op, object arg)

 {

        if (dv.DebugMode != 0) op.Print(MessageType.SysDebug, "OnRun", this.Name);

        op.Print(MessageType.Information, "Hello World!!!", this.Name);

        return 0;

 }

2.5 驅動測試2.5.1 驅動編譯載入

編譯上述代碼,把YFIOsDriver1\bin\Debug\le目錄下的YFIOsDriver1.dll和YFIOsDriver1.pe檔案拷貝到C:\Program Files (x86)\YFIOs\YFIOsManager\Driver目錄。

然後運行YFIOsManager.exe軟體。

 

在驅動列表中,可以看到剛編寫的驅動資訊(如所示)。

2.5.2 添加使用者裝置

 

單擊樹形控制項 中的【使用者裝置】項,雙擊清單控制項中的【建立…】選項,則彈出使用者裝置表單。

我們選擇串口驅動下的VirtualDevice驅動,也就是我們剛編寫的那個驅動。

我們命名為“HelloDevice”,串口號我們選擇COM3,然後儲存。

2.5.3 設定項目屬性

單擊樹形控制項中的【項目屬性】選項,雙擊清單控制項中配置資料,則彈出如下介面,預設情況下,使用者調試、普通訊息、系統調試資訊選項是沒有勾選的。

 

我們勾選所有的選項。

2.5.4 項目部署調試

儲存項目後,單擊【調試】->【部署】菜單(或單擊部署表徵圖)進行項目部署。

 

2.5.5 項目運行

單擊【調試】->【啟動】菜單(或單擊啟動表徵圖)讓項目開始運行。

 

 從資訊輸出視窗中,可以看到,驅動已經正確載入,也輸出了 Hello World!!!

3 驅動調試

雖然編寫的驅動可以在YFIOsManager通過資訊輸出的方式進行調試,但是如果驅動比較複雜,這種調試方法還是不太理想。

因此我們構建一個TinyIOsEmulator,在Visual Studio 2010環境裡進行驅動調試。

由於YFSoft.DriverTest是一個標準的.NET Micro Framework程式,所以調試的時候,需要把系統設定為.NET Micro Framework系統模式。

 

確保PF9和GND串連。

3.1 構建TinyIOsEmulator

 

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();        } }

 

3.2 單步調試

 

從可以看出,在Visual Studio開發環境裡,我們已經可以進行調試了,並且調試視窗也輸出了Hello world!!!資訊。

4額外說明

本篇文章僅僅是一篇驅動開發入門的文章,要編寫一個比較複雜的驅動,還需要深入學習各種開發知識。

高階驅動開發相關的內容如下:

(1)       驅動裝置變數設計;

(2)       驅動裝置讀寫;

(3)       驅動擴充配置面板開發;

(4)       驅動代碼引用第三庫;

(5)       驅動YFIOBC操作;

(6)       策略直接調用驅動;

5相關資源

1、.NET Micro Framework 官方網址

http://www.microsoft.com/netmf/default.mspx

2、.NET Micro Framework官方部落格

http://blogs.msdn.com/netmfteam/

3、中文部落格

http://blog.csdn.net/yefanqiu

http://www.cnblogs.com/yefanqiu

4、葉帆科技

http://www.sky-walker.com.cn/

5、物聯網中介軟體技術開發論壇

http://www.yfios.net

 

YFIOs/YFHMI免費試用

從2012-12-21起YFIOs和YFHMI將開展為期半年的免費試用活動,符合申請條件的使用者,將依次擷取YFIOs和YFHMI的試用機會。

申請表下載:http://sky-walker.com.cn/MFRelease/document/yfios_yfhmi_application.doc

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.