APP下载

基于微信小程序的远程空调遥控系统

2019-09-10沈沛雨索朝举徐宁周珩

现代信息科技 2019年14期
关键词:微信小程序

沈沛雨 索朝举 徐宁 周珩

摘  要:本文设计了一种基于微信小程序控制的智能空调遥控系统,实现了通过微信小程序对多种型号的空调的开关、模式、温度等的控制,并可以通过学习模式录入库以外型号的空调。该系统由微信小程序、ATK-ESP8266 Wi-Fi模块、红外遥控模块、云服务器以及MCU模块组成。微信小程序通过MQTT协议将命令发布到云服务器端,同样ATK-ESP8266 Wi-Fi模块也由MQTT协议接收命令,经由串口发送给MCU,MCU将命令进行处理后再控制红外控制模块遥控空调。此系统最大的特点就在于仅需使用日常所用的微信就能遥控空调,简单快捷,成本较低。

关键词:微信小程序;MQTT;ESP8266

中图分类号:TP23      文献标识码:A 文章编号:2096-4706(2019)14-0031-03

Remote Air Conditioning Remote Control System Based on WeChat Applet

SHEN Peiyu,SUO Chaoju,XU Ning,ZHOU Heng

(School of Information and Communication Engineering,Nanjing Institute of Technology,Nanjing  211167,China)

Abstract:In this paper,a smart air conditioner remote control system based on WeChat applet control is designed,which realizes the control of switch,mode and temperature of various air conditioners through WeChat applet,and can enter the air conditioner of the model other than the library through the learning mode. The system consists of a WeChat applet,an ATK-ESP8266 Wi-Fi module,an infrared remote control module,a cloud server and an MCU module. The WeChat applet sends the command to the cloud server through the MQTT protocol. Similarly,the ATK-ESP8266 Wi-Fi module receives the command from the MQTT protocol and sends it to the MCU through the serial port. The MCU will process the command and then control the infrared control module to remotely control the air conditioner. The biggest feature of this system is that it can be used to remotely control the air conditioner only by using the WeChat used daily,which is simple,fast and low in cost.

Keywords:WeChat applet;MQTT;ESP8266

0  引  言

目前對于空调的遥控,一种是用传统的专用或万能遥控器进行操作,使用起来比较麻烦,且必须在可视范围内才能实现遥控;另一种方法则是需要手机下载专用的APP进行操作,这种方法需要安装固定的程序费时费力,并且只能在家用网络中才能使用,实用性不强。

针对这些问题,此系统采用现如今大部分人使用的微信端为基础进行小程序的开发,免去了用户额外下载手机程序的困扰,同时软硬件端通过MQTT协议经由云服务器发送接收数据,帮助用户解脱了只能在家中操控的束缚,使得用户随时随地都能对家中的空调进行操作,极大地便捷了用户的日常使用。

1  系统组成

如图1所示,此系统由五部分组成,以STM32F103RC T6作为主控MCU、ATK-ESP8266作为无线Wi-Fi模块,其中红外遥控模块连接STM32F103RCT6的串口2,ATK-ESP8266 Wi-Fi模块连接STM32F103RCT6的串口3。

当用户在微信小程序[1]端执行相应操作时,经由MQTT协议将操作所对应的数据发布给云服务器端,同时,ATK-ESP8266 Wi-Fi模块通过MQTT协议订阅云服务器端相应的内容,由此ATK-ESP8266 Wi-Fi模块可以通过云服务器接收到微信小程序发布的数据并将其通过串口发送给MCU,然后由MCU对数据进行分析处理并通过其他串口下达相应的指令给红外控制模块,从而实现空调开关机、模式切换以及温度切换等功能。

2  红外遥控原理

该模块通过串口接收MCU发送的数据帧,然后执行相应命令。其中,每五个字节为一帧,第一个字节为命令字(CMD),第二、第三、第四字节为具体的控制命令参数(不同命令参数长度不同,多余的参数设为0x08),第五字节为前四个字节的异或结果(XOR),作为一帧的校验。遥控空调的命令及参数如表1所示。

遥控时需要逐个对码再发送开机命令,对码成功,空调机开启,用此方法找到与所要遥控的空调对应的型号。例如要控制型号为33号的空调,则对应的空调型号的高字节(DataH)是0x00,低字节(DataL)是0x21,此时若实现型号为33的空调的开机、关机,则先发送空调型号数据帧:0x02,0x00,0x21,0x08,0x2B;紧接着发送开机数据帧:0x04,0xff,0x08,0x08,0xFB,空调即可启动;最后发送0x04,0x00,0x08,0x08,0x04数据帧,空调即可关闭。

