收稿日期:2019-06-04      修回日期:2019-10-10      网络出版时间:2019-12-18基金项目:国家自然科学基金(U 1804164,U 1404602);河南省科技攻关项目(172102210341)
作者简介:耿丽娟(1990-),女,研究生,研究方向为无线传感网络;通信作者:袁培燕(1978-),男,博士,副教授,CCF 高级会员(08837S ),研究
方向为物联网与智计算㊂
网络出版地址:http ://knski /kcms /detail /61.1450.TP.20191218.1115.068.html
基于Arduino 的智能防盗系统设计
耿丽娟1,刘 青2,袁培燕1,2
(1.河南师范大学计算机与信息工程学院,河南新乡453000;
2.智慧商务与物联网技术河南省工程实验室,河南新乡453000)
摘 要:目前的防盗系统主要通过判断行李与用户之间的距离,来确定行李箱是否安全,缺少行李运动状态,造成判断精度较差,适用范围较小㊂针对以上问题,设计了一种基于Arduino 的智能防盗系统㊂Ardui
no 通过各种各样的传感器来感知环境,与各种硬件搭配可以实现对系统的智能控制㊂通过Arduino101板载惯性测量单元以及超声波传感器来收集行李箱的运动姿态数据,使用Madgwick 滤波算法和AHRS 姿态算法对感知数据进行处理,得到行李箱的实时运动姿态㊂根据姿态分析和超声波测距联合判断行李箱是否丢失,并提醒用户㊂该系统解决了原方案不能准确判断行李箱运动状态的问题,实现了行李箱精确检测㊁智能防盗,即当行李箱非正常移动时可及时触发蜂鸣器并发出警报声,通过短信模块发送报警短信到用户手机,有效规避财务损失㊂
关键词:智能防盗;超声波传感器;状态检测;惯性测量单元;Madgwick 滤波中图分类号:TP277      文献标识码:A      文章编号:1673-629X (2020)05-0175-05
doi:10.3969/j.issn.1673-629X.2020.05.033
Design of Intelligent Anti -theft System Based on Arduino
GENG Li -juan 1,LIU Qing 2,YUAN Pei -yan 1,2
(1.School of Computer and Information Engineering ,Henan Normal University ,Xinxiang 453000,China ;2.Henan Engineering Laboratory of Intellectual Business and IoT Technology ,Xinxiang 453000,China )
Abstract :At present ,the anti -theft system mainly determines whether the luggage is safe by judging the distance between the luggage and the user.Due to the lack of luggage movement status ,the judgment accuracy is poor and the application scope is small.To solve the above problems ,an intelligent anti -theft system based on Arduino is proposed.Arduino senses the environment through various sensors and can realize intelligent control of the system with hardware.It uses Arduino 101onboard inertial measurement unit and ultrasonic sensors to collect movement posture ,and employs Madgwick filtering algorithm and the AHRS algorithm to process the data obtained to get the real -time motion posture of the case.The attitude analysis and ultrasonic ranging jointly judge whether the luggage is lost and remind the user.The system solves the problem that the original plan cannot accurately judge the movement state of the luggage ,and realizes the accurate detection and intelligent security of the luggage.That is ,when the suitcase moves abnormally ,it can trigger the buzzer and give out the alarm sound in time ,and send alarm messages to the user ’s mobile phone through the SMS module to effectively avoid financial losses.
Key words :intelligent anti -theft ;ultrasonic sensor ;state inspection ;inertial measurement unit ;Madgwick filtering
0 引 言
随着科学技术的发展,计算机相关技术为智能防盗系统的研究提供了技术支持㊂从目前的研究现状来看,国内外对汽车㊁室内防盗方法的研究比较多[1-6],也推出了一些具有应用价值的产品㊂但对于行李防盗的研究目前还处于初级阶段㊂随着经济的迅速发展,
国内的客运量也持续增长,行李箱频频丢失的问题依然突出㊂但目前的行李防盗主要运用RFID 或者GPS 等技术,通过判断行李与用户之间的距离进行行李的跟踪,使用范围有一定的局限性,且由于缺少判断行李的运动状态,故判断精度也较差㊂
近年来,Arduino 以简单易用便捷灵活的优势成为
第30卷 第5期2020年5月          计算机技术与发展COMPUTER TECHNOLOGY AND DEVELOPMENT
          Vol.30 No.5
