5664| 4
|
[第二届] 第二届UEAL第四轮主观题--儿童走失报警器 |
一、概述 为了实现防丢器的功能,本设计采用DFRobot M3作为核心控制板,通过和移动蓝牙终端配对,并采用RSSI测距定位算法,简洁实现距离远近的检测。将测得的距离通预设值比较,从而执行不同的动作,实现简单的防丢器功能。 二、系统硬件设计 本系统硬件主要分为核心控制板、电源供电部分、液晶显示部分、报警模块和移动蓝牙终端以及位置检测模块。在主机和从机(控制板上蓝牙和移动终端蓝牙)配对后,系统通过读取RSSI来换算成相应的距离。测试过程以USB形式进行供电,但距大于3-5米,蜂鸣器报警,当距大于15~20米时点击震动同时蜂鸣器持续报警,超出蓝牙(其他无线装置)极限30m距离后,可自动通过GPRS切换GPS定位。相关硬件设计如下。 2.1 主控制器 系统主控制器采用Bluno M3,它是一款基于ARM处理器并且兼容Arduino接口的开源硬件平台,同时也是一款集成了蓝牙4.0通信模块和32位主控芯片STM32F103RET6的微控制器。 2.2 电源系统设计 作为防丢器而言,系统功耗设计十分重要,本系统采用锂电池进行供电,并通过XXX实现线性稳压为电池供电,当锂电池电量耗尽,系统会发出报警的提示,同时切换到纽扣电池进行供电。另外本系统支持USB进行供电,电路设计如下 2.3 蜂鸣器和震动电机 2.4 GPS模块电路 2.5 SIM900模块电路 三、系统软件设计 3.1 软件框架 程序启动后首先会开启蓝牙进行配对,当配对成功后会通过RSSI采集信号的强弱,从而计算出主机和从机间的距离,最后通过和预设值相比较从而产生相应的动作,具体软件实现流程图如下 3.2 RSSI测距原理 无线信号传输中普遍采用的理论模型为渐变模型(Shadowing Model)。 式中,p(d)表示距离发射机为d时接收端接收到的信号强度,即RSSI值;p(d0)表示距离发射机为d0时接收端接收到的信号功率;d0为参考距离;n是路径损耗(PassLoss)指数,通常是由实际测量得到,障碍物越多,n值越大,从而接收到的平均能量下降的速度会随着距离的增加而变得越来越快:X是一个以dBm为单位,平均值为0的高斯随机变量,反映了当距离一定时,接收到的能量的变化。 实际应用中一般采用简化的渐变模型 为便于表达和计算,通常取d0为1m。于是可得 [p(d)]dBm=A-10nlg(d) (3) 把[p(d)dBm写成RSSI的形式得到 RSSI=A-10nlg(d) (4) 其中,A为无线收发节点相距1 m时接收节点接收到的无线信号强度RSSI值。式(4)就是RSSI测距的经典模型,给出了RSSI和d的函数关系,所以已知接收机接收到的RSSI值就可以算出它和发射机之间的距离。A和n都是经验值,和具体使用的硬件节点和无线信号传播的环境密切相关,因此在不同的实际环境下A和n参数不同,其测距模型不同。 3.3 RSSI测距测试 根据上面RSSI测距原理,可以先实现加单的测试,利用DFRobot M3核心板通手机蓝牙进行配对,从而读取出RSSI值,通过初步的距离判断,来实现对GPIO的控制,从而控制蜂鸣器和震动电机报警,这里给出测试效果串口打印出的RSSI值如下。 PS:目前针对基本的防丢器吗模拟功能基本实现,能够根绝RSSI的信号前段计算相应距离,并控制蜂鸣器实现报警,但时间关系扩展部分如sim900实现电量短信通知功能,当电源不足时,此时会主动发出一通短信通知第一组紧急联络人和自动通过GPRS切换GPS定位暂时只是在stm32独立实现了简单测试,硬件部分计划是自己设计硬件开发板和供电部分而代替手机终端,目前完成的硬件部分如下。最后附上RSSI测试代码和stm32实现的工程代码。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed