【物聯網中間件平臺-06】RFID刷卡拍照

 RFID刷卡拍照,如果是傳統意義上的開發,我們一般需要先知道是什麼型號的RFID刷卡器,自己動手編寫一套讀寫RFID的代碼,用來讀取RFID標籤。攝像頭驅動開發也是這樣的,先要知道攝像頭驅動的協議,然後自己編寫讀取圖像並顯示的代碼。

如果是windows平臺,一般廠家還會提供dll等調用庫,這樣只需調用相關接口函數就能實現相關的功能,不過如果是嵌入式平臺,就相對比較麻煩一些了,一般都需要根據通信協議自行開發相關驅動程序。

無論採用何種辦法,我們實現了該功能。但是過了一段時間,RFID設備換了,攝像頭設備也換了,那麼我們的大部分代碼一般都要作廢了,需要重新進行相關驅動的開發,如果這是已經安裝到現場的項目,臨時更換相關傳感器設備,那對開發廠家來說,真是一場夢魘。

而基於物聯網中間件平臺進行這類程序開發,就會很好的規避這類問題。

(1)、平臺自帶相關驅動(也可以自己開發,後續複用)。

(2)、遠程配置,遠程部署,隨時更換驅動。

(3)、驅動和業務邏輯完全解耦合。

下面就以RFID刷卡拍照爲例,介紹基於YFIOs物聯網中間件平臺,如何進行相關程序的開發。

RFID和攝像頭的驅動如何開發,我們本篇文章就不作介紹了,我們直接使用已經開發好的驅動(對驅動開發比較感興趣的網友,可以參見這篇文章:《YFIOs驅動開發指南》)。

RFID驅動配置

我們選用的易火眼的串口RFID驅動,只需如下配置即可。

(1)、新建用戶設備,選擇YHY632的RFID讀卡器的驅動。

 

(2)、配置設備參數,選擇設備所接的串口,及配置串口參數。

 

(3)、其它參數都是默認,勾選變量自動添加,這樣用戶變量就不需要手動創建了。  

變量自動添加(設備名字:關鍵字)

 

攝像頭驅動配置

 

選擇對應型號的驅動,設定串口號和串口參數,勾選變量自動添加選項。

    該驅動的掃描週期需要設置爲0,表示該驅動不會自動運行。

業務邏輯編程(策略開發)

業務邏輯相對簡單:先判斷是否刷了RFID卡,如果刷了,則進行拍照。

根據這種業務邏輯,爲了降低資源的使用,我們採用事件方式觸發該策略的執行。也就是驅動執行一次完畢後,調用一次該策略,並向該策略傳遞驅動程序運行的結果。

public int OnRun(IOperate op, StrategyMode mode, object arg)

    {

        int val = (int)arg;

        if (val == 0)

        {

            Bitmap bmp = null;

            //調用攝像頭驅動,設備名稱需要和配置的一致

            int ret = op.DriverRun("CameraDriver", null);           

            if (ret == 0)

            {

                int hander = op.IOBC_Create(op.IORead("CameraDriver:BlockName"), 0);

                if (hander >= 0)

                {

                    int Count = op.IOBC_GetLength(hander);

                    byte[] dataSrc = new byte[Count];

                    op.IOBC_Read(hander, dataSrc, 0, Count);

                    op.IOBC_Close(hander);

                    bmp = new Bitmap(dataSrc, Bitmap.BitmapImageType.Jpeg);

bmp.Flush();

                }

            }

           return 0;

      }

以上代碼相對簡單,有幾個地方需要說明一下:

(1)、object arg參數跟調用的機制相關,和驅動綁定的事件中,會傳遞驅動執行的結果,如果是策略調用策略,相關的值根據實際需要進行傳遞。在本應用中,arg是一個整型數,爲0表示驅動執行成功。

(2)、根據設備驅動的名稱調用驅動。

(3)、大塊數據的交互,通過YFIOBC數據塊完成。

策略編寫完畢後,需要進行加載:

 

 

執行模式爲事件模式,和RFID驅動綁定。在驅動的OnRun函數執行完畢後調用該策略,並把執行結果以參數的方式傳遞給策略。

策略相關開發的博文請參見《YFIOs策略開發指南》。

部署運行

 

 

設備更換

 物聯網中間平臺的最大優勢體現在設備更換上,如果我們需要更換攝像頭,則不需要更改任何代碼,直接更換攝像頭驅動即可。

 

 

 

 

 -----------------------------------------------------------------------------

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

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

技術論壇: http://www.yfiot.net

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章