APP下载

基于阿里云的实时天气状况监测装置设计

2021-03-07申志强赵天翔

电脑知识与技术 2021年36期
关键词:物联网嵌入式

申志强 赵天翔

摘要:设计了基于阿里云的实时天气状况监测装置,装置由ESP32开发板、OLED显示屏、DHT11温湿度模块、GY-30数字光强度模块、UVI紫外线检测模块、YL-83雨水检测模块组成。装置采集并监测设备周围的实时环境数据,控制板调用各传感器模块采集周围其他天气数据,最后将采集到的天气数据在本地使用OLED显示屏显示。同时通过ESP32内部集成的WiFi模块连接网络,可以使用便携的网页配网实现WiFi连接变更。最后使用MQTT协议上传至阿里云端,配合移动端App实现便捷的实时天气信息获取。

关键词:嵌入式;物联网;基于阿里云;实时天气;监测装置

中图分类号:TP302.1     文献标识码:A

文章编号:1009-3044(2021)36-0160-02

开放科学(资源服务)标识码(OSID):

Design of Real-time Weather Condition Monitoring Device Based on Alicloud

SHEN Zhi-qiang, ZHAO Tian-xiang

(Nanyang Institute of Technology, Nanyang 473000, China)

Abstract: The real-time weather monitoring device based on Alicloud is designed. The device is composed of ESP32 development board, OLED display, DHT11 temperature and humidity module, GY-30 digital light intensity module, UVI ultraviolet detection module and YL-83 rain detection module. The device collects and monitors the real-time environmental data around the device. The control board calls each sensor module to collect other weather data around the device. Finally, the collected weather data is displayed on the local OLED display screen. At the same time, the WiFi module integrated in ESP32 is used to connect to the network, and the portable web distribution network can be used to realize the WiFi connection change. Finally, the MQTT protocol is used to upload to Alicloud, and the mobile App is used to achieve convenient real-time weather information acquisition.

Key words: embedded; internet of things; based on Alicloud; real-time weather; monitoring device

1 引言

隨着经济发展和科技的进步,地球环境进行着复杂的变化。人们对于环境、气象的关注度越来越高。对环境和气候的监测成了一项重点的实际性问题研究,尤其是短时临近气候预报和区域气候变化、波动的监测和预测研究[8]。针对目前免费泛用型天气预报服务的非实时、不能精确监测于指定区域环境、稳定性不足等缺点以及应用于大型智能化生产用监测装置的高成本、低灵活、配置繁杂等缺点,提出通过无线网络的基于云端存储的小型天气监测装置设计,为人们的生活、出行或是小型农业生产提供小区域实时准确的天气信息[2]。

2 硬件设计

设计的目标是:实时天气监测装置需要实现可手动配网的网络连接,能够实时收集环境数据传输给阿里云平台并通过移动App展示数据。实现更优人性化功能,包括简单易懂的配网界面、自动连接历史WiFi、可以脱离网络等。移动App功能增强,包括主动定位、生活指数等。

选用ESP32开发板作为天气监测装置的主控制板,通过板载ESP32芯片的WiFi功能来连接网络[3]。通过MQTT协议连接阿里云平台,将天气监测数据实时传送给云平台。主控制板调用温湿度模块采集范围温湿度数据,调用光强度、紫外线等模块采集周围其他天气数据[4]。然后,将采集到的天气数据在本地使用OLED显示屏显示。同时,通过网络传送给云平台。最后,通过App展示云端数据。设计整体构架如图1所示。

装置整体组成以两块面板和四个可用螺丝固定的塑料螺母柱作为核心支撑件,以半透明塑料板作为外围支撑件和底板,用热熔胶连接固定各支撑件。

3 软件设计

3.1 主控系统程序设计

主控系统程序设计流程为设备上电;连接WiFi;WiFi连接失败开启AP模式配置WiFi信息;连接WiFi成功后连接阿里云;阿里云连接成功后主控板获取各传感器数据;屏幕显示数据;数据上报阿里云。

同时,在未连接上WiFi后系统也能成功进入数据展示界面,并提示未连接WiFi,此时如果手动配置连接上WiFi,系统可以在不发生主进程变动的情况下连接上阿里云通信[5]。

3.2 阿里云物联网平台设置

(1)注册阿里云。

(2)打开“控制台”->“物联网平台”->“公共实例”。

(3)打开左侧工具栏中的“设备管理”->“产品”->“创建产品”。

(4)填写产品名称,下拉页面,点击“确认”后,点击左侧工具栏“设备管理”->“产品”选择刚创建的产品点击“查看”->“功能定义”->“编辑草稿”。

(5)“添加自定义功能”->“属性”->点击确认,并以此类推添加温度、亮度、开关值、紫外线指数、雨水监测指数这些属性类自定义功能。确认自定义功能数量和参数设置无误后,点击右上角的发布,后续可以点击产品的编辑草稿再次发布以修改功能[6]。