May 2020
了一个优秀的硬件开发平台,能通过各种各样的传感器来感知环境,与各种硬件搭配可以实现对系统的智能控制㊂从行李箱防盗出发,设计了一种基于Arduino 的智能防盗系统㊂该系统通过使用超声波传感器和Arduino101板载惯性测量单元等硬件设备,综合运用姿态分析和超声波测距对行李箱进行跟踪和报警,解决了由于原方案不能准确判断行李箱运动状态造成误报警的问题㊂
1 研究现状
1.1 采用无线电频率识别(RFID)模型来帮助追踪
行李
RFID系统一般包括射频标签(Tag)㊁读写器和数据管理系统,射频标签是由天线和芯片组成㊂Aicha Slassi Sennou等人[7]利用射频识别标签识别和跟踪乘客行李的位置㊂研究了数据库应用程序与RFID系统进行通信的交互式手镯的使用情况㊂数据库系统使用信息与手镯进行交互,这些信息会告诉乘客行李的状况㊂文献[8]中提到NCSR Demokritos的综合系统实验室在TASS(fp7-sec2010-241905)EU 研究项目中开发了一个基于RFID的行李和乘客跟踪系统㊂另外Z Kato[9]结合RFID和Geographic Information System(简称GIS)技术进行高级行李追踪,通过使用可重写的无源RFID标签,研究RFID技术如何在航空工业中用于先进的货运跟踪㊂
基于RFID的追踪功能仅限于在扫描仪的范围内,存在一定的局限性,即通过射频信号仅能判断行李与用户的距离,无法判断箱子的运动状态,由于没有和手机端相连接,故而适时性也较差㊂此外,上述系统一般适用在机场,如果在火车上行李被盗,在射频范围内是无法报警的,特别是在乘客上下车期间,行李箱可能因为报警不及时而无法回㊂除此之外,用户去洗手间时若超过一定距离也会发生误报警㊂
1.2 基于GPS定位的行李防盗系统
F C Mercado[10]研究的行李跟踪和监视系统,使用一个拉链杆附在传统的手提箱闭合拉链上,一个固定的紧固件附在传统的固定带上㊂当拉链拉杆触摸传感器感知到手提箱已被打开时,外部拉链拉杆与固定的紧固件无线连接,唤醒一个固定的紧固件电源并激活紧固件中的记录系统,开始创建打开手提箱的人的记录㊂录制静态图片㊁视频和音频,以及Global Positioning System(简称GPS)电路提供的位置信息,并传送到远程数据库㊂此种系统主要用于行李被盗后的寻,并提供犯罪者身份的证据,但是并不能及时发现行李丢失㊂
总的来说,基于GPS定位的行李防盗系统范围大,误差大,精确度低,不能及时发现被盗,且在室内GPS信号很差,无法起到有效的防盗作用㊂
1.3 智能型行李跟踪系统
M Ghazal等人[11]提出了一种使用移动应用程序和智能手表实时跟踪机场行李的智能系统,使用有源标签收集的卡尔曼滤波Wi-Fi指纹进行跟踪,利用QR 码输入用户飞行前的信息,记录航班信息与不同行李之间的关联㊂他们测试了系统对机场无线网络的影响以及标签的能量需求与随机发生的不同旅行延误时间之间的线性关系㊂此系统能够有效地向乘客佩戴的智能手表提供实时行李追踪信息㊂
国内的龚江涛等人[12]发明了一种智能行李箱,通过检测用户终端的蓝牙信号的强度以及接收到信号的时间差来定位用户㊂其中定位模块采用三块nRF51蓝牙4.0控制芯片,组成无线传感网㊂可以实现智能行
李箱的测重功能㊁自动跟随功能㊁防盗功能㊂丁世豪等人[13]设计了一款智能行李箱集成了Blue tooth4.0模块㊁GPS导航模块以及重量感应传感器,实现了行李箱的自动跟随㊁精确定位以及实时显示物品的重量和环境的温湿度等功能㊂
赵艳妮等人[14]基于视觉传感器设计了智能跟随行李箱,采用Arduino Uno R3控制器,Pixy视觉传感器模块采集目标物的像素信息进行分析,以识别颜的方法进行跟随,但是限制较多㊂
综上所述,现有的防盗行李箱已无法满足人们的需要,急需一种行李箱防盗系统㊂针对以上问题,文中提出了一种基于Arduino的新型智能行李箱防盗系统㊂
2 基于Arduino的智能行李箱防盗系统针对现有技术存在的不足,提出一种基于Arduino 的新型智能行李箱防盗系统,此系统使用方便,便于操作,稳定性好,可靠性高,防盗效率高㊂
2.1 Arduino简介
Arduino是一款简单易用便捷灵活的软硬件开源电子原型平台,由开放原码的简单I/O界面板衍生而来,开发环境使用类似Java㊁C语言的编程语言㊂Arduino主要由两个部分构成:一是开发所需的硬件资源,即多种类型的Arduino电路板;二是开发所需的软件资源,包括特有的开发工具Arduino IDE编程环境及Arduino编程语言㊂使用Arduino技术进行开发的第一步是硬件选型,即选择符合所需功能的开发板㊂Ard
uino开发板不断发展,已经成为一个具有多种开发功能的开发板大家庭,具备不同开发功能的开发板使用同样的开发语言,并且具有统一的对外接口㊂Arduino101是一个性能出的低功耗开发板,它基于
㊃671㊃                     计算机技术与发展                  第30卷
Intel Curie模组,有着和UNO一样的特性和外设,但是其使用了低功耗的Intel单片机㊁板载有蓝牙和姿态传感器㊂结合行李箱防盗系统的设计要求并综合考虑现有研究条件,文中选择Arduino系列开发板中的Arduino101开发板作为传感器节点硬件㊂
2.2 系统的建立
基于该开发板,设计了一种行李箱防盗系统,主要包括以下几个模块:运动状态检测模块㊁通信模块㊁报警模块㊂
状态检测模块安装在行李箱的内部㊂主要组成为arduino101开发板上集成的Intel Curie和超声波传感器㊂Intel Curie是针对可穿戴设计的模组,集成了一个惯性测量单元,惯性测量单元(inertial measurement unit,IMU)是测量物体三轴姿态角或角速率以及加速度的装置㊂一般地,IMU包含了三个单轴的加速度计和三个单轴的陀螺仪,加速度计测量目标三个轴的加速度信号,而陀螺仪测量目标在运动的角速度大小,可以获取目标当前的三个加速度分量和三个旋转角速度㊂通过采集多维数据,并通过数学运算得到相应
位移和速度值㊂然后使用Madgwick滤波算法[15](算法1)对数据进行处理㊂超声波传感器是将超声波信号转换成其他能量信号(通常是电信号)的传感器㊂超声波是振动频率高于20KHz的机械波㊂它具有频率高㊁波长短㊁绕射现象小,特别是方向性好㊁能够成为射线而定向传播等特点㊂超声波对液体㊁固体的穿透本领很大,尤其是在阳光不透明的固体中㊂超声波碰到杂质或分界面会产生显著反射形成反射回波,利用超声波传感器这一性质可以检测行李箱和旅客之间的距离㊂
算法1:
(1)定义i=1,2,3,4
(2)定义j=1,2,3
(3)定义加速度计测量值为a(j)
(4)定义陀螺仪测量值为w(j)
(5)设置初始条件下四元数的估计值SEq(i)
(6)标准化加速度计测量值
(7)利用加速度测量值a(j),计算目标函数f和雅可比矩阵J
(8)利用J计算梯度(矩阵乘法)SEqHotDot(i)
(9)标准化梯度值
(10)利用w(j),计算四元数SEqDot(i)
(11)对估计的四元数求积分
(12)标准化所得的四元数
通信模块通过无线传输介质与状态检测模块连接,通信模块和报警模块可通过手机对系统进行控制,向用户发送报警信息㊂同时通过蓝牙模块与手机连接时,设置登录密码,提高安全性㊂
报警模块主要组成是蜂鸣器,主要工作原理是当行李箱移动时,通过状态检测模块收集的状态信息通过通信模块发送给单片机,单片机处理信息所得到的数据差值如果大于预设的阈值,短信模块将提醒信息给手机,同时单片机触发舵机锁工作,防止箱子被打开㊂当行李丢失后,通过手机蓝牙功能发送指令,触发蜂鸣器报警,用户可以基于警报声音寻行李,报警触发程序如算法2所示㊂
算法2:
(1)定义 K”为触发报警程序
(2)定义 G”为不触发报警程序
(3)由蓝牙遥控器发送信息代码S
(4)设置控制蜂鸣器的数字引脚
(5)当输出为高电平时发出声音
(6)设置蜂鸣器发声的时间循环
(7)读取信息代码S
(8)if S=K then
(9)触发报警
(10)end if
系统最后运用Arduino IDE进行传感器数据的采集及相关数据的处理㊂
3 实 验
3.1 感知数据集
使用Arduino101开发板来模拟行李箱的运动㊂用开发板上集成的惯性测量单元来读取开发板的姿态数据,最后使用Madgwick的滤波算法处理数据㊂Madgwick滤波算法是开源代码,由Sebastian Madgwick博士开发,算法的主要特点是以较低采样率高效地使用较少计算资源㊂该算法从陀螺仪和加速度计采集原始数据,并通过计算得到四元数㊂四元数是包含了分别代表发生旋转数轴的 X”㊁ Y”㊁ Z”数值和代表围绕相同数轴旋转数值的 ω”数值的四维复数㊂这些四元数可用于计算欧拉角的三个角参量:章动角㊁旋进角和自转角;这三个角参量是用于描述一个刚体围绕 X”㊁ Y”和 Z”方向的旋转程度㊂可使用下列等式来计算章动角㊁旋进角和自转角,其计算函数也被包含在开发库中㊂
ψ=A tan2(2q2q3-2q1q4,2q21+2q22-1)(1)θ=-sin-1(2q2q4+2q1q3) (2)φ=A tan2(2q3q4-2q1q2,2q21+2q24-1)(3)其中,q1,q2,q3,q4是规范化后的描述方向的四元数㊂
把Arduino开发板放置在水平桌面上,得到开发板静止时的姿态数据,然后通过模拟行李箱的平移,旋转等运动状态进行数据收集㊂该实验通过Arduino101开发板上的IMU来收集开发板的运动状态信息,然后通过Arduino IDE打印到电脑屏幕上㊂
㊃771㊃
 第5期             耿丽娟等:基于Arduino的智能防盗系统设计
