顯示具有 mBot x App Inventor 2 標籤的文章。 顯示所有文章
顯示具有 mBot x App Inventor 2 標籤的文章。 顯示所有文章

2017年10月28日 星期六

mBot x App Inventor 2:IoT 應用(四)

簡介

IoT 應用來到第四集,之前數集都是用 mBlock 及 IoT Module 才能做到 IoT 連接。這次會介紹一個只需要藍牙版 mBot 和一部 Android 智能裝置就可以做到 IoT 連接的方法。

Makeblock 其中一間港澳認證教育夥伴(Certified Educational Partner)最近發佈了 App Inventor 2 的擴充功能,可以讓 Android 智能裝置先連接藍牙,再連接 IFTTT 或是 ThingSpeak。

基本的 mBot x App Inventor 2 連接

要使用 IoT 的擴充功能,先要準備一些簡單的 mBot 連接設計,詳情可參考這裡,或是下載這個範例檔

*** 2018 年 6 月 7 日更新 ***
Extension 下載:
因為舊有連結已經失效,因此可在下載壓縮檔(已包含 IFTTT 及 ThingSpeak 的 aix 檔)。

mBot x App Inventor 2 x IFTTT

如果需要使用 IFTTT,就需要使用 IFTTT 的擴充功能。

1. 先選擇 Import Extension:

2. 然後選擇 〝From my computer〞,並選擇剛下載的〝mbotAndSTEM_ifttt.aix〞。(2018 年 6 月 7 日更新)

3. 稍等一會,就會看到 IFTTT 的 Extension 成功加入:

4. 加入 IFTTT 的 Extension 到設計中,就可以在程式設計中看到 IFTTT 的 Extension 了:

mBot x App Inventor 2 x ThingSpeak

如果需要使用 ThingSpeak,就需要使用 ThingSpeak 的擴充功能。

1. 先選擇 Import Extension:

2. 然後選擇 〝From my computer〞,並選擇剛下載的〝mbotAndSTEM_ThingSpeak.aix〞。(2018 年 6 月 7 日更新)

3. 稍等一會,就會看到 ThingSpeak 的 Extension 成功加入:

4. 加入 ThingSpeak 的 Extension 到設計中,就可以在程式設計中看到 ThingSpeak 的 Extension 了:

總結

使用 App Inventor 2 的 Extensions 完成 IoT 連接,除了不需使用 IoT 模組外,還可以使用一些 mBot 現時不支援,而智能裝置有的功能,例如 GPS 等,但同樣有弊點,就是不能完全使用所有 mBot 的模組,例如 TFT 等。所以,只需按照自己需求合適選取就可以了。

2017年8月20日 星期日

mBot x App Inventor 2:設計 AI 程式連接 mBot

簡介

近日發現 App Inventor 2 在 mBot 的 Extension 上作出了更新,現在設計 App Inventor 程式連接 mBot 變得更加簡單(應該說是非常簡單),而且支援的感應器亦變得全面。現在就讓我們看看如何用 App Inventor 2 設計程式連接 mBot 吧!

開設 App Inventor 帳戶

要使用 App Inventor 就必需要有一個 Google 帳戶,如果沒有,可以去註冊一個,費用全免。然後可以到 App Inventor 的網站:http://ai2.appinventor.mit.edu/

第一次到這個網址或是已經登出了,需要先登入 Google 帳戶,登入後就會看到這個畫面:


第一次使用應該沒有任何項目的。預設的語言是英語,你可以先選擇自己愛好的語言才繼續。

建立 App Inventor 項目

我們會設計一個偵測 mBot 前方障礙物距離和讓 mBot 板載 LED 亮起隨機顏色的程式,首先,按左上角的「新建項目」開始設計程式:


然後,為你的手機程式定一個名字:


然後就會進入了設計介面:


左面的是我們可以用的介面組件,中間是我們的設計介面,右邊就是組件列表和屬性設定。

設計程式介面

在設計上,我們會主要有2個按鍵,分別用來連接 mBot 和斷接 mBot。除此之外,我們會有一個按鍵變換板載 LED,大致佈局可以參考下面:


如果不太了解如何鋪排設計介面,可參考這個網站

加入 mBot 擴充元件

在開始設計邏輯前,我們還需要加入 mBot 的擴充元件,我們按一下左邊「組件版面」的「Extension」,然後選擇「Import Extension」:


選擇「URL」,並輸入擴充元件的網址:http://appinventor.makeblock.com/mbot.aix


等它加載完後,你就會看到「Extension」多了 mBot 的擴充元件:


將「mBot 元件」加入設計中,會看到 mBot 出現在「非可視元件」中:


邏輯設計

現在我們可以按下右上角的「邏輯設計」開始設計程式:


首先,完成連接 mBot 的功能:


因為我希望使用超聲波感應器的功能,所以當 mBot 成功連接後,要調用超聲波感應器:


然後就是當超聲波感應器成功取得數值時更新標籤:


最後就是讓板載 LED 亮起隨機顏色的按鍵,其中「whichLight」的「0」是指全部 LED:


測試程式

程式設計已經完成了,接著就可以在 Android 的手機或平板測試程式:


得到 APK 有兩個方法,可以選擇使用 MIT AI2 Companion 掃描二維碼,或是下載到電腦,再用自己方法放到 Android 裝置上:


這個二維碼只有2小時有效,如果想要保存好檔案也可以下載 APK。

測試時打開應用程式和啟動 mBot,將 Android 裝置靠近 mBot,按下「連接 mBot」,看到「Device connected」就表示成功連接了,可以看到超聲波感應器的讀數了,也可以隨機轉換板載 LED 的顏色了。