超市一站式购物已进入城市的千家万户。然而人们在选购时却采用直接翻阅商品的方式,既不方便又不卫生甚至大大缩短食品类商品保质期,也给超市商品管理造成很大难度。物联网(The Internet of things)基于射频识别(RFID)、红外感应等技术,把物品与互联网连接起来进行通讯,以实现识别、定位、监管的一种网络。
在具备蓝牙功能智能手机上开发一种信息交互软件,在消费者与超市之间组建一个信息交互的局域物联网,满足消费者对商品信息自动获取和信息交互的需求。相应系统称之为“超市局域物联网”
1. 国内相关技术研究
北京邮电大学的李飞云等在《基于 Symbian OS的XMPP协议的实现》中提出如何将即时通信的标准协议XMPP协议移植到智能手机;上海交通大学的吴华杰等在《基于 Windows Mobile 的智能手机蓝牙功能的实现》中分析了 Win Mobile 系统的蓝牙硬件设备控制与功能实现,得出了各种功能的性能指标:宁波工程学院的李剑在《基于蓝牙的信息发布系统设计》中分析并实现了借助Blue-COVe类库,通过 OBEX 协议发布信息的应用系统。
2.实现“超市局域物联网”的关键技术
(1)智能手机(Smartphone)
智能手机,具有独立的操作系统,可以由用户自行安装软件等第三方服务商提供的程序,通过程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称。随着国内三大电信运营商对 3G(第三代移动通信)业务的大力推广,智能手机必将成为今后手机终端的主流。
(2) 无线 JAVA (J2ME)技术
“无线 Java”技术即J2ME (Java 2Micro Edition)是 Sun 公司专门用于嵌入式开发的 Java 软件。J2ME 将 Java 语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。J2ME 的架构分为 Configuration(配置)、Profile (简表)和Optional Packages (可选包)。
“MIDlet”:在MID(Mobile Information Device)移动信息设备上运行的 Java 程序被称为 MIDlet,类似 Applet。MIDlet 程序的运行是由 startApp),pauseApp0和 destroyApp0这3个方法控制的,它们都在javaxicroedition.midlet.MIDlet 中定义,所有的 MIDlet 都必须实现这3个方法startApp0方法用于标志一个 MIDlet 的开始执行,进入 Active 态;pauseApp0)方法标志着 MIDlet 进入了 Pause 状态:destroyApp0方法则标志着 MIDlet 进入 destroyed 态。
MIDlet 的执行状态是通过AMS即Application Management software 来进行管理的。AMS 是位于操作系统级别上用来管理MIDlet 运行的底层机制的总称。MIDlet state 确保了 AMS随时可以消灭该MIDlet。MIDlet 也可请求进入 Pause 态,当需要时再次激活。
(3)蓝牙通信技术
蓝牙是一种无线的短程传输技术。蓝牙规范采用微波频段工作,工作在全球通用的 2.4 GHZ ISM 频段,传输速率每秒 1M 字节,最大传输距离 30 米,通过增加发射功率可达到 100 米。
1)蓝牙微微网 (piconet)
微微网是通过蓝牙技术连接起来的一种点对点、点对多点微型网络。智能手机可通过此网络方便地建立一种标准的无线电连接来进行数据通信。多个相互独立的微微网可组成一个具有自组网特征的分布式网络。一个微微网中存在1个主单元和最多可达 7台的活动从单元。本研究系统中,超市信息发布设备为主设备,而消费者手机为从设备。信息发布设备将信息推送到消费者手机,消费者仅需在自己的手机中安装超市提供的信息接收软件就可以了。
2 )蓝牙协议栈
蓝牙技术的系统结构分 3 个部分:(1)硬件模块:(2)中间协议栈层:(3)高层应用。其中,硬件模块处于底层,涉及跳频与纠错编码等通信原理,这一部分对应用开人员透明,支持蓝牙的手机都具有该底层硬件模块。基于蓝牙的手机软件最基本的原理是使用蓝牙中间协议栈层的蓝牙无线技术 API。蓝牙中间协议栈描述了蓝牙技术的基本构成,分为硬件和软件 2 个部分,硬件协议栈由设备硬件提供,软件协议栈则由软件实现。
3)蓝牙无线技术API
API定义在 Javax、bluetooth 和 Javaxobex 内,便于程序员去调用,其中Javax.bluetooth,它包含了核心的 API,包括发现服务、设备管理、L2CAP(逻辑链路控制与适配协议) 等类,Javax.bluetooth 包是最重要的蓝牙核心API包,包内定义 4 个接口、6 个类和 3 个异常。
可按功能将其分为 3 种类型:
设备管理API:LocalDevice 类:本地设备,提供方法进行获取/发现代理、查询蓝牙属性等操作;RemoteDevice类:本地设备搜索到的远端设备;DeviceClass 类: 提供个设备类(CoD)记录的抽象; B、服务发现 API:UUID类:蓝牙设备全球惟一标识符,识别蓝牙服务或属性: DataElemment类:蓝牙服务属性值,一个蓝牙服务可含多个属性;DiscoveryListener 接口:定义了在发现蓝牙设备或服务的时候进行的回调。
DiscoveryAgent 类:发现代理,完成搜索蓝牙设备、蓝牙服务等操作,与蓝牙应用程序之间一对一关系:ServiceRecord 接口:服务记录,用来描述一个蓝牙服务;连接 API:L2CAPConnection 接口:建立一个客户端的面向连接 L2CAP 型连接;L2CAPConnectionNotifier 接口:用于建立一个服务端的 L2CAP 型的连接。
3.设计和实现“超市局域物联网”的方法
(1)用无线 JAVA 技术开发手机信息接收软件,实现在智能手机上接收商品/促销信息、发送需求信息、调用手机摄像头、加载照片、处理信息等应用层功能;
(2) 用ASPNET 结合 SQLSERVER 数据库开发WEB 模式服务端应用管理系统,管理商品:
(3)用无线 JAVA 技术开发超市端蓝牙信息发布程序,通过在各专类商品区(如水果区)设置携带蓝牙适配器的无盘终端向消费者智能手机发布商品信息,进行信息交互。
原标题:基于手机蓝牙微微网超市局域物联网应用研究
作者:孟昊雨
参考资料
https://www.hooketech.com/supermarket-local-internet-of-things.html