物聯網雲端平台除了 ThingSpeak 外還有一個非常有名的 Adafruit 公司提供的 Adafruit.IO, 運作方式與 ThingSpeak 類似, 但提供更多小工具 (Widget), 且上傳寫入資料頻率最高每 2 秒一次, 比 ThingSpeak 每 15 秒一次還高. 與 ThingSpeak 不同的是, 其資料欄位稱為 Feed, 需要自行建立 Dashboard 與區塊來展示這些 Feed 的統計圖形.
Adafruit.IO 提供免費帳戶, 但有如下限制 :
- 最多只能建立 10 個 Feeds 與 5 個儀表板 (Dashboards).
- 每個 Feed 的只保存近 30 天資料, 最多 10000 個資料點.
- 每分鐘包含讀寫最高只能發出 30 次請求.
- 最多只能訂閱 5 個 MQTT 主題.
如果想要存取更多資源可以付費購買. 這種模式對小傳輸量用戶較好, 比 ThingSpeak 一年內 300 萬則到期須付費更 Friendly.
本系列之前的文章參考 :
更多 MicroPython 文章參考 :
1. 註冊 Adafrui.IO 帳號 :
Adafruit.IO 官網如下 :
按右上角的 Getting started for Free :
填寫姓名, Email, 使用者名稱, 密碼後按 Create Account :
這時會顯示註冊資訊的 Profile 頁面, 按 Save Profile 鈕 :
再次輸入確認密碼後按 Confirm Password 即完成註冊 :
2. 建立 Feed (欄位) :
按上方的 IO 頁籤會顯示 Overview 頁面 :
按上方導覽頁籤的 Feeds 進入 Feeds 管理頁面, 目前尚無 Feed 因此列表是空的, 按 New Feed 新增一個資料欄位 :
在彈出視窗的 Name 框中填寫 Feed 名稱後按 Create 鈕, 這樣會回到 Feeds 管理頁面, Feeds 列表顯示此新增的 Feed :
接著繼續新增 Humidity 與 Pressure 這兩個 Feeds 後列表會顯示這三個欄位 :
注意, 其中 key 是將 Name 變成全小寫自動產生的, 在製作 API 的 URL 時會用到, 用來辨認資料欄位.
3. 建立 Dashboard (儀錶板) :
按上方導覽頁籤的 Dashboards 進入儀錶板列表頁面 :
按 New Dashboard 鈕新增儀錶板, 填寫儀錶板名稱後按 Create :
這樣儀錶板列表頁面就會列出該儀表板, 按儀錶板名稱 :
按右上角的設定鈕展開選單 :
按 Create new Block 建立新區塊 :
在彈出的區塊候選視窗中點選折線圖 :
在彈出視窗中勾選一個 Feed 欄位, 一次選一個, 例如 temperature, 然後按 Next step :
重複此步驟建立 Humidity 與 Pressure 的區塊, 所建區塊預設會由上而下垂直排列, 可按右上角的設定鈕展開選單, 選取 Edit layout, 這時每個區塊變成可拖曳, 可用滑鼠將區塊拖曳到適合之位置來調整版面配置, 例如排成兩欄, 然後按右上角的 Save Layout 儲存版面設定 :
儀錶板預設是暗黑背景, 可以在設定選單中將 Dark Mode 關閉變成白亮模式 :
這樣就完成全部設定了, Overview 頁面會顯示此帳號的資源使用情形 :
可見免費帳戶無法傳送 SMS 簡訊.
4. 取得 Adafruit.IO Key (AIO Key) :
在呼叫 Adafruit.IO API 上傳資料前必須先取得 API key, 按右上角的鑰匙圖示 :
其中 Username 是註冊時我們設定的, 與 AIO key 一起記下來, 呼叫 API 時都會用到 :
AdaFruit REST API 的 Python 教學文件參考 :
這樣就開始撰寫 MicroPython 程式呼叫 Adafruit.IO 的 API 將資料推送到 Feed 資料欄位裡儲存並顯示在儀表板中.
沒有留言:
張貼留言