




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于Android終端的物聯網家居環境監測系統設計 在人的一生中約80%的時間是在室內度過的,因此室內環境的狀況直接影響著人們的身心健康。隨著人們生活水平的提高,家居環境監測正越來越受到人們的親睞。在中國物聯網“十二五”規劃中,物聯網中的智能家居、車聯網、智能物流、智能安防、智能交通、智能環保、智能農業、智能醫療等都是國家重點,這也是工信部推出的智慧城市建設中的主要組成。作為新一代信息技術的代表,物聯網技術正逐步地改變著人們的生活方式。 相對于其他的無線技術,基于ZigBee的無線網絡技術具有高性能、低功耗等特點,短距離傳輸成本低,維護簡單,使它非常適合物聯網感知層的傳感器網絡傳遞信息。And
2、roid系統在2012年已占全球智能手機59%以上的市場份額,在中國的市場份額更是高達77%。由于其眾多的用戶群體及良好的交互界面,所以選用Android系統作為本系統移動客戶端的開發平臺。1系統總體設計 根據ZigBee技術和智能家居的特點,本文設計的家居環境監測系統的主要組成包括:各種傳感器節點、ZigBee協調器、家庭網關、阿里云服務器和Android手機終端模塊。 每個房間的ZigBee節點將采集到的數據交由Zig-Bee協調器,然后協調器經過串口將數據傳給家庭網關并接人Internet。而后阿里云服務器將接收到的數據存人MySQL數據庫。當客戶端每3s自動發送或手動刷新時,發送一次請
3、求,服務器端就會取出此時數據庫中的數據,并將數據轉化為Json格式發送給An-druid客戶端。客戶端接收到Json數據后解析并將各種環境參數顯示在主界面中。2系統硬件部分設計 系統的硬件部分主要包括用于感知層進行數據采集的傳感器模塊、ZigBee模塊和家庭網關模塊。 傳感器作為信息獲取的重要手段,與通信技術和計算機技術共同構成信息技術的三大支柱,是現代信息系統和各種監測系統不可缺少的信息采集手段傳感器一般由敏感元件、轉換元件、轉換電路組成。將采集到的非電量如溫度、濕度等轉換成電量,最后通過A/D轉換為數字量。 本系統設計用到的傳感器主要有溫度傳感器、濕度傳感器、一氧化碳傳感器和煙霧傳感器。
4、溫濕度傳感器模塊。本系統中溫濕度監測是個重要的指標,以保證一個舒適的體感環境。SHT1 l是瑞士Sensirion公司推出的基于CMOSensTM技術的數字信號輸出的溫濕度復合傳感器。它有超快響應、抗干擾能力強、性價比極高等優點。其測溫范圍為:一40一123. 8,測濕范圍為:0% RH一100% RH 。 一氧化碳傳感器模塊。煤氣的泄漏會對家人的生命安全造成直接的影響,所以作為煤氣的主要成分的一氧化碳的濃度監測將至關重要。MQ一對一氧化碳和其他可燃性氣體具有很高的靈敏性和良好的選擇性。其對一氧化碳的探測范圍為:10一1000 ppm(mg/L )。 煙霧傳感器模塊。在火災發生的時候一般伴隨著
5、大量的煙霧,所以在火災初期能夠及時地預報警具有重要的意義。MQ一2傳感器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫( Sn02 )。當傳感器所處環境中存在大量的煙霧時,煙霧濃度越大,電導率越大輸出電阻越低。煙霧的探測范圍為100-10000 ppm。2.2 ZigBee模塊 本系統的數據發送模塊采用的是由TI公司的CC2530芯片組成的ZigBee無線傳感網絡作為物聯網感知層信息傳遞網絡。它支持802.15.4,ZigBee2007,ZiBee PRO和ZiBee RF4CE等國際通信標準。是一種短距離、低功耗的無線通信技術,其特點是近距離、低復雜度、自組織、低功耗、低數據速率、低成本
6、,適合于室內環境監測網絡的搭建。 由CC2530芯片組成的ZigBee無線傳輸網絡的網絡拓撲結構主要有三種:星形、樹形、和網狀形。由于家居環境監測相對比較簡單,所以本系統采用的是星形結構,其終端設備節點之間不能相互通信,通信必須借助協調器的轉發。2. 3家庭網關模塊 由各個節點采集到的數據經過ZiBee無線網絡匯聚到ZigBee協調器,再經由協調器交給應用層,應用層通過調用提供的串口API將數據發到網關。網關到互聯網的傳輸方式采用以太網口傳輸,客戶端與阿里云服務器的網絡通信結構,并用Socket網絡編程實現,這樣就完成了從網關到互聯網的數據傳輸。然后云服務器將接收到的數據存人MySQL數據庫。
7、 網關需要接收大量的從協調器傳過來的數據,并將數據上傳至云服務器。本系統采用的是Intel XS-tale系列作為網關的處理器,它是基于ARMVSTE體系結構,PXA270系列處理器是在原有的XScale架構基礎上,提高了處理器的效率,優化了處理器的功耗,滿足了本網關系統的處理器性能需要。3系統軟件部分設計 軟件部分設計主要包括3部分:ZigBee協調器模塊、云服務器和數據庫模塊,以及Android手機客戶終端模塊。3.1 ZigBee協調器設計 協調器節點是整個網絡的核心,負責網絡的建立與管理。系統上電以后,首先初始化硬件和協議棧,之后協調器掃描并選擇一個空閑的信道來建立新的網絡。如果找到合
8、適的信道,ZigBee協調器會為新網絡選擇一個PAN標識符(PAN標識符用來標識整個網絡的,因此所選的PAN標識符必須在信道中是唯一的)。 當有節點申請加人網絡時,首先會主動掃描查找周圍網絡的協調器,如果在掃描期限內檢測到信標,那么將會獲得協調器的有關信息,這時就向協調器發出連接請求。此時若協調器的資源足夠,協調器會給節點分配一個16位的短地址,并產生包含新地址和連接成功狀態的連接響應命令,然后節點將成功地和協調器建立連接并可以開始通信。3. 2云服務器與數據庫設計 由于Android客戶端無法與數據庫直接連接,所以需要采用服務器作為兩者之間的橋梁。為了節省資源,本系統采用了阿里云服務器。購買
9、之后可以在后臺部署一臺Windows Server2008系統的虛擬機,并且會為用戶提供一個公網的IP,為本系統分配的IP :112. 74. 81. 226。客戶端可以通過這個IP與服務器連接進行通信。由于每個房間包含多個傳感器節點,能夠產生大量的數據,所以本系統采用MySQL數據庫來存儲數據。 在阿里云服務器上搭建好服務器環境和安裝好MySQL數據庫后,部署代碼就可以與Android客戶端通信。服務器每Ss會自動讀取數據庫中的數據,并且判斷數據是否超過報警值,若超過則會自動調用云推送API向客戶端推送警報消息。其核心代碼如下: /鏈接數據庫 Class. forName ( com. my
10、sql. jdbc. Driver);Connection cone=DriverManager. getConnection(”jdbc:mysql;/ 112. 74. 81.226;3306/json , root , 123456 ) ;/將數據庫數據轉換為JSON格式 PrintWriter out二response. getWriter(); StringBuHer sb=new StringBuffer(); for ( Parameter parameter ; parameter) sb. append).append(”temp :”)append(”+parameter.
11、 getTemp()十”、”).append(”,”); (”humi:.).append”+parameter. getH-umi)+”).append(”,”); (” co:”).append ( parameter. getCo)+”).append(”,”); sb. append” sm:”).append ( parameter. getSmog(); ().append(”,”); out. writeString( sb );/發送 本系統中數據傳輸采用的是JSON數據格式,相對于XML數據格式,具有良好的可讀性和更高的效率。具體數據格式: temp:26,humi:S8,c
12、o:1l,smog: 109,程序采用Goo少公司提供Gson API插件來解析JSON數據。核心代碼如下: public staticT getData ( String jsonString, Classcla ) Tt=null ; Gson gson=new Gson(); t=gson. fromJson( jsonString, cls ); return t ; 3.3 Android手機APP設計 手機APP的功能是能夠將家居環境信息實時地向用戶顯示出來,并且當家居環境發生劇烈的變化時,能夠及時地通知用戶。APP軟件設計主要包括以下幾個模塊:用戶登錄模塊、應用主界面模塊、云服務
13、器通信模塊以及云消息推送模塊。 用戶登錄主要是讓用戶輸入登錄云服務器的IP地址,只有登錄了正確的IP地址才會與服務器連接。 由于云服務器提供商會為用戶提供一個公網IP,所以可以把這個)P地址寫人程序中。當用戶輸人IP地址,并點擊登錄后會與程序中的IP進行比較。若登錄成功后為了實現以后能夠自動填入IP地址,可以使用Android提供的SharedPrefences把IP地址存下來。SharedPrefences是一種輕量級的數據存儲方式,它的本質是基于XML文件存儲key-value鍵值對數據,通常用來存儲一些簡單的配置信息,以節省資源川。其代碼如下: SharedPreferences. Ed
14、itor editor=getSharedPreference(data , MODE PRIVATE).edit); Editor. putString( IP,26 ); 在Android軟件設計中,UI布局是一個重要的部分。不管應用實際包含的邏輯多么復雜,多么優秀,如果這個應用沒有提供友好的圖形用戶界面,將很難吸引最終用戶。 Android的界面開發一般有兩種方式,一種是在Java程序中對它進行控制,另一種方式是在XML文件中定義它的布局。相對于在Java程序中控制,XML簡單明了,降低了程序的藕合性。Android的應用的界面程序一般在工程/res/layout/
15、activity main, xml中。3. 3. 3與云服務器通信模塊 Android應用與服務器的通信方式主要包括2種方法:Http通信和Socket通信。Http通信使用的是“請求一響應”模式,只有客戶端請求時才建立連接。而Socket通信是數據在傳輸前就連接好,之后可以直接進行數據傳輸。 本系統的目的是用戶能夠在手機APP上顯示此時的家居各種環境參數,并且能夠每3,刷新一次數據,所以為了節省資源選用Http技術進行通信,客戶端每3s發送一次“get”請求與服務器通信。核心代碼如下: String path=http ; / 112. 74. 81. 226:8080/JsonWeb/J
16、son-Servlet URL url=new URL ( path ); HttpGet httpGet=new HttpGet(url); HttpClient he=new DefaultHttpClient(); HttpResponse ht=hc. execute ( httpGet ); if ( ht. getStatusLine).getStatusCode)=HttpStatus. SC_OK) HttpEntity he=ht. getEntity(); InputStresm is=he. getContent(); BufferedReader br = new Bu
17、fferedReader ( new InputStream-Reader(is); while( (readLine=br. readLine()!=null) response=response+readLine ; return response; Android程序如果需要訪問網絡資源,需要完成授權才能進行網絡的訪問。授權在AndroidManifest. xinl文件中添加一條語句: 3. 3. 4云消息推送模塊 當用戶沒有查看手機而此時家居環境發生了劇烈的變化,如煤氣泄漏,或者發生了火災時,為了能夠及時通知用戶進行處理,本系統采用了云消息推送技術。通過云消息推送,即使客戶端應用沒有
18、運行,也可以收到來自服務器端的推送消息,這里采用的是第三方推送平臺極光推送。 登錄極光推送官網注冊并創建應用后會為用戶APP提供一個APPKey和API主密碼,由于極光推送已經將各種函數封裝好了,所以只需要通過它提供的APPKey和API主密碼就可以調用它的API接口。 開發客戶端時將下載好的SDK開發包導人工程的libs/目錄下。為了將消息給特定的用戶推送,可以通過使用別名將1Push注冊用戶與開發者App用戶綁定起來。客戶端核心代碼如下: JPushClient JPushClient=new JPushClient(masterSecret,app-Key); if( receiveRe
19、sult=null) System. out. println”獲取receive數據失敗!”+ receiv-eResult ); else System. out. println(”received result;”+receiveResult. to-String); 服務器端開發主要是調用極光推送提供的API接口,將服務端SDK導人后就可以開發了。當數據超過警戒值時,服務器就會向客戶端推送消息。服務器端核心代碼如下: jpush=new JPushClient(masterSecret,appKey,timeToLive); MessageResult msgResult=jpush
20、. sendCustomMessageWith-AppKey ( sendNo , msgTitle , msgContent);4結束語 本系統不僅運用目前最為流行的Android系統作為客戶端開發平臺,運用阿里云服務器作為客戶端與數據庫之間的紐帶,系統具有實用性和先進性,使用戶不但能夠隨時隨地的登錄客戶端查看家居環境,而且當室內環境發生重大變化時能及時地通知用戶。該系統不僅具有良好的交互性,而且功耗低、實時性好,為通過查找Ptloo分度表,so. 00一260. 00 的電阻變化覆蓋了80. 31一257. 32 2的范圍,對應Pt100溫度變化范圍為一50一430。 從計算過程來看,比較逼近的核心思想就是,將需求值與權值按照從大到小的順序進行比較。如果需求值大于權值,則將此繼電器設置為斷開,并將需求值扣除此權值大小;如果需求值小于權值,則不做任何改變。此次比較完畢后,繼續使用新的需
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年精密箱體系統合作協議書
- 收入及獎金證明書(7篇)
- 品牌形象設計與推廣服務協議簽署書
- 商場檔口租賃協議
- 2025年廣東省廣州市番禺中學高考地理三模試卷
- 新材料技術研發轉讓協議
- 建設工程施工合同培訓資料
- 新能源電動汽車推廣應用協議
- 酒店業自助結算系統開發協議
- 智能制造設備采購與技術支持合同
- 人教版高中英語必修第一冊《Unit1Teenagelife》教案及教學反思
- 2023年全國統一高考地理試卷(新課標)(含解析)
- 小小科學家《生物》模擬試卷A(附答案)
- 《康復醫學》第一章第一節
- 論文聯想與想象在語文教學中的應用及培養
- 2020年10月自考00152組織行為學試題及答案
- 食品營養與安全學智慧樹知到答案章節測試2023年信陽農林學院
- 《森林培育學》考博復習資料
- DCF-現金流貼現模型-Excel模版(dcf-估值模型)
- 甘肅敦煌莫高窟簡介
- GB/T 1839-2008鋼產品鍍鋅層質量試驗方法
評論
0/150
提交評論