可視化 Raspberry Pi 數(shù)據(jù):輕松用 Arduino Cloud 掌握物聯(lián)網(wǎng)裝置
嘿, DIY 物聯(lián)網(wǎng)愛好者! 你是否曾經(jīng)運(yùn)用 Raspberry Pi 建立了一個(gè)很酷的小工具,卻陷入如何展示其數(shù)據(jù)的困境? 別擔(dān)心,你并不孤單。 許多像你一樣的創(chuàng)客面臨同樣挑戰(zhàn):如何將出色的傳感器數(shù)據(jù),轉(zhuǎn)化為易于在手機(jī)或筆記本電腦上查看和互動(dòng)的數(shù)據(jù)?
好消息是,有一些簡(jiǎn)單可靠的方法可彌補(bǔ)這一落差,并在不浪費(fèi)時(shí)間的情況下解釋您的數(shù)據(jù)。
可視化您的Raspberry Pi 數(shù)據(jù):起步
Raspberry Pi 與其它以 Linux 為基礎(chǔ)的平臺(tái),因其多功能及易用性而在物聯(lián)網(wǎng)領(lǐng)域變得流行。然而,常見的問題是,如何找到有效的方法,好可視化數(shù)據(jù)并將其連接至可視化平臺(tái)?
歸根究底,您想要什么?您擁有正在產(chǎn)生資料的程序代碼,并且盼望有個(gè)主控板顯示數(shù)據(jù)實(shí)時(shí)可視化,還有其歷史演變。 此外,您還希望透過該主控板直接與您的應(yīng)用程序互動(dòng)!
所以,讓我們(編按:在此指 Arduino 團(tuán)隊(duì))透過這篇文章,探討一下您可使用哪些解決方案。
圖一 : (翻攝自 Arduino.cc 網(wǎng)站。)
為您的 Raspberry Pi 選擇一個(gè)可視化平臺(tái)
您可透過在裝置上安裝可視化平臺(tái),或?qū)?shù)據(jù)傳送至自架或云端托管的外部平臺(tái),以可視化裝置數(shù)據(jù)。每種方法都有其優(yōu)缺點(diǎn),選擇取決于您的技能、時(shí)間及解決方案的復(fù)雜性。
在裝置上安裝可視化平臺(tái),也意味著必須設(shè)定本地?cái)?shù)據(jù)存儲(chǔ),例如數(shù)據(jù)庫。對(duì)于初學(xué)者而言,這個(gè)過程及平臺(tái)的安裝與維護(hù)可能非常復(fù)雜且耗時(shí)。
將數(shù)據(jù)傳輸至外部平臺(tái)通常更容易,因?yàn)樗鼈兺ǔL峁┖?jiǎn)單的 API 來與之互動(dòng),但因解決方案的類型不同,可能會(huì)增加過程的復(fù)雜性:
? 若您選擇建立自己的平臺(tái)與基礎(chǔ)設(shè)施,似乎您對(duì)解決方案擁有更多控制權(quán)。然而,對(duì)于初學(xué)者而言,很快這便會(huì)成為一項(xiàng)艱巨任務(wù),并且持續(xù)維護(hù)可能更具挑戰(zhàn)性。
? 選擇云端托管解決方案通??磥硎亲钇胶獾倪x擇。 然而,由于替代方案范圍廣泛,復(fù)雜程度各異,還有難以理解的定價(jià)模型,云端托管也可能相當(dāng)復(fù)雜。
其中一些替代方案也在先前的文章中闡述過,其中,我們探索了幾種將來自 Arduino 或 ESP32 開發(fā)板數(shù)據(jù)可視化的方法。
為您的Raspberry Pi 選擇正確的程序語言
此外,您必須對(duì)應(yīng)用程序進(jìn)行程序設(shè)計(jì)才能收集數(shù)據(jù)。選擇正確的程序語言,可能取決于許多不同因素,例如:對(duì)開發(fā)環(huán)境的了解,或只是您的偏好便有可能是決定因素。但有時(shí)決定沒有那么簡(jiǎn)單,因此,接下來,我們會(huì)對(duì)一些流行的物聯(lián)網(wǎng)程序語言提供一些見解:
* Python:Python 因其簡(jiǎn)單性、豐富的函式庫生態(tài)系統(tǒng)及活躍的社群,成為物聯(lián)網(wǎng)開發(fā)的首選。 并且,它在人工智能領(lǐng)域的主導(dǎo)地位,允許機(jī)器學(xué)習(xí)模型的無縫整合。
* JavaScript:JavaScript 運(yùn)用js 作為服務(wù)器端的執(zhí)行環(huán)境( Runtime Environment ),也是物聯(lián)網(wǎng)裝置開發(fā)的必用程序語言。它用途廣泛,其事件驅(qū)動(dòng)的性質(zhì),與物聯(lián)網(wǎng)的要求無縫契合,且由于具備大量程序代碼重用的潛力,特別受與網(wǎng)頁互動(dòng)的應(yīng)用程序歡迎。
* Node-RED:最后,如 Node-RED 這樣的低程序代碼的程序環(huán)境,在物聯(lián)網(wǎng)中已變得非常流行! 它允許您使用直覺的拖放接口創(chuàng)建應(yīng)用,連接硬件與平臺(tái),并控制從微型傳感器到云端的任何內(nèi)容。
請(qǐng)注意:雖然也可運(yùn)用 C/C++ 與 Rust 等其它程序語言,但本文重點(diǎn)關(guān)注 Python、JavaScript 及 Node-RED,因?yàn)樗鼈兒苁軞g迎且相對(duì)容易使用。
運(yùn)用Arduino Cloud,創(chuàng)建物聯(lián)網(wǎng)監(jiān)控主控板
Arduino Cloud 是個(gè)云端托管平臺(tái),提供使用者友善的環(huán)境,以創(chuàng)建可自定義、富洞察力的主控板,用于監(jiān)視并控制您的物聯(lián)網(wǎng)裝置。
我們已于近期宣布:您現(xiàn)在可將 Python、MicroPython 及 JavaScript 的應(yīng)用程序,與 Arduino Cloud 無縫接軌。
Arduino Cloud主要好處在于它的易用性。您可擺脫安裝或維護(hù)的麻煩,只需幾分鐘便可連接裝置,并透過瀏覽器或手機(jī),可視化主控板中的數(shù)據(jù)。還可運(yùn)用拖放小工具,透過直覺的接口建立并自定義主控板。主控板提供與物聯(lián)網(wǎng)裝置的實(shí)時(shí)互動(dòng),以及富有洞察力的歷史訊息,更可額外下載這些信息以進(jìn)行脫機(jī)分析。
更棒的是, Arduino Cloud 還有許多很酷的功能:
* 實(shí)時(shí)警報(bào):您可根據(jù)云端配置的條件接收通知。想進(jìn)一步了解,請(qǐng)點(diǎn)這里。
* 手機(jī)應(yīng)用程序:您可使用 IoT Remote 應(yīng)用程序存取主控板。
* 協(xié)同工作:您可與其他人分享您的程序代碼及主控板。
* 開箱即用的整合:您可與 IFTTT、Zapier、Google Services、Alexa 或 Google Home 等熱門平臺(tái)無縫整合。
如何將您的 Raspberry Pi 連結(jié)至 Arduino Cloud ?
將Raspberry Pi連接至Arduino Cloud非常簡(jiǎn)單!
主要包括幾個(gè)步驟:
1.設(shè)定 Arduino 云端賬戶
2.將您的裝置作為手動(dòng)設(shè)備,新增至 Arduino Cloud。
3.創(chuàng)建您的 Thing并新增變數(shù)
4.使用您喜歡的開發(fā)語言及環(huán)境,為 Raspberry Pi 建立程序代碼。
5.建立數(shù)據(jù)可視化主控板。
所以,您想遠(yuǎn)程監(jiān)控您的 Raspberry Pi 創(chuàng)作,并從任何地方控制它們嗎? 請(qǐng)持續(xù)關(guān)注我們接下來將發(fā)布的文章!將展示如何將Raspberry Pi 連接至 Arduino Cloud 的真實(shí)范例,使您能可視化傳感器數(shù)據(jù)并遠(yuǎn)程與項(xiàng)目進(jìn)行互動(dòng)。 同時(shí),這里有一個(gè)來自 Project Hub 的專案,展示了整合 Python 與 Raspberry Pi ,以顯示來自 SGP30 傳感器的 VCO2 資料。
結(jié)語
目前, Arduino Cloud可免費(fèi)使用。 因此,若您盼望簡(jiǎn)化 Raspberry Pi 應(yīng)用程序數(shù)據(jù)可視化的過程,請(qǐng)考慮試試看 Arduino Cloud,并充分利用其項(xiàng)目的潛力。
評(píng)論