吳超 曹峰源 安樂 陳志文 徐默然 徐謝軍



摘? 要:文章從物聯網智能家居控制系統結構設計、智能家居系統總體結構、智能家居硬件設計、通信軟件設計等方面論述了基于STM32的物聯網智能家居控制系統設計方案。涵蓋了控制系統的主要功能、實現方法、運行流程及編程軟件。總結了軟件通信、電路的相關特點和程序編寫的優勢。
關鍵詞:STM32;Labview;智能家居;語音控制
中圖分類號:TP273 文獻標志碼: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時代的到來,萬物互聯離我們的生活也越來越近,人們的日常生活起居也越來越多的使用智能控制用來方便我們的生活,智能家居控制系統在人們日常生活的基礎上,為人們提供更好的服務[1]。本設計的智能家居系統具有以下優勢:研究目標為開發一個能為家庭所用的具備智能控制或離線控制功能的控制器,通過有線或無線設備組成的網絡與各種信息傳感設備連接[2],實時采集任何需要監控、連接、互動的物體或過程。其目的是實現物與物、物與人,所有的物品與網絡的連接,方便識別、管理和控制。
1 系統設計
設計是基于STM32的智能家居控制系統,通過監視實時的溫度(模擬量),濕度(模擬量),設備是否開啟(開關量)等一系列可檢測項目標準,能夠通過控制器,進行實時操作(家用電器開關、關閉閥門等一系列控制),旨在達到智能控制的功能。
2 硬件設計
硬件系統主要包括:(1)中央處理模塊;(2)通信控制模塊;(3)人機界面;(4)電機驅動模塊;(5)溫度檢測模塊;(6)電源模塊;(7)驅動單元。本設計主要的控制思路是中央處理模塊開始工作,采集驅動單元的狀態,其中驅動單元包括:(1)照明單元;(2)溫濕度檢測單元;(3)電動窗簾;(4)水閥開關,通過人機界面或者net平臺來實現對驅動單元的檢測與控制。硬件模塊如圖1所示。
控制系統的芯片采用STM32F103ZET6TR,以太網接口是一組包含8個孔的排針組成的,默認采用的是STM32的SPI3總線與Ethernet 模塊進行通信。芯片最小系統板如圖2所示。SPI3口相關的SCK、MISO兩個引腳,與JTAG管腳有重復使用的地方。因此,為了能夠正常使用SPI3總線,需要將STM32的在線調試與下載模式設置成SWD而非JTAG,這樣可以預留出更多可用的GPIO口。
3 軟件設計
基本原理:本項目采用的是LabVIEW軟件編寫,基本規則如下:利用LabVIEW的C代碼生成技術將頂層的應用程序VI轉換為Keil uVision可以進行編譯的C語言代碼。ARM 芯片的固件驅動程序和專用ARM內核設計,對硬件驅動VI進行優化,這些程序直接決定了后面選用ARM的可用率,同時這些軟件也是應用層LabVIEW用戶程序與底層硬件驅動之間的重要環節。
系統主要核心是STM32F103單片機芯片,系統初始化以后,通過控制器進行接收發送信號,對數據進行處理,通過人機界面,語音信號進行控制以滿足客戶需求,進一步實現對應功能。
智能家居控制板上電以后,系統開始可以調節水閥的開關,水閥是由直流電機控制,可以調節水閥的開度。客廳、臥室燈的亮滅,由STM32芯片I/O引腳組合控制,能夠進行調色和開關設計,步進電機控制的窗簾開關,窗簾開關的幅度,可以手動控制,是開到最大還是調節到任意位置可以由手動調節,按照百分比進行設置。
4 軟件通信
程序開始,先通過“LAN Card Init.vi”函數初始化 ENC28J60網絡通信模塊,設置MAC(0x04.0x02.0x35.0x
00.0x00.0x01);接著利用 “LAN IP Address Set.vi”函數將IP地址(192.168.1.16)、網關(192.168.1.1)、子網掩碼(255.255.255.0)等信息寫入到 ENC28J60 以太網控制器中;然后偵聽本地端口(1200);最后在While循環中,每隔2000ms發送一次數據,并從接收緩沖區中讀取100個字節的信息。
5 結束語
本項目在LabVIEW與STM32的基礎上進行設計的,能夠配合智能音響設備準確地控制家用電氣設備,應用方便,相信隨著控制器的不斷發展,和通信的不斷進步,智能家具領域的設備也會不斷創新發展。
參考文獻:
[1]王電令.STM32開發實戰:LabVIEW卷[M].機械工業出版社,
2016:558-562.
[2]陳成瑞,王旭康.智能家居控制系統設計與實現[J].無線電工程,2020,50(5):411.
[3]陳瞳.基于單片機的智能家居照明控制系統設計[J].山西大同大學學報(自然科學版),2020,36(1):18.