基于低功耗蓝牙BLE的联网天气预报系统研究

(整期优先)网络出版时间:2023-02-02
/ 2

基于低功耗蓝牙BLE的联网天气预报系统研究

凌云,王军昂,吴凯枫,王赛

南京信息工程大学     江苏省南京市    210044

摘要:随着蓝牙网关和蓝牙物联网在工业、数字环境检测等领域不断发展,万物互联的思想深入广大智能家居爱好者的喜爱。我国是个农业大国,对于天气的变化情况尤为重视,同时伴随着全球气候的变化,极端恶劣天气时有发生,因此当今的人们对于能够预知未来天气情况的电子产品充满热爱。本设计基于低功耗蓝牙通信、WiFi联网,结合C++、PHP等编程语言,以嵌入式系统设计学为学科指导,基于 cortex-M4架构的SAMD51微控制器为硬件开发平台的载体,完成了本次设计平台的搭建和实现。

关键词:BLE;物联网;嵌入式;天气预报;C++;PHP

0引言

随着近些年的5g技术的全球推广和国内民众对于智能家居电子产品的热爱,在这种智能时代的趋势下,使得形形色色的功能多样化的电子家居产品出现在市场上。其中在这个佛山市盈之创广告策划有限公司的"CN201710808539.3”的产品设计中,文档表明采用传统的无线模块、温度控制模块虽然也具备天气预报的功能,但并没有体验出与当今5G物联网的技术也不具备未来几天天气的预报功能,。基于这一背景,本发明采用德捷电子公司的一款基于SAMD51 的微控制器作为开发平台通过配合低功耗蓝牙BLE、WIFI可以自动联网来解析网络上未来三天的天气数据显示在屏幕上,并伴随着温湿度、空气质量的实时状态和光敏感应功能。

1 设计原理

1.1  低功耗蓝牙技术

BLE无线通信技术是为低功耗操作而设计的。它在2.4 GHz工业、科学和医疗(ISM)频段内工作. 2.402 GHz至2.48 GHz。覆盖的信道被分成两部分3个广告频道和37个数据频道。与使用的连接类型(点对点、网状或广播)相关,BLE可以以四种不同的模式(广播者、观察者、中央或外围)运行。为了优化功耗,并知道目标应用程序不需要点对点或网状通信,配置了简化的广播器/观察者模式。该广播器设备用于在没有任何传入连接的情况下,在三个主要的广告信道上传输广告数据包中的数据。广播事件对应于主广告频道37,38和39的持续时间。这些频道的传输频率分别为2.402 GHz、2.426 GHz和2.480 GHz,如图1所示。

 

图1 广播事件信号通道

每个广告包有效载荷设置为至少37个字节,包含广告指定数据(advData是唯一标识和传感器测量的数据)。观察者将以被动模式持续扫描来自其他SNs的三个专用通道上的广告。此外,为了实现精确的数据传输,通过配置相同的广告间隔,广播者和观察者这两个设备都是同步的。

1.2  WiFi联网技术

Wi-Fi是一种无线技术,用于将设备连接到互联网。Wi-Fi从无线路由器发送到附近设备的无线电信号,它将信号转换为你可以看到和使用的数据,设备将无线电信号传回路由器,路由器通过电线或电缆连接到互联网。

本设计通过设计的开发平台的wifi模块接入网络,在官网申请和风天气的API函数通过API访问数据并通过ArduinoJson解析,将解析的数据通过wifi存储到FLASH中。

2硬件系统设计

本次蓝牙模块为主控制芯片设计采用的BLE芯片是NORDICK 公司的nrf52840,,该芯片属于SOC架构的低速远距离传输的可以实现最远300米距离的传输,可以在200米之内距离检测到蓝牙发出的广播信号。电路设计包含一个外部晶振和芯片内部时钟共同为系统提供一个稳定的基本时钟信号,该电路图如图2用一个晶振提供的时钟便于系统各部分保持同步。

图2 低功耗蓝牙NRF52840电路图

WiFi模块采用一款低功耗、先进的WiFi芯片ESP8266。通过wifi连接到互联网站点,通过代码中设计中的网站链接从浏览器获取和风天气API函数,然后通过协调节点的WiFi模块将数据传输到开发板的MCU处理数据,实现实时的网络天气数据的远程传输。Wifi电路图如图3。

图3 wifi电路图

图4 按键电路图

按键电路模块,为了方便用户切换功能页面,设计了4个按键电路,分别和MCU的P0.1、P0.2、P0.3、P0.4连接,分别起着页面切换、上下、复位的作用,配合着本设计的各个模块的功能选择与调试。

