《物聯(lián)網(wǎng)大數(shù)據(jù)采集與處理》 課件 第2章 物聯(lián)網(wǎng)數(shù)據(jù)采集_第1頁
《物聯(lián)網(wǎng)大數(shù)據(jù)采集與處理》 課件 第2章 物聯(lián)網(wǎng)數(shù)據(jù)采集_第2頁
《物聯(lián)網(wǎng)大數(shù)據(jù)采集與處理》 課件 第2章 物聯(lián)網(wǎng)數(shù)據(jù)采集_第3頁
《物聯(lián)網(wǎng)大數(shù)據(jù)采集與處理》 課件 第2章 物聯(lián)網(wǎng)數(shù)據(jù)采集_第4頁
《物聯(lián)網(wǎng)大數(shù)據(jù)采集與處理》 課件 第2章 物聯(lián)網(wǎng)數(shù)據(jù)采集_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章物聯(lián)網(wǎng)數(shù)據(jù)采集技能目標(biāo)能夠使用NodeMCU和常見傳感器組建一個簡單的物聯(lián)網(wǎng)環(huán)境。能夠部署物聯(lián)網(wǎng)數(shù)據(jù)采集所需要的軟件開發(fā)環(huán)境。能夠進(jìn)行NodeMCU編程。本章任務(wù)學(xué)習(xí)本章,讀者需要完成以下任務(wù)。任務(wù)2.1組建物聯(lián)網(wǎng)環(huán)境。任務(wù)2.2部署軟件開發(fā)環(huán)境。任務(wù)2.3NodeMCU編程。任務(wù)1組建物聯(lián)網(wǎng)環(huán)境01【任務(wù)描述】了解傳感器的定義、組成部分、種類及應(yīng)用領(lǐng)域;掌握通過NodeMCU連接傳感器,組建物聯(lián)網(wǎng)環(huán)境的方法,使用NodeMCU和常見傳感器組建一個簡單的物聯(lián)網(wǎng)環(huán)境。任務(wù)1組建物聯(lián)網(wǎng)環(huán)境01【關(guān)鍵步驟】(1)認(rèn)識傳感器,了解傳感器的定義、組成部分、種類及應(yīng)用領(lǐng)域。(2)使用杜邦線連接NodeMCU、DHT11溫濕度傳感器和人體紅外傳感器的對應(yīng)引腳,組建一個簡單的物聯(lián)網(wǎng)環(huán)境。傳感器(Sensor)是一種能夠檢測物理量、化學(xué)量、生物量等各種信號的裝置

,將這些信號轉(zhuǎn)化為電信號或其他形式的信號并輸出。傳感器可以測量溫度、濕度、壓力、流量、位置、速度、加速度、重力、光強(qiáng)度、聲音、磁場、化學(xué)成分等。傳感器在現(xiàn)代化生產(chǎn)和科學(xué)研究中起著重要的作用,它能夠?qū)崿F(xiàn)實時監(jiān)測和控制,可以提高生產(chǎn)效率和產(chǎn)品質(zhì)量,保障人們的安全和健康。2.1.1

認(rèn)識傳感器本小節(jié)分別以DHT11溫濕度傳感器和人體紅外傳感器為例演示如何利用NodeMCU連接傳感器,以組建一個簡單的物聯(lián)網(wǎng)環(huán)境,如圖所示。2.1.1

NodeMCU連接傳感器如圖所示,DHT11溫濕度傳感器有3個引腳,其中“+”引腳代表電源正極,接入NodeMCU的3.3v引腳處,“out”引腳代表數(shù)據(jù)輸出端口,在本示例中接入NodeMCU的D1引腳處,“-”代表傳感器接地引腳,將其接入NodeMCU的GND引腳即可。任務(wù)2部署軟件開發(fā)環(huán)境02【任務(wù)描述】在任務(wù)2.1中介紹了利用NodeMCU組建簡單物聯(lián)網(wǎng)環(huán)境的過程。本任務(wù)以Ubuntu系統(tǒng)為例,要求能夠獨(dú)立地安裝和配置EMQXBroker和ArduinoIDE,如圖所示任務(wù)2部署軟件開發(fā)環(huán)境02【關(guān)鍵步驟】(1)安裝和配置EMQXBroker。(2)安裝和配置ArduinoIDE。2.2.1

EMQXBroker從Github選擇、下載并安裝與操作系統(tǒng)版本一致的二進(jìn)制包。Github網(wǎng)址為/emqx/emqx/releases2.2.1

EMQXBroker啟動EMQXBroker進(jìn)入Web界面停止EMQXBroker2.2.2

安裝配置ArduinoIDE在Arduino官網(wǎng)下載最新版安裝包安裝文件安裝ArduinoIDE2.2.2

安裝配置ArduinoIDE安裝ArduinoIDE配置AdditionalboardsmanagerURLs打開ArduinoIDE,選擇“File”→“Preferences”。在打開的對話框的“AdditionalboardsmanagerURLs”輸入框中填寫以下鏈接:/stable/package_esp8266com_index.json2.2.2

安裝配置ArduinoIDE添加ESP8266相關(guān)開發(fā)板再次選中“Tools”→“Board:”ArduinoUno“”,選中“BOARDSMANAGER”開發(fā)板管理器,打開新的窗口。在開發(fā)板管理器上部的搜索欄輸入“esp8266”,搜索相關(guān)開發(fā)板。點擊“INSTALL”按鈕安裝,安裝完成后將開發(fā)板切換到NodeMCU1.0(ESP-12EModule),就可以使用ArduinoIDE對NodeMCU進(jìn)行代碼開發(fā)及代碼燒寫操作了。2.2.2

