各積木的使用方法 - wandererinhk/IoT-extension-for-mBlock GitHub Wiki

連接Wifi模組 RX端口 |TX端口

  • 用作連接一個Wifi模組,以及進行初始化設定
  • 端口(Pin)號碼可以參考以下列表:
  • 以mCore為例,
    • Port 1==> RX 12, TX 11 (推薦)
    • Port 2==> RX 10, TX 9 (推薦)
    • Port 3==> RX 17, TX 16
    • Port 4==> RX 15, TX 14
  • 以Me Orion為例,
    • Port 3==> RX 13, TX 12 (推薦)
    • Port 4==> RX 2 , TX 8 (推薦)
    • Port 6==> RX 17, TX 16
    • 不支援Me Orion上的1,2,5,7和8號插口!
  • 以Me Auriga為例,
    • Port 6 ==> RX 69, TX 64
    • Port 7 ==> RX 68, TX 63
    • Port 8 ==> RX 67, TX 62
    • Port 9 ==> RX 66, TX 61
    • Port 10==> RX 65, TX 60
    • 不支援Me Auriga上的1至5號插口!
  • 以MegiPi/Mega的模擬輸入端口(analog pins)為例,
    • 端口號碼 = 54+實際數字
    • 例如A10 = 54+10 = 64

發送序列信息(AT指令)

  • 對Me Wifi module發送一條指令
  • 可直接傳送AT指令, 無需加上\r\n
  • 有關可用的AT指令,請參考網上資源

連接到AP|SSID |密碼

  • 用作連接到指定的AP, 模組會自動取得IP位址
  • 本指令刻意寫為一個Boolean function,會因連接成功與否而回傳不同結果
    • 強烈建議跟『如果...就』及『如果...就...否則』積木一起使用,以檢查連接結果,因而作出不同反應
  • 本指令最多需要18秒來完成連接
    • 連接成功將回傳『真(true)』,並即時執行下個指令
    • 連線逾時(Timeout)基於實驗而設定為16秒
    • 如16秒後仍無法建立連線,將回傳『假(false)』,並即時執行下個指令
    • 連線逾時可能是由以下原因導致:
      • SSID不正確
      • 密碼不正確
      • AP未開機
      • 無線信號受干擾

傳送資料到thingspeak.com|API |內容

  • 注意: 請勿在本指令內讀取感應器的讀數!!
    • 很大機會導致溢出(overflow)或死機
    • 請先讀取讀數,儲存到變數中,再用本指令傳送
  • 用作上傳一個HTTP GET的要求到api.thingspeak.com伺服器
  • 本指令刻意寫為一個Boolean function,會因連接成功與否而回傳不同結果
    • 強烈建議跟『如果...就』及『如果...就...否則』積木一起使用,以檢查上傳結果,因而作出不同反應
  • 本指令需要數秒時間來上傳資料
    • 上傳成功將回傳『真(true)』,並即時執行下個指令
    • 連線逾時(Timeout)基於實驗而設定為5秒
    • 如5秒後仍無法建立連線,或上傳失敗,將回傳『假(false)』,並即時執行下個指令
  • 在『API』一欄填上專屬的API
    • 可在登入thingspeak.com後,於"API Key"一欄找到
  • 『內容』的格式為:
    • field1={data}&field2={data}&{...}&field8={data}
    • 上傳1個資料,『內容』應為,
      • field1={data}
    • 上傳2個資料的話,
      • field1={data}&field2={data}
  • 使用者可用 "運算"中的指令來合拼字串
  • 對於thingspeak.com的免費使用者, 上傳時間間距需大過等於30秒
  • thingspeak.com支援最多8個資料欄

觸發maker.ifttt.com事件|事件名稱 |API |內容

  • 用作上傳一個HTTP GET的要求到maker.ifttt.com伺服器
  • 本指令刻意寫為一個Boolean function,會因連接成功與否而回傳不同結果
    • 強烈建議跟『如果...就』及『如果...就...否則』積木一起使用,以檢查上傳結果,因而作出不同反應
  • 本指令需要數秒時間來上傳資料
    • 上傳成功將回傳『真(true)』,並即時執行下個指令
    • 連線逾時(Timeout)基於實驗而設定為5秒
    • 如5秒後仍無法建立連線,或上傳失敗,將回傳『假(false)』,並即時執行下個指令
  • 需預先在Maker Webhooks Applets中設定要觸發的事件名稱
  • 在『API』一欄填上專屬的API
  • 『內容』的格式為:
    • value1={data}&value2={data}&value3={data}
  • 使用者可用 "運算"中的指令來合拼字串
  • 如果只想觸發一個事件而不上傳資料,『內容』一欄可留空
  • 伺服器一般需時數秒來處理要求,再作出相應的行動(例如發送電郵)
  • maker.ifttt.com支援最多3個資料欄

從OpenWeatherMap讀取資料|API |城市代碼 |類型

  • 警告! 本指令會使用大量(600 bytes以上)的本地變數(local variables), 建議只於Auriga/MegaPi/Mega上使用
  • 用作從openweathermap.org取得指定位置的指定類型資訊
  • 本指令需要數秒時間來下載資料
    • 下載成功將回傳收到的字串,並即時執行下個指令
    • 連線逾時(Timeout)基於實驗而設定為5秒
    • 如5秒後仍無法建立連線,或上傳失敗,將回傳『假(false)』,並即時執行下個指令
  • 在『API』一欄填上專屬的API
  • CityID list
  • 『類型』可以為:
    • temp ==>溫度,單位為Kelvin (K)。專換為攝氏(C)需減273.15度
    • pressure ==>大氣壓力,單位為HPA
    • humidity ==>相對濕度,單位為%RH
    • visibility ==>能見度,單位為米(m)