APP下载

基于云平台的物联网温湿度监控系统

2019-01-27刘啸松

中小企业管理与科技 2019年21期
关键词:传输速率低功耗温湿度

刘啸松

(长安大学信息工程学院,西安710010)

1 问题现状

短距离通信技术中,无线数据传输模块的传输误码率高,可靠性差;ZigBee 以低功耗、自组网的特点而受到物联网的关注,但是专用协议无线网络,传输速率低,开发难;WiFi 是以太网的一种无线扩展技术,用户可以共享宽带,但是其传输速率低,在此基础上发展起来的WIGIG 技术,传输速率可以达到1Gbps 以上,但是不能穿过墙壁,且功耗高;蓝牙技术已进入低功耗时代,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。但是这些短距离技术覆盖范围有限,对于大范围或移动性布局的物联网设备无能为力[1]。

2 解决方案

2.1 GPRS

GPRS 允许用户在端到端分组模式下发送和接收数据,而不需要利用电路交换模式的网络资源,从而提供了一种高效、低成本的无线分组数据业务,和GSM 通信网络相比,技术特点如下:①资源利用率高;②传输速率高(64~128Kbps);③接入时间短;④支持IP 协议和X.25 协议;⑤低成本,以通信的数据量为主要依据进行计费。

2.2 WiFi

WiFi 最主要的优势在于不需要布线,可以不受布线条件的限制,发射信号功率低于100mw,低于手机发射功率。WiFi具有如下技术特点:更宽的带宽、更强的射频信号、更低的功耗、改进的安全性。

3 设计任务

从覆盖范围、传输速率、基本业务类别、可移动速率、前向扩展、演进走向等多方面综合分析,本设计提出一种基于WiFi和GPRS 的DHT11 温湿度远程监测系统,具有传输误码率低、成本低及覆盖范围广等优点,并且可与监测人员的手机绑定,实现随时、随地地移动监测。设计主要内容包括:①利用嵌入式开发技术、TCP/IP 网络协议等,设计出了基于OneNET 的环境监控系统,该系统以OneNET 为协调中心,实现了环境变量检测数据上传,与控制命令下达的闭环控制系统。②设计开发了以HTTP 协议为接入方式、以WiFi 连接和GPRS 网络作为数据传输渠道的智能终端,外接温湿度传感器,使终端具有感知能力。③增加了电源对系统进行供电。

4 系统总体方案分析与设计

4.1 系统需求分析

温湿度远程监测系统是在物联网下,可以通过PC、手机等移动设备端实时监测温湿度值,能够实时采集温度和湿度,温度的监测范围为-20~+80℃,测量精度为±0.5℃,湿度的监测范围为0%RH~100%RH,测量精度为±3%RH。系统的设计应用需求有系统低成本要求、系统低功耗要求、系统稳定性要求和系统实时性要求。

4.2 系统总体实现方案

系统的整体设计流程包括:①各种通信方案的比较、方案确定及传感器选型;②系统硬件数据处理电路、低功耗方案确定、系统程序功能实现;③OneNet 物联网云平台、API 接口开发。

5 系统软件设计

本系统的数据采集和发送使用的编程工具是C 语言和Keil 编辑器。在使用电脑或手机在服务端查看远程监测的温湿度系统时,嵌入式软件必须与上文中的硬件系统紧密结合,从而实现温湿度的实时监测。

5.1 系统功能实现流程

本系统设计采用接受OneNET 云服务平台指令,与定时器定时发送两种方式来发送温湿度数据。判断是否连接上WiFi,当未搜索到默认WiFi 时,可以由用户连接ESP-01S 的AP,通过访问192.168.4.1 对ESP-01S 进行配置。若当前无法使用WiFi,则转到STM32 作为控制器的GPRS 通信模式。进行系统初始化,包括所有外设的复位,定时器的初始化,配置系统时钟,输入输出口的初始化,设置当前时间。然后通过“AT”指令与服务端口尝试握手连接,保证指令能够发送成功。判断定时时间到或者收到发送指令时,获取传感器数据并发送给服务器,判断数据是否发送成功,若发送成功,获取当前时间并重新判断。否则,重新获取传感器数据并发送到服务器。

