ThingSpeak MATLAB分析和可視化
掃描二維碼
隨時隨地手機(jī)看文章
氣候變化導(dǎo)致了不可預(yù)測的天氣狀況。世界上有許多氣象站,研究人員和政府機(jī)構(gòu)使用它們來觀察、記錄和分析天氣模式,以研究氣候變化并提供天氣預(yù)報。這些氣象站是非常先進(jìn)的,不僅可以告訴當(dāng)前的天氣狀況,還可以告訴未來的天氣預(yù)測?;旧希魏螝庀笳径家獪y量三個主要參數(shù)——濕度、溫度和壓力。我們之前使用Arduino、Raspberry Pi和ESP32構(gòu)建了一些物聯(lián)網(wǎng)氣象站,并在IBM Watson、ThingSpeak、Local webserver等各種云平臺上發(fā)布天氣數(shù)據(jù)。
在這個項(xiàng)目中,我們將建立一個基于NodeMCU的氣象站,并使用ThingSpeak MATLAB分析和可視化工具對溫度、濕度等天氣流數(shù)據(jù)進(jìn)行分析和可視化。這里將使用DHT11傳感器來收集實(shí)時溫度和濕度數(shù)據(jù)。
MATLAB分析與可視化
ThingSpeak集成了MATLAB的支持。它允許ThingSpeak用戶使用MATLAB分析和可視化實(shí)時數(shù)據(jù),而無需Mathworks的任何MATLAB許可證。您可以從您的ThingSpeak頻道訪問MATLAB工具。
MATLAB分析和可視化工具可以顯示數(shù)據(jù)中的關(guān)系、模式和趨勢,并可以在繪圖、圖表和量規(guī)中將其可視化。
利用MATLAB分析,可以:
?轉(zhuǎn)換數(shù)據(jù)單位,合并不同的數(shù)據(jù),計(jì)算新的數(shù)據(jù)。
?將計(jì)算安排在特定時間運(yùn)行。
?使用內(nèi)置的繪圖功能直觀地理解數(shù)據(jù)中的關(guān)系。
?結(jié)合來自多個渠道的數(shù)據(jù)來構(gòu)建更復(fù)雜的分析。
組件的要求
?NodeMCU ESP8266
?DHT11傳感器
線路圖
MATLAB的ThingSpeak設(shè)置
ThingSpeak是一個開放的數(shù)據(jù)平臺,它允許你在云中聚合、可視化和分析實(shí)時數(shù)據(jù)。你可以使用ThingSpeak控制你的設(shè)備,你可以從你的設(shè)備向ThingSpeak發(fā)送數(shù)據(jù),甚至你可以創(chuàng)建實(shí)時數(shù)據(jù)的即時可視化,并使用Twitter和Twilio等網(wǎng)絡(luò)服務(wù)發(fā)送警報。ThingSpeak集成了數(shù)值計(jì)算軟件MATLAB的支持。MATLAB允許ThingSpeak用戶編寫和執(zhí)行MATLAB代碼來執(zhí)行預(yù)處理,可視化和分析。ThingSpeak至少需要15秒來更新你的讀數(shù)。我們還用ThingSpeak做了其他有趣的項(xiàng)目,比如
?NodeMCU溫濕度監(jiān)控
?ESP32溫濕度監(jiān)測
?向ThingSpeak發(fā)送數(shù)據(jù)可以使用樹莓派
步驟1:ThingSpeak帳戶設(shè)置
要在ThingSpeak上創(chuàng)建頻道,首先你需要注冊ThingSpeak。如果你已經(jīng)有了ThingSpeak的賬戶,用你的id和密碼登錄。
如果你沒有賬戶,點(diǎn)擊“唱歌”,如果你已經(jīng)有了賬戶,點(diǎn)擊“登錄”。點(diǎn)擊注冊后填寫您的詳細(xì)信息。
在此之后,驗(yàn)證您的電子郵件id并單擊continue。
步驟2:為你的數(shù)據(jù)創(chuàng)建一個通道
現(xiàn)在,登錄后,通過點(diǎn)擊“新頻道”按鈕創(chuàng)建一個新頻道。
點(diǎn)擊“新通道”后,輸入您想要上傳的數(shù)據(jù)的名稱和描述。例如,我將其命名為“氣象站”
在Field1和Field2中輸入數(shù)據(jù)的名稱。如果要使用兩個以上的字段,則選中“字段”選項(xiàng)旁邊的框,并輸入新數(shù)據(jù)的名稱和描述。
之后,單擊save通道按鈕保存詳細(xì)信息。
步驟3:API密鑰
為了向ThingSpeak發(fā)送數(shù)據(jù),我們需要一個唯一的API密鑰,我們將在后面的代碼中使用它來將傳感器數(shù)據(jù)上傳到ThingSpeak網(wǎng)站。
點(diǎn)擊“API密鑰”按鈕,獲取您上傳傳感器數(shù)據(jù)的唯一API密鑰。
代碼的解釋
本文末尾給出了MATLAB ThingSpeak可視化的完整代碼。為了更好地理解,我們在這里解釋代碼。
在這段代碼中,我們使用了DHT11傳感器庫和ThingSpeak庫。首先從這里下載并安裝ThingSpeak庫。
代碼首先包含DHT11、ThingSpeak和ESP8266 Wi-Fi的庫。ThingSpeak庫用于向ThingSpeak平臺發(fā)送數(shù)據(jù)。定義了幾個變量來存儲ThingSpeak API密鑰,Wi-Fi名稱,密碼和ThingSpeak通道號。
在void循環(huán)函數(shù)dht.readHumidity()中,dht.readTemperature()函數(shù)用于從DHT11傳感器讀取溫度和濕度數(shù)據(jù)。然后使用ThingSpeak將溫度和濕度數(shù)據(jù)發(fā)布到ThingSpeak通道。writeField函數(shù)。
將代碼上傳到NodeMCU后,您可以在ThingSpeak頻道上查看實(shí)時溫濕度數(shù)據(jù)。
現(xiàn)在,當(dāng)傳感器數(shù)據(jù)通過ThingSpeak通道傳輸時,我們將使用MATLAB分析工具使用溫度和濕度數(shù)據(jù)計(jì)算露點(diǎn)。它從氣象站頻道讀取溫度和濕度數(shù)據(jù)。計(jì)算出露點(diǎn)后,將該數(shù)據(jù)與溫度和濕度數(shù)據(jù)一起寫入新的通道。
對于MATLAB分析,轉(zhuǎn)到Apps選項(xiàng)卡,單擊MATLAB分析。
現(xiàn)在點(diǎn)擊“新建”。然后選擇自定義模板,并單擊“創(chuàng)建”。在Name字段中,輸入您的項(xiàng)目名稱。
ThingSpeak MATLAB分析
下面給出了分析的MATLAB代碼。
關(guān)于代碼的簡要說明如下。首先輸入讀取通道ID和API Key,以便讀取通道數(shù)據(jù)。
現(xiàn)在輸入溫度和濕度數(shù)據(jù)字段號。在我的例子中,我將溫度數(shù)據(jù)保存在字段1中,濕度數(shù)據(jù)保存在字段2中。
讀取溫度和濕度數(shù)據(jù)從字段1和2與時間戳。
使用溫度和濕度讀數(shù)計(jì)算露點(diǎn)。
輸入寫通道ID和API密鑰。
將數(shù)據(jù)寫入另一個通道。它將寫入露點(diǎn)數(shù)據(jù)以及溫度和濕度。
現(xiàn)在單擊“Save and Run”并檢查輸出字段?,F(xiàn)在檢查露點(diǎn)測量通道。
此分析僅在我們點(diǎn)擊“保存并運(yùn)行”時運(yùn)行。要安排分析,你可以使用“時間控制應(yīng)用程序”。你可以在頁面底部找到“時間控制”選項(xiàng)。
ThingSpeak MATLAB可視化
在使用MATLAB Analysis計(jì)算露點(diǎn)后,現(xiàn)在我們將使用MATLAB可視化工具將測量數(shù)據(jù)可視化,即露點(diǎn),溫度和濕度。
對于可視化,轉(zhuǎn)到應(yīng)用程序,然后單擊MATLAB可視化。之后,點(diǎn)擊“新建”來創(chuàng)建一個可視化。
下面給出了可視化的MATLAB代碼。
這里我們將詳細(xì)解釋上述代碼。首先輸入讀通道ID和API Key。
從讀取通道字段讀取數(shù)據(jù),并獲得最近100點(diǎn)的溫度、濕度和露點(diǎn)數(shù)據(jù)。
在x標(biāo)簽上繪制帶有TimeStamps數(shù)據(jù)的圖,在y標(biāo)簽上繪制帶有測量值、標(biāo)題和圖例的圖。圖例用于為每條繪制的數(shù)據(jù)線創(chuàng)建帶有描述性標(biāo)簽的圖例。
現(xiàn)在單擊“Save and Run”并檢查輸出字段。輸出圖如下所示:
這就是如何在ThingSpeak中使用MATLAB分析和可視化工具。除了計(jì)算露點(diǎn)外,您還可以計(jì)算平均濕度和溫度,高低溫水平,并可以分析特定日期/月的溫度變化情況。
本文編譯自iotdesignpro