基于微信小程序智能插座的设计
2021-10-25李欢欢严金花
李欢欢 严金花
摘要:针对当前市面上的智能插座价格高、推广难的问题,本文提出了一款基于微信小程序智能插座的设计,主控芯片选用arduino,WiFi模块采用乐鑫公司生产的芯片ESP8266-01S,加上继电器模块和电源模块,构成了硬件电路的设计,通过arduion的ESP8266 Module开发板完成软件程序编写,采用SmartConfig模式完成智能配网,最终实现微信小程序对智能插座的通断电控制。
关键词:单片机;微信小程序;智能插座
随着物联网产业发展和智能家居理念的深入人心,人们将电脑芯片以及WiFi、蓝牙等无线通讯协议芯片引入插座领域,使得人们对插座可以进行定时和远程控制,形成了与传统插座不同的智能插座。智能插座的发明在很大程度上提高了电器使用的安全性、便捷性和智能化。
随着物联网产业发展和智能家居理念的深入人心,市场上的智能插座也五花八门,但大多都是APP+硬件的模式。这一类智能插座的主要问题有:(1)价格高。目前市面上的智能插座都是基于APP+硬件,而APP开发周期长、成本高、运营维护麻烦,并且需要开发两个版本来适应安卓系统和osi系统;(2)推广难。推广装机较难,要想使用智能插座,得先下载APP,而APP第一次使用下载需要较多的流量和时长,每次使用时加载较慢,APP占用手机内存和运行空间,难于管理。
1总体设计
本设计采用硬件电路+软件编程的方式实现微信小程序控制家用电器,用户在家时,可使用微信小程序,通过路由器连接WiFi,控制智能插座的开关来控制用电设备的通断电;而在室外,用户通过云端来控制用电设备的通断电。硬件电路设计前,需要考虑清楚实现最终的结果,要用到哪些模块,各模块的元件怎么选择,各个模块之间如何联系等问题。软件设计主要包括通讯程序设计、控制程序设计。
2硬件设计
硬件部分主要有单片机模块、WiFi模块、继电器模块以及电源模块四个部分组成。
主控芯片选用arduino,它由一个基于简易单片机并且开放源码的计算机平台,和一套为Arduino板编写程序的开发环境组成[1]。Arduino可以用来开发交互产品,如可读取或接收用电设备的唯一身份信息(类似于身份证)并存储在自定义数据存储区,以便通讯。
WiFi模块采用乐鑫公司生产的芯片ESP8266-01S,它是专为移动设备和物联网应用设计,可将用户的物理设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能,其优点是体积小、功耗低、成本低、使用简便、功能强大,广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。我们采用出厂固件的AT指令通过单片机进行通信,实现联网功能。
继电器是一种电源控制器件,是当输入量的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(输入回路)和被控制系统(输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。继电器是具有隔离功能的自动开关元件,广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一,故在电路中起着自动调节、安全保护、转换电路等作用。
电源模块是将220V的交流电降为3.3V的直流电供ESP8266和继电器供电,通过继电器连接插座。
3软件设计
軟件设计采用arduino编写软件程序,在arduion的IDE中,可以找到ESP8266 Module开发板进行程序的编写,主要包括通讯程序设计、控制程序设计。
通讯程序设计包括arduino和ESP8266通讯,ESP8266和服务器(路由器)通讯,服务器(路由器)和微信小程序通讯这三个部分。arduino通过AT指令控制ESP8266动作,完成指定通信任务,难点在于串口数据的接收缓存,AT指令的解析,接收并缓存的操作与解析组包处理的操作要独立分开[3]。ESP8266和服务器的通讯可采用MQTT通讯协议,通讯方式为TCP,ESP8266进行MQTT相关的数据发送和解析,断线重连,发送消息,通过AT指令控制相关数据流。服务器(路由器)和微信小程序的通讯方式为TCP,数据到达服务器(路由器)后,服务器(路由器)进行数据的重构,业务端访问数据可以通过HTTP的方式进行。
控制程序设计的重点难点在arduino对AT指令的发送、接收与解析。AT指令本质上是ASCII字符串,发送AT指令就是arduino的串口发送字符串。只需要在程序需要的地方发送字符串即可,比如入网,连接服务器,发送指定的数据等。接收时需开辟一个数据接收缓冲区防止漏掉个别信息,使用环形队列来管理此接收缓冲区,在程序需要的地方读取缓冲区里面的内容即可。AT指令的解析就是对ASCII字符串的解析。服务器传过来的数据先由模组解析,模组通过串口线发送给arduino[3]。
在实现配网时,可采用SmartConfig模式,因我们采用的是乐鑫公司生产的ESP8266-01S,故我们采用乐鑫自主研发的ESP TOUCH一键智能配网工具实现智能配网,我们只需在手机上配合硬件产品进行简单的操作即可实现智能配网连接Wi-Fi路由。
4结束语
本设计通过微信小程序可实现对家用电器的远程智能化控制,将传统的家用电器插到智能插座上,通过操控智能插座控制家用电器的通断电。基于微信小程序的智能插座能更好解决目前智能插座成本高、推广难的缺点,以更廉价、更简洁的方式实现对家用电器的控制,让所有用户都有种新鲜体验感。
参考文献
[1]胡长鹏、马海霞、林思敏、李中兴、黄国健.一种基于WiFi无线通讯的智能插座设计与实现[J].机电工程技术,2021,(08):70-73.
[2]刘建文、姚松丽、陈鸿、林永洲.基于WiFi控制的智能插座设计[J].产业与科技论坛,2019,(11):71-72.
[3]过琦芳、孟颖、应欢雷、方彬.基于WiFi的智能插座的研究[J].设计研发,2021,(10):18-20.