具体来说,开机后发送0x05,0xXX,0x08,0x08,XOR(BYTE1-BYTE4)数据帧,空调会进入相应的运行模式,其中0xXX包含五种运行模式,分别为:00——自动,01——制冷,02——除湿,03——送风,04——制热(每种运行模式对应的XOR字节分别为其对应数据帧前四个字节异或的结果,即0x05,0x04,0x07,0x06,0x01)。通过发送0x06 0xYY 0x08 0x08 XOR(前四个字节异或结果)数据帧可以控制空调的温度,其中0xYY表示所要设置的空调温度的十六进制表示,范围是0x10—0x1E(对应温度是16℃-31℃)。

3  硬件设计

STM32F103RCT6[2,3]是一款嵌入式微控制器集成电路,采用32位CortexTM-M3内核,CPU最高工作频率为72MHz,具有256KB程序存储器,48KRAM,51個输入输出引脚,3个12位数模转换器,支持多种调试模式和通信接口,12通道DMA控制器,支持定时器、ADC、SDIO、IIS、SPI、IIC和USART外设[3,4],完全满足系统要求。

ATK-ESP8266 Wi-Fi[4]模块是由广州市星翼电子科技有限公司开发的,该模块核心处理器采用超低功率32位微型MCU,主频支持80MHz和160MHz,支持RTOS,集成Wi-Fi MAC/BB/RF/PA/LNA。该模块支持标准的IEEE802.11b/g/n协议,完整的TCP/IP协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。ATK-ESP8266 Wi-Fi模块负责无线上网接入并承担Wi-Fi适配器的任务时,可以将其添加到任何基于微控制器的设计中,只需通过SPI/SDIO接口或I2C/UART口即可,便捷实现功能。如图2所示,只需将ATK-ESP8266 Wi-Fi模块的RXD和TXD分别与STM32F103RCT6的串口3的TXD和RXD连接即可。

红外控制模块[5]与MCU通过串口进行通信,如图2所示,红外控制模块的TXD、RXD引脚分别与STM32F10 3RCT6的串口2即RXD和TXD相连,由此接收STM32F 103RCT6所发来的数据。

4  软件设计

MCU对红外控制模块和ATK-ESP8266 Wi-Fi模块的连接通过串口的方式进行数据读写。程序上电初始化,先将ATK-ESP8266 Wi-Fi模块设置为STA模式并连接无线网络,之后STM32F103RCT6通过ATK-ESP8266 Wi-Fi模块将MQTT协议的CONNECT(连接云服务器)控制报文连接到云服务器,再利用MQTT协议中的SUBSCRIBE(订阅主题)控制报文对应接收微信小程序对云服务器发布的消息。当微信小程序PUBLISH(发布)MQTT控制报文给云服务器时,ATK-ESP8266 Wi-Fi模块从云服务器接收到数据并通过串口3发送给STM32F103RCT6,之后STM32F103RCT6会对数据进行命令类型判别,分离数据中的参数,之后再将数据打包为5字节的一帧数据帧并通过串口2发送给红外模块,由红外模块执行相应的命令遥控空调。期间每过60s(TimeCount≥60)时,STM32F103RCT6会通过ATK-ESP8266 Wi-Fi模块向云服务器发送MQTT协议中的PINGREQ(心跳请求)控制报文以确保和云服务器端正常连接,防止因连接失败造成遥控失败的情况发生。图3为系统软件流程。

5  结  论

本设计通过云服务器将微信小程序与硬件控制部件进行有机组合,实现对家居空调设备的远程控制,提升用户使用便捷度,有效降低了不必要的能源消耗。采用微信平台作为用户接入端,解决了不同平台的接入兼容问题,进一步提升了人机交互的体验和实时操作的便利性。在智能家居与物联网研究领域,远程控制作为一种新型控制方式,具有很大的实用价值和应用前景。

参考文献:

[1] 裘凝远.景区区域人流量实时显示的微信小程序设计 [J].现代商贸工业,2019,40(10):187-189.

[2] 郭书军.ARMCortex-M3系统设计与实现——STM32基础篇 [M].第2版.北京:电子工业出版社,2018.

[3] 张洋,刘军,严汉宇,等.原子教你玩STM32(库函数版) [M].第2版.北京:北京航空航天大学出版社,2015.

[4] 沈华刚,吕刚磊.基于ESP8266串口Wi-Fi智能插座设计 [J].电子世界,2019(7):202.

[5] 张加书,韩跃平,张瑞珍.基于物联网云平台的空调源码库 [J].测试技术学报,2019,33(3):249-254.

作者简介:沈沛雨(1997-),男,回族,河南洛阳人,本科,研究方向:电子技术应用。

猜你喜欢

微信小程序
基于微信小程序的停车位租赁平台设计与实现
微信小程序在高校英语教学中的应用
微信小程序对大学生使用APP意愿的影响
基于微信小程序的点餐系统
基于Webpy+Apache HTTP Server 微信小程序架构搭建研究
基于微信小程序的医嘱服务研究
图书馆微信小程序的应用现状及前景分析
基于CNKI的微信小程序研究文献计量分析
信息技术与专业课程融合路径探索
当图书馆遇上微信小程序