1.项目背景

随着科技的进步,人工智能逐渐发展,人们也越来越依赖科技的力量。

目前,科学技术发展十分迅速,其渗透到各行各业以及生活的方方面面,通过远程控制、预约控制、个性化设计、一键控制等功能进一步提高生活的舒适性、便利性、安全性。

本系统利用物联网的便携性,实现了远程监测环境。利用传感器检测了温度温度、湿度、光线强度,还配备了温度报警。微信小程序端可以查看当前数据,也可以控制灯、保证环境的稳定。

2.设计目标

本项目实现基于ESP32对周围环境的温湿度、通过光敏电阻对周围光的采集,并通过ESP32的WIFI模块上传到ONENET物联网平台。项目总体的功能是可以实时采集数据,并且将数据上传到云平台上,可以通过云平台浏览历史数据。项目主要由分为两个部分:硬件部分是基于ESP32开发板的数据采集与通信模块;软件部分是OneNET物联网平台端和微信小程序端。具体实现如下: 1.通过传感器获取数据,再由单片机处理数据,通信模块进行数据传输,平台端数据存储与处理,小程序端查看数据。 2.硬件部分ESP32开发板为核心,可实现监测当前位置的温湿度、光照条件,通过ESP32WIFI通信模块,使用TCP协议,将采集到的数据上传到 OneNET物联网平台,物联网平台将数据进行存储,并将实时数据显示为图表。微信小程序通过调用OneNET平台提供的API来获取数据,可以显示当前数据。

3.设备端硬件设计

3.1硬件总体设计

硬件总体框架如下图所示。

esp32 ble GATT 与手机通信 esp32 gprs_小程序

 3.2.2 温湿度模块

本系统采集环境的温湿度选择 DHT11 温湿度传感器。DHT11 数字温湿度传感器采 用的是已校准数字信号输出,它能够同时检测温度和湿度,它使用专用的数字模块采集 技术和温湿度传感技术,能够确保产品的高可靠性与稳定性。 该传感器包括一个电阻式感湿元件和一个 NTC 测温元件,利用元件的电气特性随 温湿度的变化测量出环境的温湿度,元件与一个高性能 8 位单片机相连接。该产品具有 高品质、响应快、抗干扰强、性价比高等优点。低功耗与非常小的体积使得它能够被应 用于各种复杂的场景。DHT11 为 4 针单排引脚封装,连接方便。DHT11 温湿度模块实物图如下图所示。

esp32 ble GATT 与手机通信 esp32 gprs_物联网_02

DHT11有三个管脚,VCC一般用3.3V供电,中间的DATA为单总线的串行数据管脚。DATA 用于微处理器与 DHT11之间的通信和同步,采用单总线数据格式,一次通信时间4ms左右,数据分小数部分和整数部分。DHT11原理图如下图所示。

esp32 ble GATT 与手机通信 esp32 gprs_上传_03

 

3.2.3 光敏电阻模块

本系统采集环境光照情况选择光敏电阻。光敏电阻常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。由光敏电阻和电位器构建串联电路,通过光敏两端的分压判断光照强度,是构建光敏传感器的电路原理。光敏电阻实物图如图所示。

esp32 ble GATT 与手机通信 esp32 gprs_数据_04

 

一旦光强度下降,光敏电阻阻值上升,两端分压上升,则 ADC的输出值增加。那么程序通过设置阈值判断,决定是否电亮 LED。光敏电阻和电位器串联到G35,用于Ain。电位器一个管脚连接3V3,另一个管脚连接光敏电阻,形成VCC-电位器-光敏电阻-Gnd的串联电路。光敏电阻原理图如图所示。

esp32 ble GATT 与手机通信 esp32 gprs_物联网_05

 

3.2.4 蜂鸣器模块

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。

esp32 ble GATT 与手机通信 esp32 gprs_小程序_06

 

蜂鸣器原理图如图所示。

esp32 ble GATT 与手机通信 esp32 gprs_小程序_07

 

4.设备端软件设计

4.1系统总体结构

系统总体结构如下图所示。

esp32 ble GATT 与手机通信 esp32 gprs_小程序_08

 

系统通过DHT11传感器获取温湿度数据,Arduino 核心板通过 ESP32的WIFI通信模块发送 AT 指令,通信协议选择 TCP 透传,上传到 OneNET 平台用来解析上传的数据,数据会被分为温度、湿度、光照强度等三个数据流。实时数据会显示在 OneNET 平台端,历史数据会自动存储,在平台端可以查看设备历史数据记录。

4.2传感器驱动设计

4.2.1 ESP32WIFI模块驱动

ESP32模块的通信方式为 UART 串口通信, ESP32模块负责接收传感器模块采集的室内温湿度、硬件状态,并将硬件系统接入 OneNET平台,将数据上传。具体流程为:dht11监测温湿度的数据都可通过串口监测到。上述过程后,硬件系统接入OneNET,系统初始化完成。传感器数据通过 ESP32模块使用 TCP 透传协议上传至 OneNET平台,物联网平台处理接收到的数据,最终在 OneNET 平台上显示为两个数据流

4.2.2 传感器模块驱动

系统的核心模块由ESP32模块组成,ESP32 模块通过与光敏电阻、dht11模块、LDE灯。

光敏电阻模块,模拟信号Do接12号管脚,led灯接4号管脚作为室内光照监测与响应模块。

dht11模块,蜂鸣器I/O接14号管脚,构成温湿度监测模块与预警模块。

4.3 网络接入程序设计

这里主要是利用ESP32的WIFI通信功能将单片机采集到的数据发送到云平台上。单片机上电后待WIFI连接成功后会在OneNET平台上显示在线设备,可以实时采集数据。首先ESP32接收AT指令,连接入网,ESP32在基于MQTT协议的基础上向OneNET平台获取接入参数如设备名称、API-KEY等,双方建立连接后OneNET平台上的设备显示在线。

oneNET平台设备在线情况如下图所示。

esp32 ble GATT 与手机通信 esp32 gprs_物联网_09

 

OneNET平台数据流显示。

esp32 ble GATT 与手机通信 esp32 gprs_物联网_10

 

其中

temp,     实时监测温度,单位:℃;

hum,     实时监测湿度,单位:%RH;

5客户端设计

客户端用微信小程序实现,系统由两大部分组成,分别是数据显示部分、远程控制部分。数据显示部分,展示监测的温度;远程控制部分,设置按钮,实现刷新数据、打开照明、关闭照明功能。

esp32 ble GATT 与手机通信 esp32 gprs_微信小程序_11