新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 面向智能家居的嵌入式傳感網(wǎng)網(wǎng)關(guān)的研究與設(shè)計(jì)

面向智能家居的嵌入式傳感網(wǎng)網(wǎng)關(guān)的研究與設(shè)計(jì)

作者: 時(shí)間:2011-04-08 來源:網(wǎng)絡(luò) 收藏


4 家庭軟件
4.1 構(gòu)建Linux操作系統(tǒng)
系統(tǒng)硬件平臺與功能應(yīng)用之間,需要專門的負(fù)責(zé)管理存儲器分配,中斷處理以及任務(wù)調(diào)度等功能的軟件模塊,這就是操作系統(tǒng)。操作系統(tǒng)是用來支持嵌入式應(yīng)用的系統(tǒng)的軟件,包括硬件相關(guān)的底層驅(qū)動,系統(tǒng)內(nèi)核,通信協(xié)議,圖形用戶界面等。
本文的網(wǎng)關(guān)系統(tǒng)是WSN和Internet,GSM互聯(lián)的通信應(yīng)用,主要完成異構(gòu)網(wǎng)絡(luò)之間的通信和控制,因此需要選擇實(shí)時(shí)的操作系統(tǒng)。在眾多的嵌入式實(shí)時(shí)操作系統(tǒng)中,從開發(fā)成本,軟件支持和代碼開放的角度考慮,本文將采用Linux操作系統(tǒng)作為網(wǎng)關(guān)的系統(tǒng)的操作系統(tǒng)。
4.2 建立交叉編譯環(huán)境
交叉編譯就是在一個(gè)平臺上生成另一個(gè)平臺上可以執(zhí)行的代碼。這里的平臺包括體系結(jié)構(gòu)和操作系統(tǒng)。同一體系結(jié)構(gòu)上可以運(yùn)行不同操作系統(tǒng)。同樣,同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。
本文是在裝有Ubuntu 9.10(基于X86架構(gòu)的Linux操作系統(tǒng))的PC機(jī)上為網(wǎng)關(guān)系統(tǒng)建立了基于ARM9的交叉編譯環(huán)境。建立之后,就可以在PC機(jī)上對將在網(wǎng)關(guān)系統(tǒng)上運(yùn)行的應(yīng)用程序進(jìn)行編譯,從而生成可以在網(wǎng)關(guān)系統(tǒng)上運(yùn)行的可執(zhí)行代碼,最后下到網(wǎng)關(guān)系統(tǒng)上。這也就是目前嵌入式程序開發(fā)的宿主機(jī)/目標(biāo)機(jī)(HOST/TARGET)模式。
Linux交叉編譯環(huán)境的內(nèi)容,主要分為4個(gè)部分:GCC編譯器(C語言編譯器),二進(jìn)制工具包(Binutils),標(biāo)準(zhǔn)C庫(Glibc)和Linux內(nèi)核頭文件。Glibc和GCC都有很多版本,需要根據(jù)實(shí)際需要選擇合適的版本。
4.3 網(wǎng)關(guān)應(yīng)用程序
本次網(wǎng)關(guān)系統(tǒng)的應(yīng)用軟件架構(gòu)圖4所示。其主要功能是依據(jù)器配置文件,分類解析WSN中的數(shù)據(jù),為用戶提供Socket數(shù)據(jù)服務(wù)和XML-RPC遠(yuǎn)程調(diào)用服務(wù)。其工作流程是:網(wǎng)關(guān)程序啟動以后,從XML文件夾中解析所有的器配置文件;監(jiān)聽串口數(shù)據(jù),利用器配置文件解析數(shù)據(jù)生成XML數(shù)據(jù)流;創(chuàng)建Socket服務(wù)器,等待客戶端數(shù)據(jù)請求,提供XML格式的Socket服務(wù);創(chuàng)建XML-Socket遠(yuǎn)程調(diào)用服務(wù)器,完成用戶的XML請求。

本文引用地址:http://2s4d.com/article/150878.htm


程序思路如圖5所示:網(wǎng)關(guān)程序啟動,完成參數(shù)初始化,解析XML文件夾下的所有傳感器配置文件,創(chuàng)建3個(gè)類的實(shí)例。4個(gè)任務(wù)隊(duì)列。Serialcomm類創(chuàng)建兩條線程用讀串口和寫串口,這樣可以保證數(shù)據(jù)的實(shí)時(shí)性。基于同樣的道理,XMLParser類和XMLComm類也是雙線程并行工作。這樣就組成了從WSN和Internet的上行通道(圖5中的虛線表示),以及Internet到WSN的下行通道(圖5中的粗線表示)。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