摘要:
在闷热的夏天,外出回家就能享受凉爽的室内环境是每个人都期盼的,基于此想法设计了以STM32为控制器, esp8266为无线通信模块,将设备接入机智云物联网平台,通过APP实现联网控制的智慧空调系统。
1 引言
将无线传感网络配置入网通过特定的通信协议接入物联网平台,便可轻松实现联网控制。特定的通信协议保证了可靠稳定的数据交换[1], 物联网云平台作为数据处理中心, 将传感网络终端获得的数据进行处理或存储, 同时提供一个界面给用户查看和操作[2]。本文通过机智云AIoT平台, 简单地制作了联网控制的智慧空调系统。
2 系统设计
2.1 系统组成
整个智慧空调控制部分选用stm32f103作为微控制器;数据采集选用了具有校准数字信号输出的DHT11传感器, 通过单总线的形式从数据线读取测量数据[4];显示部分选用低功耗的OLED, 显示当前温湿度以及无线网络状态;通信部分选用ESP8266模块, 保持接入无线网络,实现与微控制器和云平台的双向通信;空调部分选用制冷片与导冷端,由小风扇引出凉风, 达到模拟空调的效果。
2.2 ESP8266WiFi传感器
ESP8266WiFi传感器自带强大的硬件接口, 通过配置接入WiFi后可以实现串口通信[5]。本系统接入WiFi的配置方式为AirLink模式, 传感器不断接收Wi Fi广播包, 手机连接WiFi后, 通过机智云APP发送编码后的广播包, 在WiFi信号良好的情况下能快速接入无线网, 并保存当前接入的Wi Fi信息, 入网后传感器能快速响应云平台的指令。
2.3 空调系统
空调的制作器件为制冷片、导冷端、散热风扇、小风扇、开关电源以及继电器等。继电器信号触发端由stm32接入, 常开端与公共端同制冷片、散热风扇和小风扇及12V电源组成回路, 在有高电平的信号触发下, 继电器吸合, 回路接通并工作。小风扇还加入了电调控制, 可以根据stm32的PWM信号进行转速调节。
3 软件设计
软件的设计分数据采集及显示和机智云平台指令的收发, 两者独立工作互不影响。本系统需要采集温度值、湿度值, 发送温度值、湿度值、PWM值以及接收控制系统通断的布尔值, 整个实现过程同时借助串口助手进行调试。程序实现过程为外设初始化, 串口协议初始化, 初始化成功后进行温湿度读取[6], Wi Fi配置, 最后实现通信。
3.1 数据采集及显示
数据采集部分使用了DHT11的驱动程序, 显示部分使用了OLED驱动和IIC驱动。stm32上电后先进行温湿度和显示程序的初始化, 在读取温湿度数据成功的情况下, OLED屏上会显示当前的温湿度信息, 模拟室内环境的检测, WiFi接入成功还可显示ON的提示,方便用户知道当前已接入无线网。显示界面效果如图1所示。
3.2 WiFi配置及云端收发
云平台通信部分使用了机智云通信协议。WiFi配置API为gizwitsSetMode () , 实现AirLink配置模式需将参数选择为WIFI_AIRLINK_MODE。发送数据到云平台的API为gizwitsHandle () , 参数需填上协议提供的currentDataPoint数据结构体的地址, 使用之前需要往结构体里更新温湿度值。云平台接收数据命令的API为gizwitsEventProcess () , 该函数用来处理一系列的事件请求, 比如WiFi配置模式的处理, 用户指令处理, 通信系统异常处理等。要实现空调的开断, 风扇的调速只要在这函数体里添加相应的代码便可实现。
4 测试
系统模型制作完成, 代码调试成功后, 在机智云官网下载的公版APP, 也可以选择自行开发, 公版APP的界面如图2所示。
图1 OLED显示页面
图2 APP界面
系统接入WiFi后, 页面上自动显示出物联网云平台接收到的温度值和湿度值, 按下switch后stm32提供高电平信号使继电器吸合, 散热风扇、小风扇和制冷片开始工作。小风扇默认运转在低速状态, 可以通过set进行调速, 进而控制温度, 一般的控制模式为PID控制模式。手机改换用4G信号, 依然能成功控制系统。
5 结语
整个测试过程中, 系统能稳定地处在WiFi中, 没有休眠或意外断网, 并能长时间稳定工作, 达到预期的效果。通过本系统接入WIFi的工作方式, 能很好的实现联网控制空调, 在炎热的夏天满足人们的生活需求。
全部0条评论
快来发表一下你的评论吧 !