李靈翼 嚴(yán)建輝 馬銜石 賴麗娟
一種落地式智能天氣衣架的設(shè)計(jì)與實(shí)現(xiàn)
李靈翼嚴(yán)建輝馬銜石賴麗娟
(華南理工大學(xué)電子與信息學(xué)院,廣東 廣州 510630)
為了使因環(huán)境所限需要使用落地式衣架的用戶也能擁有一款智能衣架,文章提出了一種利用物聯(lián)網(wǎng)思維對(duì)傳統(tǒng)落地式衣架實(shí)現(xiàn)智能化改造的方案。利用樹莓派、單片機(jī)、傳感器、直流電機(jī)并通過MQTT協(xié)議實(shí)現(xiàn)用戶遠(yuǎn)程查詢信息,采用遠(yuǎn)程遙控或自動(dòng)控制兩種方式控制衣架的移動(dòng),實(shí)現(xiàn)推出和收回操作。該設(shè)計(jì)操作簡(jiǎn)單,交互良好,具有一定的推廣應(yīng)用前景。
落地式衣架;樹莓派;物聯(lián)網(wǎng);MQTT協(xié)議應(yīng)用
隨著我國互聯(lián)網(wǎng)、智能家居產(chǎn)業(yè)的發(fā)展,智能家居已走進(jìn)普通家庭。有很多學(xué)者對(duì)晾衣架的智能化進(jìn)行了研究。衣架的智能化主要有兩種實(shí)現(xiàn)方式,一是通過加入雨滴和光線傳感器等實(shí)現(xiàn)衣架的智能收放[1],二是通過藍(lán)牙、WiFi實(shí)現(xiàn)遠(yuǎn)程遙控收放[2,3]。第一種設(shè)計(jì)無法實(shí)現(xiàn)晾衣架與用戶的交互,第二種設(shè)計(jì)受限于藍(lán)牙和WiFi的作用距離,無法實(shí)現(xiàn)真正意義上的遠(yuǎn)程交互。同時(shí),多數(shù)學(xué)者[4-6]所提出的方案均是對(duì)固定的伸縮式衣架進(jìn)行改造。但是,落地式晾衣架仍廣泛存在于學(xué)生宿舍等不具備在窗外等地方懸掛伸縮晾衣架的場(chǎng)景中。落地式衣架在放置以后,若是需要移動(dòng)位置則比較麻煩。尤其遇到當(dāng)掛滿衣服又碰上雨天需要收回的情況時(shí)極不方便。
本文開創(chuàng)性地提出了一種對(duì)落地式衣架的智能化改造,通過MQTT協(xié)議實(shí)現(xiàn)遠(yuǎn)程操控和交互,用戶可以采用手動(dòng)遙控或者衣架在自動(dòng)模式下工作兩種方式,使衣架處于合適的位置。
本設(shè)計(jì)包括硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)測(cè)試三部分。整個(gè)系統(tǒng)可分為三個(gè)模塊,即終端、中樞控制端、執(zhí)行端。其中硬件設(shè)計(jì)主要集中于執(zhí)行端,包括主控核心電路、直流電機(jī)驅(qū)動(dòng)電路、超聲波測(cè)距電路、藍(lán)牙通信電路。軟件設(shè)計(jì)則主要集中于終端和中樞控制端。終端負(fù)責(zé)實(shí)現(xiàn)和用戶的交互,中樞控制端完成指令的接收、處理和下達(dá),執(zhí)行端負(fù)責(zé)具體實(shí)現(xiàn)用戶的指令。系統(tǒng)整體設(shè)計(jì)框圖如圖1所示。
基本工作流程如下:用戶在自己的終端設(shè)備(手機(jī)、平板電腦等)通過交互界面查看中樞控制端傳回的環(huán)境數(shù)據(jù),并設(shè)定衣架的工作模式(自動(dòng)、手動(dòng)),若用戶選擇手動(dòng)模式,則繼續(xù)設(shè)定推出模式或收回模式。中樞控制端接收到用戶的指令后,進(jìn)行邏輯判斷,最終輸出推出或者收回指令至執(zhí)行端的藍(lán)牙模塊。執(zhí)行端收到指令后,完成相應(yīng)的動(dòng)作。
圖1 整體系統(tǒng)架構(gòu)
硬件設(shè)計(jì)共分為如下模塊:主控核心模塊、直流電機(jī)驅(qū)動(dòng)模塊、超聲波避障模塊、藍(lán)牙模塊。本設(shè)計(jì)中的硬件部分主要存在于執(zhí)行端,執(zhí)行端硬件設(shè)計(jì)整體流程圖如圖2所示。
圖2 硬件設(shè)計(jì)架構(gòu)
工作流程如下:執(zhí)行端的主控核心模塊接收藍(lán)牙模塊傳來的指令數(shù)據(jù)后,操控直流電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)電機(jī)完成相應(yīng)的操作。同時(shí),衣架移動(dòng)過程中,主控核心模塊控制超聲波避障模塊工作,計(jì)算與障礙物的距離,控制直流電機(jī)在合適的距離停止,防止碰撞。
主控核心模塊為一塊Arduino Uno R3單片機(jī)。該單片機(jī)其搭載一塊ATMEGA328P-AU微處理控制器,其工作頻率可以達(dá)到20 MHz,具有2 KB RAM。同時(shí),該單片機(jī)有14個(gè)數(shù)字I/O口和6個(gè)模擬I/O口,且其工作電壓為5 V~9 V。所以該單片機(jī)作為主控核心模塊可以滿足本設(shè)計(jì)中執(zhí)行端需要的功能,同時(shí)具有元器件簡(jiǎn)單、成本低的優(yōu)勢(shì)。
直流電機(jī)驅(qū)動(dòng)模塊接收主控核心模塊發(fā)出的控制信號(hào),控制直流電機(jī)運(yùn)轉(zhuǎn)完成對(duì)衣架的驅(qū)動(dòng)。該電路如圖3所示,本設(shè)計(jì)中共需4個(gè)直流電機(jī)驅(qū)動(dòng)模塊,圖3展示了其中一個(gè)。本設(shè)計(jì)中采用L298N直流電機(jī)驅(qū)動(dòng)模塊,該模塊可同時(shí)驅(qū)動(dòng)兩路直流電機(jī)。其基本原理為:L298N接收主控核心模塊產(chǎn)生的四路電平信號(hào),L298N根據(jù)輸入的信號(hào)產(chǎn)生對(duì)應(yīng)輸出,控制兩路電機(jī)完成正轉(zhuǎn)、反轉(zhuǎn)、靜止、剎車。
特別指出的是,本設(shè)計(jì)中所有的直流電機(jī)在同一時(shí)刻必定是具有同樣的狀態(tài),故為了簡(jiǎn)化電路和節(jié)約主控核心模塊的數(shù)字I/O口資源,每個(gè)L298N模塊如圖3所示,四個(gè)輸入信號(hào)只由兩個(gè)數(shù)字I/O口給出。
圖3 直流電機(jī)驅(qū)動(dòng)模塊電路圖
超聲波模塊僅在衣架移動(dòng)時(shí)工作,其目的在于測(cè)量與移動(dòng)方向障礙物之間的距離,避免碰撞。
本設(shè)計(jì)中使用HC-SR04超聲波發(fā)射、接收模塊,該模塊探測(cè)距離范圍為0.02 m~4.5 m,精度可達(dá)0.3 cm,并可在5 V電壓下工作,該模塊連接電路圖如圖4所示。其基本原理是:主控核心模塊的數(shù)字I/O口輸出一個(gè)持續(xù)10 μs的高電平給Trig端作為啟動(dòng)信號(hào)。模塊檢測(cè)到該啟動(dòng)信號(hào)之后,自動(dòng)發(fā)送8組頻率為40 kHz的超聲波脈沖信號(hào)。同時(shí),模塊會(huì)自動(dòng)檢測(cè)是否有超聲回波。若模塊檢測(cè)到有回波,便在Echo端輸出一個(gè)高電平信號(hào)。該高電平信號(hào)持續(xù)的時(shí)間代表模塊發(fā)出超聲脈沖到接收到超聲回波所經(jīng)歷的時(shí)間。
圖4 超聲波模塊電路圖
主控核心模塊測(cè)量Echo端輸出的高電平持續(xù)時(shí)間并結(jié)合聲速便可根據(jù)式1測(cè)算出與障礙物的距離。式1中v代表聲速,t代表Echo端高電平持續(xù)的時(shí)間,s代表與障礙物的距離。聲速v,在25℃、標(biāo)準(zhǔn)大氣壓下可取為340 m/s。由于聲速v遠(yuǎn)大于衣架的移動(dòng)速度和該超聲模塊測(cè)距的最大有效距離,故測(cè)得距離可認(rèn)為是模塊發(fā)出超聲脈沖時(shí)刻的瞬時(shí)距離。
s=0.5vt (1)
藍(lán)牙模塊接收中樞控制端下達(dá)的指令。本設(shè)計(jì)中選擇HC-05藍(lán)牙模塊,該模塊在由3.6 V~6 V電源供電時(shí),正常工作波特率為9600 bps。該模塊基本原理為:藍(lán)牙模塊保持與中樞控制模塊的藍(lán)牙連接,接收指令。藍(lán)牙模塊的TX口連接主控核心模塊的RX口,RX口連接主控核心模塊的TX口。主控核心模塊不停掃描串口,將藍(lán)牙接收到的信息通過串口讀入。藍(lán)牙電路如圖5所示。
圖5 藍(lán)牙模塊電路
落地式智能天氣衣架的軟件設(shè)計(jì)主要存在于終端和中樞控制端。
軟件設(shè)計(jì)整體框架如圖6所示。終端的軟件主要完成溫度、濕度信息的顯示,并提供交互按鈕供用戶下達(dá)指令,使用戶可以遠(yuǎn)程與衣架完成交互。中樞控制端的軟件主要完成與用戶終端的通信,獲取溫濕度信息、天氣信息、光照強(qiáng)度,對(duì)信息進(jìn)行綜合分析,以及將綜合分析的結(jié)果作為指令下達(dá)給執(zhí)行端。
圖6 軟件設(shè)計(jì)架構(gòu)
終端的軟件采用點(diǎn)燈科技有限責(zé)任公司開發(fā)的“Blinker”應(yīng)用,該應(yīng)用可運(yùn)行于Android系統(tǒng)上。用戶進(jìn)行簡(jiǎn)單注冊(cè)后,可獲得一個(gè)密鑰,通過該密鑰便可使中樞控制端設(shè)備與終端設(shè)備建立連接。該連接采用MQTT協(xié)議,MQTT協(xié)議是一種發(fā)布—訂閱的消息協(xié)議,其低消耗、帶寬占用的特性使得它能在硬件性能較差的設(shè)備以及較糟糕的網(wǎng)絡(luò)環(huán)境下運(yùn)行,被廣泛應(yīng)用于IOT領(lǐng)域。
該軟件的交互界面如圖7所示。用戶可通過左上角按鈕切換手動(dòng)操控和自動(dòng)操控兩種模式。若選擇手動(dòng)操控模式,用戶可通過右上角按鈕控制衣架的推出和收回。同時(shí),用戶可通過下方面板查看溫度和濕度信息。
圖7 終端用戶交互界面
本設(shè)計(jì)中,中樞控制端的程序運(yùn)行在Raspberry Pi 4B上。Raspberry Pi 4B 搭載一塊Quad core Cortex-A72(ARM v8)64 bit處理器,具有4 GB RAM,其性能相當(dāng)于一臺(tái)微型電腦。同時(shí),Raspberry Pi4B提供40個(gè)GPIO接口,以及數(shù)個(gè)5 V直流接口和GND接口,因此可插裝本設(shè)計(jì)口使用的光敏傳感器以及溫濕度傳感器。
該設(shè)備的操作系統(tǒng)為L(zhǎng)inux系統(tǒng)。本設(shè)計(jì)中中樞控制端程序均以Python為編程語言,運(yùn)行于Linux系統(tǒng)中。
中樞控制端的軟件整體框架圖如圖8所示。
圖8 中樞控制端軟件架構(gòu)圖
中樞控制端軟件一共有3個(gè)主程序和2個(gè)輔助性程序。主程序即邏輯判斷程序;輔助性程序即終端通信程序、執(zhí)行端通信程序、溫濕度獲取程序、天氣獲取程序。
3.2.1終端通信程序
該程序使用點(diǎn)燈科技提供的Python SDK,建立與終端的MQTT連接。
該程序的原理如下:當(dāng)終端設(shè)備的交互按鈕有點(diǎn)擊操作時(shí),該操作會(huì)通過MQTT協(xié)議傳輸至中樞控制端。中樞控制端收到該消息后調(diào)用該按鈕對(duì)應(yīng)的回調(diào)函數(shù)。回調(diào)函數(shù)將用戶的操作數(shù)據(jù)輸出至邏輯判斷程序。
同時(shí),終端通信程序每隔一段時(shí)間通過MQTT協(xié)議向終端發(fā)送一次“心跳包”,將溫濕度傳感器的數(shù)據(jù)發(fā)送給終端設(shè)備,供用戶在終端查閱。
3.2.2邏輯判斷程序
該程序讀入各種信息,并進(jìn)行分析,輸出為GPIO的電平值。如果輸出高電平,則希望執(zhí)行端執(zhí)行推出操作;若為低電平,則希望執(zhí)行端執(zhí)行收回操作。
邏輯判斷程序流程圖如圖9所示。
該程序會(huì)首先讀取由終端通信程序獲取的A/M按鍵狀態(tài)值。如果為自動(dòng)模式,則讀取天氣信息以及光敏傳感器輸入的電平值。當(dāng)天氣信息顯示為晴天且光敏傳感器檢測(cè)為白天,則輸出高電平。其余情況則輸出低電平。
如果讀取A/M按鍵狀態(tài)值為為手動(dòng)模式,則繼續(xù)讀取D/R按鍵狀態(tài)值。如果值為D,則輸出高電平。為R,則輸出低電平。
邏輯判斷程序流程圖如圖9所示。
圖9 軟件流程圖
3.2.3執(zhí)行端通信程序
該程序負(fù)責(zé)保持與執(zhí)行端的藍(lán)牙連接,并根據(jù)邏輯判斷程序輸出的電平值下達(dá)相應(yīng)的指令。如果檢測(cè)到邏輯判斷程序的輸出為高電平,則通過藍(lán)牙發(fā)送字符“D”,反之則發(fā)送字符“R”。執(zhí)行端會(huì)根據(jù)收到的字符為“D”或“R”,完成推出或收回操作。
3.2.4溫濕度程序
由于目前網(wǎng)絡(luò)可以獲取的天氣數(shù)據(jù)最小單位為縣/區(qū)一級(jí),故為了便于用戶判斷當(dāng)前衣架所處環(huán)境是否有下雨,故向用戶提供實(shí)時(shí)的環(huán)境溫濕度信息。
本設(shè)計(jì)中,溫濕度傳感器的型號(hào)為DHT11。該程序每間隔10 s讀取一次傳感器的數(shù)值,并將獲得的溫濕度數(shù)據(jù)保存在中樞控制端,供終端通信程序讀取并發(fā)送給終端。
3.2.5天氣獲取程序
本設(shè)計(jì)中,天氣數(shù)據(jù)的獲取信息源為“心知天氣”。該程序每隔15分鐘調(diào)用一次心知天氣的API接口,獲取最新的天氣信息,并將取得的結(jié)果保存在中樞控制端,供邏輯判斷程序讀取。
按照本設(shè)計(jì)中提及到的硬件設(shè)計(jì),將該設(shè)計(jì)組裝好。最終成品如圖10所示。
圖10 設(shè)計(jì)成品圖
如圖10所示,整個(gè)系統(tǒng)的底盤為一塊“H型”透明“亞克力”板制成,該材料有良好的力學(xué)特性,能夠抗拉伸、抗彎折。同時(shí),該材料具有很強(qiáng)的耐候性,在自然環(huán)境中能保持很長(zhǎng)時(shí)間不老化,并且成本也較為低廉,故本設(shè)計(jì)選取該材料制作底盤。
同時(shí),使用熱熔膠固定一個(gè)“門字型”木制框架與底盤上,用戶可將衣物懸掛于上。
對(duì)該設(shè)計(jì)進(jìn)行測(cè)試,最終結(jié)果表明該落地式智能天氣衣架能夠按照設(shè)計(jì)預(yù)期對(duì)相應(yīng)的指令做出正確的反應(yīng)。
測(cè)試條件及結(jié)果如表1所示。落地式智能衣架能夠按照天氣變化轉(zhuǎn)換模式,完成相應(yīng)的衣架反應(yīng)。
表1 測(cè)試狀態(tài)及結(jié)果
本設(shè)計(jì)提出了一種對(duì)傳統(tǒng)落地式衣架進(jìn)行智能化改造的方案,將物聯(lián)網(wǎng)概念與落地式衣架相結(jié)合。其目的是使得因各種條件不適合使用懸掛式衣架的用戶也能夠擁有一款智能落地式衣架,該衣架能夠讓用戶實(shí)現(xiàn)真正意義上的遠(yuǎn)程環(huán)境信息獲取與操控,適合學(xué)生、上班族等群體使用,免去了擔(dān)心衣物被雨水打濕的顧慮,提高了生活質(zhì)量。
[1]李鈺,張晉軒,莫記鵬. 基于Arduino單片機(jī)的智能晾衣架的設(shè)計(jì)[J]. 科學(xué)技術(shù)創(chuàng)新,2020(33): 183-184.
[2]李時(shí)默. 基于52單片機(jī)的智能晾衣架系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)產(chǎn)品與流通,2019(9): 120.
[3]呂曉穎. 基于手機(jī)APP的WiFi智能晾衣架設(shè)計(jì)[J]. 信息與電腦(理論版),2019(14): 83-84.
[4]胡可欣,錢曉莉,顧靜怡,等. 基于STC89C52單片機(jī)的宿舍用智能電動(dòng)晾衣架設(shè)計(jì)[J]. 科技資訊,2021,19(12): 99-102.
[5]謝浩源,鄭建曉,李志宏. 基于STM32的智能晾衣架控制系統(tǒng)設(shè)計(jì)[J]. 南方農(nóng)機(jī),2020,51(7): 91-92,95.
[6]袁雨凡,高朋,梅杰,等. 一種具有自動(dòng)遮蔽功能的室外智能晾衣架設(shè)計(jì)[J]. 機(jī)械工程與自動(dòng)化,2020(6): 92-94.
Design and Implentation of a Floor Mounted Intelligent Weather Clothes Hanger
In order to enable users who need to use floor mounted clothes hangers due to environmental constraints to have an intelligent clothes hanger, this paper puts forward a scheme to realize intelligent transformation of traditional floor mounted clothes hangers by using Internet of things thinking. Using raspberry pie, single chip microcomputer, sensor, DC motor and MQTT protocol to realize the user's remote query of information, and using remote control or automatic control to control the movement of clothes hanger to realize the push out and retraction operation. The design has simple operation and good interaction, and has a certain prospect of popularization and application.
floor mounted clothes hanger; raspberry pie; Internet of things; MQTT protocol application
TP29
A
1008-1151(2022)02-0017-05
2021-12-18
李靈翼(1999-),男,廣東深圳人,華南理工大學(xué)電子與信息學(xué)院學(xué)生,研究方向?yàn)槿斯ぶ悄堋?/p>
賴麗娟(1986-),女,廣東汕尾人,華南理工大學(xué)電子與信息學(xué)院實(shí)驗(yàn)師,研究方向?yàn)殡姽る娮訉?shí)驗(yàn)教學(xué)。