一種基于Linux的智能家居聯(lián)網(wǎng)管理方案
3 氣體流量的檢測
本文引用地址:http://www.ex-cimer.com/article/248610.htm氣體流量測量采用的是MF4000系列氣體流量計(jì),MF4000系列質(zhì)量流量計(jì)是美國矽翔微機(jī)電專為管徑為3~8 mm的氣體管路中的低速氣流的流量計(jì)量而設(shè)計(jì)??谑皆O(shè)計(jì)為用戶提供簡便的安裝,滿足用戶測量多氣體管路的需求。塑料卡口可輕松的進(jìn)行機(jī)械接口轉(zhuǎn)換,應(yīng)用于不同的低成本環(huán)境,內(nèi)置安全插件可適用于更寬的應(yīng)用,MF4000系列氣體流量計(jì)技術(shù)參數(shù)如表1所列。
表1 MF4000系列氣體流量計(jì)技術(shù)參數(shù)
智能家電控制芯片為傳統(tǒng)的8051系列單片機(jī),單片機(jī)與氣體流程傳感器通過RS232通信,整個(gè)通信過程單片機(jī)作為主機(jī),傳感器作為從機(jī),它們采用點(diǎn)對點(diǎn)(或點(diǎn)對多點(diǎn))主從式工控網(wǎng)絡(luò)的半雙工異步傳輸模式,主機(jī)和從機(jī)之間用輪詢的方式來進(jìn)行通信。只有主機(jī)才能啟動(dòng)通信,沒有接到主機(jī)請求,從機(jī)不能主動(dòng)發(fā)送信息。主機(jī)向從機(jī)發(fā)送任務(wù)報(bào)文,從機(jī)接收到主機(jī)的任務(wù)命令后返回響應(yīng)報(bào)文并執(zhí)行相應(yīng)操作。除了發(fā)送響應(yīng)報(bào)文外,從機(jī)只能處于接收狀態(tài)。主機(jī)的每一次查詢都是以一個(gè)報(bào)文(幀)的數(shù)據(jù)傳送給從機(jī)。其通信流程如圖3所示。
圖3 單片機(jī)與傳感器/流量計(jì)的RS232串行通信流程
對于RS232協(xié)議,用固定的字符0x9D標(biāo)識(shí)一幀數(shù)據(jù)的開始。數(shù)據(jù)傳輸通信時(shí),幀頭(地址)的識(shí)別是非常關(guān)鍵和重要的。一般解決此問題的方法是:找到所要傳輸?shù)臄?shù)據(jù)中不可能出現(xiàn)的特征數(shù)據(jù),再將此特征數(shù)據(jù)作為幀頭發(fā)送。但是,這種通信方式中,一方面特征數(shù)據(jù)一般較難找到,大多數(shù)情況下都需要用數(shù)個(gè)特殊字符組成特征數(shù)據(jù)作為幀頭;另一方面由于增加了較多的無用字符(相對于有用數(shù)據(jù)而言),從機(jī)不得不對特征數(shù)據(jù)進(jìn)行解碼,使得通信時(shí)間延長,造成該從機(jī)的時(shí)間浪費(fèi)。本協(xié)議采用1位幀頭(地址)標(biāo)志位來解決幀頭(地址)的識(shí)別問題。
具體方法為:主機(jī)首先禁止奇偶校驗(yàn),同時(shí)設(shè)置奇偶校驗(yàn)位為Mark標(biāo)志(相當(dāng)于設(shè)置幀頭標(biāo)志位DS為1),再向從機(jī)發(fā)送幀頭(地址)。此時(shí),正處于幀頭(地址)監(jiān)聽狀態(tài)的從機(jī)收到主機(jī)發(fā)來的幀頭(地址)后,進(jìn)入中斷服務(wù)例程,讀取主機(jī)發(fā)送的幀頭(地址)是否正確,當(dāng)確認(rèn)正確后,從機(jī)進(jìn)入數(shù)據(jù)接收狀態(tài)并等待主機(jī)發(fā)送數(shù)據(jù);否則,仍處于幀頭(地址)監(jiān)聽狀態(tài)并等待主機(jī)發(fā)送下一個(gè)幀頭(地址)。主機(jī)接著禁止奇偶校驗(yàn),同時(shí)設(shè)置奇偶校驗(yàn)位為Space標(biāo)志(相當(dāng)于設(shè)置幀頭(地址)標(biāo)志位DS為0),再發(fā)送數(shù)據(jù),進(jìn)入數(shù)據(jù)接收狀態(tài)的從機(jī)將正常接收所有數(shù)據(jù),然后向主機(jī)發(fā)送響應(yīng)報(bào)文,最后釋放總線并重新進(jìn)入幀頭(地址)監(jiān)聽狀態(tài)。
單片機(jī)通過串口與傳感器通信,可以方便地采集到瞬時(shí)流量和累積流量,可記錄自上電以來瞬時(shí)流量的最大值和最小值,具有超量程指示功能。
4 Linux移植及Qt應(yīng)用程序開發(fā)
本系統(tǒng)在TQ2440開發(fā)板上移植了Linux操作系統(tǒng),并在此嵌入式操作系統(tǒng)平臺(tái)上進(jìn)行了簡易家居智能控制平臺(tái)的開發(fā)。Linux移植及Qt應(yīng)用程序開發(fā)步驟如圖4所示。
圖4 Linux移植及Qt應(yīng)用程序開發(fā)步驟
首先是配置開發(fā)板所需要的環(huán)境軟件。在開發(fā)板環(huán)境建立中,要注意的是對于沒有串口的機(jī)器,一定要先安裝USB轉(zhuǎn)串口的驅(qū)動(dòng),而在安裝時(shí)務(wù)必注意將電腦與板載串口的波特率設(shè)置為一致。這個(gè)沒設(shè)置好,串口通信會(huì)有問題。除此之外,還需安裝好串口調(diào)試工具及程序燒錄下載工具。
其次是搭建Linux交叉編譯環(huán)境。一般的電腦上都是Windows操作系統(tǒng),要開發(fā)Linux嵌入式操作系統(tǒng),需要安裝虛擬機(jī)(例如VMware 等)、基于Linux內(nèi)核的相關(guān)操作系統(tǒng)(例如Fedora)和交叉編譯器。虛擬機(jī)是用來承載Linux操作系統(tǒng)在Windows機(jī)器上運(yùn)行而設(shè)置的,就像虛擬光盤一樣,是個(gè)虛擬的。交叉編譯器,是用來編譯和產(chǎn)生系統(tǒng)開發(fā)過程中各種鏡像文件。
接著進(jìn)入移植過程。移植時(shí)一般順序?yàn)椋壕幾gUboot→編譯內(nèi)核→構(gòu)建文件系統(tǒng)。
最后是Qt應(yīng)用程序開發(fā)。本系統(tǒng)是基于圖形界面開發(fā)的。Qt程序開發(fā)需要先建立Qtopia開發(fā)平臺(tái),然后進(jìn)入編譯目錄,執(zhí)行編譯腳本,無誤退出后,再編譯應(yīng)用程序。編譯應(yīng)用程序時(shí),只需進(jìn)入每個(gè)程序目錄,執(zhí)行make命令。然后,將編譯好的程序的可執(zhí)行文件拷貝到文件系統(tǒng)的鏡像目錄中,最后將編譯生成的.bin文件燒錄到開發(fā)板中即可。
結(jié)語
本文描述的是一種簡易可行的智能家居聯(lián)網(wǎng)方案,其具有成本低、易于實(shí)現(xiàn)、組網(wǎng)容易等優(yōu)點(diǎn),但對于更復(fù)雜的互動(dòng)功能還存在一定的欠缺。但基于上述主控平臺(tái),只需要調(diào)整智能家居的內(nèi)部局部通信網(wǎng)絡(luò)就可以實(shí)現(xiàn)更加完善的智能家居功能。例如可以不修改主控電路,利用WiFi或ZigBee網(wǎng)絡(luò)來重新組建家居設(shè)備網(wǎng)絡(luò)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)pa相關(guān)文章:pa是什么
linux相關(guān)文章:linux教程
熱式質(zhì)量流量計(jì)相關(guān)文章:熱式質(zhì)量流量計(jì)原理 流量計(jì)相關(guān)文章:流量計(jì)原理
評(píng)論