吳超 曹峰源 安樂 陳志文 徐默然 徐謝軍
摘? 要:文章從物聯(lián)網(wǎng)智能家居控制系統(tǒng)結(jié)構(gòu)設(shè)計、智能家居系統(tǒng)總體結(jié)構(gòu)、智能家居硬件設(shè)計、通信軟件設(shè)計等方面論述了基于STM32的物聯(lián)網(wǎng)智能家居控制系統(tǒng)設(shè)計方案。涵蓋了控制系統(tǒng)的主要功能、實現(xiàn)方法、運行流程及編程軟件。總結(jié)了軟件通信、電路的相關(guān)特點和程序編寫的優(yōu)勢。
關(guān)鍵詞:STM32;Labview;智能家居;語音控制
中圖分類號:TP273 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號:2095-2945(2020)27-0045-02
Abstract: This paper discusses the design scheme of the Internet of things smart home control system based on STM32 from the aspects of the structure design of the Internet of things smart home control system, the overall structure of the smart home system, the hardware design of the smart home, the communication software design, and so on. It covers the main functions, implementation methods, operation flow and programming software of the control system. The related characteristics of software communication and circuit and the advantages of programming are summarized.
Keywords: STM32; Labview; smart home; voice control
引言
隨著5G時代的到來,萬物互聯(lián)離我們的生活也越來越近,人們的日常生活起居也越來越多的使用智能控制用來方便我們的生活,智能家居控制系統(tǒng)在人們?nèi)粘I畹幕A(chǔ)上,為人們提供更好的服務(wù)[1]。本設(shè)計的智能家居系統(tǒng)具有以下優(yōu)勢:研究目標(biāo)為開發(fā)一個能為家庭所用的具備智能控制或離線控制功能的控制器,通過有線或無線設(shè)備組成的網(wǎng)絡(luò)與各種信息傳感設(shè)備連接[2],實時采集任何需要監(jiān)控、連接、互動的物體或過程。其目的是實現(xiàn)物與物、物與人,所有的物品與網(wǎng)絡(luò)的連接,方便識別、管理和控制。
1 系統(tǒng)設(shè)計
設(shè)計是基于STM32的智能家居控制系統(tǒng),通過監(jiān)視實時的溫度(模擬量),濕度(模擬量),設(shè)備是否開啟(開關(guān)量)等一系列可檢測項目標(biāo)準(zhǔn),能夠通過控制器,進(jìn)行實時操作(家用電器開關(guān)、關(guān)閉閥門等一系列控制),旨在達(dá)到智能控制的功能。
2 硬件設(shè)計
硬件系統(tǒng)主要包括:(1)中央處理模塊;(2)通信控制模塊;(3)人機界面;(4)電機驅(qū)動模塊;(5)溫度檢測模塊;(6)電源模塊;(7)驅(qū)動單元。本設(shè)計主要的控制思路是中央處理模塊開始工作,采集驅(qū)動單元的狀態(tài),其中驅(qū)動單元包括:(1)照明單元;(2)溫濕度檢測單元;(3)電動窗簾;(4)水閥開關(guān),通過人機界面或者net平臺來實現(xiàn)對驅(qū)動單元的檢測與控制。硬件模塊如圖1所示。
控制系統(tǒng)的芯片采用STM32F103ZET6TR,以太網(wǎng)接口是一組包含8個孔的排針組成的,默認(rèn)采用的是STM32的SPI3總線與Ethernet 模塊進(jìn)行通信。芯片最小系統(tǒng)板如圖2所示。SPI3口相關(guān)的SCK、MISO兩個引腳,與JTAG管腳有重復(fù)使用的地方。因此,為了能夠正常使用SPI3總線,需要將STM32的在線調(diào)試與下載模式設(shè)置成SWD而非JTAG,這樣可以預(yù)留出更多可用的GPIO口。
3 軟件設(shè)計
基本原理:本項目采用的是LabVIEW軟件編寫,基本規(guī)則如下:利用LabVIEW的C代碼生成技術(shù)將頂層的應(yīng)用程序VI轉(zhuǎn)換為Keil uVision可以進(jìn)行編譯的C語言代碼。ARM 芯片的固件驅(qū)動程序和專用ARM內(nèi)核設(shè)計,對硬件驅(qū)動VI進(jìn)行優(yōu)化,這些程序直接決定了后面選用ARM的可用率,同時這些軟件也是應(yīng)用層LabVIEW用戶程序與底層硬件驅(qū)動之間的重要環(huán)節(jié)。
系統(tǒng)主要核心是STM32F103單片機芯片,系統(tǒng)初始化以后,通過控制器進(jìn)行接收發(fā)送信號,對數(shù)據(jù)進(jìn)行處理,通過人機界面,語音信號進(jìn)行控制以滿足客戶需求,進(jìn)一步實現(xiàn)對應(yīng)功能。
智能家居控制板上電以后,系統(tǒng)開始可以調(diào)節(jié)水閥的開關(guān),水閥是由直流電機控制,可以調(diào)節(jié)水閥的開度??蛷d、臥室燈的亮滅,由STM32芯片I/O引腳組合控制,能夠進(jìn)行調(diào)色和開關(guān)設(shè)計,步進(jìn)電機控制的窗簾開關(guān),窗簾開關(guān)的幅度,可以手動控制,是開到最大還是調(diào)節(jié)到任意位置可以由手動調(diào)節(jié),按照百分比進(jìn)行設(shè)置。
4 軟件通信
程序開始,先通過“LAN Card Init.vi”函數(shù)初始化 ENC28J60網(wǎng)絡(luò)通信模塊,設(shè)置MAC(0x04.0x02.0x35.0x
00.0x00.0x01);接著利用 “LAN IP Address Set.vi”函數(shù)將IP地址(192.168.1.16)、網(wǎng)關(guān)(192.168.1.1)、子網(wǎng)掩碼(255.255.255.0)等信息寫入到 ENC28J60 以太網(wǎng)控制器中;然后偵聽本地端口(1200);最后在While循環(huán)中,每隔2000ms發(fā)送一次數(shù)據(jù),并從接收緩沖區(qū)中讀取100個字節(jié)的信息。
5 結(jié)束語
本項目在LabVIEW與STM32的基礎(chǔ)上進(jìn)行設(shè)計的,能夠配合智能音響設(shè)備準(zhǔn)確地控制家用電氣設(shè)備,應(yīng)用方便,相信隨著控制器的不斷發(fā)展,和通信的不斷進(jìn)步,智能家具領(lǐng)域的設(shè)備也會不斷創(chuàng)新發(fā)展。
參考文獻(xiàn):
[1]王電令.STM32開發(fā)實戰(zhàn):LabVIEW卷[M].機械工業(yè)出版社,
2016:558-562.
[2]陳成瑞,王旭康.智能家居控制系統(tǒng)設(shè)計與實現(xiàn)[J].無線電工程,2020,50(5):411.
[3]陳瞳.基于單片機的智能家居照明控制系統(tǒng)設(shè)計[J].山西大同大學(xué)學(xué)報(自然科學(xué)版),2020,36(1):18.