亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        APP Invertor編程讓Micro:bit板連接手機(jī)

        2020-07-15 06:12:41白二娃
        電腦報(bào) 2020年24期
        關(guān)鍵詞:邏輯設(shè)計(jì)列表藍(lán)牙

        白二娃

        我們已經(jīng)用Micro:bit做過不少編程試驗(yàn),也用APP Invertor編寫過手機(jī)APP。今天我們將兩者結(jié)合起來,編寫一個(gè)APP,讓安卓手機(jī)和Micro:bit通過藍(lán)牙連接起來。由于實(shí)現(xiàn)兩個(gè)設(shè)備連接后進(jìn)行基礎(chǔ)交互的代碼量較多,篇幅所限我們僅實(shí)現(xiàn)兩設(shè)備通過藍(lán)牙掃描和連接。后續(xù)實(shí)現(xiàn)交互的代碼您可以在掃碼下載源代碼后自行分析學(xué)習(xí)。

        一、 器材列表

        1. 安卓手機(jī)

        2. Micro:bit板及數(shù)據(jù)線

        3. APP Inventor編程平臺app.gzjkw.net或ai2.17coding.net

        4. 擴(kuò)展下載網(wǎng)站iot.appinventor.mit.edu

        5. Micro:bit編程平臺makecode.microbit.org

        二、 下載項(xiàng)目擴(kuò)展

        為了更好兼容Micro:bit的低功耗藍(lán)牙,我們沒有使用APP Invertor自帶的藍(lán)牙連接組件,而是添加了新的藍(lán)牙擴(kuò)展。

        打開APP Invertor的支持網(wǎng)站(iot.appinventor.mit.edu)。在左邊Internet of Things菜單中可以找到BluetoothLE和BBC Micro:bit頁面。

        1. BluetoothLE是APP Invertor專用的低功耗藍(lán)牙擴(kuò)展。在BluetoothLE頁面中點(diǎn)擊“Download the BluetoothLE extension ”把.aix擴(kuò)展文件下載到本地備用,也可以復(fù)制aix文件的網(wǎng)絡(luò)地址(http://iot.appinventor.mit.edu/assets/resourc

        es/edu.mit.appinventor.ble-201907

        01.aix)在導(dǎo)入項(xiàng)目擴(kuò)展時(shí)填入。

        安裝該擴(kuò)展后可以讓APP Invertor編寫的程序通過手機(jī)藍(lán)牙搜索和連接低功耗藍(lán)牙設(shè)備,并進(jìn)行通信。

        2. 在BBC Micro:bit頁面中,點(diǎn)擊“Download the BBC Micro:bit extension”可以下載到Micro:bit的專用擴(kuò)展?;蛟趯?dǎo)入擴(kuò)展時(shí)直接填寫下載網(wǎng)址(http://iot.appinventor.mit.edu/assets/resources/SimpleMicrobit.aix)。APP Invertor安裝該擴(kuò)展后可以在手機(jī)連接后與Micro:bit板上的按鈕、引腳、LED等設(shè)備交互。

        本例中我們僅需要實(shí)現(xiàn)兩個(gè)設(shè)備的藍(lán)牙連接,無需用手機(jī)與Micro:bit板做更多交互,因此只有需要測試有交互功能的源代碼MicrobitLED.aia時(shí)才需要安裝。

        三、 組件設(shè)計(jì)

        我們需要APP有搜索、連接、斷開等按鈕,有顯示周圍藍(lán)牙設(shè)備的列表,有顯示當(dāng)前狀態(tài)的文字。選擇搜索到的Micro:bit設(shè)備后點(diǎn)連接可以通過藍(lán)牙實(shí)現(xiàn)連接,點(diǎn)斷開可以斷開藍(lán)牙(如圖1)。

        1. 登錄app.gzjkw.net,新建項(xiàng)目lanya,在APP Invertor組件面板的最后一項(xiàng)Extension——擴(kuò)展中導(dǎo)入下載的項(xiàng)目擴(kuò)展文件edu.mit.appinventor.ble-20190701.aix,也可直接填入網(wǎng)址安裝擴(kuò)展包。

        2. 將BluetoothLE拖入工作面板。

        3. 界面布局→水平布局,水平對齊→居中,寬度→充滿;從用戶界面拖入3個(gè)按鈕,組件列表中改名為“掃描、連接、斷開”,并修改按鈕文本為相應(yīng)名稱。

        4. 用戶界面→標(biāo)簽,修改標(biāo)簽名和標(biāo)簽文本為“狀態(tài)”,用于顯示當(dāng)前藍(lán)牙狀態(tài)。

        5. 用戶界面→列表顯示框,改名為“藍(lán)牙列表”,用于顯示和選擇搜索到的藍(lán)牙設(shè)備列表。

        四、 掃描按鈕邏輯設(shè)計(jì)

        我們希望APP可以掃描可用的藍(lán)牙設(shè)備。當(dāng)點(diǎn)擊掃描按鈕,調(diào)用藍(lán)牙組件開始掃描,并更改狀態(tài)標(biāo)簽,顯示列表。

        1. 切換至邏輯設(shè)計(jì)界面。

        2. 組合模塊。掃描按鈕→當(dāng)掃描被點(diǎn)擊執(zhí)行。

        3. BluetoothLE1→調(diào)用BluetoothLE1.StartScanning。組合積木:狀態(tài)→設(shè)置狀態(tài).文本為和文本→文本中填入“狀態(tài):掃描”。

        4. 組合積木:藍(lán)牙列表→設(shè)置藍(lán)牙列表.可見性為和邏輯→真。設(shè)計(jì)這個(gè)可見性邏輯判斷是為了連接成功后可以隱藏列表,因?yàn)槿绻浇泻芏嗨{(lán)牙設(shè)備,列表會很長(如圖2)。

        五、 藍(lán)牙列表邏輯設(shè)計(jì)

        我們需要在列表中列出周圍所有可用的藍(lán)牙設(shè)備。

        1. 組合模塊。BluetoothLE1→BluetoothLE1.DeviceFound,當(dāng)掃描到可用藍(lán)牙設(shè)備時(shí)。

        2. 組合積木:藍(lán)牙列表→設(shè)置藍(lán)牙列表.元素字串為和BluetoothLE1→BluetoothLE1.DeviceList(如圖3)。

        六、 連接按鈕邏輯設(shè)計(jì)

        我們希望實(shí)現(xiàn)在列表中選中設(shè)備名稱后,點(diǎn)擊“連接”按鈕后通過藍(lán)牙連接Micro:bit。

        1. 組合模塊。連接按鈕→當(dāng)“連接”被點(diǎn)擊。

        2. 調(diào)用BluetoothLE1→Bluetoo

        thLE1.StopScanning,停止掃描設(shè)備。

        3. 組合積木:調(diào)用BluetoothLE1

        →BluetoothLE1.連接,藍(lán)牙列表→選中項(xiàng)索引。通過藍(lán)牙連接選中的設(shè)備。

        4. 設(shè)置狀態(tài).文本為“狀態(tài):連接中”。在手機(jī)中標(biāo)明當(dāng)前連接狀態(tài)(如圖4)。

        七、 表示成功連接

        當(dāng)成功連接設(shè)備時(shí),我們希望通過狀態(tài)文本獲知連接已經(jīng)成功,并關(guān)閉藍(lán)牙設(shè)備列表。

        1. 組合模塊。BluetoothLE1→當(dāng)BluetoothLE1.Connected。

        2. 設(shè)置狀態(tài).文本為“狀態(tài):已連接”。

        3. 設(shè)置藍(lán)牙列表可見性為“假”,關(guān)閉藍(lán)牙設(shè)備列表(如圖5)。

        八、 斷開按鈕邏輯設(shè)計(jì)

        點(diǎn)擊斷開按鈕后,我們希望手機(jī)斷開設(shè)備連接,并通過顯示當(dāng)前狀態(tài)確認(rèn)斷開按鈕有效。

        1. 組合模塊。斷開按鈕→當(dāng)“斷開”被點(diǎn)擊。

        2. BluetoothLE1→調(diào)用Bluetoot

        hLE1.斷開連接。

        3. 組合模塊。BluetoothLE1→BluetoothLE1.Disconnected。

        4. 設(shè)置狀態(tài)文本為“狀態(tài):已斷開”(如圖6)。

        九、 出錯(cuò)時(shí)邏輯設(shè)計(jì)

        程序運(yùn)行中可能會遇到各種錯(cuò)誤,如果程序沒有閃退的情況下我們希望能知道報(bào)錯(cuò)信息。

        1. 組合模塊。Screen1→當(dāng)“Screen1”出現(xiàn)錯(cuò)誤。

        2. 設(shè)置狀態(tài)文本為和文本→合并字符串,連接文本“錯(cuò)誤:”和出現(xiàn)錯(cuò)誤模塊本身的“消息”→“取消息”(如圖7)。

        十、 給Micro:bit編程

        手機(jī)中的程序還需要Micro:bit中的程序配合。當(dāng)藍(lán)牙連接和斷開時(shí)在LED屏幕上顯示圖像作為連接成功的標(biāo)示。

        1. 在https://makecode.microbit.org/中編寫程序。新建項(xiàng)目。

        2. 設(shè)置Micro:bit藍(lán)牙連接方式為免配對連接,這樣任何設(shè)備都可以連接Micro:bit板且無需輸入密碼,這樣可以節(jié)約調(diào)試時(shí)間,而且APP中我們也沒有寫配對相關(guān)的語句。

        點(diǎn)擊右上角齒輪圖標(biāo)→項(xiàng)目設(shè)定→打開No Pairing Required: Anyone can connect via Bluetooth選項(xiàng)。

        3. 添加藍(lán)牙擴(kuò)展。

        4. 編程當(dāng)藍(lán)牙連接時(shí)和斷開時(shí)顯示不同圖標(biāo)(如圖8)。

        十一、 連接調(diào)試

        現(xiàn)在,在APP Invertor中將程序打包APK,手機(jī)掃二維碼下載安裝,給APP啟動藍(lán)牙授權(quán)。將Micro:bit程序刷入Micro:bit板中。

        手機(jī)打開APP,點(diǎn)擊掃描,看藍(lán)牙列表是否正常。在藍(lán)牙列表中選擇Micro:bit,點(diǎn)擊連接按鈕。開始Micro:bit與手機(jī)藍(lán)牙連接。通過手機(jī)上狀態(tài)顯示和Micro:bit的LED顯示圖標(biāo)判斷連接是否成功。

        根據(jù)我的試驗(yàn),程序可能出現(xiàn)連接易斷開或在部分手機(jī)上出現(xiàn)閃退等問題。這可能是因?yàn)镸icro:bit本身運(yùn)算處理能力不足造成藍(lán)牙斷開,或是APP Invertor擴(kuò)展對一些型號的手機(jī)兼容性不好導(dǎo)致閃退。你可以更換其他品牌手機(jī),或者根據(jù)iot.appinventor.mit.edu對擴(kuò)展包的詳細(xì)說明來優(yōu)化程序。

        如果經(jīng)過努力連接成功后你還有興趣,可以繼續(xù)添加拓展功能,比如點(diǎn)擊按鈕發(fā)送文本或預(yù)設(shè)的圖標(biāo)到設(shè)備中顯示等。

        掃描本版二維碼后你可以下載到實(shí)現(xiàn)基礎(chǔ)連接的源代碼lanya.aia和有交互的源代碼MicrobitLED.aia。

        猜你喜歡
        邏輯設(shè)計(jì)列表藍(lán)牙
        巧用列表來推理
        藍(lán)牙音箱的直線之美
        學(xué)習(xí)運(yùn)用列表法
        擴(kuò)列吧
        簡單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
        火電機(jī)組公用電泵系統(tǒng)介紹及邏輯設(shè)計(jì)
        電子制作(2018年12期)2018-08-01 00:47:44
        適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
        提高火力發(fā)電廠熱工保護(hù)可靠性方案與策略探討
        緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
        玩具世界(2017年8期)2017-02-06 03:01:38
        排課系統(tǒng)中數(shù)據(jù)庫表的設(shè)計(jì)
        科技資訊(2015年15期)2015-06-29 17:31:46
        国产亚洲精选美女久久久久 | 视频在线亚洲视频在线| 精品人妻码一区二区三区剧情| 永久黄网站免费视频性色| 精品国产一区二区三区久久久狼 | 亚洲国产大胸一区二区三区 | 日产一区二区三区的精品| 十八禁视频在线观看免费无码无遮挡骂过 | 精品久久综合一区二区| 日本一区二区三区激视频| 亚洲中文字幕日产无码| 色一情一乱一伦一区二区三区日本| 国产精品短视频| 亚洲视频在线中文字幕乱码| 91精品国产综合久久熟女| 激情影院内射美女| av无码天一区二区一三区| 亚洲熟女一区二区三区不卡| 精品无码av无码专区| 一区二区三区国产亚洲网站| 一区五码在线| 国产女人av一级一区二区三区| 国产一区二区三区小说| 亚洲中文无码永久免| 无码AⅤ最新av无码专区| 美丽小蜜桃1一3在线观看| 国产伦理一区二区| 91综合在线| 国产免费一区二区三区三| 精品无码久久久久久久久水蜜桃| 色婷婷久久一区二区三区麻豆| 国内精品福利在线视频| 精品人妻少妇丰满久久久免| 久久精品国产精品青草| 欧美午夜a级精美理论片| 免费无码高潮流白浆视频| 少妇极品熟妇人妻无码| 日韩精品极品免费观看| 国产亚洲精品国产精品| 亚洲欧美成人一区二区在线电影| 国产精品国产三级国产av创|