0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一次學(xué)會(huì)使用Adafruit IO平臺(tái)!

jf_cVC5iyAO ? 來(lái)源:易心Microbit編程 ? 作者:易心Microbit編程 ? 2022-11-22 16:16 ? 次閱讀

Adafruit IO 是一個(gè)免費(fèi)/付費(fèi)的IoT 平臺(tái),提供數(shù)據(jù)云端化、圖像化的服務(wù)整合,Adafruit IO 可以讓用戶自由定義云端的資料內(nèi)容;

Protocol 除了支持MQTT(S)、HTTP(S)、WebSocket 外,也提供多樣化的API供使用者使用,

大部分程序語(yǔ)言都可以透過(guò)HTTP 或MQTT 協(xié)議對(duì)Adafruit IO 存取。

接下來(lái)就要開(kāi)始帶大家一步步操作,內(nèi)容包含以下七個(gè)部分:

1. 注冊(cè)Adafruit IO賬號(hào)

2. 建立Group

3. 建立Feed

4. 建立Dashboard

5. 取得Username & AIOKey

6. 軟件安裝

7. 程序設(shè)計(jì)(IoT范例)

一、注冊(cè)Adafruit IO 賬號(hào)

首先至Adafruit IO官網(wǎng)注冊(cè)頁(yè)面,注冊(cè)免費(fèi)賬號(hào)。

免費(fèi)及付費(fèi)賬號(hào)所支持的功能差異請(qǐng)參見(jiàn)下表,一般小型項(xiàng)目使用免費(fèi)賬號(hào)即可;有更多需求的伙伴可以自行評(píng)估是否升級(jí),以$10 USD/月或$99 USD/年的方式去付費(fèi)使用。

a31a6010-6717-11ed-8abf-dac502259ad0.jpg

二、建立Group

Group(群組)主要用來(lái)集中管理Feed(傳感器節(jié)點(diǎn)),可將一個(gè)Group當(dāng)作一臺(tái)裝置看待(如下圖所示的Device 1號(hào)、Device 2號(hào)),裝置內(nèi)便能建立各自的傳感器,好處是可以更集中管理或存取每個(gè)裝置內(nèi)的傳感器。

a338a188-6717-11ed-8abf-dac502259ad0.png

請(qǐng)參考下圖建立Group。

a360eb0c-6717-11ed-8abf-dac502259ad0.gif

三、建立Feed

Feed(節(jié)點(diǎn))是用來(lái)存放感測(cè)數(shù)據(jù)及觀看歷史數(shù)據(jù)的地方:下圖紅框區(qū)域會(huì)呈現(xiàn)歷史數(shù)據(jù)折線圖;藍(lán)框由左至右分別表示「新增一筆資料」、「下載所有數(shù)據(jù)」、「過(guò)濾及塞選數(shù)據(jù)」;下方綠框會(huì)顯示歷史數(shù)據(jù);右側(cè)紫色框內(nèi)除了顯示Feed基本數(shù)據(jù)的「Feed Info」外,更可針對(duì)此Feed新增更多設(shè)定。

a39aa20c-6717-11ed-8abf-dac502259ad0.png

點(diǎn)入Feed Info后可見(jiàn),畫(huà)面如下圖所示,紅框內(nèi)容為預(yù)設(shè)提供的API,若是使用MQTT 協(xié)議可以直接復(fù)制MQTT by key這行內(nèi)容,作為MQTT 要Subscribe(訂閱)或Publish(發(fā)布)的Topic(主題),詳細(xì)HTTP 的API可以參考官網(wǎng)提供的API Documentation。

a3c52aae-6717-11ed-8abf-dac502259ad0.png

請(qǐng)參考下圖建立Feed。

a3e695d6-6717-11ed-8abf-dac502259ad0.jpg

四、建立Dashboard

Dashboard 即儀表板,以圖型方式呈現(xiàn)數(shù)值,默認(rèn)提供多種圖表供選擇,包含開(kāi)關(guān)、滑桿、調(diào)色盤(pán)、圖片、折線圖等等,使用這些圖表相互搭配可以很容易的建構(gòu)出網(wǎng)頁(yè)版的監(jiān)測(cè)站,比起其他平臺(tái)省去不少建置費(fèi)用及時(shí)間成本!

a4782cda-6717-11ed-8abf-dac502259ad0.png

在建立Dashboard 的時(shí)候預(yù)設(shè)有多種block可以選擇。

a4d877e8-6717-11ed-8abf-dac502259ad0.png

選擇Dashboard 時(shí)需要選取對(duì)應(yīng)的數(shù)據(jù)源(即Feed),并針對(duì)細(xì)節(jié)做顯示設(shè)置:例如Gauge可以設(shè)定標(biāo)題、數(shù)值顯示的范圍、線寬粗細(xì)等等,可依照使用需求去設(shè)定調(diào)整。

a4fd955a-6717-11ed-8abf-dac502259ad0.png

請(qǐng)參考下圖建立Dashboard。

a511ceee-6717-11ed-8abf-dac502259ad0.gif

五、取得Username & AIO key

在對(duì)Adafruit IO 數(shù)據(jù)操作時(shí)都需要經(jīng)過(guò)驗(yàn)證,使用MQTT、HTTP時(shí)都需提供賬號(hào)及AIO Key才可存取Adafruit IO,以下將介紹如何取得賬號(hào)密碼。

進(jìn)入Adafruit IO官網(wǎng),點(diǎn)選紅框「My Key」跳出賬號(hào)密碼。

https://io.adafruit.com/

a555bfe6-6717-11ed-8abf-dac502259ad0.png

下圖藍(lán)框?yàn)閁sername,紅框是系統(tǒng)產(chǎn)生的AIO Key,若密碼意外泄漏,也可透過(guò)右邊綠色框內(nèi)的「REGENERATE KEY」按鈕重新產(chǎn)生新的密碼。這里有一點(diǎn)要特別注意,Adafruit IO會(huì)定時(shí)檢查Github上公開(kāi)的code,看有沒(méi)有人不小心把密碼放上去,若是被掃描到的話,Adafruit IO 相當(dāng)?shù)刭N心,會(huì)自動(dòng)幫你重新產(chǎn)生新的key,不過(guò)還是請(qǐng)大家要小心,密碼不要亂放唷!

a57a69cc-6717-11ed-8abf-dac502259ad0.png

六、軟件安裝

(一)軟件下載與擴(kuò)充

撰寫(xiě)程序時(shí)我們是采用與Scratch類似的Blockly 來(lái)編寫(xiě)程序,所以需要下載LinkIt 7697專用的程序撰寫(xiě)編輯器BlocklyDuino v3。

https://github.com/MediaTek-Labs/BlocklyDuino-for-LinkIt/releases/tag/3.0.312b

目前該程序只支持Windows的操作系統(tǒng),請(qǐng)依照自己的版本將下載下來(lái)的壓縮文件解壓縮。

a5998492-6717-11ed-8abf-dac502259ad0.png

因?yàn)樵摼庉嬈魇敲獍惭b的版本,對(duì)于路徑相當(dāng)要求,解壓縮后的文件夾不能放置在任何有中文檔名的文件夾內(nèi),否則上傳程序時(shí)可能會(huì)產(chǎn)生錯(cuò)誤。

除了編輯器外,我們還需要下載兼容BlocklyDuino的鏈接庫(kù)CIRCUS Pi KIT,因?yàn)樵鹊腂locklyDuino內(nèi)并沒(méi)有Adafruit IO相關(guān)的程序積木,所以需要用戶自行擴(kuò)充。

https://github.com/iCShopMgr/CIRCUS_Pi_KIT

a5cab26a-6717-11ed-8abf-dac502259ad0.png

如上圖所示,點(diǎn)選擴(kuò)充程序CIRCUS Pi KIT鏈接后,找到「0622擴(kuò)充程序.zip」這個(gè)選項(xiàng)并點(diǎn)選。文件名的0622是發(fā)布爾日期,若有新的版本日期會(huì)不同。

依照下圖所示,點(diǎn)選「Download」的選項(xiàng)下載擴(kuò)充程序到自己的計(jì)算機(jī),下載完成后請(qǐng)解壓縮。

a5e33a74-6717-11ed-8abf-dac502259ad0.png

截至目前為止我們應(yīng)該獲得了兩個(gè)文件夾,分別是程序編輯器「BlocklyDuino」以及「0622擴(kuò)充程序」。接下來(lái)請(qǐng)將「0622擴(kuò)充程序」文件夾內(nèi)的兩個(gè)檔案復(fù)制起來(lái),并在BlocklyDuino文件夾內(nèi)貼上并取代。

a6066eb8-6717-11ed-8abf-dac502259ad0.png

(二)安裝驅(qū)動(dòng)程序

請(qǐng)下載并安裝「CP2102N 驅(qū)動(dòng)程序」,以便PC能連接到您的LinkIt 7697。

點(diǎn)選頁(yè)面內(nèi)「DOWNLOADS」的選項(xiàng),并依照您操作系統(tǒng)的版本,下載對(duì)應(yīng)的驅(qū)動(dòng)程序并安裝。

a6339438-6717-11ed-8abf-dac502259ad0.png

將上述步驟做完就完成軟件的準(zhǔn)備啰~現(xiàn)在開(kāi)啟軟件檢查看看有沒(méi)有擴(kuò)充程序吧!打開(kāi)BlocklyDuino文件夾,并點(diǎn)選「BlocklyDuino.exe」,如下圖所示,檢查看看有沒(méi)有「Adafruit IO」的選項(xiàng)。

a6562cf0-6717-11ed-8abf-dac502259ad0.png

七、程序設(shè)計(jì)(IoT 范例)

本次使用Linkit7697做為IoT 裝置硬件,開(kāi)發(fā)環(huán)境使用BlocklyDuino,示范如何與Adafruit IO溝通,將數(shù)據(jù)發(fā)送至Adafruit IO、透過(guò)Adafruit IO Dashboard網(wǎng)頁(yè)控制Linkit7697 LED亮滅。

(一)程序撰寫(xiě)

依照下圖所示拉入積木程序代碼,請(qǐng)自行修改WiFi ID、WiFi密碼、Adafruit IO Username、AIO Key;DeviceID 可以自定義,在云端平臺(tái)會(huì)作為Group 名稱,并且積木程序?qū)?huì)使用DeviceID 作為MQTT ID,所以每個(gè)裝置請(qǐng)使用不同的DeviceID,重復(fù)使用將會(huì)剔除ID 相同者聯(lián)機(jī)。

a6806646-6717-11ed-8abf-dac502259ad0.png

程序說(shuō)明

1. 設(shè)定并聯(lián)機(jī)到WiFi聯(lián)機(jī),請(qǐng)自行修改WiFiID、密碼。

2. 設(shè)定并聯(lián)機(jī)到Adafruit IO,請(qǐng)自行修改AdafruitIO Username、AIO Key。

3. 在Loop函式中持續(xù)同步AdafruitIO狀態(tài)以檢查傳感器數(shù)據(jù)是否更新。

4. 使用計(jì)時(shí)的方式取代Delay,每10秒將目前的開(kāi)機(jī)毫秒數(shù)更新到云端。

5. 設(shè)定當(dāng)云端傳感器led更新時(shí)判斷內(nèi)容并控制內(nèi)建LED亮滅。

完整Adafruit IO范例程序

https://github.com/iCShopMgr/CIRCUS_Pi_KIT/blob/main/Example/AdafruitIO%E7%AF%84%E4%BE%8B%E7%A8%8B%E5%BC%8F.zip

(二)Adafruit IO設(shè)定

在Adafruit IO中可以透過(guò)首次發(fā)布新資料時(shí)自動(dòng)建立Feed,建議大家可以自行建立所有的Feed,以確保資料發(fā)布成功。

下圖為建立一個(gè)名為「icshop」的群組,「led」、「time」Feed。

a6ae10b4-6717-11ed-8abf-dac502259ad0.png

下圖為建立一個(gè)名為「icshop」的Dashboard。

a6d063bc-6717-11ed-8abf-dac502259ad0.png

