摘 要:介绍了一种基于苹果公司Siri个人助理的智能控制方式,通过GPRS和WIFI网络实现医药企业数据采集系统远程控制,并详细叙述了该系统的硬件和软件设计。该系统利用Siri的语音识别功能,由SiriProxy代理服务器截取Siri的返回信息,并将该信息通过网络传递给树莓派(个人迷你电脑),树莓派解析控制信息并控制数据采集系统的正常开启与关闭。
关键词:Siri;WIFI;GPRS;远程控制;树莓派;智能监控
随着科学技术的不断进步,电子技术与网络技术日渐成熟[1],智能监控手段也变得多样化[2]。同时,智能手机和平板电脑的迅猛革新,使手持移动设备的智能程度越来越高,不仅让生活更加丰富多彩,而且使得办公更加便捷,逐渐成为未来智能监控发展的一种趋势。
在企业的智能监控中,对于数据采集系统的控制多采用有线式或者基于GPRS的手机无线式控制,这两种方式都具有一定的局限性,有线式数据采集系统的安装布线多有不便,而无线式手机控制指令输入较为繁琐,与智能控制还有一定的距离。基于苹果移动操作系统ios5的Siri个人助力业务,采用无线通信的架构WIFI与3G,实现对数据采集系统的远程遥控,充分利用了GPRS网络高频谱利用率、高业务质量、适应多业务环境,并具有较好的网络灵活性和全覆盖能力等优点[3]。
1 远程控制系统结构
本文的远程控制系统主要由移动控制终端(具有Siri个人助理的iPhone或者iPad)、GPRS与WIFI网络、Raspberry Pi(树莓派)、SD(Secure Digital Memory Card)卡、USB无线网卡、编码器、发射模块、无线开关、解码器、数据采集系统等组成。系统结构如图1所示。
远程控制系统通过移动终端(苹果手机或者平板)的Siri语音输入控制指令,通过GPRS或者WIFI网络、Siri服务器传输到Raspberry Pi,并通过Raspberry Pi控制数据采集系统。远程控制系统采用的是单项控制方式,主要是Siri个人助理向Raspberry Pi发送操作指令,由Raspberry Pi控制采集系统的开启或者关闭,指令完成以后将数据采集系统的开闭状态反馈给使用者,让使用者能够了解指令的执行情况。
2 系统的通信原理及硬件设计
本文的远程控制系统主要采用苹果移动设备ios系统Siri个人助理发送操作指令,采用GPRS进行数据通信,利用Raspberry Pi个人电脑进行指令的无线接收及传输,并控制数据采集系统的开关操作。
2.1 Siri
Siri是苹果公司在其产品iPhone及iPad上应用的一项语音控制功能。Siri具有以下特性[4]:与Siri交流采用的是自然语言,直接对话就可以;与Siri的交流采用的是交互式对话方式; Siri能理解整个对话中语言的上下文关系从而给出答复; Siri具有记忆功能,能随着使用时间的增长,对使用者的声音越来越熟悉;Siri在GPRS或WIFI网络状态下都能正常使用。可以说,Siri将用户问题的关键字和相关的行为活动信息与数据进行精确的匹配,以理解用户语言表述的含义。
2.2 SiriProxy
苹果公司的Siri本身并不提供Siri第三方开发接口,但可借助开发者开发的一套名为SiriProxy的程序。SiriProxy是一个代理服务器,开发者可以为这个代理服务器添加自定义的插件,用于截取可识别的语音命令进而调用Siri实现各种用途。这款程序可以让Siri更加智能,为Siri增添第三方开发的能力,通过SiriProxy插件可以让Siri执行使用者设定的指令,丰富了Siri的应用范围。因为SiriProxy既可以安装在越狱的设备上也可以安装在未越狱的设备上,因此方便使用。
2.3 树莓派Raspberry Pi
Raspberry Pi是一款基于Linux系统的个人电脑,配备一枚700 MHz的处理器,256 B内存,支持SD卡和Ethernet,拥有两个USB接口,以及HDMI(High Definition Multimedia Interface)和RCA(Radio Corporation of American)输出支持,电源可以使用输出5 V/1 A的mini USB充电器,并需要SD卡写入系统镜像。对于GPIO(General Purpose Input Output),只需要读写/sys文件系统就可以实现交互控制。由于多数的车库门控制系统是比较单一的开关控制,并不具备无线远程控制,因此采用Raspberry Pi辅助完成无线控制功能。Raspberry Pi共有两种模型,本文根据需求选用具有以太网接口及USB接口的B型。
2.4 GPRS和WIFI
GPRS(General Packet Radio Servers)是在现有GSM移动通信系统基础上发展起来的一种新的承载方式,能够提供端到端的广域无线IP连接,为用户提供一种分组形式的数据业务。GPRS具有传输速率高(是现有GSM 网络的10倍以上)、实时性强、系统容量大、通信费用低、永远在线、适合远程控制等特点[5]。特别适用于间断、突发性或频繁、少量的数据传输,也适用于偶尔的大数据量传输[6]。GPRS能够在原有GSM 网络基础上实现更高的数据传输在于它是基于多个GSM 时隙的复用机制的数据传输,不同网络用户通过复用机制共享一组信道[7],使信道资源得到了更有效的利用。目前,GPRS已在电力、小区安全、汽车防盗、环保等领域得到了比较广泛的应用。
WIFI(Wireless Fidelity)是当今使用最广的一种无线网络传输技术,是一种能够将个人电脑、手持设备(如PDA、手机、Pad)等终端以无线方式互相连接的技术。WIFI为用户提供了无线的宽带互联网访问的技术,可以帮助用户访问电子邮件、Web和流式媒体。WIFI无线网络在开放性区域,通信距离可达305 m;在封闭性区域,通信距离为76 m~122 m[8],便于与现有的有线以太网络整合,可以在降低成本的前提下为用户提供更好的服务。WIFI技术的优点在于:(1)信号范围广,适合办公室及单位楼层内部使用;(2)传输速度快、可靠性高。802.1lb无线网络规范是IEEE802.11网络规范的变种,最高带宽为11 Mb/s,在信号较弱或有干扰的情况下,带宽可调整为5.5 Mb/s、2 Mb/s和1 Mb/s带宽的自动调整,有效地保障了网络的稳定性和可靠性;(3)无需布线,WIFI最主要的优势在于不受空间的局限性,不用考虑如何去布线,可以美化网络空间,也节省了大量的设计成本。由于“热点”所发射出的电波可以达到距接入点半径数10 m~100 m的地方,用户只要将安装有无线设备的笔记本电脑、手机等装置拿到无线信号覆盖的区域内,即可以自由上网。
2.5 硬件设备搭建
硬件的搭设如图2所示,采用5 V/1 A的mini USB通用型手机充电器作为外接电源,插入SUB无线网卡即可连接外部WIFI网络。发射器采用315 MHz发射模块,为了防止重码的产生,在发射器电路设计时要加入编码模块,电路图如图3所示。编码模块采用PT2262/PT2272,该模块是一种CMOS工艺制造的低功耗低价通用编解码电路,最多可有12位(A0-A11)三态地址端管脚(分别悬空、接低电平、接高电平),任意组合可以提供312=531 441地址码,PT2262最多可有6位(D0-D5)数据输入端,设定的地址码和数据码从17脚串行输出。此次设计采用固定编码,将A3接高电平,A4接低电平,其余管脚悬空。Raspberry Pi树莓派提供8个GPIO通用接口、1个I2C接口、2个SPI接口和1个串口,发射模块的GND连接Raspberry Pi的Ground管脚,发射模块的IN1连接Raspberry Pi的GPIO0(PIN17)管脚,IN2连接Raspberry Pi的GPIO1(PIN18)管脚,发射模块的VCC外接5 V电源。在接收器接收到信号后要经过解码器才能被识别,解码器采用PT2272,无线接收采用的是MICRF002,MICRF002是美国Micrel公司推出的完整的单片超外差接收电路,具有固定模式和扫描方式两种工作方式,主要用于无线遥控。MICRF002、PT2272和AT89S51单片机的连接电路图如图4所示。PT2272采用发射端相对应的地址编码方式,将A3接高电平,A4接低电平,其余管脚悬空,17管脚接数据采集系统的控制电路,MICRF002的14管脚接外部时钟;单片机的P1.0、P1.1、P1.2、P1.3口作为数据的输入端接PT2272的输出端,P2.7口作为数据输出端外接数据采集系统控制开关,EA/VPP端接高电平,CPU首先执行片内程序存储器中的程序,然后自动转向执行片外程序存储器中的程序,XTAL1和XTAL2接外部时钟。
3 软件设计部分
3.1 无线控制程序
无线开关是采用射频识别(Radio Frequency Identification)技术,用无线遥控器控制各类灯具、门、窗帘等家居用品的一种新型智能开关,也可用于工业设备的开关。无线开关可以进行对码,所谓对码是接收器对发射器的地址码和控制码进行学习的过程,通过对码建立主控与受控的关系,基于此原理就可以用电脑代替遥控器实现遥控器的功能。给Raspberry Pi装上键盘和显示器,便于程序的开发与调试,首先将Raspberry Pi映像安装到SD卡中,在Linux系统下下载和安装wiringPi的库,安装git-core:sudo apt-get install git-core;下载winringPi库:git clone git://git.drogon.net/wiring;Pi编译和安装库:cd wiringPi,./build,另外大家可以使用cd wiringPi,git pull origin命令对库进行更新。在图形操作界面中运行IDLE 3(Python的集成开发环境),编写遥控程序,程序流程图如图5所示,开启指令和关闭指令分别通过管脚GPIO0和GPIO1发送出去。
3.2 Siri程序
Siri指令的开发,首先便是要搭建SiriProxy代理服务器,服务器需要.net环境同时支持C++插件和.net插件,通过搭建好的平台,安装MySQL Community Server,下载相应数据库并初始化,启动MySQL 5.5 Command Line Client,执行create database siri_proxy;再执行:source C:\Users\CDTeam\Desktop\database.sql,配置SiriProxy,打开安装目录下的SiriProxySrv.properties,修改MySQL的数据库连接参数:database.mysql.enable=true,database.mysql.dbname=siri_proxy(数据库名),database.mysql.user=root,database.mysql.password=(配置的数据库密码),为iPhone 4S分配IP,server.iphone4s.IPv4v6=(iPhone 4S服务器的IP,如:192.168.1.122),然后需要修改本地的DNS环境,将https://guzzoni.apple.com解析至之前设定的iPhone 4S服务器IP,最后启动Siri Proxy。可以自己动手为SiriProxy编写Ruby插件,然后在SiriProxy服务器上运行自己编写好的PHP脚本,通过该脚本可以截获通过Siri识别的语音指令,然后将指令发送到Raspberry Pi,进而控制数据采集系统的开启。软件流程图如图6所示。
3.3 单片机程序
AP89S51单片机不仅功耗低,而且具有4 KB的在线编程Flash存储器,利用该单片机编写指令识别程序。P1.0~P1.7为双向I/O口,接收从PT2272输入的数据,通过单片机内置程序判断是开启指令还是关闭指令,并将控制指令通过P2.7口输出。程序流程图如图7所示。
基于Siri的远程监控是控制时代的一种新思路,整合移动通信技术与控制技术,开辟了控制时代的新格局。运用现代通信技术,扩展了手机应用范围,而且功能扩展性比较好,通过合理的设计,可以以一部iPhone手机,通过自然语言,以人机对话的方式控制诸多设备。此设计成本比较低,智能化程度较高,适应了智能控制发展潮流。
参考文献
[1] 高世新.3G技术在通信中的应用及其未来发展趋势[J].科学探索与应用,2012,21(19):198-210.
[2] 傅仲君.嵌入式GPRS模块的设计与实现[J].计算机工程与应用,2004,4(8):57-59.
[3] 任建国.GPRS无线通讯在计量检测中的应用[J].计量与测试技术,2012,39(9):18-20.
[4] 张利远,王春丽.面向智能导师系统的Siri个人助理应用研究[J].中国电化教育,2012(10):131-135.
[5] 朱庆豪,曾蕾.基于GPRS的远程自动抄表系统的设计[J].电测与仪表,2006,43(7):1367-1370.
[6] 林永君,杨春来,常喜茂.基于GPRS的远程监控系统的研究与实现[J].电测与仪表,2011,48(3):1367-1370.
[7] 黄承安,张跃,云怀中.基于GPRS的远程仪表监控系统[J].化工自动化及仪表,2003,11(38):42-45.
[8] 陶杰,张月莹.基于3G与WIFI结合的高速公路无线监控系统[J].中国交通信息化,2012(9):81-82.