55 我可以上網了(EasyIoT)

(2019/06/01)

最近宇宙機器人陳老闆又給我一款可以上網的套件,是DFROBIT出版的Gravity IoT Starter Kit for micro:bit,利用假日來好好玩一玩這套件,順便測試一番來讓更多人認識它!這已經是我接觸的第二套可上網的套件,前一套著重在將資料上傳到Thingspeak,但缺少MQTT的功能!這一套提供了MQTT的平台,可以透過平台(或手機MQTT的 APP)來控制micro:bit或收集各項資料,但目前好像只支援舊版的makecode,經正吉老師的指導,新版的擴展積木網址 https://github.com/DFRobot/pxt-ObloqV1(這好像也不行了),(新的擴展積木網址:https://github.com/lioujj/pxt-Obloq_http 以下資料供參

一、套件外觀及內容:

    • 外觀

    • 內容:

二、上網註冊及添加新的設備

  • 使用這些套件前要先去官網註冊,並建立設備

  • 進入官網網址 http://iot.dfrobot.com 點選右上角的【註冊】

    • 輸入註冊的電子郵件及密碼

    • 註冊完後,登入,如下,每個免費帳號有10000個信息的儲存量

    • 點選眼睛,可以看到帳號及密碼的明碼(在程式中會使用到)

    • 按右方【添加新的設備】會隨機產生一個topic(主題) (可切換成簡體中文畫面)

    • 按右上角,可以清除信息、刪除本設備,或重新設定信息量的上限(預設是1000筆)

三、makecode下的OBLOQ積木的擴展

  • 進入舊版的makecode https://makecode.microbit.org/v0 (目前好像沒有辦法用在新版的makecode)

  • 在添加套件下,輸入obloq,會找到此函式庫

  • 經正吉老師的指導,新版的擴展積木網址 https://github.com/DFRobot/pxt-ObloqV1

    • obloq下的積木 (功能不少)

四、實作一(MQTT的功能)

  • 將資料上傳到平台

    • 接線說明,程式傳輸完後,要使用擴展板上的電源接頭來供電

    • 程式寫作如下,物聯網的帳密及Topic,根據前面得到了來填入,此程式是每一秒鐘會傳hello到topic_0去

    • 結果,進入官網平台,在第一個device下,點選【查看詳情】

  • 傳送micro:bit主板所量測到的溫度到平台 (類似上傳到Thingspeak)

    • 上方程式不變,下方程式修改成如下:

      • 呈現結果如下:

  • 傳送多筆資料到平台

    • 上例只傳送一筆資料到平台,下方為傳送多筆資料到平台(想成多個設備),最多只能使用5個topic(0~4)

    • 下例為新增了三個設備,可分別將三個資料(文字、溫度、光線值上傳到這三個topic)

      • 程式如下:

  • 從平台(遠端)控制micro:bit板子

    • 程式如下:當topic_0接收到a時,屏幕會顯示笑臉圖示;接收到b時,會顯示哭臉圖示

      • 平台的操作

      • 進入平台,在第一個device下,點選【發送消息】

      • 輸入a、b或其他文字

        • 如此,就可以從遠方來控制micro:bit上的各元件了

五、實作二(利用手機MQTT的APP來控制micro:bit)

  • 透過手機去上面的官網網頁,可以利用發訊息的方式去控制micro:bit

  • 但由於其機制是採用MQTT的方式(Publisher(發布者), Broker(代理人)和Subscriber(訂閱者))來互通,因此想採用MQTT的APP來進行控制與訊息顯示(此部份可看筆者另一篇文章)

  • 手機APP採用 ioT MQTT Panel ,基本操作如下:

    • 安裝 ioT MQTT Panel 的APP

    • 建立一個連線

      • 上面連線名稱:micro:bit+easyiot

      • Client ID:不填,會自動隨機產生

      • Broker Web/IP address:iot.dfrobot.com

      • Port number:1883

      • Network protocol:TCP

      • Device list:自己隨意建一個

      • Advanced options:輸入使用者ID及password

    • 新增一個PANEL

  • 按剛剛完成的SWITCH PANEL數下,進入easyiot的平台,

    • 觀看結果

    • 希望當SWITCH PANEL按ON時,micro:bit顯示笑臉圖示;當按OFF時,顯示哭臉圖示

    • micro:bit 的程式如下

    • 如此就可以利用手機APP軟體去控制遠端的micro:bit板子了

  • 手機APP除了可以控制micro:bit外,也可以顯示micro:bit上提供的資訊

    • 在手機APP下再建一個Gauge的PANEL來顯示micro:bit上的溫度

    • 進入easyiot的平台,在所在的設備上【發布消息】,如輸入30,會發現Gauge上的指標指到30度

      • 利用上面的Gauge panel 來顯示micro:bit主板上的溫度

      • micro:bit程式如下 (使用了二個topic,第一個topic傳送1(ON)及OFF(0);第二個topic傳送溫度)

六、實作三(套件內容的應用)

  • 地乾請澆水 (利用土壤濕度感測器來偵測土壤是否太乾了,然後利用繼電器及泵來打水)

  • 簡易保全系統 (利用PIR來偵測是否有人闖入,再發警報及傳送訊息到平台,如何把訊息傳到LINE?IFTTT?)

七、尚在摸索的積木

  • 以下這些積木尚不知如何使用,研究中....如果有人會使用,也請教一下我,謝謝