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