張 鋒,劉海鋒
(廣東石油化工學院 電子信息工程學院,廣東 茂名 525000)
當今社會,隨著人們生活水平的提高,家用電器的數(shù)量越來越多,人們對家電的節(jié)能性和安全性要求越來越高,實現(xiàn)對家用電器的智能控制和管理成為普遍需求。在不改變現(xiàn)有家用電器結(jié)構的基礎上實現(xiàn)智能控制,最簡單的辦法就是在插座上實現(xiàn)用電設備監(jiān)測和控制的智能化。
移動通信和互聯(lián)網(wǎng)的飛速發(fā)展使物聯(lián)網(wǎng)應運而生,同時也推動了大量智能終端及相關行業(yè)的發(fā)展。然而,文獻[1-5]中的智能插座產(chǎn)品的作業(yè)都比較單一,只有監(jiān)控、安保以及管控等簡單功能,遠遠做不到數(shù)字化以及終端監(jiān)控。本文設計的智能插座,不僅具備傳統(tǒng)插座的斷開和閉合功能,而且具有遠程監(jiān)控的功能,可以實現(xiàn)在手機等多終端設備上查看智能插座的狀態(tài)、數(shù)據(jù),較好地滿足了人們對普通電氣設備的智能化需求。
系統(tǒng)由燈座硬件終端、服務器端和用戶控制端三部分組成,如圖1所示。燈座硬件終端負責接收從服務器端發(fā)送過來的數(shù)據(jù),經(jīng)過處理后,判斷是否需要做出相應的控制動作。服務器端負責接收和轉(zhuǎn)發(fā)來自智能燈座硬件終端和用戶控制網(wǎng)頁的數(shù)據(jù)、監(jiān)聽用戶和硬件終端的數(shù)據(jù),同時把數(shù)據(jù)寫入對應的數(shù)據(jù)庫。用戶控制端是用戶監(jiān)控端與用戶對接的一個交互界面。
圖1 系統(tǒng)設計結(jié)構
智能燈座硬件主要包括電源AC-DC及穩(wěn)壓模塊、聯(lián)網(wǎng)模塊、主控制器、交流調(diào)光模塊、功率測量模塊,如圖2所示。電源AC-DC及穩(wěn)壓模塊負責給直流部分供電,聯(lián)網(wǎng)模塊負責收發(fā)來自服務器的數(shù)據(jù),主控制器將數(shù)據(jù)處理后輸出相應的PWM信號給交流調(diào)光模塊,最后交流調(diào)光模塊根據(jù)占空比輸出相應的電壓給普通燈泡。功率測量模塊負責對插座電壓、電流、功率進行測量。
圖2 智能燈座的硬件整體框圖
主控芯片ESP8266-12F既作為MCU,又作為網(wǎng)關模塊。它里面包含了支持WiFi通信的組網(wǎng)模組,也包含了一個32位的集成處理器,且可以對這個內(nèi)部集成的處理器燒錄程序進行控制。
HLK-PM01是一種AC-DC模塊,可以直接把220 V交流電轉(zhuǎn)換成5 V直流穩(wěn)壓的電源。通過該模塊來實現(xiàn)交流轉(zhuǎn)直流,然后給核心控制模塊以及其外圍電路提供電源。
AM1117是一個正向低壓降穩(wěn)壓器,在1 A電流下壓降為1.2 V,內(nèi)部集成過熱保護和限流電路。220 V的交流電先經(jīng)過HLK-PM01模塊,轉(zhuǎn)換出來5 V的直流穩(wěn)壓的電源后,再接入AM1117芯片對應的輸入引腳,最后轉(zhuǎn)換成3.3 V DC供應給主控芯片ESP8266-12F。
MOC3041是7 500 V AC光電耦合器類型的三端雙向可控驅(qū)動器。發(fā)光二極管把輸入的電信號轉(zhuǎn)換為光信號并傳給光敏管,最后轉(zhuǎn)換為電信號輸出。由于沒有直接的電氣連接,這樣既耦合傳輸了信號,又有隔離干擾的作用。
BTA16-600B是雙向可控硅的一種,采用TO-220AB封裝方式。該雙向可控硅具有關斷速度快的特點,其芯片背面自帶散熱片,散熱性能較好,支持的最大電流為160 A,適用于中功率的高頻電路中。
用戶控制端和服務器之間采用了B/S和Nginx不斷監(jiān)聽相關的網(wǎng)絡端口(如80、18083等),一旦接收到請求,就會把請求轉(zhuǎn)發(fā)到相應的服務中。如果是請求靜態(tài)文件,就直接到對應位置查找,讀取后返回數(shù)據(jù)。如果是MQTT數(shù)據(jù),就先判斷其賬號和密碼的正確性,然后把數(shù)據(jù)傳入數(shù)據(jù)庫,最后轉(zhuǎn)發(fā)到訂閱該主題的所有客戶端。如果是Flask的請求數(shù)據(jù),根據(jù)對應用戶的數(shù)據(jù),把模板渲染成HTML文件后返回給用戶瀏覽器Gunicorn和Nginx,也就是本項目用來進行服務器優(yōu)化的兩個重要工具。Gunicorn是用來提高異步性能的,彌補Python自身異步性能的不足。服務器軟件流程如圖3所示。
圖3 服務器軟件流程
燈座在上電后,首先會檢查網(wǎng)絡配置并嘗試進行聯(lián)網(wǎng),如果聯(lián)網(wǎng)成功就會進一步連接MQTT服務器,否則會等待用戶通過微信AirKiss配網(wǎng)。待連接MQTT服務器成功后,燈座終端會訂閱相關主題,然后進入一個無限循環(huán)的過程。在這個循環(huán)過程中,燈座需要不斷檢查是否有來自服務器的信息,如果有,就對信息的內(nèi)容進行解析,根據(jù)指令來調(diào)整PWM的占空比,進而通過交流斬波模塊處理后就成為了具體電壓,最終供給燈泡。燈座軟件流程如圖4所示。
圖4 燈座軟件流程
上文已經(jīng)對交流斬波電路做了初步的仿真測試,本節(jié)進一步對該電路進行實物測試,如圖5所示。
圖5 交流斬波電路測試
最后輸出的波形在示波器上的呈現(xiàn)如圖6所示。圖中的兩條曲線中位于較下面的是PWM信號輸入的波形,從右邊的數(shù)據(jù)可以看出其頻率為1 kHz,占空比為50%;位于較上面的是交流斬波后輸出的波形,波形基本與仿真的結(jié)果一致。
圖6 斬波波形
初次使用必須進行網(wǎng)絡配置才能使燈座聯(lián)網(wǎng),配置方法是通過智能手機的微信客戶端進行的。打開微信上的“掃一掃”功能,掃描指定的二維碼,進入如圖7所示的界面;然后依次點擊“配置設備上網(wǎng)”,根據(jù)提示輸入當前所連接的WiFi密碼;最后點擊“連接”按鈕,就可以等待燈座自動連接網(wǎng)絡了。經(jīng)過短暫的等待,會提示網(wǎng)絡連接成功,就可以進行下面的測試和使用了。
圖7 微信AirKiss配網(wǎng)截圖
通過WiFi配置后,ESP主控芯片已經(jīng)能正常聯(lián)網(wǎng)了,會在串口打印網(wǎng)絡IP地址等信息;接著程序會自動連接MQTT代理服務器,如果連接成功,串口會顯示“連接成功”的相關信息。
網(wǎng)頁測試時,在瀏覽器輸入訪問用戶監(jiān)控頁面的地址,即http://deng.901studio.cn,就能進行相應燈座的控制操作了。
圖8所示是在個人電腦上打開監(jiān)控網(wǎng)頁的效果截圖。由圖8可以看出,當前狀態(tài)的所有燈座設備的狀態(tài),包括是否在線、亮度和開關情況,都一目了然;圖中“大廳燈”是唯一在線的,其他不在線的設備會對應顯示“離線”的字樣,而且在“大廳燈”處會有黃色特別提示,該黃色的深淺根據(jù)燈的亮度實時改變,這就是數(shù)據(jù)可視化的明顯體現(xiàn)。
圖8 測試PC端控制頁面截圖
本文通過交流調(diào)光電路設計、單片機控制、IoT組網(wǎng)、網(wǎng)頁前端開發(fā)、服務器后端開發(fā)、系統(tǒng)運維等,設計了一種基于物聯(lián)網(wǎng)技術的智能插座。經(jīng)過系統(tǒng)測試,達到預期效果,能夠滿足智能家居需求。該插座的推廣使用將帶來良好的社會效益。