本文章教各位讀者如何用手機撰寫App Inventor的應用程式,並透過Buletooth Low Energy來遙控LinkIt 7697的的LED燈。
作者/攝影 | 曾吉弘 |
時間 | 1小時 |
成本 | |
難度 | * * * * |
材料表 |
|
本文要介紹如何藉由最近非常熱門的BBC Micro:bit開發板上的磁力感測器來控制App畫面上的小圖示轉動。Micro:bit板子上已經具備了BLE藍牙通訊功能,搭配app Inventor寫好的micro:bit extesion,就能有更多互動的效果。
藍牙配對
Micro:bit端設定:
- 同時按住Microbit 正面A、B按鍵,不要放掉
- 按住A、B鍵時,把背面的Reset 鍵按下後再放開。
- 這時應該可以看到 “PAIRING MODE!” 以跑馬燈方式出現在Microbit LED 螢幕上,若看到這訊息,便可以放開A、B鍵。
- PAIRING MODE! 結束後,會看到一個圖形出現在Microbit LED 螢幕上,不同的Microbit 出現的圖案也不同,這是Microbit 不同裝置獨特的”簽名” (Signature) 。
5.這時候的Microbit 已經準備好跟其他裝置配對,請看以下影片教學
Android手機端設定:
- 進入Android手機的設定–>藍牙
- 確認Micro:bit 已進入配對模式
- 當Micro:bit上的‘PAIRING MODE!’ 顯示完,搜尋(每隻Android手機這個選項的文字不一定相同,但意思差不多),應該會看到類似 micro:bit [XXXXX]的選項,其中XXXXX 會根據每片micro:bit而不同。點選該裝置來配對。
4.micro:bit 會出現向左的箭頭,然後Android裝置上會跳出畫面要求輸入配對PIN碼的視窗。
5.按住Micro:bit 的按鍵A ,這時microbit 會連續出現六個數字,這就是配對碼。
6.回到Android裝置上,輸入這六個數字。如果Microbit 出現[V],代表配對成功。如果是[X]代表沒成功,請再試一次。
編寫程式來取得Micro:bit磁力感測器
匯入BLE 與 micro:bit extension
請登入MIT App Inventor官方網站,建立新專案,在Designer葉面中點選Palette左下角的Extension,再點選”Import extension“與”URL:
- 貼入以下兩個 extension link:
- BLE: http://iot.appinventor.mit.edu/assets/resources/edu.mit.appinventor.ble.aix
- micro:bit: http://iot.appinventor.mit.edu/assets/com.bbc.micro:bit.profile.aix
- 請加入 Microbit_Magnetometer這個元件,這是一個非可視元件。並把它的 BluetoothDevice 屬性設為 “BluetoothLE1″。這步驟很容易忘記,別漏掉了
- 加入四個按鈕放入 horizontalArrangement元件中,分別用於掃描、停止掃描連線與斷線
- 加入1個顯示訊息用的label,用於顯示連線狀態
- 加入一個 ListVeiw,當掃描到鄰近的BLE裝置時會顯示在這裡 (到此與MIT所提供的基礎連線測試程式相同)
- 加入一個Canvas,寬高皆為320像素
- 在Canvas中加入一個ImageSprite,使用任何您喜歡的圖案都可以,在此使用MIT App Inventor新的小蜜蜂logo。
- 最後加入4個顯示訊息用的label,用於顯示連線狀態、X、Y、Z軸與方位角(bearing)
Blocks頁面
- 掃描與連線
在此的做法都差不多,先點選ScanButton來掃描鄰近可用的BLE裝置(以本專案來說目標是micro:bit,但當然也會出現其他裝置例如手機筆電之類的)。找到裝置之後就會出現在畫面中的ListView中,選取micro:bit後點選ConnectButton就可以連線(BluetoothLE.Connect指令)。
- 連線成功後開始更新磁力感測器值
在此設定更新速度(reporting period) 為20ms,並要求micro:bit開始回報方位角與各軸磁力資料更新。
- 顯示磁力偵測值並控制ImageSprite
在Microbit_Magnetometer1.MagnetometerBearingReceived與MagnetometerDataReceived事件中,我們取出各參數並顯示於對應的Label。並用X、Z軸數值來控制ImageSprite的X. Y座標,您可以改為其他的軸向資料或用於控制其他的效果,很多效果都可以嘗試。
斷線
斷線時會呼叫 bluetoothLE元件來中斷藍牙連線,確認斷線之後則顯示相關訊息。
完工了!來試試看吧。請確認您的Micro:bit與Android已經配對好了。按下按鈕應該可以看到畫面上有一些數字不斷跳動,試著拿個小磁鐵在Micro:bit附近晃晃(別拿太強的,弄壞我不負責喔),看看數字與小圖案的變化。試試看用 Micro:bit搭配 App Inventor 做出更多功能吧
相關文章:
- CAVEDU技術部落格之Microbit系列文章
- App Inventor中文學習網 – 物聯網教學專區
- MIT App Inventor IoT網站
- App Inventor中文學習網磁力感測器文件
完成如下圖: