請問在 BLEUartServer 和 BLEUartClient 的範例程式碼中,只有一次互相連線的內容,即只會scan一次,找到符合條件之裝置並連線後,如果裝置間斷掉連線,裝置互相就不會再進行第二次或更多次的自動scan。
請問是否有辦法讓裝置在斷線後,自動重新搜尋裝置以連線呢?謝謝。
請問在 BLEUartServer 和 BLEUartClient 的範例程式碼中,只有一次互相連線的內容,即只會scan一次,找到符合條件之裝置並連線後,如果裝置間斷掉連線,裝置互相就不會再進行第二次或更多次的自動scan。
請問是否有辦法讓裝置在斷線後,自動重新搜尋裝置以連線呢?謝謝。
@thLU 您好,
關於您的問題我做了如下測試
在兩個 AMB23 開發板中分別運行 BLE UART Client [CENTRAL
], BLE UART Service [PERIPHERAL
] 的範例
先運行 BLE UART Service 進行 BLE PERIPHERAL
端的advertisement, 再運行 BLE UART Client 進行CENTRAL
端的 Scan, Discover 和連接
斷電運行BLE UART Client CENTRAL
的 AMB23 幾秒之後, BLE UART Services 端的log截圖顯示 PERIPHERAL
重新自動開始 advertisement(出現紅色 log 然後藍色log)。證明斷開后自動連接的機制存在,但事實上PERIPHERAL
方向上的。再次打開BLE UART Client CENTRAL
的 AMB23后會顯示重新連接到(詳情見下圖)
但是驗證反方向斷電 BLE PERIPHERAL
時,CENTRAL
并不會 rescan。這是因爲底層程式碼沒有寫入這個機制。
所以想先請問您,上述的第一種重連符合您的專案需求嗎?
謝謝
可以在loop里面跑
@dakamaster 您好,
首先感謝您的回覆,目前關於第一個重連部分,我需要一些時間去進行確認及資訊的消化。
我這邊遇到的情況因為正好屬於第二個central不會rescan的情況,所以可能需要些時間去釐清更多資訊,再看看是否有其他的解決辦法。
若後續有更新一步的進展或問題,有機會會再來進行更多的討論,謝謝。