APP下载

基于蓝牙Mesh组网的智能防丢报警器

2022-06-18喻彩丽李俊龙

电子元器件与信息技术 2022年4期
关键词:开发板指示灯按键

喻彩丽,李俊龙

汕尾职业技术学院,广东汕尾,516600

0 引言

随着社会生活节奏的不断加快,人们的行为习惯也发生着不同形式的变化。对随身物品的看护总是容易出现疏漏,例如钱包、手机、钥匙等,而当发现丢失时这些小物件往往不容易被找到。为了应对这种情况的发生,市面上出现了种类繁多的防丢器,不仅可以单纯地应用到物体的防丢方面,更可以应用到老人和儿童群体的防走失上。当需要防丢的目标数目增加时,传统蓝牙设备仅可进行一对一连接的通信方式,这便满足不了用户的需求。针对目前蓝牙防丢器存在的这一局限性,设计一款高可靠低功耗广连接能够满足用户需求的防丢器。

1 主要技术

1.1 蓝牙4.0协议

蓝牙无线通信技术是全球广泛使用的短距离无线标准之一,将传统蓝牙、高速蓝牙和低功耗蓝牙技术合而为一的蓝牙4.0,在具有无线通信上的固有优势的同时还增加了低功耗、高速率等特点。

蓝牙4.0BLE技术较传统蓝牙技术有以下优势:在进行无线通信的过程中,由于电磁波很容易受到外界因素的干扰,在系统数据的传输中,具有不可消除的不可靠性。而蓝牙4.0规范在射频基带协议链路管理协议中采用了可靠性措施[1],此外为了最大程度地减少无线电波频段间的干扰,使用了自适应跳频技术,以保证蓝牙4.0的数据传输的可靠性。

传统蓝牙设备在唤醒之前一直处于待机状态,耗电量极大。蓝牙4.0为了弥补这一缺陷,使用深度睡眠模式来代替传统蓝牙的待机空闲状态。经过强化后的数据传输功耗较传统蓝牙降低了百分之九十[1]。蓝牙4.0的有效传输距离较传统蓝牙有了极大提高,通过加密算法对数据包加密和认证,提高了数据传输的安全性。

1.2 Mesh组网

随着无线通信技术的不断发展,各种各样的无线接入技术层出不穷,方便快捷的无线网络接入为用户提供了前所未有的体验。Mesh组网技术以其自组织、自管理、鲁棒性等独特的性能[2],逐渐成为无线网络接入的一种有效方式。目前Mesh组网已凭借其独有的优势,开始从概念演化到日常生活、生产中。蓝牙Mesh组网不属于无线电技术的范畴,它是一种可用于构建包含大量蓝牙设备或者节点的多对多网络连接技术[3]。

蓝牙Mesh网络的框架主要划分为两部分:用户管理层和设备管理层,通过蓝牙通信链路的建立将它们有效地连接。由用户手机组成的用户管理层可以对处于Mesh网络中的设备进行配置、添加和控制监听等操作,由各种应用场景设备构成的设备应用层可以用来满足对特定场景的需求。在网络中,信息从一个节点到另一个节点,Mesh组网的本质已经不再是一对一的广播方式,而是可以进行多节点路径和多跳方式的数据传输,属于一种网状网络。应用Mesh组网后的网络容量具有可扩展性,使整个蓝牙通信网络的负载节点数量有了极大的提高;其次,Mesh组网还有以下优点。

1.2.1 高可靠性

对于传统网络拓扑结构来说,当某一链路或者某一结点发生故障时,往往会导致整个通信网络的瘫痪。在Mesh组网中采用多路径或者多跳的方式进行组网,当某一结点或链路发生故障时可以经由其他路径进行信息的传送,保证通信的正常进行,极大地提高了通信的可靠性。

1.2.2 便捷式组网

由于Mesh组网具有自管理、自组织的特点[4],当需要将新的设备加入Mesh网络中时,仅仅需要启动新设备的电源,Mesh网络就会对设备进行广播搜索,自主将新设备添加到网络中。这一智能组网过程不仅简化了入网方式,更为场景应用的开发设计提供了便利。

1.3 RSSI定位测距

常用的RSSI定位算法模型如图1所示。

图1 RSSI算法模型

图1在防丢器的应用中采用三边定位,这是一种简单的几何模型。该模型已知坐标中三个点的坐标,并且得知三点分别与第四点之间的距离,通过几何关系可以求出目标点的坐标。

2 硬件部分

整个系统可分为两个部分:智能手机端和防丢器。硬件部分的设计是采用Nordic半导体公司生产的nRF52832蓝牙芯片作为主控芯片,外部电路基于IK-52832DK开发板,通过APP将手机端与防丢器建立通信连接。硬件系统布局如图2所示。

图2 硬件结构

2.1 芯片及开发板

nRF52832芯片是32位的微处理器,具有512KB的片内flash和64KB的片内RAM,采用单电源供电,支持多协议,具有超低的功耗和灵活的外设接口,具备优异的无线通信性能,适用于短距离的物联网通信应用场景,如可穿戴设备、BLE鼠标、2.4G遥控器等。

由艾克姆科技设计的IK-52832DK开发板采用分离式设计[6],所有I/O口通过排针和排母的方式引出,极大方便了开发时对引脚的分配与应用。开发板还具有天线接口、USB转换电路和OLED显示屏等接口,在电路构成上主要包含电源、指示灯、按键电路和3V有源蜂鸣器。该开发板完全兼容nRF52DK开发板,并增加了红外传感接口等实用的功能