安裝配置ArduinoIDE準(zhǔn)備工作完成后可以在“File”→“example”中找到ESP8266相關(guān)示例程序,打開Blink示例程序,使用USB線連接電腦和NodeMCU,點擊ArduinoIDE中的上傳按鈕就可以將程序編譯燒寫到硬件中,測試ESP8266示例程序如圖所示。任務(wù)3NodeMCU編程03【任務(wù)描述】能夠?qū)odeMCU進(jìn)行編程,以連接EMQXBroker;掌握讀取DHT11溫濕度傳感器數(shù)據(jù)的方法和示例;掌握使用PubSubClient庫向MQTT服務(wù)器的特定數(shù)據(jù)主題發(fā)布消息的方法及傳感器數(shù)據(jù)發(fā)布示例,并能融會貫通。任務(wù)3NodeMCU編程03【關(guān)鍵步驟】(1)對NodeMCU編程,以連接EMQXBroker。(2)掌握讀取DHT11溫濕度傳感器數(shù)據(jù)的方法和示例。(3)掌握傳感器數(shù)據(jù)發(fā)布示例。2.3.1

連接EMQXBroker(1)連接NodeMCU與計算機(jī)。EMQXBroker本質(zhì)上是一個以MQTT協(xié)議實現(xiàn)的代理服務(wù)器,對其進(jìn)行連接需要使用硬件端MQTT庫,這里選擇PubSubClient庫。NodeMCU已經(jīng)集成了Wi-Fi芯片和協(xié)議棧,使用相關(guān)庫可以實現(xiàn)設(shè)備的Wi-Fi接入。(2)在ArduinoIDE中安裝PubSubClient庫。在NodeMCU連接硬件后,介紹如何在ArduinoIDE中安裝PubSubClient庫。依次打開“Sketch”→“IncludeLibrary”,在打開的菜單欄中點擊“LIBRARIEMANAGER”,打開包管理器。在頂部搜索欄中輸入庫名搜索安裝即可2.3.1

連接EMQXBroker(3)編寫代碼,連接EMQXBroker2.3.1

連接EMQXBroker2.3.1

連接EMQXBroker2.3.1

連接EMQXBroker這里需要注意的是,填寫的EMQXBroker代理

地址必須是通過Wi-Fi網(wǎng)絡(luò)可訪問的,可以在同一局域網(wǎng)下部署EMQXBroker(其部署過程已在2.2.1小節(jié)介紹過),也可以使用具有公網(wǎng)IP地址的云服務(wù)器進(jìn)行搭建。2.3.1

連接EMQXBroker這里需要注意的是,填寫的EMQXBroker代理

地址必須是通過Wi-Fi網(wǎng)絡(luò)可訪問的,可以在同一局域網(wǎng)下部署EMQXBroker(其部署過程已在2.2.1小節(jié)介紹過),也可以使用具有公網(wǎng)IP地址的云服務(wù)器進(jìn)行搭建。2.3.2

讀取傳感器數(shù)據(jù)示例本小節(jié)以接入DHT11溫濕度傳感器為示例,DHT11只需要一根數(shù)據(jù)線將其接入NodeMCU的D1口即可,傳感器正負(fù)極按照NodeMCU板載指示連接。(1)安裝開源社區(qū)提供的DHT相關(guān)庫。將傳感器按照正確的方式連接到NodeMCU引腳上后,安裝開源社區(qū)提供的DHT相關(guān)庫,以讀取DHT11溫濕度傳感器數(shù)據(jù)。具體而言,打開包管理窗口,搜索DHT,安裝DHTsensorlibrary庫。(2)編寫讀取DHT11溫濕度傳感器數(shù)據(jù)的代碼。2.3.2

讀取傳感器數(shù)據(jù)示例以下給出讀取DHT11溫濕度傳感器數(shù)據(jù)的示例代碼。2.3.2

讀取傳感器數(shù)據(jù)示例以下給出讀取DHT11溫濕度傳感器數(shù)據(jù)的示例代碼。如圖所示,運(yùn)行程序后可以持續(xù)采集DHT11溫濕度傳感器的數(shù)據(jù)。2.3.3

發(fā)布傳感器數(shù)據(jù)示例讀取傳感器數(shù)據(jù)后,使用PubSubClient庫向MQTT服務(wù)器的特定數(shù)據(jù)主題發(fā)布消息即可實現(xiàn)傳感器數(shù)據(jù)上傳。(1)在ArduinoIDE中安裝ArduinoJson。本小節(jié)使用了一個新的包ArduinoJson,該包用于將變量序列化為json字符串,并通過MQTT協(xié)議發(fā)送到網(wǎng)絡(luò)中,具體安裝方式同上一小節(jié),此處不再贅述。(2)編寫和測試代碼。綜合前兩小節(jié)的內(nèi)容可以通過以下代碼實現(xiàn)傳感器數(shù)據(jù)的上傳操作:2.3.3

發(fā)布傳感器數(shù)據(jù)示例2.3.3

發(fā)布傳感器數(shù)據(jù)示例2.3.3

發(fā)布傳感

溫馨提示

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

評論

0/150

提交評論