pande
@pande1104
說
Mon, Nov 26, 2018 3:11 PM
(LEGO) EV3藍牙連線基礎測試,進階應用實測記錄
pande
@pande1104
說
Tue, Nov 27, 2018 3:07 PM
Bluetooth Connection Block
- On
- Off
- Initiate
- Clear
pande
@pande1104
說
Tue, Nov 27, 2018 3:08 PM
» 藍牙連線操作可寫入主機
pande
@pande1104
說
Tue, Nov 27, 2018 3:09 PM
Tue, Nov 27, 2018 5:20 PM
» 執行中 [連線Block] 回報錯誤訊息
主要是因為 [藍牙清單] 中沒有該裝置
pande
@pande1104
說
Tue, Nov 27, 2018 3:11 PM
» 斷線(Clear)可以不指定主機名稱
連線(Initiate)一定要指定主機名稱,才能有效運作
pande
@pande1104
問
Tue, Nov 27, 2018 3:35 PM
斷線(Clear)如果不指定,會一次斷多台嗎?
答:一次斷一台。依照藍牙清單上的先後順序切斷。
pande
@pande1104
好奇
Tue, Nov 27, 2018 4:11 PM
Tue, Nov 27, 2018 4:47 PM
用Slave做連線(Initiate)動作,會改變成master嗎?
【Master-slave架構&連線(Ininiate)】
答:
- 如果對象已經連線(無論是master/slave),對象不會做反應
- 如果對象是自己的master,連線(Initiate)不會送出
- 只要對象不是自己的master:
先切斷自己的master,再發連線(Initiate)
‧ 如果對象已經連線,對象不會做反應 → 維持斷線
‧ 如果對象尚未連線 → 做為master建立新連線
pande
@pande1104
覺得
Tue, Nov 27, 2018 4:12 PM
有戲
(腦洞
pande
@pande1104
說
Tue, Nov 27, 2018 4:54 PM
Tue, Nov 27, 2018 5:22 PM
此時
無論新架構有沒有建立,都不會再對連線做反應
任何新建立的連線架構,藍牙傳訊(Message)功能都失常
→ 關閉(Off)再開啟(On)就會回復正常 (如果還能關閉的話)
(Bug狀態)
所以總結
用Slave做連線動作,會造成主機藍牙相關功能當機
正確操作方式是,先將master斷線(Clear)
不是Slave了,再做新的連線(Initiate)
pande
@pande1104
分享
Tue, Nov 27, 2018 4:54 PM
[測試實境圖像描繪]
» 藍牙開啟,執行 [On] 不額外等待
藍牙關閉,執行 [On] 需額外等待時間
» 藍牙開啟or關閉,執行 [Off] 皆不需額外等待
» 藍牙清單中沒有該裝置,執行 [Initiate] 會回報錯誤訊息
» 執行 [Initiate] 需額外等待時間
裝置已連線,執行 [Initiate] 不需額外等待
» 執行 [Clear] 需額外等待時間
已無連線中的裝置,執行 [Clear] 不需額外等待
» 藍牙關閉,執行 [Initiate]或[Clear] 皆回報錯誤訊息
載入新的回覆
- On
- Off
- Initiate
- Clear
主要是因為 [藍牙清單] 中沒有該裝置
連線(Initiate)一定要指定主機名稱,才能有效運作
答:一次斷一台。依照藍牙清單上的先後順序切斷。
【Master-slave架構&連線(Ininiate)】
答:
- 如果對象已經連線(無論是master/slave),對象不會做反應
- 如果對象是自己的master,連線(Initiate)不會送出
- 只要對象不是自己的master:
先切斷自己的master,再發連線(Initiate)
‧ 如果對象已經連線,對象不會做反應 → 維持斷線
‧ 如果對象尚未連線 → 做為master建立新連線
無論新架構有沒有建立,都不會再對連線做反應
任何新建立的連線架構,藍牙傳訊(Message)功能都失常
→ 關閉(Off)再開啟(On)就會回復正常 (如果還能關閉的話)
(Bug狀態)
所以總結
用Slave做連線動作,會造成主機藍牙相關功能當機
正確操作方式是,先將master斷線(Clear)
不是Slave了,再做新的連線(Initiate)
» 藍牙開啟,執行 [On] 不額外等待
藍牙關閉,執行 [On] 需額外等待時間
» 藍牙開啟or關閉,執行 [Off] 皆不需額外等待
» 藍牙清單中沒有該裝置,執行 [Initiate] 會回報錯誤訊息
» 執行 [Initiate] 需額外等待時間
裝置已連線,執行 [Initiate] 不需額外等待
» 執行 [Clear] 需額外等待時間
已無連線中的裝置,執行 [Clear] 不需額外等待
» 藍牙關閉,執行 [Initiate]或[Clear] 皆回報錯誤訊息