2.2 电源

开发板的供电渠道有两种方式:USB供电和外部DC电源供电。通过USB接口给开发板供电,用数据线将开发板与移动电源连接后,移动电源通过USB接口输出5V电源。一般情况下,5V电源供电后最大的电流为500mA,在未安装对电流有更大需求的其他功能模块的前提下,通过USB模式供电足以[7]。此外,在开发板上提供了一个外部DC电源接口,可以通过外部电源来为安装了大耗电量模块后的开发板进行供电。在本设计中我们选择用移动电源通过USB端口为开发板提供5V电源。

2.3 指示灯及按键

开发板上设置了四个用户指示灯D1-D4,由GPIO端口来进行控制。当GPIO端口输出为高电平时,LED两端电平状态相同,无电流经过,处于熄灭状态;当GPIO端口输出低电平状态时,LED两端电平状态不相同,有电流通过,处于点亮状态;同时指示灯电路可以通过跳线断开方便操作。开发板上还有四个用户按键S1-S4,由GPIO端口来控制。当按键按下时IO口输入为低电平状态;当按键被释放时,IO口输入为高电平状态[8]。设计中用四个指示灯的亮灭来表示蓝牙防丢弃的不同状态,因此将按键作为防丢器的操作功能键。

2.4 下载接口

本设计使用了JLINK下载器来进行程序的下载与仿真,该下载器将USB接口通过六芯排线与计算机相连,在连接的同时也在为开发板供电。当处于连接状态时,此时JLINK下载器的指示灯常亮;在进行下载时可以看到指示灯开始闪烁,当闪烁停止后表明程序已经下载完毕。

3 软件部分

软件部分主要包括两个部分:嵌入软件和应用软件,其中应用软件使用的是开源的蓝牙测试软件,蓝牙mesh组网是在蓝牙4.0BLE协议的基础上延伸的技术,即BLE的体系结构[9]。

物理层可进行高斯频移键控,工作在2.4GHz ISM频段,支持37个自适应调频的数据信道,在链路层进行通信连接建立过程中的广播扫描建立和维护连接,以正确的方式进行数据的组织、检验和加密。通过主机控制接口来完成主机与控制器之间的命令及数据传输,逻辑链路控制与适配协议层为上层数据提供封装服务,从而使逻辑上许可端到端的通信。在安全管理层提供蓝牙通信配对时的连接建立和密钥的分发,用户可在属性协议层进行读写操作,在通用属性配置文件定义了一些标准方法,通用访问配置文件负责对设备的接入方式与过程进行处理。

蓝牙mesh组网的结构机制在BLE标准协议的基础上进行扩展,主要由BLE加上组网协议和无需维护拓扑的路由组成。在系统网络中,网络ID唯一标识网络,设备ID唯一标识设备[10]。网络无中心节点,当其中一个设备损坏时并不影响其他设备。

因为Nordic将蓝牙协议栈与应用程序分开,所以下载的时候应该分开下载,其BLE协议是以二进制文件的形式提供的。对于协议栈的下载使用nRFgo Studio下载,将HEX协议文件“s132_NRF52_3.0.0_softdevice.hex”下载到开发板中,对于程序下载使用MDK5,程序主要是通过ble_proximity_s132设备的距离测算程序来调用定时器timer_init()、按键及LED指示button_led_init()、蓝牙BLE协议栈ble_stack_init()、匹配管理peer_manager_init()、通用访问文件gap_params_init()、广播及寻找advertising_init()、通信连接conn_params_int()等子程序来实现防丢功能。程序控制机制如图3所示。

图3 程序控制机制

4 系统测试

经过实际的操作测试后,发现防丢器与智能手机之间在多建筑物的情况下,有效通信距离可达5米。应用了mesh组网协议后的防丢器有效弥补了传统蓝牙防丢器仅可以进行一对一的连接通信的缺陷,比传统蓝牙防丢器更加安全,可连接数量更多。其主要实现了以下功能:

(1)当防丢器超过预设距离后,手机端给出警报提示;

(2)通过防丢器可以主动查找手机,播放手机铃声;

(3)一部手机连接多个防丢器,防丢器间相互独立。

5 结语

防丢器在日常生活中的使用范围比较广泛,一款高可靠低功耗广连接的防丢器,不仅可以为人们生活中的疏漏提供保障而且可以有效防范柔弱群体的走失,有很高的使用价值和意义。采用nRF52832蓝牙芯片并以开发板为基础进行开发设计,在开发过程中有很多参考资料和产品级的例程可供参考,设计的防丢器性能优越能够满足用户的基本需求,而且Mesh组网方式更加灵活,简化了网络拓扑结构,其自组网的特性使程序的设计与开发变得十分简便,这不仅减小了开发周期和难度,而且能够给予开发者更多的启示和经验。

猜你喜欢

开发板指示灯按键
基于有限状态机的按键检测程序设计
一闪一闪亮晶晶浅析笔记本身上的指示灯
非触勿动 秒治键盘误触
“软”指示灯同时监控键盘磁盘网络
基于Verilog语言的4位二进制可逆计数器的设计
开发板在单片机原理及接口技术课程教学中的应用
一种矩阵键盘的MCU实现
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
其实真的很简单教你轻松关闭WP8.1手机按键灯
计算器