1.引言
在智能家居和物联网飞速发展的背景下,基于蓝牙4.0标准的低功耗蓝牙(Bluetooth Low Energy,BLE)技术正被逐步地为人们重视。随着兼容蓝牙4.0标准的智能手机逐步普及,低功耗蓝牙技术也面临着越来越广泛的应用。本设计采用了基于BLE技术的nRF51822蓝牙SoC芯片和SHT11温湿度传感器设计了一种基于低功耗蓝牙技术的温湿度传感器节点,能够将节点位置的温度和湿度发送给主机用于显示,可广泛应用于家庭、车间、仓库的温湿度监控。节点采用了低功耗设计,可用一枚纽扣电池供电,实际使用时间可达1年以上。
2.系统结构
本设计的系统结构如图1所示,系统的处理器模块由nRF51822构成,温湿度传感器件采用SHT11,电源采用纽扣电池供电;由处理器模块、温湿度传感器模块、天线模块、电源模块构成的节点与主机通过2.4GHz的低功耗蓝牙信号通信,主机采用智能手机运行信息采集显示的APP。多个节点可利用应用层协议与主机组成星形网络。
图1 系统结构图
3.硬件电路
温湿度传感器节点硬件的系统构成如图2所示。
图2 硬件系统结构图
3.1处理器模块
处理器模块选用Nordic公司的nRF51822芯片。nRF51822是具有CORTEX-M0低功耗内核,支持BLE、Gazell等多协议的低功耗高速率射频收发器的SoC。其具有高集成度、低成本、处理能力强、低功耗、小体积等优势,非常适合低功耗蓝牙产品的应用。该芯片具有以下特性:具有Cortex-M0内核,片上256KB FLASH,16KB RAM,片内包含支持BLE协议的2.4GHz射频收发器。软件可编程输出功率,最高可达+4dBm的输出功率,输出+4dBm功率时,最高工作电流仅为10.5mA。休眠模式仅为2uA电流。片内包含10-bit ADC、RTC、TWI、SPI、UART等模块,提供最多32个GPIO,具有16个PPI通道。
nRF51822芯片的外围电路简单,采用单端供电,可以使用片内线性稳压器(LDO),输入电压1.8-3.6V;外接16MHz晶振;并配以相应的射频匹配电路。电路图如图3所示。
图3 nRF51822电路图
3.2 温湿度传感器
温湿度传感器采用SHT11。SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。主要特点如下:将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;提供二线数字符串行接口,接口简单,传输可靠性高;测量精度可编程调节;测量精确度高;封装尺寸超小;测量和通信结束后,自动转入低功耗模式。
处理器模块利用二线串行数字接口和温湿度传感器芯片SHT11进行通信。DATA数据线需要外接上拉电阻,电源与地之间要加100nF去耦电容。时钟线SCK用于微处理器和SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有要求;二线串行数字接口不兼容I2C,必须按照传器协议工资。硬件连接如图4所示。
图4 SHT11连接电路图
3.3 电源及外围电路
电源采用纽扣型电池CR2032,系统设有1个按键与1个LED指示灯,用于连接测试与显示通信状态。电路如图5所示。系统预留SWD编程调试接口。系统使用板载PCB天线,有效通信距离可达10米。
图5 电源及外围电路
4.软件设计
系统软件设计是根据BLE协议,在BLE协议栈基础上构建传感器节点应用程序。蓝牙4.0的BLE协议栈包含两部分:控制器和主机。协议栈的实现采用分层方式,控制器部分包括物理层、链路层、主机控制接口层;主机部分包括逻辑链路控制及适配协议层、安全管理层、属性协议层、通用访问配置层、通用属性配置层;上层可以调用下层提供的函数来实现需要的功能[3]。BLE协议栈的结构如图6所示。
图6 BLE协议栈
其中物理层主要定义了通信频率、传输速度、调制方式等;链路层定义了广播状态、扫描状态、数据包格式等;主机控制接口层主要定义了供主机访问控制器统一命令接口;逻辑链路控制及适配协议层主要是为蓝牙低功耗协议栈高层提供面向连接的数据服务,并为高层协议提供协议复用、包的分段和重组、服务质量等功能;属性协议层用来发现、读取、写入与其连接的对等设备的属性;通用属性配置层是利用属性协议层来定义一些处理例程,服务的格式以及它们的属性;安全管理协议,用来定义安全管理的相关协议以及LE设备之间的配对、认证和加密行为;通用访问配置层用来定义一些通用的接口,一些针对不同安全级别的处理程序接口和一些用于用户接口层进行访问的通用格式要求。
4.1 S110 SoftDevice软件包
nRF51822是nRF51系列中的一员,Nordic公司为nRF51系列提供一系列软件支持。通过使用nRF51设备,可以免费使用蓝牙低功耗以及ANT协议栈中的nRF51应用。
nRF51822的S110 SoftDevice软件包是预编译二进制蓝牙低功耗协议堆栈,集成了低功耗控制器与主机的功能,可独立编程和更新,提供了全功能的API供系统调用。特点包括:异步和事件驱动SVC的API;运行时保护;GATT、GAP和L2CAP级别API;广播器功能;GATT客户端和服务器;具有少于128kB的代码和6kB的RAM使用量,为应用程序留有超过128kB的闪存和10kB的RAM;S110SoftDevice和nRF51822加上nRF51 SDK相互配合,包含全面的蓝牙低功耗配置文件、服务以及示例应用集合。在使用过程中,只需下载nRF51822的S110软件包及nRF51 SDK并安装,即可在软件中调用相关API实现系统功能。
温湿度传感器节点唤醒并进行设备初始化后,响应主机的扫描请求,匹配UUID后建立连接成为从机,接收主机服务和特性,并返回存放了温湿度数据的特性值。之后节点设备断开连接并进入低功耗待机状态。
4.2 温湿度采集
温湿度采集程序包括SHT11的驱动程序,与温湿度采集处理程序。SHT11的通信协议是厂家自定义的,所以在驱动程序设计时,需要用微处理器GPIO模拟通信协议。温湿度采集处理程序流程图如图7所示。
图7 温湿度采集程序
4.3 实验测试
实验硬件系统采用基于低功耗蓝牙技术的温湿度传感器节点向主机发送室内温度和湿度数据。主机采用智能手机安装nRF UART应用,通过UART形式显示传感器节点发送的数据。实验软件环境采用nRFgo Studio,nRF51 SDK,S110 SoftDevice,Keil MDKARM Lite等软件构成。实验显示主机能够稳定连接传感器节点并接收显示温湿度数据。
5.结论
本设计采用了基于BLE技术的nRF51822蓝牙SoC和温湿度传感器SHT11设计了一种基于低功耗蓝牙技术的温湿度传感器节点,能够将节点所处位置的温度和湿度发送给主机用于显示,随着智能手机的广泛应用,该设计可应用于家庭、车间、仓库的温湿度监控,具有广阔的应用前景。