根据加速度计芯片的朝向,确定板子的方向:当板子水平放置,垂直板子向上是Z轴的正方向;从USB 接头到蓝牙的天线方向是X轴的正方向;从模拟和电源引脚到数字引脚是Y轴的正方向㊂根据这三个轴的数据关系就可以判断板子的方向信息㊂
3.2 实验说明
打开智能模块的电源,待设备运行时,通过超声波传感器收集行李箱距离信息,加速度传感器测量设备的方向加速度,当行李被移动时,两个传感器收集的信息发送给单片机,单片机处理信息所得到的数据差值如果大于预设的阈值,短信模块将提醒信息给手机,同时单片机触发舵机锁工作,防止箱子被打开㊂当行李丢失后,通过手机蓝牙功能发送指令,触发蜂鸣器报警,可以基于警报声音进行寻㊂
惯性测量单元可以实时地检测物体运动的姿态信息㊂系统通过检测三个方向的加速度数值,对比三个方向加速度的变化,从而判断行李箱的运动状态㊂因为在火车启停过程中产生的抖动会引起加速度瞬间变化,此时行李箱是处于安全状态的㊂为了避免火车行驶对系统造成的干扰,系统通过超声波传感器测量行李箱与周围物体的距离,在火车启停过程中能够监测行李箱的移动距离,当超过一定的阈值时才会发出警报㊂同时,系统通过Madgwick滤波算法对加速度数据进行处理,并将新产生的数据与前五次的平均值进行对比,过滤掉因火车运动造成的瞬间的加速度变化,从而消除火车运动对系统造成的干扰㊂通过
汽车防盗系统实验,测试多种情况下三轴加速度数据的变化,根据静止时滤波后的数据和移动数据出阈值㊂通过测试,在各种情况下系统均能够准确地监测行李箱的状态,及时报警㊂3.3 仿真结果与分析
3.3.1 运动加速度分析
通过模拟行李箱的各种运动状态,得到行李箱的三轴加速度值的变化,由于箱子与重力加速度方向的夹角会变化,从而导致X㊁Y㊁Z三个方向的加速度会同时变化㊂首先,将开发板放置在水平桌面上,模拟行李箱处于静止状态,得到行李箱静止时三轴加速度值,见图1㊂由图1可知,当行李箱处于静止时,其三轴加速度为水平直线
图1 静止时三轴加速度变化
接着用开发板模拟行李箱从货架上取下的过程,得到图2所示的曲线㊂由于在火车行进过程中,行李箱可能会发生自由落体运动㊂因此,为了区分是人为取下箱子,还是箱子由于火车运动自己落下,使开发板做自由落体运动,并得到三轴加速度的曲线,见图
3㊂
图2 
行李箱取下时三轴加速度变化
图3 自由落体时三轴加速度变化
分析图2㊁图3可得,无论是人为取下,还是自由落体,其X轴的加速度变化不是太明显㊂因此主要分析Z轴和Y轴的加速度变化㊂由图可知,当行李箱发生自由落体时其Z轴和Y轴的加速度变化比人为取下时的变化明显㊂因此可以根据其曲线峰值的大小来判断行李箱是否被盗㊂若峰值小于一定的阈值,则证明是人为取下,此时则可以触发报警装置㊂
然后使用开发板模拟行李在运动过程中的箱翻转和转弯,检测行李箱不同状态下的三轴加速度的变化,得到图4和图
5㊂
图4 
顺时针翻转两次三轴加速度的变化
图5 转弯时三轴加速度的变化
㊃871㊃                     计算机技术与发展                  第30卷
分析图4㊁图5可得,行李箱翻转时的Z轴数值变化与其他两轴相比较明显,X轴数值变化较平缓㊂转弯时Z轴数值变化较平缓,Y轴数值变化较明显,X轴次之㊂由此变化的不同,可以分析行李箱的形态变化㊂从而判断出行李箱当前的运动状态,有助于行李箱丢失时对其进行寻㊂
3.3.2 AHRS姿态分析
由于物体运动除加速度会随之变化之外,还有其绕三个坐标轴的角速度的变化㊂AHRS包括多个轴向传感器,能够为运动物体提供航向(heading)㊁俯仰(pitch)和侧翻(roll)信息,这类系统通常为飞行器提供准
确可靠的姿态和航行信息㊂将其运用到此模拟实验中,可以使用户实时得到准确的行李箱的运动姿态㊂可以更为及时地防止行李箱的丢失以及在丢失时,能准确地掌握行李箱的状态,以此来寻行李箱㊂在此模拟实验中使用Madgwick滤波算法对采集到的数据进行滤波处理㊂以开发板来模拟行李箱的运动,得到行李箱运动姿态的变化,如图6~图9所示
图6 
上下移动
图7 
前后运动
图8 
翻转运动
图9 左右转弯运动
分析以上图像可以得知,当行李箱上下运动时其俯仰值变化较航向和侧翻明显㊂当前后运动时,其航向,俯仰和侧翻的变化都不是很明显㊂当其进行翻转时侧翻值的变化较大,航向和俯仰的变化较平缓㊂当左右转弯时,其航向变化最大,俯仰和侧翻变化较平缓㊂由此根据其姿态变化曲线图的不同可以实时地将行李箱的姿态信息发送给用户,以便实时地掌握行李箱的情况,且在行李箱发生异样的时候向用户发送报警信息㊂
4摇结束语
设计了一种智能行李箱防盗系统,通过Arduino101板载惯性测量单元以及超声波传感器来收集行李箱的运动姿态数据并通过软件平台进行AHRS 姿态的解算,并实时传输出来打印到屏幕中㊂该系统解决了原有方案不能准确判断的问题,实现了行李箱的精确检测㊁智能防盗,即当行李箱移动时可及时发出警报声并发送报警短信到用户手机,避免造成财务损失㊂
此系统运用了Madgwick滤波算法,解决了加速度传感器原有数据不稳定的问题,消除了火车行驶时对数据的影响;对超声波传感器进行初始化,可以消除其他因素造成的距离变化,并自动适应行李箱不同的摆放方式,实现了其对位置变化感应更灵敏㊂并添加了距离差算法,自动对测得的数据进行运算,并与原始数据进行对比,能够消除火车不同行驶速度对其造成的影响㊂系统的蓝牙连接和报警模块,需要输入登录密码才可连接系统,进而对系统进行控制,整个系统具有良好的可扩展性及安全性㊂用户可在一
定距离进行操作,通过发送指令,系统会发出警报声,提醒用户行李箱位置㊂该设计使用方便,可靠性高㊂并且采用低功耗的传感器,该设计功耗小,续航时间长,便于操作,稳定性好,可靠性高㊂
参考文献:
[1] 栾禄祥.基于GPRS和激光虚拟键盘的智能电子门锁系统
[J].计算机应用,2016,36(S2):319-321.
[2] 赵 亭.基于车联网的汽车智能防盗系统设计[J].电子技
术应用,2015,41(3):61-64.
[3] 张 丽,黄国青.基于Arduino/Android的智能防火防盗报
警系统设计[J].天津理工大学学报,2015,31(4):18-22.
[4] 赵彦如,南慧娟,王仁杰.无线智能汽车防盗系统的研究与
开发[J].机械设计与制造,2018(5):100-102. [5] WU Aiping.The design of anti-theft device for vehicle based
on GSM[C]//2017international conference on smart grid and
electrical automation(ICSGEA).Changsha:IEEE,2017:384-
386.(下转第184页)
㊃971㊃
 第5期             耿丽娟等:基于Arduino的智能防盗系统设计