【物聯網中介軟體平台-06】RFID刷卡拍照

來源:互聯網
上載者:User

RFID刷卡拍照,如果是傳統意義上的開發,我們一般需要Crowdsourced Security Testing道是什麼型號的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

相關文章

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.