基于STM32智能家居系統的設計與實(shí)現
這段函數調用了IAR Embedded公司提供的標準庫函數stdlib.h中的atoi函數,atoi函數功能的描述是/*convert string to int*/,即把字符串直接強制轉成整形數據。本系統上位機與下位機之間的通信協(xié)議由我們專(zhuān)門(mén)針對性地設計,其中字符串頭部帶有長(cháng)度不能預知的命令字節,因此調用atoi函數前還需要判斷該數據包之中的參數是從字符串的第幾位開(kāi)始的,得到正確的指向字符串參數位置的指針。
本文引用地址:http://dyxdggzs.com/article/270915.htm如圖3是智能家居下位機主控芯片的流程圖,主控芯片上運行了μC/OS輕量級嵌入式實(shí)時(shí)操作系統,采用的是可剝奪型實(shí)時(shí)多任務(wù)內核,意味著(zhù)處理器在任何時(shí)候都是運行優(yōu)先級最高的任務(wù),這樣就很方便地實(shí)現了整個(gè)下位機各種任務(wù)的調度,同時(shí)也保證了系統的實(shí)時(shí)性。主控芯片啟動(dòng)μC/OS后,分別建立語(yǔ)音識別任務(wù)、串口接收任務(wù)、液晶顯示任務(wù)、入侵檢測任務(wù)4個(gè)任務(wù)。在語(yǔ)音識別中,首先查詢(xún)LD3320狀態(tài)寄存器的識別完成位是否置位,然后做出應答,執行相應的動(dòng)作,語(yǔ)音播報執行結果,并發(fā)送一個(gè)信號量表明屋內電器狀態(tài)有變化,需要更新顯示;串口接收任務(wù)的工作是對上位機發(fā)送過(guò)來(lái)的數據準確無(wú)誤地接收,解密解碼,并根據指令對電器進(jìn)行相應操作;液晶顯示屏顯示任務(wù)會(huì )一直檢測是否有更新顯示的信號量,若有信號量則執行整屏刷新,同時(shí)對應的信號量自動(dòng)清空;啟動(dòng)安防系統后,便會(huì )運行實(shí)時(shí)監控,根據數量密集的傳感器網(wǎng)絡(luò )狀態(tài)判斷家中的安全指數,智能的軟件決定何時(shí)應該發(fā)出警報信號。

圖3 下位機軟件設計流程

圖4 PC端上位機控制軟件
5上位機控制軟件,PC端以及安卓手機端的設計
服務(wù)器(一臺運行openwrt系統的路由器)運行起來(lái)后,USB攝像頭自動(dòng)掛載,在PC端上的位機設置窗口設置好IP與密碼信息后,上位機通過(guò)TCP連接到服務(wù)器,獲取視頻/圖片信息,顯示在上位機的GUI界面上。界面中的其他控件同樣是利用TCP連接到服務(wù)器上,發(fā)送或者獲取信息,服務(wù)器接收到請求后則通過(guò)ser2net進(jìn)程,將tcpserver的信息轉發(fā)到串口上,與下位機進(jìn)行通信。手機端上位機設計得比較簡(jiǎn)單,如圖4所示,大按鈕方便控制家庭中各種電器。
6結束語(yǔ)
文中設計了一種基于STM32F1系列的智能家居系統,詳細地介紹了系統的整體架構并給出了幾種重要的硬件裝置和服務(wù)器軟件的實(shí)現方法。
實(shí)現了室內實(shí)時(shí)功率、室內溫度、天氣的監測,和內/外網(wǎng)遠程控制家中的電器,遠程視頻監控功能以及安防設施,語(yǔ)音識別正確率達88%,網(wǎng)絡(luò )服務(wù)器部分采用了路由器代替PC機的方案,系統整體待機功耗≤5 W.手機控制端的設計按鍵清晰易操作,可以方便地控制部分家電的工作狀態(tài)。最終實(shí)現了智能家居需求的功能。
pa相關(guān)文章:pa是什么
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評論