基于STM32智能家居系統(tǒng)的設計與實現
這段函數調用了IAR Embedded公司提供的標準庫函數stdlib.h中的atoi函數,atoi函數功能的描述是/*convert string to int*/,即把字符串直接強制轉成整形數據。本系統(tǒng)上位機與下位機之間的通信協議由我們專門針對性地設計,其中字符串頭部帶有長度不能預知的命令字節(jié),因此調用atoi函數前還需要判斷該數據包之中的參數是從字符串的第幾位開始的,得到正確的指向字符串參數位置的指針。
本文引用地址:http://m.butianyuan.cn/article/271869.htm如圖3是智能家居下位機主控芯片的流程圖,主控芯片上運行了μC/OS輕量級嵌入式實時操作系統(tǒng),采用的是可剝奪型實時多任務內核,意味著處理器在任何時候都是運行優(yōu)先級最高的任務,這樣就很方便地實現了整個下位機各種任務的調度,同時也保證了系統(tǒng)的實時性。主控芯片啟動μC/OS后,分別建立語音識別任務、串口接收任務、液晶顯示任務、入侵檢測任務4個任務。在語音識別中,首先查詢LD3320狀態(tài)寄存器的識別完成位是否置位,然后做出應答,執(zhí)行相應的動作,語音播報執(zhí)行結果,并發(fā)送一個信號量表明屋內電器狀態(tài)有變化,需要更新顯示;串口接收任務的工作是對上位機發(fā)送過來的數據準確無誤地接收,解密解碼,并根據指令對電器進行相應操作;液晶顯示屏顯示任務會一直檢測是否有更新顯示的信號量,若有信號量則執(zhí)行整屏刷新,同時對應的信號量自動清空;啟動安防系統(tǒng)后,便會運行實時監(jiān)控,根據數量密集的傳感器網絡狀態(tài)判斷家中的安全指數,智能的軟件決定何時應該發(fā)出警報信號。
![](http://editerupload.eepw.com.cn/201503/dd33de4bd4aee6e8fcee7b25ba8d9901.jpg)
圖3 下位機軟件設計流程
![](http://editerupload.eepw.com.cn/201503/28edca710fe70b193496456f94518ad8.jpg)
圖4 PC端上位機控制軟件
5上位機控制軟件,PC端以及安卓手機端的設計
服務器(一臺運行openwrt系統(tǒng)的路由器)運行起來后,USB攝像頭自動掛載,在PC端上的位機設置窗口設置好IP與密碼信息后,上位機通過TCP連接到服務器,獲取視頻/圖片信息,顯示在上位機的GUI界面上。界面中的其他控件同樣是利用TCP連接到服務器上,發(fā)送或者獲取信息,服務器接收到請求后則通過ser2net進程,將tcpserver的信息轉發(fā)到串口上,與下位機進行通信。手機端上位機設計得比較簡單,如圖4所示,大按鈕方便控制家庭中各種電器。
6結束語
文中設計了一種基于STM32F1系列的智能家居系統(tǒng),詳細地介紹了系統(tǒng)的整體架構并給出了幾種重要的硬件裝置和服務器軟件的實現方法。
實現了室內實時功率、室內溫度、天氣的監(jiān)測,和內/外網遠程控制家中的電器,遠程視頻監(jiān)控功能以及安防設施,語音識別正確率達88%,網絡服務器部分采用了路由器代替PC機的方案,系統(tǒng)整體待機功耗≤5 W.手機控制端的設計按鍵清晰易操作,可以方便地控制部分家電的工作狀態(tài)。最終實現了智能家居需求的功能。
pa相關文章:pa是什么
c語言相關文章:c語言教程
路由器相關文章:路由器工作原理
路由器相關文章:路由器工作原理
評論