您好, 访客   登录/注册

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

来源:用户上传      作者:刘啸松

  【摘 要】论文兼顾成本低、设备体积小、功耗低等因素,提出了基于OneNET云服务平台的温湿度远程监测系统。采用Cortex-M3内核32位处理芯片STM32F103C8T6作为主控制器,采用GA6通信模块,基于WiFi无线传输技术的搭载ESP8266芯片的ESP-01S通信模块,结合传感器 DHT11,实时采集数据,同时上传数据至OneNET云服务平台。搭载Web服务及终端APP能够随时随地查看数据。
  【Abstract】Considering the factors of low cost, small equipment size and low power consumption, this paper proposes a remote temperature and humidity monitoring system based on OneNET cloud service platform. This system uses the Cortex-M3 kernel 32-bit processing chip STM32F103C8T6 as the main controller, uses GA6 communication module, uses ESP-01S communication module with ESP8266 chip based on WiFi wireless transmission technology, and combines with sensor DHT11 to collect data in real time and upload data to OneNET cloud service platform.Web services and terminal APP can view data anytime and anywhere.
  【关键词】STM32F103C8T6;GPRS;WiFi;OneNET;云平台
  【Keywords】STM32F103C8T6; GPRS; WiFi; OneNET; cloud platform
  【中图分类号】TP319                                           【文獻标志码】A                                【文章编号】1673-1069(2019)07-0141-02
  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的数据只能显示指令,不能显示指令的处理结果。
  【参考文献】
  【1】康华光.电子技术基础(第五版)[M].武汉:华中科技大学电子技术课程组,2013.
  【2】谢自美.电子线路设计·实验·测试(第三版)[M].武汉:华中科技大学出版社,2006.
转载注明来源:https://www.xzbu.com/3/view-15009748.htm