有朋友說:學生需要利用bit內的加速器偵測到物體移動後,將訊號傳致手機上!這讓我想到用App Inventor2寫手機APP應該可以做到,也藉此機會來學習App Inventor2的程式寫作~~
以下有一系列參考資料可參考
- http://www.astar-tek.com.tw/micro%3Abit-appinventor-%E8%AA%B2%E7%A8%8B%E7%B3%BB%E5%88%97/
- http://www.appinventor.tw/mbit_button
- http://www.appinventor.tw/microbittemperature
- https://davistseng.blogspot.tw/2017/09/mit-app-inventor-app-ble-microbit.html
一、基本的藍芽連接設定
- 參考文章:http://www.astar-tek.com.tw/news/app-inventor-iot-basic-bluetooth-connection-setup/
- 進入 app inventor2 (http://ai2.appinventor.mit.edu)
- 建立一個新專案,命名為BasicIoTSetup
- 拉出一個【水平排列】的框
- 並在其中添加4個按鈕。重命名按鈕:ButtonScan,ButtonStopScan,ButtonConnect和ButtonDisconnect。
- 在【水平排列】下方添加一個標籤。 重命名LabelStatus並將其文本更改為 Status:
- 將ListView拉到Status:下方,並將其重命名為ListBLE
- 接下來,我們要安裝BluetoothLE擴展,點選import extension
- BluetoothLE extension 的連結網址 http://iot.appinventor.mit.edu/assets/edu.mit.appinventor.ble.aix
- 將【藍牙擴展】拖放到Screen1上,因為它是不可見的組件,所以它會顯示在Screen1的下方
- 接下來,點選Blocks開始寫程式了
- 當ButtonScan.Click
- 當 ButtonStopScan.Click
- 當 ButtonConnect.Click
- 當 ButtonDisconnect.Click
- 按Scan後,要列出可用的藍牙設備
- 與藍牙設備連接後
- 當藍牙設備斷線後
- 利用手機來測試,執行BasicIoTSetup
二、利用手機讀取 Microbit 的 Temperature
- 參考資料:http://www.astar-tek.com.tw/news/%E7%94%A8appinvnetor-%E5%AF%AB%E7%89%A9%E8%81%AF%E7%B6%B2%E7%9A%84%E7%AC%AC%E4%B8%80%E5%80%8B-app-%E5%BE%9E-microbit-%E8%AE%80-temperature/
- 使用App Inventor 寫程式來讀取micro:bit控制器上的溫度傳感器,藍牙程式同上
- 接下來加入讀取micro:bit 溫度的擴展功能 http://iot.appinventor.mit.edu/assets/com.bbc.microbit.profile.aix
- 產生很多micro:bit相關的東西,這次只讀取溫度,所以選擇Microbit_Temperature
- 好,開始來將與溫度有關的程式寫進去,點選Blocks開始寫程式了
- 當藍牙連接成功後,把溫度值也叫過來
-
- 當我們得到新數據時,讓我們製作一個新的副程式來顯示LabelData中的當前讀數。
- 當取得micro:bit 的溫度時
- 也可以不用這兩個,直接下面程式即可
- 程式完成,再將檔案下載到手機來測試
- 完成!
三、利用手機來控制 Microbit 的 LED顯示器
- 參考資料:http://www.astar-tek.com.tw/news/appinventor-iot-microbit-led/
- 使用App Inventor 寫程式來控制micro:bit上LED顯示器上的內容,藍牙程式同上
- 接下來加入讀取micro:bit LED的擴展功能 http://iot.appinventor.mit.edu/assets/com.bbc.microbit.profile.aix(同上,如果做過就不用再做一次)
- 產生很多micro:bit相關的東西,這次要控制LED,所以選擇Microbit_LED
- 在Microbit_Led1的“屬性”選項卡中,將BluetoothDevice設置為“BluetoothLE1”
- 開始來將與LED有關的程式寫進去,點選Blocks開始寫程式了
- 當 WriteLEDButton.Click
- 建一個畫笑臉的副程式
- 當 SmileyButton.Click
- 程式完成,再將檔案下載到手機來測試
- 測試完成,但畫笑臉好像有問題!
四、偵測到物體移動後,將訊號傳到手機上
- 以上為學習課程,照著別人的講義來做,接下來偵測到物體移動(micro:bit)後,將訊號傳到手機
- 這部分因不知如何呈現,所以學前面讀取溫度的方式來取得Accelerometer上X、Y、Z的值
- 使用App Inventor 寫程式來讀取micro:bit上Accelerometer上X、Y、Z的內容,藍牙程式同上
- 接下來加入讀取micro:bit Accelerometer的擴展功能 http://iot.appinventor.mit.edu/assets/com.bbc.microbit.profile.aix(同上,如果做過就不用再做一次)
- Accelerometer
- 作法同上,再增加三個Label來呈現X、Y、Z的值
- 程式的部分:
- 當藍牙連接成功後,把Accelerometer值也叫出來
- 增加X、Y、Z三個變數
- 顯示X、Y、Z的值
- 這樣就可以在手機顯示X、Y、Z的值了,再看後續要做何運用,再做處理!
五、其他
沒有留言:
張貼留言