在「icshop」Dashboard內(nèi)點(diǎn)選紅框「Create New Block」新增圖塊。

a6f4858a-6717-11ed-8abf-dac502259ad0.png

選擇「Stream」圖塊。

a723e4f6-6717-11ed-8abf-dac502259ad0.png

數(shù)據(jù)源選擇icshop「time」。

a74ba4c8-6717-11ed-8abf-dac502259ad0.png

設(shè)定Stream Block Title,可自定義。

a7733d1c-6717-11ed-8abf-dac502259ad0.png

新增「Toggle」圖塊。

a79a7fe4-6717-11ed-8abf-dac502259ad0.png

數(shù)據(jù)源選擇icshop「led」。

a7bc4e62-6717-11ed-8abf-dac502259ad0.png

設(shè)定Toggle Block Title(可自定義),可設(shè)定發(fā)送的文字內(nèi)容,默認(rèn)為「ON」、「OFF」。

a7ddc83a-6717-11ed-8abf-dac502259ad0.png

完成后如下圖所示。

a800bd22-6717-11ed-8abf-dac502259ad0.png

Linkit7697 將會(huì)每10秒發(fā)送一次開(kāi)機(jī)時(shí)間到AdafruitIO,并且使用者可透過(guò)網(wǎng)頁(yè)開(kāi)關(guān)控制Linkit7697 LED亮滅,如下圖所示。

a81fa552-6717-11ed-8abf-dac502259ad0.jpg

關(guān)閉LED

a843ddbe-6717-11ed-8abf-dac502259ad0.jpg

開(kāi)啟LED

八、結(jié)語(yǔ)

Adafruit IO 支持MQTT(S)、HTTP(S)、WebSocket,所以不管用什么語(yǔ)言都很容易上手;再加上相當(dāng)直覺(jué)的網(wǎng)頁(yè)操作接口、簡(jiǎn)潔好上手的Dashboard、完整的官方API,更重要的是有免費(fèi)版本可以使用;我們也針對(duì) Adafruit IO 制作了積木程序,對(duì)于初學(xué)者使用上會(huì)更加容易,不妨現(xiàn)在就一起使用 LinkIt 7697 操作看看吧!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2541

    文章

    49945

    瀏覽量

    747439
  • IO
    IO
    +關(guān)注

    關(guān)注

    0

    文章

    418

    瀏覽量

    38877
  • IOT
    IOT
    +關(guān)注

    關(guān)注

    186

    文章

    4096

    瀏覽量

    195078
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    629

    瀏覽量

    22285

原文標(biāo)題:一次學(xué)會(huì)使用Adafruit IO 平臺(tái)!

