【物联网中间件平台-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

相关文章
相关标签/搜索