5.2 DHT11 数据处理

DHT11 是一款含有已校准数字信号输出的温湿度复合传感器。DATA 用于微处理器与DHT11 之间的通讯与同步,单总线数据格式,单词通讯时间为4ms 左右,数据分小数和整数部分。

5.3 GA6 模块

数据的GPRS 通信主要是对GA6 模块进行控制,主要包括握手程序、发送数据程序、数据监测服务程序等。

①握手连接。在与GA6 模块进行通信前需要先握手来判断STM32 与GA6 模块是否建立连接,以保证信息能够传输成功。发送AT 指令,如果返回值为OK 则证明握手成功,否则程序无法往下进行而是继续进行握手,直到成功为止。②AT 发送数据。通过STM32 的串口输出AT 指令来控制GA6 模块的相应动作,将模块设置为透传模式,这样经过STM32 串口发送的数据在模块连接TCP 成功之后可发送至模块的串口上,模块通过GPRS 自动将这些数据发送至服务端,有利于控制软件流程[2]。

5.4 ESP-01S 模块

程序的WiFi 通信主要是对ESP-01S 进行控制,主要包括配置WiFi、构建AP、处理和上传数据三部分。

①配置WiFi。ESP-01S 采用了事件响应的方式。ESP-01S可以设置自动连接,这里只需要调用固件库中的函数就可以实现掉线重连,当配置的WiFi 有效时,ESP-01S 便能自动连入。可以结合监听器用LED 显示连接状态。②构建AP。ESP-01S 在自身开放的AP 局域网中的默认IP 地址是192.168.4.1。给HttpServer 添加中间件,当访问'/scanap'时,使用wifi.sta.getap()获取AP 列表再转换到JSON 格式返回。前端使用了轻量的Zepto.js 来搭建前端页面,通过AJAX 来请求数据。③处理和上传数据。温湿度传感器DHT11,通过对IO 管脚的读写,读取传感器数据,并通过WIFIAPI 将数据上传到ONENET 平台。在init.lua 脚本里面周期性通过dofile()函数来调用dht11.lua 函数来读取数据。将读取到的数据按照OneNET 平台HTTP API 接口的要求打包成数据包,并通过WiFi 上传到云平台。

6 结语

①关于WiFi 模块与DHT11 模块的测试。先通过手机或者电脑连接ESP-01S(微控制器)的AP,通关访问192.168.4.1 来对ESP-01S 所要连接的WiFi 进行配置。访问前端Web 页面进行WiFi 的连接。可以手动输入密码,也可以扫描热点然后进行选择。连接上WiFi 后,ESP-01S 会自动获取并处理DHT11 传输过来的数据,然后向OneNET 云平台进行数据传送,在手机端和网页端进行结果查看,预测结果为当前环境中的温度与湿度。由数据可以看出,传送的数据与环境中的数据大致相等,结果无误。②关于GPRS 模块与USB 转TTL 模块的测试。GPRS模块通过流量传送数据,模拟DHT11 测试的数据,传送给GPRS 模块,通过AT 指令发送至OneNET 平台。在手机与网页端进行结果查看与预测结果接近。③关于STM32 模块、GPRS模块与DHT11 模块的测试。先进行通信测试,电脑与STM32 之间的通信成功,STM32 能正确地将数据传送给GPRS 模块,并发送到云端。但GPRS 的数据回传到STM32 的数据稍有问题,不能很好地展示当前的状态和执行的指令。可以从串口中打印的数据看到,GPRS 可将接收到的数据发送到云平台,不过会传到STM32 的数据只能显示指令,不能显示指令的处理结果。

猜你喜欢

传输速率低功耗温湿度
一种高速低功耗比较器设计
基于AT89C51的数字型蚕用温湿度计的设计
三星利用5G毫米波 实现创纪录传输速率
一种宽带低功耗四合一接收机设计
基于温湿度控制的天气预测装置
基于DSP和μcos的温湿度检测系统的设计
低功耗便携智能翻译手套系统
低功耗技术在驾驶行为管理模块中的应用
PLC在计算机空调机房温湿度控制中的应用
夏季滨海湿地互花米草植物甲烷传输研究