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

 RFID刷卡拍照,若是是傳統意義上的開發,咱們通常須要先知道是什麼型號的RFID刷卡器,本身動手編寫一套讀寫RFID的代碼,用來讀取RFID標籤。攝像頭驅動開發也是這樣的,先要知道攝像頭驅動的協議,而後本身編寫讀取圖像並顯示的代碼。編程

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

不管採用何種辦法,咱們實現了該功能。可是過了一段時間,RFID設備換了,攝像頭設備也換了,那麼咱們的大部分代碼通常都要做廢了,須要從新進行相關驅動的開發,若是這是已經安裝到現場的項目,臨時更換相關傳感器設備,那對開發廠家來講,真是一場夢魘。ide

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

(1)、平臺自帶相關驅動(也能夠本身開發,後續複用)。spa

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

(3)、驅動和業務邏輯徹底解耦合。中間件

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

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

相關文章
相關標籤/搜索