【基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的系統(tǒng)設(shè)計(jì)11000字(論文)】_第1頁(yè)
【基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的系統(tǒng)設(shè)計(jì)11000字(論文)】_第2頁(yè)
【基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的系統(tǒng)設(shè)計(jì)11000字(論文)】_第3頁(yè)
【基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的系統(tǒng)設(shè)計(jì)11000字(論文)】_第4頁(yè)
【基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的系統(tǒng)設(shè)計(jì)11000字(論文)】_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的系統(tǒng)設(shè)計(jì)摘要物聯(lián)網(wǎng)發(fā)展的云端應(yīng)用的數(shù)量正在增加,物聯(lián)網(wǎng)的使用會(huì)增加接收到的信息量,如果需要分析大量信息,那么需要依賴(lài)于分布式云技術(shù)。因此,以IPv6網(wǎng)絡(luò)建設(shè)為基礎(chǔ)的物聯(lián)網(wǎng),云分析平臺(tái)在未來(lái)將會(huì)是發(fā)展的核心。針對(duì)物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)的存儲(chǔ)、展示以及對(duì)數(shù)據(jù)進(jìn)一步利用的需求,設(shè)計(jì)一個(gè)基于IPv6的支持多用戶(hù)、多物聯(lián)網(wǎng)協(xié)議的公共數(shù)據(jù)平臺(tái)。設(shè)計(jì)的初衷是為了方便IPv6物聯(lián)網(wǎng)用戶(hù)的數(shù)據(jù)存儲(chǔ)、分析和顯示,以幫助用戶(hù)進(jìn)行大規(guī)模數(shù)據(jù)信息分析,設(shè)計(jì)的實(shí)施將為IPv6物聯(lián)網(wǎng)節(jié)點(diǎn)的多用戶(hù)管理、控制和監(jiān)測(cè)提供了一個(gè)良好的平臺(tái)。所設(shè)計(jì)的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)具有多用戶(hù)自主申請(qǐng)的物聯(lián)網(wǎng)節(jié)點(diǎn)密鑰機(jī)制的特點(diǎn),并結(jié)合了基于HTTP協(xié)議的CURL、Restful、JSON的數(shù)據(jù)傳輸方案。目前IPv6網(wǎng)絡(luò)已經(jīng)在高校等領(lǐng)域普及,那么利用好IPv6的優(yōu)勢(shì),將物聯(lián)網(wǎng)云平臺(tái)結(jié)合到IPv6網(wǎng)絡(luò)中,研發(fā)出基于IPv6的新一代物聯(lián)網(wǎng)數(shù)據(jù)采集平臺(tái)就顯得十分必要了。關(guān)鍵字:物聯(lián)網(wǎng);數(shù)據(jù)接入平臺(tái);IPv6;CURL目錄TOC\o"1-3"\h\u782摘要 I21281目錄 III288511緒論 1134571.1課題研究的背景及意義 1260891.2國(guó)內(nèi)外研究現(xiàn)狀 189571.3研究的主要內(nèi)容 2247321.4可行性分析 3206361.5論文結(jié)構(gòu)介紹 3122071.6本章小結(jié) 3184752技術(shù)介紹 4217092.1IPv6協(xié)議 418202.2MQTT協(xié)議 562092.3Contiki系統(tǒng) 667922.4Apache+PHP+MySQL 6104282.4.1Apache 6236722.4.2PHP 735692.4.3MySQL數(shù)據(jù)庫(kù)管理系統(tǒng) 772762.5本章小結(jié) 8116373系統(tǒng)設(shè)計(jì) 954693.1總體設(shè)計(jì) 9233693.2系統(tǒng)硬件設(shè)計(jì) 10257383.2.1傳感器節(jié)點(diǎn) 10317253.2.26LBR邊緣路由器 1240333.3系統(tǒng)軟件設(shè)計(jì) 12112603.3.1搭建AppServ開(kāi)發(fā)環(huán)境 12243433.3.2設(shè)計(jì)MySQL數(shù)據(jù)庫(kù) 14167873.3.3Apache-Apollo-1.7.1搭建MQTT服務(wù) 19115543.3.4PHP客戶(hù)端phpMQTT-master 21240913.4云平臺(tái)設(shè)計(jì) 24107993.4.1云平臺(tái)的注冊(cè) 25151453.4.2云平臺(tái)的登錄 26128153.4.3平臺(tái)用戶(hù)分類(lèi) 27295803.5本章小結(jié) 2744684系統(tǒng)總體測(cè)試 29209464.1MQTT連通性測(cè)試 29161064.2PHP操作MySQL數(shù)據(jù)庫(kù) 30142654.2.1準(zhǔn)備工作 30278964.2.2連接MySQL服務(wù)器 3136924.2.3連接MySQL數(shù)據(jù)庫(kù) 32179004.3組網(wǎng)結(jié)構(gòu) 33280374.4測(cè)試節(jié)點(diǎn)的連通性 33264614.4.1測(cè)試6LBR網(wǎng)關(guān)的連通性 33223034.4.2測(cè)試服務(wù)器的連通性 3488094.4.3測(cè)試節(jié)點(diǎn)的連通性 3565324.5測(cè)試數(shù)據(jù)的采集 37284744.6云平臺(tái)測(cè)試 37110624.7本章小結(jié) 3813654結(jié)論 3915467參考文獻(xiàn) 401緒論1.1課題研究的背景及意義針對(duì)海量的傳感器數(shù)據(jù)無(wú)法存儲(chǔ)和展示的需求,物聯(lián)網(wǎng)云平臺(tái)將具有不同屬性功能的物體結(jié)合起來(lái)接入到統(tǒng)一的平臺(tái)中,接著對(duì)不同的數(shù)據(jù)進(jìn)行分析處理,讓每個(gè)物體之間都可以互相交換信息。與傳統(tǒng)的互聯(lián)網(wǎng)相比,萬(wàn)物互聯(lián)互通的設(shè)備再也不會(huì)局限于電腦、手機(jī)、電視和平板電腦等終端,物聯(lián)網(wǎng)創(chuàng)造了一個(gè)新的充滿(mǎn)智慧的世界,人們可以和任何物體進(jìn)行交流。我們現(xiàn)在身處于一個(gè)網(wǎng)絡(luò)縱橫的時(shí)代,互聯(lián)網(wǎng)的發(fā)展也是一日千里,IPv4讓人們享受到網(wǎng)絡(luò)帶來(lái)好處的同時(shí),也面臨著一些十分嚴(yán)峻的問(wèn)題,那便是IP地址資源的減少、安全和性能需要提高的問(wèn)題,面對(duì)這些難題,緊密?chē)@我國(guó)頒發(fā)的文件要求,研究IPv6協(xié)議,這對(duì)于我們來(lái)說(shuō)更像是一種機(jī)遇。我國(guó)作為互聯(lián)網(wǎng)使用的大國(guó),在當(dāng)今世界,IPv4注定會(huì)被IPv6取代,而IPv6作為今后網(wǎng)絡(luò)發(fā)展的基石,更是發(fā)展中的重中之重,雖然從IPv4到IPv6的實(shí)現(xiàn)需要很長(zhǎng)的時(shí)間,可是互聯(lián)網(wǎng)若是結(jié)合了IPv6協(xié)議,我們的生活習(xí)慣也會(huì)隨之變的更好。1.2國(guó)內(nèi)外研究現(xiàn)狀(1)國(guó)外研究現(xiàn)狀隨著物聯(lián)網(wǎng)和云平臺(tái)的興起,美國(guó)提議建立一家云計(jì)算公司,以此來(lái)促使國(guó)家生產(chǎn)鏈的發(fā)展;而就在這關(guān)鍵的一年里,韓國(guó)也頒發(fā)了相關(guān)文件,由政府領(lǐng)導(dǎo)率先引進(jìn)了云平臺(tái)的計(jì)算服務(wù)。蘋(píng)果公司在2013年8月迅速推出了云計(jì)算服務(wù)——iCloud;而在當(dāng)時(shí)IT的供應(yīng)商CATechnologies也推出來(lái)了云存儲(chǔ)的技術(shù),它可以將數(shù)據(jù)保存在云平臺(tái)中。而在不久,亞馬遜公司推出的“AWSLoT”平臺(tái)提供了可以從終端到云端處理數(shù)據(jù)的服務(wù),他們不僅運(yùn)用了MQTT的通信協(xié)議,還通過(guò)與硬件的結(jié)合創(chuàng)造了云端存儲(chǔ)這一強(qiáng)大的功能。微軟公司也不甘示弱,迅速推出了“AzureLoTPaaS”平臺(tái),主要提供了數(shù)據(jù)處理,遠(yuǎn)端監(jiān)測(cè)等功能。(2)國(guó)內(nèi)研究現(xiàn)狀我國(guó)在2009年就提出了“感知中國(guó)”戰(zhàn)略計(jì)劃,不論是國(guó)家的規(guī)劃,還是在“戰(zhàn)略強(qiáng)國(guó)”的方針上,我國(guó)各大高校企業(yè)都加大了對(duì)物聯(lián)網(wǎng)技術(shù)和云計(jì)算數(shù)據(jù)存儲(chǔ)處理的研究,而在2015年時(shí),各大物聯(lián)網(wǎng)云平臺(tái)的企業(yè)迎來(lái)了他們的黃金時(shí)代,順利拿到融資,比如中國(guó)移動(dòng)提出的oneNET物聯(lián)網(wǎng)云平臺(tái),更是一種基于IPv4的做后臺(tái)管理的系統(tǒng),可以提供開(kāi)發(fā)、數(shù)據(jù)存儲(chǔ)處理的功能。1.3研究的主要內(nèi)容設(shè)計(jì)的初衷是為了方便IPv6物聯(lián)網(wǎng)用戶(hù)的數(shù)據(jù)存儲(chǔ)、分析和顯示,以幫助用戶(hù)進(jìn)行大規(guī)模數(shù)據(jù)信息的分析,因此,設(shè)計(jì)了一種基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)。設(shè)計(jì)時(shí)所用的開(kāi)發(fā)環(huán)境有PHP、MySQL和Apache等。整個(gè)設(shè)計(jì)依托于IPv6網(wǎng)絡(luò),以Apache服務(wù)器為基礎(chǔ),利用MySQL建立數(shù)據(jù)庫(kù)存放數(shù)據(jù)信息,再用PHP和HTML語(yǔ)言進(jìn)行系統(tǒng)平臺(tái)的設(shè)計(jì),AJAX調(diào)取數(shù)據(jù)庫(kù)數(shù)據(jù),在網(wǎng)頁(yè)頁(yè)面上進(jìn)行曲線(xiàn)的繪制。平臺(tái)所涉及的數(shù)據(jù)感知、傳輸、存儲(chǔ)和展示均以IPv6網(wǎng)絡(luò)為核心,通過(guò)MQTT協(xié)議將數(shù)據(jù)發(fā)送到客戶(hù)端,客戶(hù)端再以Restful的JSON格式將數(shù)據(jù)上傳至物聯(lián)網(wǎng)平臺(tái)。同時(shí),Web服務(wù)已經(jīng)移植到了互聯(lián)網(wǎng)的服務(wù)器設(shè)備上,客戶(hù)端可以使用瀏覽器來(lái)控制和監(jiān)測(cè)遠(yuǎn)程的服務(wù)器設(shè)備,設(shè)計(jì)的結(jié)構(gòu)如圖1.1所示。圖1.1結(jié)構(gòu)設(shè)計(jì)(1)IPv6物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)的存儲(chǔ)和展示建立MySQL數(shù)據(jù)庫(kù)進(jìn)行傳感數(shù)據(jù)的存儲(chǔ),用PHP進(jìn)行接口的設(shè)計(jì)開(kāi)發(fā),前端框架使用AJAX和BootStrap。(2)IPv6物聯(lián)網(wǎng)數(shù)據(jù)平臺(tái)的傳輸機(jī)制提出基于HTTP協(xié)議的MQTT、Restful、JSON的數(shù)據(jù)傳輸方案,并通過(guò)密鑰進(jìn)行驗(yàn)證。(3)IPv6物聯(lián)網(wǎng)數(shù)據(jù)平臺(tái)的管理機(jī)制提出一種多用戶(hù)并由用戶(hù)自主申請(qǐng)的物聯(lián)網(wǎng)節(jié)點(diǎn)密鑰機(jī)制,進(jìn)行傳感節(jié)點(diǎn)的認(rèn)證。1.4可行性分析(1)技術(shù)可行性與當(dāng)前主流的物聯(lián)網(wǎng)平臺(tái)進(jìn)行調(diào)查比較發(fā)現(xiàn)市場(chǎng)出現(xiàn)率最多的是Yeelink物聯(lián)網(wǎng)云平臺(tái),這種云平臺(tái)基于IPv4網(wǎng)絡(luò),一般會(huì)使用開(kāi)源硬件Arduino和樹(shù)莓派進(jìn)行設(shè)計(jì),并且Yeelnik物聯(lián)網(wǎng)云平臺(tái)不能自主選擇查看歷史數(shù)據(jù),采集的數(shù)據(jù)也不顯示路徑,整個(gè)平臺(tái)的數(shù)據(jù)傳輸效率也偏低,不足之處也很明顯。針對(duì)以上的不足,在實(shí)現(xiàn)IPv6物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的數(shù)據(jù)傳輸過(guò)程中利用JSON的數(shù)據(jù)傳輸格式,這種格式簡(jiǎn)化了機(jī)器的解析和創(chuàng)建,并將網(wǎng)絡(luò)的傳輸效率也大幅度提高,再利用MySQL建立數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)歷史數(shù)據(jù),設(shè)計(jì)的數(shù)據(jù)接入平臺(tái)在純IPv6環(huán)境下運(yùn)行,使得IPv6物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)具有更高的安全性。設(shè)計(jì)所用到的技術(shù)都已經(jīng)在大學(xué)四年里有相應(yīng)的接觸,實(shí)現(xiàn)平臺(tái)的設(shè)計(jì)時(shí)就有了一定的基礎(chǔ),在當(dāng)前條件下可以實(shí)現(xiàn)。(2)經(jīng)濟(jì)可行性設(shè)計(jì)所用的到的硬件材料有傳感器(DHT11傳感器、水滴傳感器、MQ-2型氣體傳感器等)、6LBR邊緣路由器等、整個(gè)硬件的開(kāi)發(fā)成本都在500元以?xún)?nèi),在自己可以負(fù)擔(dān)的范圍之內(nèi)。(3)組織可行性利用蘭州工業(yè)學(xué)院信息中心為設(shè)計(jì)提供了IPv6環(huán)境,電子信息工程學(xué)院大學(xué)生實(shí)踐基地給予的便利條件進(jìn)行測(cè)試,指導(dǎo)老師對(duì)技術(shù)的悉心指導(dǎo),所設(shè)計(jì)的IPv6物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)可以成功實(shí)現(xiàn)。1.5論文結(jié)構(gòu)介紹將論文的章節(jié)結(jié)構(gòu)進(jìn)行編排。第1章介紹畢業(yè)設(shè)計(jì)的研究?jī)?nèi)容并進(jìn)行分析。第2章介紹設(shè)計(jì)時(shí)所用到關(guān)鍵技術(shù)和重要概念。第3章介紹畢業(yè)設(shè)計(jì)的總體規(guī)劃、硬件的設(shè)計(jì)方案和軟件的實(shí)現(xiàn)過(guò)程。第4章對(duì)基于IPv6物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的硬件和軟件進(jìn)行綜合的測(cè)試。最后,對(duì)論文進(jìn)行歸納和總結(jié)。1.6本章小結(jié)介紹了畢業(yè)設(shè)計(jì)的背景和國(guó)內(nèi)外對(duì)物聯(lián)網(wǎng)云平臺(tái)發(fā)展,對(duì)畢業(yè)設(shè)計(jì)的可行性進(jìn)行分析發(fā)現(xiàn)設(shè)計(jì)貼合實(shí)際具有研究?jī)r(jià)值,明確了設(shè)計(jì)的研究?jī)?nèi)容,并對(duì)論文的結(jié)構(gòu)進(jìn)行分析。2技術(shù)介紹在基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的設(shè)計(jì)過(guò)程中,前端框架使用AJAX和BootStrap來(lái)設(shè)計(jì),后端建立MySQL數(shù)據(jù)庫(kù)進(jìn)行傳感數(shù)據(jù)的存儲(chǔ),用PHP進(jìn)行接口的設(shè)計(jì)開(kāi)發(fā),通訊方式為基于MQTT協(xié)議的POST方式,設(shè)計(jì)的技術(shù)架構(gòu)如圖2.1所示。圖2.1技術(shù)架構(gòu)2.1IPv6協(xié)議IPv6的全稱(chēng)是互聯(lián)網(wǎng)協(xié)議第6版,有128bit的地址長(zhǎng)度,地址由字段分開(kāi),這樣的字段一共有8個(gè),字段與字段之間用冒號(hào)分開(kāi),每個(gè)字段中有16位的二進(jìn)制數(shù),它最大的改變就是將IP地址的空間進(jìn)行擴(kuò)大,報(bào)頭如圖2.2所示。圖2.2IPv6基本報(bào)頭基本報(bào)頭的版本為6并且擁有4bit的地址長(zhǎng)度;業(yè)務(wù)流量等級(jí)主要用于服務(wù)的質(zhì)量,擁有8bit的地址長(zhǎng)度,一般情況下的默認(rèn)值為0;流標(biāo)簽用來(lái)判斷是否屬于同一個(gè)業(yè)務(wù)流的報(bào)文,擁有20bit的地址長(zhǎng)度;載荷長(zhǎng)度的地址長(zhǎng)度為16bit,這個(gè)長(zhǎng)度包含了擴(kuò)展頭部;下一報(bào)頭用于指出IPv6基本報(bào)頭后應(yīng)該接有哪一個(gè)類(lèi)型的擴(kuò)展報(bào)頭,擁有8bit的地址長(zhǎng)度;跳數(shù)限制擁有的地址長(zhǎng)度為8bit,再每次對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā)時(shí)會(huì)將字段減去1,如果減到0將被舍棄;源地址擁有128bit的地址長(zhǎng)度,用于識(shí)別報(bào)文的來(lái)源;目的地址也擁有128bit的地址長(zhǎng)度,用于識(shí)別報(bào)文的目的。2.2MQTT協(xié)議MQTT協(xié)議的英文全稱(chēng)是MessageQueuingTelemetryTransport(消息隊(duì)列遙測(cè)傳輸協(xié)議),它的網(wǎng)絡(luò)層級(jí)如圖2.3所示。圖2.3MQTT的網(wǎng)絡(luò)層級(jí)MQTT協(xié)議的設(shè)計(jì)是為了提高網(wǎng)絡(luò)的服務(wù)質(zhì)量并減少了一些不必要的網(wǎng)絡(luò)冗余。它的運(yùn)行環(huán)境主要是PHP+Apache,Broker是服務(wù)器,它可以是電腦,也可以是一個(gè)APP,Broker主要存在于Publisher和Subscriber之間從客戶(hù)端獲取網(wǎng)絡(luò)和應(yīng)用程序連接信息并進(jìn)行處理并轉(zhuǎn)發(fā)給訂閱者;MQTT協(xié)議發(fā)布者稱(chēng)之為Publisher,它會(huì)向Broker發(fā)送訂閱信息,也可以訂閱其他客戶(hù)端發(fā)布的信息或者取消訂閱信息;MQTT協(xié)議的訂閱者稱(chēng)之為Subscriber,它通常會(huì)訂閱信息并接收Broker發(fā)布的信息,通常情況下,Publisher和Subscriber都可以作為是客戶(hù)端使用。MQTT是一種開(kāi)放的協(xié)議,它的初衷就是專(zhuān)門(mén)為降低功耗而設(shè)計(jì)的,不論是阿里云、百度云還是其余的物聯(lián)網(wǎng)平臺(tái)都已經(jīng)全面支持MQTT協(xié)議,可見(jiàn)它也有著很大的優(yōu)勢(shì)。(1)MQTT異步交換數(shù)據(jù),類(lèi)似于發(fā)送信息。與HTTP同步交換數(shù)據(jù)不同,在HTTP同步模式下,您需要等待其他參與者的響應(yīng),但是在MQTT異步模式下仍然可以發(fā)送信息而無(wú)需等待其他參與者的確認(rèn)。這樣的通信模式變得更加的簡(jiǎn)化。(2)MQTT適用于小規(guī)模傳輸,是輕量級(jí)的,適用于低帶寬和小數(shù)據(jù)量的應(yīng)用,可以滿(mǎn)足互聯(lián)網(wǎng)中許多特定的需要。(3)MQTT和MQ允許不穩(wěn)定的網(wǎng)絡(luò),并且可以解決連接失敗之類(lèi)的問(wèn)題,而無(wú)需其他代碼。2.3Contiki系統(tǒng)Contiki系統(tǒng)是一個(gè)適用于互聯(lián)網(wǎng)的嵌入式網(wǎng)絡(luò)的操作系統(tǒng),它的代碼是開(kāi)源的,有很多的程序開(kāi)發(fā)員都會(huì)將自己的代碼貢獻(xiàn)出來(lái)以供后人去學(xué)習(xí),這樣讓Contiki變得更受歡迎;它資源的占用情況非常小,對(duì)于資源緊缺的微型控制器和電腦來(lái)說(shuō)都十分適用,平常只需要幾K的內(nèi)存就可以滿(mǎn)足編程環(huán)境的需要,它利用C語(yǔ)言去開(kāi)發(fā),對(duì)硬件的要求不高并且在內(nèi)部也會(huì)自建一個(gè)TCP/IP的協(xié)議棧以便于開(kāi)發(fā)者使用;它還具有高可移植性,可以輕松移植到互聯(lián)網(wǎng)絡(luò)中。因此,在科研和設(shè)計(jì)方面?zhèn)涫荜P(guān)注。Contiki操作系統(tǒng)廣泛適用于物聯(lián)網(wǎng)中,因?yàn)樗幸韵碌奶攸c(diǎn):(1)在Contiki的使用時(shí),所有系統(tǒng)中的任務(wù)都是基于事件的模型,并且許多任務(wù)共享了相同數(shù)量的存儲(chǔ)空間,在這種情況下,既節(jié)省了代碼也節(jié)省了RAM,因?yàn)镃ontiki系統(tǒng)上的應(yīng)用程序最多使用幾K的閃存和RAM就可以實(shí)現(xiàn)IP協(xié)議、UDP協(xié)議、TCP協(xié)議的功能。(2)Contiki減少了消耗,允許網(wǎng)絡(luò)支持IPv4和IPv6兩個(gè)不同的協(xié)議。系統(tǒng)所使用的uIP協(xié)議是為了整合網(wǎng)絡(luò)設(shè)備有限的硬件資源而特別開(kāi)發(fā)的,使用uIP協(xié)議不僅可以完全實(shí)現(xiàn)TCP/IP協(xié)議,還可以滿(mǎn)足交互的標(biāo)準(zhǔn)。(3)Contiki可以按照自身需要任意修改代碼而不用遞交任何的費(fèi)用,并且支持多個(gè)開(kāi)發(fā)平臺(tái)。它還集成了用于模擬無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的工具,用于調(diào)試命令的工具,性能分析以及基于閃存的工具。因此,在業(yè)內(nèi)被廣泛使用于各個(gè)領(lǐng)域并在不斷的創(chuàng)新。(4)Contiki操作系統(tǒng)無(wú)需額外的硬件或設(shè)備就可以可啟動(dòng)網(wǎng)絡(luò),節(jié)約能源。2.4Apache+PHP+MySQL2.4.1ApacheApache的英文全稱(chēng)是ApacheHTTPServer,由不同的測(cè)試者的經(jīng)過(guò)不斷的測(cè)試,它可以運(yùn)行在絕大多數(shù)的計(jì)算機(jī)平臺(tái)上,源自于它的使用簡(jiǎn)單和安全性能高,最終也成為了是世界上最受歡迎的Web服務(wù)器軟件。如果將它和平常的Web服務(wù)器做比較可以發(fā)現(xiàn)它的主要特點(diǎn)如下。源代碼完全是公開(kāi)的,可以通過(guò)短時(shí)間的學(xué)習(xí)、按照自身的喜好和需要來(lái)修改代碼以實(shí)現(xiàn)服務(wù)器的功能;跨平臺(tái)應(yīng)用,Apache可以運(yùn)行在幾乎所有的windows和Linux系統(tǒng)上;采用模塊化的設(shè)計(jì)去實(shí)現(xiàn)需要的功能,運(yùn)行穩(wěn)定,節(jié)省了開(kāi)發(fā)的時(shí)間,提高了設(shè)計(jì)的效率;常見(jiàn)的網(wǎng)頁(yè)編程語(yǔ)言都可以在A(yíng)pache上完成設(shè)計(jì),這樣使得Apache的應(yīng)用場(chǎng)景更加廣泛。Apache在提供記錄和監(jiān)測(cè)服務(wù)器的運(yùn)行狀況上具有極大的靈活性,Web可以隨時(shí)監(jiān)測(cè)服務(wù)器的運(yùn)行狀態(tài),開(kāi)發(fā)人員也可以自己定義日志文件以滿(mǎn)足自己的需要。2.4.2PHPPHP的英文全稱(chēng)是PersonalHomePage,它作為計(jì)算機(jī)能夠讀懂的語(yǔ)言,人們就可以通過(guò)它與計(jì)算機(jī)進(jìn)行交互,并且PHP語(yǔ)言的語(yǔ)法與C語(yǔ)言、C++語(yǔ)言、Java語(yǔ)言等相似,它主要區(qū)別于HTML這種靜態(tài)的網(wǎng)站成為了一種嵌入在HTML文檔中的腳本語(yǔ)言,PHP的發(fā)展十分迅速,在開(kāi)發(fā)者之間備受歡迎,最主要是離不開(kāi)它的自身優(yōu)勢(shì),具體的特點(diǎn)如下。代碼是開(kāi)源的,開(kāi)發(fā)者可以根據(jù)自身需要在互聯(lián)網(wǎng)上獲得源代碼,通過(guò)修改以后進(jìn)行使用,并且PHP代碼的語(yǔ)法匯集了當(dāng)代新型的編程語(yǔ)言的語(yǔ)法使它本身也變得十分簡(jiǎn)單,更加容易上手;不僅安全性高,而且還與很多主流與非主流的數(shù)據(jù)庫(kù)相互支持;代碼的執(zhí)行速度快,并且占用的內(nèi)存也很小;跨平臺(tái)應(yīng)用,PHP可以運(yùn)行在幾乎所有的windows和Linux系統(tǒng)上;2.4.3MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)MySQL用于建立數(shù)據(jù)庫(kù),主要負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的管理,通過(guò)將MySQL數(shù)據(jù)庫(kù)應(yīng)用到網(wǎng)站設(shè)計(jì)中,MySQL數(shù)據(jù)庫(kù)的建設(shè)規(guī)模得以擴(kuò)大,從而增加了信息的使用范圍。具體的特點(diǎn)如下。MySQL軟件的數(shù)據(jù)安全機(jī)制是完善的。用戶(hù)可以創(chuàng)建數(shù)據(jù)庫(kù)并按管理員設(shè)置的權(quán)限中設(shè)置自己的操作權(quán)限。沒(méi)有操作權(quán)限的用戶(hù)無(wú)法查看或更新數(shù)據(jù)庫(kù)數(shù)據(jù)。因此,MySQL軟件通過(guò)指定用戶(hù)名和密碼以及數(shù)據(jù)檢索特權(quán)來(lái)確保數(shù)據(jù)庫(kù)數(shù)據(jù)的安全性;MySQL數(shù)據(jù)庫(kù)主要用C語(yǔ)言和C++語(yǔ)言進(jìn)行,具有高移植性,能夠在不同的系統(tǒng)平臺(tái)上工作,并且MySQL優(yōu)化了SQL的算法,提高了數(shù)據(jù)共享的效率。MySQL數(shù)據(jù)管理系統(tǒng)程序占用內(nèi)存資源小,但是數(shù)據(jù)庫(kù)中的數(shù)據(jù)類(lèi)型十分豐富,滿(mǎn)足了程序員的開(kāi)發(fā)需求,并且代碼是開(kāi)源的。2.5本章小結(jié)介紹了基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)設(shè)計(jì)中所用到的相關(guān)技術(shù),利用學(xué)校的圖書(shū)館和互聯(lián)網(wǎng)廣泛地查閱IPv6網(wǎng)絡(luò)、MQTT協(xié)議、PHP+MySQL和Contiki系統(tǒng)等內(nèi)容的相關(guān)文件資料,通過(guò)學(xué)習(xí)加以分析與研究。本章內(nèi)容雖然是以介紹技術(shù)為主,但是確是整個(gè)設(shè)計(jì)的基石,只有將這些技術(shù)認(rèn)真學(xué)習(xí)才可以更好的完成畢業(yè)設(shè)計(jì)。3系統(tǒng)設(shè)計(jì)3.1總體設(shè)計(jì)設(shè)計(jì)的初衷是為了方便IPv6物聯(lián)網(wǎng)用戶(hù)的數(shù)據(jù)存儲(chǔ)、分析和顯示,以幫助用戶(hù)進(jìn)行大規(guī)模數(shù)據(jù)信息分析。通過(guò)查找資料發(fā)現(xiàn)如果使用PHP語(yǔ)言編寫(xiě)網(wǎng)頁(yè)程序并且使用MySQL建立數(shù)據(jù)庫(kù)保存數(shù)據(jù)應(yīng)該是當(dāng)下網(wǎng)絡(luò)開(kāi)發(fā)中最節(jié)省資源的一種組合,所以,在此次的設(shè)計(jì)中用到開(kāi)發(fā)環(huán)境為PHP+MySQL+Apache。以Apache服務(wù)器為基礎(chǔ),利用MySQL建立數(shù)據(jù)庫(kù)存放數(shù)據(jù)信息,再用PHP和HTML語(yǔ)言進(jìn)行系統(tǒng)平臺(tái)的設(shè)計(jì),最后用AJAX調(diào)取數(shù)據(jù)庫(kù)的數(shù)據(jù),在頁(yè)面上進(jìn)行曲線(xiàn)的繪制。系統(tǒng)所涉及的數(shù)據(jù)感知、傳輸、存儲(chǔ)和展示均以IPv6網(wǎng)絡(luò)為核心,利用6LoWPAN和各個(gè)節(jié)點(diǎn)之間的自組網(wǎng)將采集到的數(shù)據(jù)上傳至6LBR網(wǎng)關(guān),而6LBR網(wǎng)關(guān)可以給傳感器節(jié)點(diǎn)和服務(wù)器分配IP地址,這樣就可以隨時(shí)連接傳感器節(jié)點(diǎn)并將所采集到的數(shù)據(jù)上傳到服務(wù)器的數(shù)據(jù)庫(kù),服務(wù)器通過(guò)MQTT協(xié)議將數(shù)據(jù)發(fā)送到客戶(hù)端,客戶(hù)端將信息以Restful的JSON格式將數(shù)據(jù)上傳至物聯(lián)網(wǎng)云平臺(tái),客戶(hù)端即可借助瀏覽器對(duì)遠(yuǎn)端的服務(wù)器設(shè)備進(jìn)行控制和監(jiān)測(cè),整個(gè)系統(tǒng)的設(shè)計(jì)如圖3.2所示。圖3.2系統(tǒng)整體設(shè)計(jì)3.2系統(tǒng)硬件設(shè)計(jì)在基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的硬件部分主要設(shè)計(jì)了3個(gè)節(jié)點(diǎn)和1個(gè)6LBR網(wǎng)關(guān),每個(gè)節(jié)點(diǎn)可以采集溫濕度的值、煙霧情況、是否有水和是否有人的信息,通過(guò)自組網(wǎng)將信息上傳到服務(wù)器的數(shù)據(jù)庫(kù)中并通過(guò)OLED液晶顯示屏顯示有關(guān)的信息,整個(gè)硬件部分也設(shè)計(jì)了蜂鳴器,每當(dāng)采集到的數(shù)據(jù)出現(xiàn)異常時(shí),節(jié)點(diǎn)中所設(shè)計(jì)的蜂鳴器發(fā)出聲音,提醒相關(guān)的人員,系統(tǒng)的硬件如圖3.3所示。圖3.3系統(tǒng)硬件實(shí)物3.2.1傳感器節(jié)點(diǎn)(1)溫濕度傳感器生活中我們關(guān)注度最多的就是溫度和濕度,因?yàn)樵谝恍┨囟ǖ沫h(huán)境下溫濕度的把控非常嚴(yán)格,比如在實(shí)驗(yàn)室、信息機(jī)房都需要對(duì)溫濕度進(jìn)行24小時(shí)的實(shí)時(shí)監(jiān)測(cè),所以我選用了DH11溫濕度傳感器來(lái)測(cè)量溫濕度,圖3.4是DH11溫濕度傳感器的電路原理圖。圖3.4DH11溫濕度傳感器電路(2)煙霧傳感器我選用的是MQ-2型氣體傳感器,使用煙霧傳感器可以防止發(fā)生火災(zāi)或者迫使人們?cè)诨馂?zāi)發(fā)生前采取保護(hù)措施,這樣可以減少一些不必要的損失并且可以確保人們的安全,圖3.5是氣體傳感器的電路圖。圖3.5煙霧傳感器電路(3)水滴傳感器在電子產(chǎn)品的使用過(guò)程中需要防止水滴濺在上面而造成短路、電子元器件損壞等問(wèn)題,因此我選用了LM393電壓比較芯片,如圖3.6所示,利用DOTTL數(shù)字輸出檢測(cè)是否有雨水。圖3.6LM393電路(4)人體紅外感應(yīng)模塊人類(lèi)和動(dòng)物都可以發(fā)出紅外線(xiàn),但是肉眼是無(wú)法觀(guān)察到紅外線(xiàn)的,所以為了檢測(cè)紅外線(xiàn),人們開(kāi)發(fā)了人體紅外感應(yīng)模塊,它的原理圖如圖3.7所示。圖3.7人體紅外感應(yīng)電路3.2.26LBR邊緣路由器6LBR的實(shí)物如圖3.8所示,6LBR網(wǎng)關(guān)通過(guò)現(xiàn)有RPL網(wǎng)絡(luò)中的路由連接IPv6和6LoWPAN,作為6LoWPAN網(wǎng)關(guān),它在整個(gè)網(wǎng)絡(luò)中都扮演著自適應(yīng)的角色。圖3.86LBR實(shí)物連接3.3系統(tǒng)軟件設(shè)計(jì)3.3.1搭建AppServ開(kāi)發(fā)環(huán)境在google瀏覽器上輸入網(wǎng)址,出現(xiàn)了下載窗口,如圖3.9所示,單擊“DOWNLOAD”選項(xiàng)進(jìn)行下載,在圖3.10所示窗口中可以查看Apache、PHP和MySQL的版本,我選擇下載了AppServ8.0.0軟件。圖3.9AppServ下載窗口圖3.10AppServNetwork窗口將AppServ安裝完成后會(huì)出現(xiàn)AppServ的安裝完成圖,如圖3.11所示,此時(shí)我們可以勾選開(kāi)啟Apache和MySQL,這樣計(jì)算機(jī)會(huì)自動(dòng)啟動(dòng)Apache和MySQL,單擊“Finish”就完成了AppServ的安裝過(guò)程。圖3.11AppServ的安裝完畢在安裝完成后進(jìn)入C:\AppServ文件夾下查看安裝情況如圖3.12所示。圖3.12瀏覽AppServ的文件夾3.3.2設(shè)計(jì)MySQL數(shù)據(jù)庫(kù)(1)打開(kāi)MySQLCommandClient輸入在安裝AppServ軟件時(shí)設(shè)置的MySQL登錄密碼,輸入“createdatabaseshuju;”的命令建立數(shù)據(jù)庫(kù),然后再用“showdatabases”的命令查看所建立的數(shù)據(jù)庫(kù),如圖3.13所示。圖3.13建立數(shù)據(jù)庫(kù)“shuju”(2)將數(shù)據(jù)庫(kù)建立完成后,開(kāi)始建立數(shù)據(jù)表,它的排布方式類(lèi)似于行列的方式。根據(jù)我的設(shè)計(jì)需要,我主要建立了4個(gè)表,如圖3.14所示,分別是nodecontrol、nodedata、nodeinfo和user;圖3.14數(shù)據(jù)庫(kù)的表單①nodecontrol表nodecontrol表中有節(jié)點(diǎn)序號(hào)id、節(jié)點(diǎn)名稱(chēng)nodeName、指示燈ctlLED和蜂鳴器ctlBEEP,所以我設(shè)計(jì)了4個(gè)字段,nodecontrol的信息如表3.1所示。表3.1nodecontrol表的內(nèi)容列名數(shù)據(jù)類(lèi)型屬性是否允許NULL值說(shuō)明idint(13)UNSIGNED否節(jié)點(diǎn)數(shù)量nodeNameint(15)否節(jié)點(diǎn)名稱(chēng)ctlLEDint(15)否指示燈的控制數(shù)據(jù)ctlBEEPint(15)否蜂鳴器的控制數(shù)據(jù)根據(jù)表3.1中的內(nèi)容創(chuàng)建nodecontrol表的SQL語(yǔ)句如下。②nodedata表nodedata表主要用于存放傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)信息,例如溫度、濕度等,如表3.2所示。表3.2nodedata表的內(nèi)容列名數(shù)據(jù)類(lèi)型屬性是否允許NULL值說(shuō)明idint(13)UNSIGNED否節(jié)點(diǎn)數(shù)量nodeidint(13)否節(jié)點(diǎn)序號(hào)tempfloat是溫度數(shù)據(jù)humifloat是濕度數(shù)據(jù)create_timedatatime自動(dòng)更新是上傳數(shù)據(jù)時(shí)間根據(jù)表3.2的內(nèi)容創(chuàng)建nodedata表的SQL語(yǔ)句如下。③nodeinfo表nodeinfo表主要是為了用戶(hù)上傳節(jié)點(diǎn)數(shù)據(jù)所設(shè)計(jì)的數(shù)據(jù)表,在生活中每位用戶(hù)都會(huì)在不同的地區(qū)采集不同的節(jié)點(diǎn)數(shù)據(jù),為了方便用戶(hù),使用戶(hù)可以自行增加節(jié)點(diǎn)、自行上傳節(jié)點(diǎn)數(shù)據(jù),所以設(shè)計(jì)了nodeinfo表。nodeinfo表包含了傳感器節(jié)點(diǎn)的位置,傳感器的類(lèi)別等內(nèi)容,如表3.3所示。表3.3nodeinfo表的內(nèi)容列名數(shù)據(jù)類(lèi)型屬性是否允許NULL值說(shuō)明idint(13)UNSIGNED否節(jié)點(diǎn)數(shù)量nodeNamevarchar(50)否節(jié)點(diǎn)名稱(chēng)nodeLocationvarchar(255)否節(jié)點(diǎn)位置sensorName1varchar(255)是傳感器名稱(chēng)1sensorName2varchar(255)是傳感器名稱(chēng)2uidint(11)是用戶(hù)序號(hào)根據(jù)表3.3的內(nèi)容創(chuàng)建nodeinfo表的SQL語(yǔ)句如下。④user表user表主要用來(lái)管理用戶(hù),用戶(hù)通過(guò)注冊(cè)將自己的用戶(hù)名、密碼和郵箱的信息上傳到數(shù)據(jù)庫(kù)中,系統(tǒng)會(huì)為每位用戶(hù)隨機(jī)生成密鑰來(lái)保證每位用戶(hù)的信息安全,具體user的內(nèi)容如表3.4所示。表3.4user表的內(nèi)容列名數(shù)據(jù)類(lèi)型排序規(guī)則屬性是否允許NULL值說(shuō)明uidint(13)否用戶(hù)序號(hào)usernamevarchar(255)utf8_general_ci否用戶(hù)名passwordvarchar(255)utf8_general_ci否密碼nodekeyvarchar(255)utf8_general_ci否隨機(jī)密鑰emailvarchar(255)utf8_general_ci否用戶(hù)郵箱regatedatetime自動(dòng)更新否登錄時(shí)間banint(11)否是否禁用adminint(11)否是否為管理員根據(jù)表3.4的內(nèi)容創(chuàng)建user表的SQL語(yǔ)句如下:將數(shù)據(jù)表創(chuàng)建完成后,我用NavicatPremium建立模型,可以直觀(guān)的看出各個(gè)數(shù)據(jù)表之間的關(guān)系,如圖3.15所示。圖3.15NavicatPremium數(shù)據(jù)表模型3.3.3Apache-Apollo-1.7.1搭建MQTT服務(wù)MQTT基于TCP協(xié)議,主要由mqtt-fuse和mqtt-paho兩種方式來(lái)實(shí)現(xiàn),ApacheApollo類(lèi)似于MQTT,也是一個(gè)服務(wù)器,主要用于消息的請(qǐng)求轉(zhuǎn)發(fā),ApacheApollo的缺點(diǎn)是管理員操作界面不太友好,從Apache的官網(wǎng)上下載apache-apollo-1.7.1.zip。如圖3.16所示。圖3.16創(chuàng)建broker創(chuàng)建完broker之后就是要運(yùn)行apollo,進(jìn)入C:\apache-apollo-1.7.1\broker\bin目錄下,執(zhí)行如下命令:apollo-broker.cmdrun,需要停止服務(wù)器時(shí)直接關(guān)閉終端即可,或者使用如下的方式,./apollo-broker-servicestart//{start|stop|restart|force-stop|status},不會(huì)占用終端,導(dǎo)致終端關(guān)閉時(shí)服務(wù)停止,初始化服務(wù)器如圖3.17所示。圖3.17初始化服務(wù)器初始化服務(wù)器后,第二次啟動(dòng)服務(wù)器時(shí)需要先執(zhí)行apollo-broker-service.exe啟動(dòng)服務(wù),再執(zhí)行apollo-broker.cmdrun啟動(dòng)實(shí)例,啟動(dòng)服務(wù)器如圖3.18所示。圖3.18啟動(dòng)服務(wù)器初始化以后apache-apollo-1.7.1目錄下會(huì)生成broker配置文件夾,如圖3.19所示,其中etc中包含相關(guān)配置文件。圖3.19broker配置文件夾在瀏覽器進(jìn)入web管理頁(yè)面,基于apollo的安全機(jī)制,Web管理頁(yè)面只可用和localhost登錄,登錄頁(yè)面如圖3.20所示,無(wú)法使用tcp的方式共享給局域網(wǎng)內(nèi)用戶(hù)。局域網(wǎng)內(nèi)用戶(hù)只有發(fā)布和訂閱的功能,不具備平臺(tái)的管理權(quán)限。圖3.20Web登錄頁(yè)面3.3.4PHP客戶(hù)端phpMQTT-masterphpMQTT是一個(gè)開(kāi)源的客戶(hù)端代碼庫(kù),能夠很方便的將mqtt集成到php開(kāi)發(fā)工程中。它的誕生打破了PHP_SAM——唯一基于PHP的MQTT客戶(hù)端的局面。ProjectSAM是一個(gè)用于多個(gè)不同pubsub消息傳遞系統(tǒng)的PHP庫(kù),MQTT只是其中之一。然而,它的弊病是非常嚴(yán)格的許可機(jī)制、缺乏維護(hù)和相當(dāng)多的bug。以前,如果想使用MQTT和PHP,則沒(méi)有其他選擇,現(xiàn)在A(yíng)ndrewMilsted(@bluerhinos)創(chuàng)作了一種替代方案:phpMQTT。phpMQTT只是在初級(jí)階段,目前只發(fā)布功能齊全,有一些錯(cuò)誤是解決訂閱,但是對(duì)于那些已經(jīng)使用PHP_SAM它提供了一個(gè)清新簡(jiǎn)單的方法開(kāi)始使用MQTT——組成一個(gè)文件和一些簡(jiǎn)單的功能。發(fā)布消息(由AndrewMilsted編寫(xiě))的示例如圖3.21所示:圖3.21消息發(fā)布與PHP_SAM不同,任何基本掌握C風(fēng)格語(yǔ)言和MQTT的人都可以直接使用。phpMQTT-master是開(kāi)源方案,下載地址/bluerhinos/phpMQTT,主要的PHP文件有3個(gè),phpMQTT.php為公共部分,其中定義了工程所需的全局變量和函數(shù),所使用到的函數(shù)如圖3.22所示。圖3.22使用函數(shù)publish.php實(shí)現(xiàn)socket的創(chuàng)建,并發(fā)送給訂閱號(hào)信息,只需創(chuàng)建一個(gè)客戶(hù)端,不管發(fā)布訂閱都用這一個(gè)客戶(hù)端實(shí)例,實(shí)例跟隨工程存在內(nèi)存中,不管發(fā)布還是訂閱先看這個(gè)實(shí)例存在不存在,如果存在就直接使用,不存在就創(chuàng)建一個(gè)實(shí)例,如圖3.23所示。圖3.23創(chuàng)建客戶(hù)端實(shí)例subscribe.php實(shí)現(xiàn)消息訂閱,接收一個(gè)信息后退出,我將其改為了死循環(huán)監(jiān)聽(tīng),如圖3.24所示。圖3.24消息訂閱在操作時(shí)遇到了內(nèi)存耗死的問(wèn)題,在phpMQTT.php文件中,鏈接不上MQTT的時(shí)候,圖3.25中的代碼會(huì)出現(xiàn)錯(cuò)誤:圖3.25代碼錯(cuò)誤錯(cuò)誤分析:鏈接不到MQTT,應(yīng)該加一個(gè)判斷,修改后的代碼如圖3.26所示。圖3.26修改代碼3.4云平臺(tái)設(shè)計(jì)基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)根據(jù)角色將登錄人員分為管理員和普通用戶(hù),普通用戶(hù)可以更改與自己相關(guān)的信息,不能操作其他用戶(hù),他可以對(duì)節(jié)點(diǎn)進(jìn)行添加、刪除、編輯和檢查并對(duì)節(jié)點(diǎn)所采集的數(shù)據(jù)進(jìn)行上傳,當(dāng)普通用戶(hù)上傳完數(shù)據(jù)后可以從繪制的曲線(xiàn)進(jìn)行數(shù)據(jù)分析。管理員用戶(hù)由后臺(tái)進(jìn)行設(shè)置,管理員頁(yè)面可以顯示所有用戶(hù)添加的節(jié)點(diǎn)和采集到的數(shù)據(jù)總量,管理員也擁有可以刪除或停用用戶(hù)的權(quán)限。3.4.1云平臺(tái)的注冊(cè)平臺(tái)的注冊(cè)界面如圖3.27所示,包含了需要注冊(cè)用戶(hù)名、密碼和郵箱,用戶(hù)名支持漢字、字母和數(shù)字,長(zhǎng)度在3至15個(gè)字符之間,密碼不得少于6位,郵箱必須需要滿(mǎn)足規(guī)范。圖3.27用戶(hù)注冊(cè)界面管理員的賬號(hào)是由后臺(tái)設(shè)定的,普通用戶(hù)在第一次登陸基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)時(shí)需要注冊(cè)自己的賬號(hào),平臺(tái)注冊(cè)流程如圖3.28所示。圖3.28平臺(tái)的注冊(cè)流程3.4.2云平臺(tái)的登錄平臺(tái)的登錄界面如圖3.29所示。普通用戶(hù)按照規(guī)定注冊(cè)好自己的信息后輸入注冊(cè)時(shí)的用戶(hù)名和密碼即可登錄平臺(tái)進(jìn)行使用。圖3.29用戶(hù)登錄界面用戶(hù)如果想要進(jìn)入平臺(tái)查看數(shù)據(jù)則需要通過(guò)登錄界面,平臺(tái)的登錄流程圖如圖3.30所示。圖3.30平臺(tái)的登錄流程圖3.4.3平臺(tái)用戶(hù)分類(lèi)管理員作為平臺(tái)的維護(hù)和管理,他可以管理用戶(hù)的信息,統(tǒng)計(jì)所有用戶(hù)上傳的數(shù)據(jù),并對(duì)節(jié)點(diǎn)進(jìn)行管理等,管理員的功能如圖3.31所示。圖3.31管理員功能普通用戶(hù)作為平臺(tái)的主要使用者,他可以管理節(jié)點(diǎn)數(shù)據(jù),并可以修改自己的信息等,普通用戶(hù)的功能如圖3.32所示。圖3.32普通用戶(hù)功能3.5本章小結(jié)介紹了畢業(yè)設(shè)計(jì)的整體框架,硬件的選用,包括了傳感器和路由器的選用,在軟件方面,介紹了AppServ系統(tǒng)的開(kāi)發(fā)環(huán)境,從安裝到使用,還介紹了在設(shè)計(jì)時(shí)用到的數(shù)據(jù)庫(kù),還介紹了MQTT的服務(wù)器搭建以及使用PHP操作MQTT,介紹了基于IPv6的物聯(lián)網(wǎng)數(shù)據(jù)接入平臺(tái)的設(shè)計(jì)思路,主要面向普通用戶(hù)和管理員用戶(hù),角色的功能也不同。4系統(tǒng)總體測(cè)試4.1MQTT連通性測(cè)試系統(tǒng)的數(shù)據(jù)交互在后臺(tái)進(jìn)行,無(wú)法直接查看,直接執(zhí)行publish.php文件查看MQTT服務(wù)器的連通性,phpMQTT-master需要PHP7.0的支持,publish.php執(zhí)行結(jié)果如圖4.1所示。圖4.1publish.php執(zhí)行結(jié)果可以看到,在org.eclipse.paho.ui.app-1.0.2中,訂閱的主題有了更新,說(shuō)明MQTT服務(wù)器的連通性沒(méi)有問(wèn)題如圖4.2所示。圖4.2測(cè)試MQTT服務(wù)器的連通性4.2PHP操作MySQL數(shù)據(jù)庫(kù)4.2.1準(zhǔn)備工作在通常情況下,由于MySQL不再是PHP的核心函數(shù),PHP不會(huì)再自動(dòng)支持MySQL,所以要使用MySQL函數(shù)必須讓用戶(hù)在PHP擴(kuò)展函數(shù)中開(kāi)啟MySQL函數(shù)庫(kù),方法如下。打開(kāi)php.ini的文件;找到代碼行“;exextension=php_mysql.dll”和“;extension=php_mysqli.dll”將語(yǔ)句前的“;”去掉并保存文件,如圖4.3所示;圖4.3修改php.ini重啟Web或Apache服務(wù)器完成操作。配置完成后在瀏覽器中可以輸入“:8080/phpinfo.php”來(lái)檢查配置是否成功,如果在網(wǎng)頁(yè)中顯示的PHP的配置開(kāi)發(fā)環(huán)境中有MySQL的項(xiàng)目,則說(shuō)明準(zhǔn)備工作已經(jīng)完成,PHP支持MySQL數(shù)據(jù)庫(kù),如圖4.4所示。圖4.4php配置開(kāi)發(fā)環(huán)境4.2.2連接MySQL服務(wù)器MySQL數(shù)據(jù)庫(kù)用于保存數(shù)據(jù),如果PHP想要操作數(shù)據(jù)庫(kù),則需要連接到MySQL服務(wù)器,只有連接到服務(wù)器PHP才可以對(duì)數(shù)據(jù)庫(kù)保存的數(shù)據(jù)進(jìn)行處理,在這個(gè)過(guò)程中用到了“mysql_connect()”函數(shù),所用到的語(yǔ)法如果連接MySQL服務(wù)器成功,則得到執(zhí)行結(jié)果如圖4.5所示。圖4.5成功連接到MySQL服務(wù)器4.2.3連接MySQL數(shù)據(jù)庫(kù)將PHP連接到MySQL服務(wù)器后,就可以對(duì)服務(wù)器的數(shù)據(jù)庫(kù)和數(shù)據(jù)表進(jìn)行維護(hù),因此需要連接到MySQL數(shù)據(jù)庫(kù),在這個(gè)過(guò)程中我們用到了mysql_select_db()函數(shù),所用到的語(yǔ)法是:如果連接MySQL數(shù)據(jù)庫(kù)成功,則得到執(zhí)行結(jié)果如圖4.6所示。圖4.6成功連接到MySQL數(shù)據(jù)庫(kù)4.3組網(wǎng)結(jié)構(gòu)設(shè)計(jì)使用自己建立的服務(wù)器,按照?qǐng)D4.7組件網(wǎng)絡(luò)。圖4.7組網(wǎng)結(jié)構(gòu)4.4測(cè)試節(jié)點(diǎn)的連通性4.4.1測(cè)試6LBR網(wǎng)關(guān)的連通性根據(jù)設(shè)計(jì)的組網(wǎng)結(jié)構(gòu),6LBR網(wǎng)關(guān)的地址為2001:da8:c004:1::100,使用ping命令發(fā)現(xiàn)6LBR網(wǎng)關(guān)連通如圖4.8所示。圖4.86LBR網(wǎng)關(guān)ping通4.4.2測(cè)試服務(wù)器的連通性使用ipconfig查詢(xún)服務(wù)器的地址,如圖4.9所示。圖4.9查詢(xún)服務(wù)器地址服務(wù)器的地址為2001:da8:c004:1::100,使用ping命令發(fā)現(xiàn)服務(wù)器連通如圖4.10所示。圖4.10服務(wù)器ping通4.4.3測(cè)試節(jié)點(diǎn)的連通性節(jié)點(diǎn)一的地址為2001:da8:c004:2:212:4b00:5af:81a1,使用ping命令發(fā)現(xiàn)節(jié)點(diǎn)一連通如圖4.11所示。圖4.11節(jié)點(diǎn)一ping通節(jié)點(diǎn)二的地址為2001:da8:c004:2:212:4b00:5af:80f0,使用ping命令發(fā)現(xiàn)節(jié)點(diǎn)二連通如圖4.12所示。圖4.12節(jié)點(diǎn)二ping通節(jié)點(diǎn)三的地址為2001:da8:c004:2:212:4b00:5af:8123,使用ping命令發(fā)現(xiàn)節(jié)點(diǎn)一連通如圖4.13所示。圖4.13節(jié)點(diǎn)三ping通4.5測(cè)試數(shù)據(jù)的采集利用上位機(jī)對(duì)數(shù)據(jù)進(jìn)行采集,打開(kāi)測(cè)試軟件運(yùn)行代碼,在輸入節(jié)點(diǎn)編號(hào)、服務(wù)器地址和秘鑰后,單擊“開(kāi)始采集”就會(huì)對(duì)節(jié)點(diǎn)的傳感器數(shù)據(jù)進(jìn)行采集,如圖4.14所示。圖4.14上位機(jī)采集數(shù)據(jù)數(shù)據(jù)在采集界面可以對(duì)溫濕度進(jìn)行報(bào)警閾值的設(shè)置,如圖4.15所示。圖4.15報(bào)警參數(shù)設(shè)置4.6云平臺(tái)測(cè)試在登錄云平臺(tái)后經(jīng)過(guò)測(cè)試軟件采集傳感器數(shù)據(jù),傳感器節(jié)點(diǎn)列表界面如圖4.16所示,在傳感器節(jié)點(diǎn)列表界面可以查看節(jié)點(diǎn)的名稱(chēng),每個(gè)傳感器節(jié)點(diǎn)所采集的數(shù)據(jù)都會(huì)被繪制成曲線(xiàn),用戶(hù)可以根據(jù)曲線(xiàn)來(lái)分析數(shù)據(jù),用戶(hù)也可以拖動(dòng)下拉滾動(dòng)條查看節(jié)點(diǎn)所采集到的所有數(shù)據(jù)。圖4.16傳感器節(jié)點(diǎn)列表在云平臺(tái)上可以對(duì)原始數(shù)據(jù)進(jìn)行查詢(xún),如圖4.17所示,可以查看到節(jié)點(diǎn)處的傳感器所采集到的所有數(shù)據(jù),所有采集到的數(shù)據(jù)可以自動(dòng)編號(hào),這樣可以方便對(duì)數(shù)據(jù)的查詢(xún),用戶(hù)還可以以節(jié)點(diǎn)編號(hào)、傳感器的類(lèi)型以及采集數(shù)據(jù)的時(shí)間進(jìn)行排序,也可以根據(jù)傳感器的采集值進(jìn)行查詢(xún)。圖4.17采集數(shù)據(jù)查詢(xún)4.7本章小結(jié)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論