为了验证终端发送到网关的温湿度数据的正确性,在终端设备中集成了LCD显示模块,实现数据的可视化传输,LCD模块的数据MCU的端口相连。另外,设计了USB-UART模块,实现wifi的网络节点间与MCU的数据传输。UART接口用于连接MCU和WiFi模块。MCU的RX作为UART的接收端,连接ESP8266的GPIO1/UART Tx端。MCU的TX作为UART的发送端,连接ESP8266的GPIO2/UART Rx端。

3软件设计

Arduino IDE是一款便捷灵活、方便上手的开源硬件产品,具有丰富的接口,有数字I/O口,模拟I/O口,同时支持SPI,IIC,UART串口通信。它没有复杂的单片机底层代码,没有难懂的汇编,只是简单而实用的函数。标准化的接口模式为它的可持续发展奠定了坚实的基础。完成系统终端设备和协调器节点的软件设计,实现异构网络数据帧的转换;开发环境为Arduino IDE。

3.1、低功耗蓝牙通信程序设计

    低功耗蓝牙采用PB-GATT入网通信,考虑到适用于任何未经配置的移动设备加入到网络中。蓝牙通信模块涉及app_time初始化、硬件初始化GAP以及连接参数初始化。

在加入蓝牙网络时,未配置的蓝牙设备发出unprovisioned beacon;手机接收到beacon信号后,通过向设备发送出邀请Provisioning Invite PDU操作,数据在prov_provisionee_pkt_in和prov_provisionee_cb_ack_receive的两个回调函数中处理。设备接收到Invite消息后,向手机发送Provisioning Capablities数据包具备的能力跟手机进行交互;经过邀请数据交换后,设备跟手机进行公钥(Provisioning public key)配置保证在蓝牙通信时安全;交换公钥后进行认证Authentication;当认证成功后,设备和手机进行数据交换,通过手机获取设备中显示的天气数据、温湿度等数据。

3.2wifi联网程序设计

WiFi 有AP和STA两种工作模式,本次设计使用的是WiFi的STA模式,STA模式指的是连接在无线网络中的终端。WIFI的模块通过rpcWIFI库将本设计连接到指定的WIFI网络。通过変量参数ssid、password(const char* ssid = "yourNetworkName",const char* password = "yourNetworkPassword")修改为自己的WIFI网络。当接入到网络后,通过和风前期的API函数解析当天和未来三天数据包括天气、雨量;温度度和湿度数据;天气、温度范围、空气质量预测等;天气信息更新的时间;对应的图标标号。在天气的API函数,返回的 JSON 数据中可以修改修改city是城市编码即可对应哪个城市的天气;base表示获取实况天气,all表示获取预报天气。

3.3  主程序设计

开机自动联网获取实况天气和预报天气;在主界面同时显示室外和室内的温湿度;按上方左键可手动更新天气信息;可通过按键模块翻页查看未来几天的天气预测信息。

4结语

本文提出的了一种基于低功耗蓝牙BLE的天气预报平台系统,其目标是设计出可以通过WiFi连接互联网,通过天气预报API函数连接到天气预报网站,解析出天气信息传递到MCU进行处理用LCD显示。加入低功耗蓝牙Nrf52840芯片,我们可以通过连接蓝牙,通过蓝牙传输将信息反馈到手机上,主要运用蓝牙广播方式传输数据。此款基于低功耗蓝牙的联网天气预报仪系统给用户在智能家居电子产品上有了更多的选择,扩大用户群体。

参考文献

[1]孙中杰.基于RSSI门限的BLE速率自适应算法[J].物联网技术,2022,12(09):57-59.DOI:10.16667/j.issn.2095-1302.2022.09.015.

[2]Cunyi Yin,Hao Jiang,Jing Chen,Xiren Miao. A High-Adaptability Indoor Localization Algorithm for Large-Scale BLE Sensors[C]//.第40届中国控制会议论文集(10).[出版者不详],2021:391-395.DOI:10.26914/c.cnkihy.2021.025219.

[3]闫云,丁永红.BLE Mesh组网的可穿戴设备低功耗研究[J].单片机与嵌入式系统应用,2022,22(03):52-55.

[4]Kitzhaber Zechariah B,English Caitlyn M,Sanim Kazi Ragib I,Kalaitzakis Michail,Kosaraju Bhanuprakash,Hodgson Michael E,Vitzilaios Nikolaos,Richardson Tammi L,Myrick Michael L. Fluorometer Control and Readout Using an Arduino Nano 33 BLE Sense Board.[J]. Applied spectroscopy,2022.

[5]Bukreyev Ivan,Yüksel Hazal,Ho Ken,Apsel Alyssa. PCO-Based BLE Mesh Accelerator[J]. Sensors,2022,22(14).

[6]陈广金,蓝慕云.基于WiFi的智能温度调节系统设计[J].现代电子技术,2022,45(20):1-6.DOI:10.16652/j.issn.1004-373x.2022.20.001.