基于STM32智能家居系統(tǒng)的設(shè)計與實(shí)現(xiàn)
CAN總線通信具有較高的通信速率、高可靠性、便于連接和性價比高的優(yōu)勢,它因?yàn)楦咚倬W(wǎng)絡(luò)以及作為較低成本的各種網(wǎng)絡(luò)而普及應(yīng)用。由于智能家居系統(tǒng)的通信是在家庭供電線路的復(fù)雜電磁干擾中,本系統(tǒng)采用一種CAN雙絞線轉(zhuǎn)換器,組成一個家電通信網(wǎng)絡(luò),足夠可靠地應(yīng)用于強(qiáng)干擾的惡劣環(huán)境中。
本文引用地址:http://m.butianyuan.cn/article/270915.htm3智能家居系統(tǒng)軟件設(shè)計
智能家居其中一個重要目的是為了實(shí)現(xiàn)舒適便捷的家居生活,因此必須設(shè)計一套用戶體驗(yàn)良好的上位機(jī)操作界面,包括電腦端對智能家電的詳細(xì)設(shè)置,以及能體現(xiàn)出手機(jī)便捷性對家電基本控制需求的Android客戶端應(yīng)用程序。其主要軟件設(shè)計流程如圖2所示。系統(tǒng)任務(wù)的實(shí)現(xiàn)由兩個不同的線程實(shí)現(xiàn):網(wǎng)絡(luò)通信用的NetStream程序和本地數(shù)據(jù)處理的程序。
圖2 上位機(jī)軟件設(shè)計流程
本地數(shù)據(jù)處理程序根據(jù)任務(wù)又分為以下兩部分:用戶操作響應(yīng)部分,視頻流數(shù)據(jù)處理部分。用戶操作響應(yīng)部分主要負(fù)責(zé)采集用戶對上位機(jī)軟件按下的按鈕、輸入的命令等數(shù)據(jù),并將這些采集到的數(shù)據(jù)進(jìn)行運(yùn)算和處理,得到結(jié)果后再進(jìn)行加密并編碼,最后加載到網(wǎng)絡(luò)流上,自動通過網(wǎng)絡(luò)發(fā)送到下位機(jī)。視頻流數(shù)據(jù)處理部分則是智能家居安防監(jiān)控功能的承載,上位機(jī)的軟件定時器產(chǎn)生一定時間間隔的溢出中斷后,通過TCP連接到路由器,賬號和密碼驗(yàn)證無誤后,即可獲取監(jiān)控攝像頭每一幀JPEG格式的圖像信息,經(jīng)過處理,可將這些JPEG圖像信息合成24幀每秒顯示在上位機(jī)界面上,由于人眼的視覺暫留效益(Persistence of vision),這些連續(xù)的圖像可以被看成是達(dá)到了流暢的視頻效果。
NetStream部分則主要是解決上位機(jī)與下位機(jī)通信的問題。智能家居系統(tǒng)的安全是一個很重要的問題,建立一個穩(wěn)定安全的連接就顯得尤為重要。本系統(tǒng)采用一種SSL加密的TCP/IP協(xié)議。SSL又叫“安全套接層(Secure Sockets Layer)協(xié)議”,是一種在客戶端和服務(wù)器端之間建立安全通道的協(xié)議,充分保證了系統(tǒng)通信過程的安全。
4智能家電網(wǎng)絡(luò)的構(gòu)建
為了實(shí)現(xiàn)對智能家電控制的目的,就必須要將各個家電進(jìn)行聯(lián)網(wǎng),本系統(tǒng)的下位機(jī)家電網(wǎng)絡(luò)包括CAN總線網(wǎng)絡(luò),2.4G射頻無線網(wǎng)絡(luò)以及視距紅外無線網(wǎng)絡(luò)。同時應(yīng)用了這3種通信網(wǎng)絡(luò),同時具備了智能家居網(wǎng)絡(luò)的可靠性好,連接方便,通用性強(qiáng)等優(yōu)點(diǎn),彌補(bǔ)了單一通信方式的局限性,若能合理安排組建網(wǎng)絡(luò),將會有效地降低系統(tǒng)成本。
下位機(jī)軟件部分最重要的一個功能,就是接收到上位機(jī)發(fā)送過來的帶有加密的數(shù)據(jù)后進(jìn)行處理。數(shù)據(jù)解密后,是一個帶有功能描述與對應(yīng)參數(shù)的字符串,為了方便程序的編寫,需要將字符串中的參數(shù)部分由連續(xù)且未知長度的數(shù)字轉(zhuǎn)化為整形變量儲存在內(nèi)存中,實(shí)現(xiàn)的代碼如下:
pa相關(guān)文章:pa是什么
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評論