李歡歡 嚴金花
摘要:針對當前市面上的智能插座價格高、推廣難的問題,本文提出了一款基于微信小程序智能插座的設計,主控芯片選用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.