(6)点击“设备”->“添加设备”,选择刚创建的产品,并设置DeviceName,点击“确认”。至此,产品的物模型就建立完成了。

(7)记录阿里云三元组(ProductKey,DeviceName,ProductSecret)。

(8)使用“阿里云物联平台配置工具”生成公共实例的接入域名。

(9)使用MQTT.fx进行连接阿里云通信调试,在MQTT Broker Profile Settings中的Broker Address栏填写生成的连接域名,Broker Port默认1883,Client ID填写生成的Clientid。在User Credentials中填写阿里云物联平台配置工具生成的用户名和密码[7]。点击OK,连接成功后显示绿色提示图标。

(10)测试属性发布。云端接收到属性上报,设备物模型数据对应改变则调试成功。

(11)测试订阅设备属性设置,改变几项属性参数,点击调试后,在MQTT.fx的Subscribe栏能接收到阿里云的消息则为调试成功。

3.3 移动端App程序设计

打开App后,直接进入主界面,主界面分为三个部分。第一部分展示主温度、天气、空气质量、时间和定位选择器。第二部分展示湿度、光强度、紫外线指数和经过计算的体感温度、降雨概率。第三部分展示通过和风天气API和设置的定位信息获取的生活指数。

4 集成测试

将编写好的程序使用Arduino IDE编译并烧写入ESP32内部。然后将ESP32开發板安装至正确的位置,使用USB电源线上电,发现开发板电源指示LED灯正常发光。打开Arduino IDE工具选项的串口监视器,按下ESP32开发板上的EN键重启系统。能在串口监视器上看到正确的开发板系统重启信息,并在8秒左右后提示开启AP模式准备配网,显示配网IP和设备MAC地址。

连接名为ESP32_Config的WiFi后在登录IP地址为192.168.4.1的网页配置调试用的WiFi网络,点击“连接”,系统自动进入连接WiFi模式并连接刚配置的调试WiFi,能在串口监视器上显示连接上WiFi网络和MQTT。

ESP32主控模块功能调试正常后,将设备断电,将所有传感器模块正确安装后上电,能发现OLED显示WiFi搜索动画,DHT11温湿度传感器、YL-83雨水传感器、工作LED灯正常亮起,在串口监视器能每隔两秒发送一次各传感器检测的环境参数,即为硬件测试正常。

登录阿里云平台,打开“控制台”->“物联网平台”->“公共实例”->“设备”,选择“物模型数据”,在 “默认模块”栏能看到各属性数据,点击实时刷新后就能看到实时刷新的天气数据信息。

打开手机天气App,进入主界面,点击定位图标,选择当地的城市名。可以在App界面上看到实时温度、天气、实用的气象信息数据以及人性化生活指数信息。数据能够依据天气监测装置所处环境在云端和App上实时改变。

5 结束语

设计首先需要先清楚地完成对装置整体结构组成的构思和梳理。将各可能使用到的传感器模块进行功能划分和布局划分,然后确定好需要使用到的各种元器件材料等,完成主控开发板和各传感器模块的设计。设计实现了天气监测装置的软硬件设计、实时天气数据监测以及云端以及App的通信。还有一些将来可以提高改进的功能,例如摄像头扫描、深度睡眠、触摸式开关、蓝牙配网、模拟数据曲线图输出等[8]。

参考文献:

[1] 夏中凯,叶泓麟.气象为农服务中的短时临近天气预报的意义探究[J].南方农业,2020,14(35):158-159.

[2] 王丽娟,徐搏.浅谈自动站与人工站的数据采集[J].农业开发与装备,2014(9):103.

[3] 王浩.基于ESP32平台和MQTT协议的远程控制系统设计[J].软件工程,2020,23(8):38-41.

[4] 郑玲玲,张金,刘芳,等.基于LabVIEW和Arduino的温湿度采集系统设计[J].中国科技信息,2021(6):81-83.

[5] 林倩.DHT11数字温湿度传感器通信协议的IO模拟[J].信息通信,2017,30(1):206-207.

[6] 李琳杰,赵伟博,齐锴亮,等.基于阿里云的智能大棚远程监控系统研究[J].自动化与仪表,2021,36(1):28-30,35.

[7] 孟丽荣,赵海天.基于MQTT协议的数据监测系统在设施农业中的应用[J].辽宁师专学报(自然科学版),2020,22(4):82-86.

[8] 刘红欣,穆璐,李强,等.基于WAP端气象产品设计与可视化研究[J].科技传播,2020,12(2):124-125.

【通联编辑:梁书】

猜你喜欢

物联网嵌入式
TS系列红外传感器在嵌入式控制系统中的应用
嵌入式系统通信技术的应用
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
基于高职院校物联网技术应用人才培养的思考分析
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器