基于OneNET云平台的智能空调控制系统

星空全站基于OneNET云平台的智能空调控制系统

产品型号:电力电子变流控制驱动
时间:2024-03-21 16:47:04 | 来源:星空全站APP 作者:星空体育全站app在线平台

产品详情

  , 实现原理通常是以单片机作为控制芯片, 内置无线通信模块(比如WiFi)与控制平台通信. 这种方式需要内置无线通信模块, 只适用于新生产的新型号空调, 无法控制旧型号普通空调. 本文提出并实现了一种以手机APP作为客户端, 通过OneNet云平台上的虚拟设备和外置智能空调控制终端, 实现对普通空调进行远程控制的系统

  整个系统分成3部分(如图1): 手机APP, OneNET云平台上的虚拟设备, 智能控制终端. 手机APP通过无线网络(通信运营商网络、WiFi等)接入Internet与OneNET云平台通信, 智能空调控制终端通过WiFi[3]接入Internet与OneNET云平台通信, OneNET云平台上建有与手机APP和智能空调控制终端分别对应的虚拟设备, 实现手机APP与智能空调控制终端的点对点通信.

  智能空调控制终端内置温湿度模块采集周边环境的温湿度数据, 通过WiFi上传给OneNET云平台, OneNET云平台将数据记录到智能空调控制终端在OneNET云平台上对应的虚拟设备下, 再转发给手机APP在OneNET云平台上对应的虚拟设备, 虚拟设备会将温湿度数据传给手机APP, 在手机上能查看当前环境的温湿度数据.

  用户可根据当前温湿度数据, 通过手机APP发送空调控制命令(开、关、设定温度等)给OneNET云平台, OneNET云平台将控制命令记录到手机APP在OneNET云平台上对应的虚拟设备下, 再转发给智能空调控制终端在OneNET云平台上对应的虚拟设备, 虚拟设备会将控制命令传给智能空调控制终端, 智能空调控制终端内置红外模块, 产生红外信号与普通空调通信, 达到控制普通空调的效果.

  如图2所示, 智能控制终端、手机APP采用Socket方式与云平台通信, 通过心跳保持与云平台的长连接. 系统中传输的数据根据方向分为2类: 1)上行数据, 采集到的传感器数据; 2)下行数据, 用户通过手机APP发出的控制指令.

  上行数据流: 智能空调控制终端主控芯片STM32通过GPIO口接温湿度传感器, 采集温湿度数据, 通过串口发送给ESP8266无线发送给OneNET云平台, 再由云平台转发给手机APP.

  下行数据流: 手机APP发出控制指令, 通过OneNET云平台转发给智能控制终端, 控制终端根据指令构造出空调控制码, 通过串口发送给空调控制模块, 空调控制模块调制产生红外信号, 发送给普通空调, 普通空调接收解调红外信号.

  本系统设计了智能空调控制终端的硬件部分, 并进行了验证, 主要分为6个模块(如图3): 温湿度采集模块、无线通信(WiFi)模块、空调控制(红外通信)模块、微处理器(主控)模块、SD卡读取(存储)模块、供电模块.

  微处理器模块采用了STM32F429IGT6作为MCU, 该芯片配置非常强大, 芯片主频高达180 MHz, 具有256 KB SRAM、1024FLASH、12个16位定时器、2个32位定时器、2个USB、140个通用IO口、8个串口等, 完全能满足现有的需求和后续的功能拓展.

  温度控制模块采用DHT11, DHT11是一款能够采集温湿度数据的数字传感器, 与单片机等微处理器进行简单的电路连接就能够实时采集本地湿度和温度. DHT11与单片机之间可采用单总线进行通信, 仅仅需要一个I/O口. 采集一次, 生40 bit的温湿度数据, 通过单总线一次性传给单片机, 数据采用校验和方式进行校验, 有效保证了数据传输的准确性. 功耗很低, 5 V电源电压下, 最大平均工作电流0.5 mA.

  无线通信模块采用ALIENTEK推出的高性能UART-WIFI (串口—无线]. ATK-ESP8266板载ai-thinker公司的ESP8266模块, 内置TCP/IP协议栈, 通过串口与微处理器通信, 能够实现串口与WiFi之间的转换. 通过ATK-ESP8266模块, 微处理器只需进行简单的串口配置, 即可通过网络(WiFi)传输数据. ATK-ESP8266模块支持LVTTL串口, 兼容3.3 V和5 V, 方便与微处理器模块连接.空调控制模块采用XK2233-1作为主控芯片, 内置丰富的定时器用来调制遥控信号, 丰富的数据存储器来存储海量的空调控制码表, 覆盖了市场上常见的空调品牌及其主要型号. 工作电压2~3.6 V, 通过串口与微处理器连接. 使用时, 首先和普通空调对码, 微处理器从SD卡中读取配置文件, 获取空调型号信息, 构造设置空调型号的数据帧通过串口发送给空调控制模块, 该模块即被设置为该型号空调对应的遥控器. 后续接收到空调控制命令时, 空调控制模块会调制出与普通空调相匹配的红外信号, 用于控制普通空调.

  微处理器通过SDIO口读取SD卡数据. 系统使用USB接口为微处理器模块提供5 V电源, 通过AMS1117-3.3产生3.3 V的输出电压, 同时可为其他模块提供5 V和3.3 V电源.

  4]是中国移动通信集团的物联网开放云平台, 开发文档详细完善, 开发者只需按照OneNET平台的规范接入平台, 上传设备数据, 平台实现数据传输、数据存储、数据管理等功能, 支持HTTP、EDP、MQTT、RGMP等多种接入协议[5].本系统采用EDP协议接入, 利用OneNET云平台实现手机和智能空调控制终端点对点通信. 在OneNET云平台上建立的设备情况如

  图中APIKey和设备ID用于建立虚拟设备和实际设备的对应关系, 云平台上的stmdata设备ID对应实际的智能空调控制终端, temp设备ID对应手机APP, APIKey表示设备关联到平台上某个应用, 两个设备的APIKey相同, 即表示关联到同一个应用. 智能空调控制终端和手机APP作为终端连接OneNET云平台, 在登录时需发送APIKey和设备ID给云平台, 平台依据设备ID判断某个设备上线, 依据APIKey关联应用. 终端发送EDP协议的消息时带上目的设备ID, 云平台根据目的设备ID进行消息转发, 实现不同终端间的点对点通信

  6], 整个程序使用3个串口中断, 1个定时器中断, 主流程采用轮询方式. 定时器用于定时改变LED灯的状态, 提示系统正在工作. 串口1用于输出调试信息, 串口2外接XK2233-1, 用于发送空调控制码, 串口3外接ATK-ESP8266, 用于上传温湿度数据、接收云平台转发的控制指令和维护和云平台的心跳消息. 串口3负责上传温湿度数据, 为保证能尽量实时反映现场温湿度, 且发送给空调的控制命令首先是由串口3负责接收, 为保证发出的控制命令是最新的命令, 将串口3优先级设为最高; 为保证系统的响应速度, 串口2优先级次之; 定时器优先级中断再次; 串口1调试用, 优先级最低.主流程负责: 1)程序初始化(读取配置文件, 获取设备ID、目的设备ID、API-key、接入热点名、接入热点密码、云服务器IP地址、云服务器端口、空调型号等关键信息, 开启中断等), 2)定时采集温湿度数据, 通过串口3发送给ATK-ESP8266, 3)定时检查串口3是否有云平台发送过来的指令, 若有, 进行解析, 将解析出来的结果通过串口2发送给XK2233-1, 进而发出红外控制命令给普通空调.


星空全站 上一篇:细数软件工程各阶段必不可少的那些图 下一篇:“5G+工业互联网”未来可期!国家释放强基信号
分享到:
快捷导航: 星空全站 星空全站APP 新闻中心 产品中心 案例中心 星空体育全站app在线平台 网站地图

Copyright © 2016 星空全站APP在线平台(中国)注册登录下载 ALL RIGHTS RESERVED星空体育全站app在线平台
电话:0731-85133451/22201682地址:湖南长沙雨花区长沙国际研创中心A3栋