丁 辉,何 涛,丁华峰,徐冠浩(常州轻工职业技术学院 江苏 常州 213164)
基于蓝牙技术的物品寻找器设计
丁 辉,何 涛,丁华峰,徐冠浩
(常州轻工职业技术学院 江苏 常州213164)
基于蓝牙技术的低成本、低功耗、高速度通信的优势,以及智能手机的普及,针对小型物品易于放置在难于发现的位置,寻找较为困难的问题,设计了一款物品寻找器。采用JAVA语言编写智能手机端App,通过蓝牙与绑在物品上的寻找器进行通讯,发出声音和亮光,引导人们寻找到物品。经过实际测试,该物品寻找器与智能手机App运行稳定可靠,最大寻找距离达25米,并且该物品寻找器可进一步扩展其功能用于各类无线短距离控制系统。
蓝牙技术;物品寻找器;智能终端;无线通讯
日常生活中,我们经常会遇到这样的情况,钱包、钥匙等小东西,不经意间的随手一放,结果在想要的时候,却忘记放在哪里了,怎么也找不到。如果这些物品在我们找它的时候,它能感应到并能够发出声音或光亮,引导我们去找到它们,那该多好呢!为此,设计了一款基于蓝牙技术的物品寻找器,通过手机蓝牙发出寻找信号,与物品绑定的寻找器即可发出声音和光亮,使用户能顺利找到相应物品。
蓝牙(Bluetooth)技术是使用范围最广泛的全球短距离无线标准之一,它是一种开放的低成本、低功耗、短距离无线通讯技术规范的代称,这个规范是由一组协议栈的技术协议构成。它是基于蓝牙基带协议,采用跳频技术,使用2.4 GHz ISM(Industrial,Scientific,and Medical—工业、科学和医疗)全球通用频段,结合电路交换与分组交换的特点,能同时传送语音和数据;采用分散网络结构,支持点对点及点对多点通讯,几个蓝牙设备以主从方式构成微微网(Piconet)。蓝牙技术协议标准从1998年的V0.7/1.0/1.1/1.2/2.0/2.1/3.0,到2010 年V4.0,在安全性、通信速率、低功耗、低辐射方面得到了增强,结构上也有了很大的变化。蓝牙技术的最终目标是就是要建立一个全球统一的无线连接标准,使得不同生产厂家生产的数字信息设备,在近距离内都能不用电缆就可以很方便地连接起来,实现相互操作与数据共享。蓝牙这种理念使用户不需要学习如何安装、设置等操作,凡是嵌入蓝牙技术的设备相互之间,都能利用相应的控制软件,自动进行联络与确认,并传输数据,不需要用户干预。
该系统分为两大模块:蓝牙通信与控制模块和智能终端模块,见图1。蓝牙通信与控制模块通过蓝牙收发器获取智能手机的请求信息,再将手机的请求信息通过控制器发出灯光或声音提示信息,并且返回给智能手机相关信息。智能终端模块采用具有蓝牙功能的智能手机,安装自主开发的手机App,完成对物品寻找器的添加、删除、修改以及发出寻找信息、接收来自蓝牙通信与控制模块的返回信息等功能。
图1 物品寻找器技术方案框图
该模块是和物品绑定在一起,因此设计时,需要考虑通讯距离、功耗、体积、成本等因素。通讯距离赿长越好,这个距离是由蓝牙芯片决定的。功耗、体积、成本等与蓝牙芯片及控制器芯片决定。经过实际测试,选用HC05(class 2)蓝牙串口模块,该模块的实际通讯距离可达25米,完全可以满足物品寻找器在单个房间(换一个房间,可以重新发送相关信息)的使用需要。控制器MCU选用STC11F04E-16P的单片机,速度快、功耗低、抗干扰能力强,完全可以满足通讯与控制的要求。
1)HC05蓝牙串口模块
HC05是主从一体化的蓝牙串口模块,采用CRS公司的RB-6B BC417主流蓝牙芯片,支持蓝牙V2.0协议标准,并带有EDR(蓝牙增强速率)模块,内置2.4 GHz天线,串口波特率为2400~115200,模块供电电压为3.3~3.6 V。模块配对后,即可作为固定波特率的全双工串口使用。该模块有3个功能,一是与智能终端进行配对;另一功能是接收智能终端的呼叫信息,通过串口传递给单片机;第三个功能是通过串将单片机的反馈信息发送给智能终端,这样智能终端可以知道物品被找到。模块外形及相关引脚见图2。
图2 HC05串口模块外形及引脚
2)单片机控制模块
单片机控制模块主要有两个功能,一是负责与HC05蓝牙串口模块进行串行通讯,从而实现与智能终端的通讯;另一个功能是当接收到智能终端的呼叫信息后,控制指示灯点亮和扬声器发出声音,提示用户,物品所在的位置。控制模块原理图如图3所示。HC05蓝牙模块串行口与控制模块单片机STCSTC11F04E-16P的串口 (P3.0和P3.1)进行连接,即HC05的TX(1)接J1的2针,RX(2)接J1的3针,实现串口通讯。单片机的P1.5端口控制蜂鸣器,P1.0端口控制LED指示灯,当智能终端发出呼叫信息被控制端收到后,单片机控制蜂鸣器响和指示灯闪,直到用户找到物品将其关闭(如果为了省电,也可设定响应一定时间后自动关闭)。
图3 控制模块原理图
3)蓝牙模块设置与控制器软件
HC05蓝牙串口模块通过串口调试助手进行设置,这时候key(34)引脚接高电平,模块处于AT命令模式。使用相关的AT命令设置蓝牙模块为从模式,并设置串口波特率、8位数据位、1位停止位、无校验位、模块名称、配对密码等。经过这样设置后,HC05蓝牙模块在工作模式(此时key(34)引脚悬空,默认为低电平)时,就完全是一个全双工串行口。
控制器的软件主要功能是串口通讯以及负责控制蜂鸣器和指示灯。主要有串口初始化模块、定时器初始化模块、中断初始化模块、定时器中断服务模块、串口中断服务模块、相关控制位初始化模块、指示灯和蜂鸣器控制模块以及主程序模块组成。当智能终端发出呼叫信息时,与配对的蓝牙通信模块收到信息后,直接通过串口传送给单片机,单片机串口收到信息后,产生串行中断,串行中断服务程序设置相关的标志位,并产生一个反馈信息给智能终端,主程序模块则不断查询相关的标志位,调用指示灯和蜂鸣器控制模块,从而使指示灯点亮,蜂鸣器发出声音。
蓝牙功能已成为智能手机的标准配置。智能终端模块以带蓝牙2.0的Android智能手机为基础,开发一个手机App,实现对绑定在物品上蓝牙寻物器的配对、添加、改名、删除以及呼叫等功能。智能终端模块主要具有配对、添加、改名、删除和呼叫等功能,使用JAVA语言进行开发。图4是添加物品寻找器界面,上半部分显示已经配对的物品寻找器,如“汽车钥匙、常用钥匙”等。通过点击“添加”按钮,则智能模块开始搜索未知的蓝牙物品寻找器,如果找到,则按相应的提示进行操作,最后完成物品寻找器的添加即配对操作。其后可以在列表中选择某个已经配对的物品寻找器,点击相应的按钮进行改名、删除和呼叫等操作。智能终端模块的操作,同智能手机的使用一样简单方便,易于掌握。使用JAVA语言开发基于Android手机的蓝牙通信App,有以下几个关键问题需要注意:
1)打开手机端蓝牙设备。在此设计中,要保证智能终端模块与蓝牙物品寻找器的正常通信,必须保证手机端蓝牙设备处于打开状态。因此智能终端模块首先要写的代码是打开手机端蓝牙设备。主要操作有两步:①获取手机端蓝牙设备“BluetoothAdapterbtAdapter=BluetoothAdapter.getDefault Adapter();”,②打开蓝牙设备“btAdapter.enable();”当然打开过程可以根据实际使用情况做得更友好。
图4 添加物品寻找器界面
2)使用固定的蓝牙串口通讯UUID(Universally Unique Identifier)建立连接。Android手机与蓝牙串口模块进行串口通信时,使用通用的UUID,即SerialPortServiceClass_UUID=' {00001101-0000-1000-8000-00805F9B34FB}',也就是使用spp协议,建立通信连接。这里还要注意,智能App是作为客户端,使用spp协议,向远端蓝牙模块(必须是从模式,远端蓝牙模块就充当了服务端,处于监听状态,才能被手机蓝牙连接)发起连接请求,并建立连接。主要操作有三步:①获取远端蓝牙设备 “BluetoothDevice device=btAdapter.getRemote Device(BluetoothAddress);”,②创建一个Socket连接“Bluetooth Socket socket=device.create Rfcomm Socket To ServiceRecord (UUID.fromString("00001101-0000-1000-8000-00805F9 B34FB"));”,③连接服务器“socket.connect();”。连接过程同样可以进行相关的信息提示,并对连接异常进行处理等。
3)删除已添加(配对)的物品寻找器。如图4所示,如果要删除“汽车钥匙”这个已经配对的物品寻找器,则在图4上直接点击,即可进入图5的界面,这时候可以操作3个按钮,“寻找物品”按钮用于向配对的物品寻找器发出呼叫信息,“修改物品”按钮用于修改配对物品寻找器的名称、相关的说明信息等,“删除物品”按钮是用来删除“汽车钥匙”这个物品寻物器。由于BluetoothDevice类中提供的删除已配对物品寻找器的方法为私有,因此使用JAVA反射技术实现对配对物品寻找器的删除操作,具体需要以下3个步骤:①获取蓝牙设备的Class对象“Class clazz=BluetoothDevice.getClass();”②获取设备类的删除物品方法“Method method=Class. getMethod(“removeBond”);”③删除物品“method.invoke (BluetoothDevice);”这样,就能够实现对已配对列表中物品的删除。同样删除操作过程可以做得更加友好,增加一些确认信息等。
图5 选定汽车钥匙物品寻找器界面
通过实际测试,本智能终端模块稳定可靠,使用简单方便,真正实现了蓝牙设计的初衷——不同厂家生产的设备,只要遵循蓝牙的规范,即可方便地进行相互操作,实现数据共享。
本设计实物经过测试,稳定可靠,可寻找的距离在无障碍情况下达25米,手机端智能App操作方便简洁。基于蓝牙技术的寻物器,其功能不仅能作寻物器,通过对控制模块的扩展,可以作为家庭物联网的控制终端,控制电动窗帘、家用电器、电动玩具、医疗等。将其理解为一个基于蓝牙的远程控制器更确切,用户根据需要对控制模块相关端口进行控制功能的扩展,从而控制不同的对象。该设计是对基于射频技术的物联网无线连接进行了延伸,蓝牙有其辐射低等优势,随着蓝牙4.0 BLE规范的低功耗、高速度芯片的普及,基于蓝牙技术控制器的应用前景将更加广阔。
[1]陈欣.基于智能手机Andriod平台的远程医疗监护系统的设计[D].四川:成都理工大学,2013.
[2]张凡凡.蓝牙技术在智能家居中的应用研究[J].电子制作,2015(10):043.
[3]陈曦,徐鹏,许晓蕾.基于蓝牙通信技术的嵌入式工业控制系统的开发[J].仪表技术与传感器,2015(1):74-76.
[4]林二东,王熙.蓝牙技术在农机监控系统中的应用研究[J].农机化研究,2015(11):226-229.
[5]潘月,朱卉.基于Android系统的蓝牙便携式血脂仪的设计[J].电子设计工程,2013(24):170-173.
[6]王昭顺,徐柏权.一种基于蓝牙的交互式系统设计与实现[J].计算机工程与科学,2014(8):1500-1504.
The design of items-finder based on Bluetooth technology
DING Hui,HE Tao,DING Hua-feng,XU Guan-hao
(Changzhou Institute of Light Industry Technology,Changzhou 213164,China)
An item finder is designed for problem that small objectswhich are liable to be placed in the location difficult to find,based on advantages of bluetooth technology as low cost,low power consumption,high speed communication,as well as the proliferation of smart phones.The smart phone App is written with JAVA language,which can communicate with the finder tied to the item through the Bluetooth,and sound and light to guidepeople to search the item.The actual test shows that the finder and smartphone App are stable and reliable operation,and the maximum search distance can up to25 m.The finder's functionality can be further extended.
bluetooth technology;item finder;intelligent terminal;wireless communications
TN929.5
A
1674-6236(2016)11-0160-03
2015-06-17稿件编号:201506178
丁 辉(1969—),女,江苏大丰人,硕士,副教授。研究方向:计算机应用技术。