文章出處:【微信號(hào):易心Microbit編程,微信公眾號(hào):易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    學(xué)會(huì)使用示波器

    學(xué)會(huì)使用示波器
    發(fā)表于 08-10 22:47

    5分鐘學(xué)會(huì)使用CPLD教程

    5分鐘學(xué)會(huì)使用CPLD教程
    發(fā)表于 08-19 11:03

    學(xué)會(huì)使用A4988驅(qū)動(dòng)電機(jī)有什么幫助

    初識(shí)Arduino,有什么錯(cuò)漏的地方請(qǐng)指正.學(xué)會(huì)使用A4988驅(qū)動(dòng)電機(jī)對(duì)于DIY3D打印機(jī),雕刻機(jī)很有幫助。6線般是兩組,先用萬(wàn)用表接其中根線,然后一次點(diǎn)其他線,凡是不同的都是另外
    發(fā)表于 07-08 08:29

    為什么IO一次讀時(shí)可能讀不到

    需要讀的IO一次讀時(shí)可能讀不到,要第二才可以,在需要進(jìn)睡眠的時(shí)候注意單片機(jī)計(jì)時(shí)標(biāo)記最好使用加,不要用減,否則可能會(huì)減不到0,加volatile也不行仿真時(shí)加volatile可以看變量,否則未調(diào)用
    發(fā)表于 07-16 06:36

    使用Platform.ioAdafruit Feather Huzzah上傳時(shí)遇到的問(wèn)題求解

    我正在使用 Platform.ioAdafruit Feather Huzzah。我能夠上傳到這個(gè)板大約天。 現(xiàn)在我在上傳時(shí)遇到問(wèn)題。 它是這樣的: 構(gòu)建良好,上傳良好......藍(lán)燈閃爍了
    發(fā)表于 06-09 07:53

    循環(huán)充放電一次就是少一次壽命嗎?

    循環(huán)充放電一次就是少一次壽命嗎?     循環(huán)就是使用,我們是在使用電池,關(guān)心的是使
    發(fā)表于 11-11 13:59 ?828次閱讀

    電池循環(huán)充放電一次就是少一次壽命嗎?

    電池循環(huán)充放電一次就是少一次壽命嗎? 循環(huán)就是使用,我們是在使用電池,關(guān)心的是使用的時(shí)間,為了衡量充電電池
    發(fā)表于 09-06 11:05 ?3581次閱讀

    帶有Adafruit_IO的氣象站監(jiān)視器源碼

    帶有Adafruit_IO的氣象站監(jiān)視器源碼下載。
    發(fā)表于 05-08 10:50 ?9次下載

    使用Adafruit IO作為MQTT控制Raspberry Pi GPIO的AC設(shè)備

    在本教程中,我們將使用 Adafruit IO 作為 MQTT 代理來(lái)控制連接到 Raspberry Pi GPIO 的 AC 設(shè)備。
    的頭像 發(fā)表于 09-01 16:30 ?2422次閱讀
    使用<b class='flag-5'>Adafruit</b> <b class='flag-5'>IO</b>作為MQTT控制Raspberry Pi GPIO的AC設(shè)備

    電氣一次識(shí)圖基礎(chǔ)

    電氣一次識(shí)圖基礎(chǔ)
    的頭像 發(fā)表于 11-12 11:24 ?2002次閱讀

    使用Google Assistant和Adafruit IO實(shí)現(xiàn)家庭自動(dòng)化

    電子發(fā)燒友網(wǎng)站提供《使用Google Assistant和Adafruit IO實(shí)現(xiàn)家庭自動(dòng)化.zip》資料免費(fèi)下載
    發(fā)表于 12-05 09:57 ?0次下載
    使用Google Assistant和<b class='flag-5'>Adafruit</b> <b class='flag-5'>IO</b>實(shí)現(xiàn)家庭自動(dòng)化

    帶有Adafruit IO的太陽(yáng)能氣象站

    電子發(fā)燒友網(wǎng)站提供《帶有Adafruit IO的太陽(yáng)能氣象站.zip》資料免費(fèi)下載
    發(fā)表于 12-14 11:25 ?0次下載
    帶有<b class='flag-5'>Adafruit</b> <b class='flag-5'>IO</b>的太陽(yáng)能氣象站

    用于將數(shù)據(jù)從Google表單自動(dòng)發(fā)布到Adafruit IO的Python腳本

    電子發(fā)燒友網(wǎng)站提供《用于將數(shù)據(jù)從Google表單自動(dòng)發(fā)布到Adafruit IO的Python腳本.zip》資料免費(fèi)下載
    發(fā)表于 06-16 15:47 ?0次下載
    用于將數(shù)據(jù)從Google表單自動(dòng)發(fā)布到<b class='flag-5'>Adafruit</b> <b class='flag-5'>IO</b>的Python腳本

    使用Adafruit IO的無(wú)線警鈴

    電子發(fā)燒友網(wǎng)站提供《使用Adafruit IO的無(wú)線警鈴.zip》資料免費(fèi)下載
    發(fā)表于 07-05 14:44 ?0次下載
    使用<b class='flag-5'>Adafruit</b> <b class='flag-5'>IO</b>的無(wú)線警鈴

    學(xué)會(huì)使用Channel Analysis

    電子發(fā)燒友網(wǎng)站提供《學(xué)會(huì)使用Channel Analysis.rar》資料免費(fèi)下載
    發(fā)表于 11-21 10:43 ?1次下載
    <b class='flag-5'>一</b>步<b class='flag-5'>一</b>步<b class='flag-5'>學(xué)會(huì)使</b>用Channel Analysis