Cordova アプリで BLE によるデータ取得を行おうとしたのですが、アプリと端末との接続ができません。
現在も引き続き対応中ですが、とりあえず途中経過をまとめ。
ちなみに、Android、iOS 共に失敗します。
なお、今回使用しているプラグインは「BluetoothSerial」です。
GitHub のページは下記からご確認ください。
GitHub – don/BluetoothSerial: Cordova (PhoneGap) Plugin for Serial Communication over Bluetooth
https://github.com/don/BluetoothSerial
今回参考にさせていただいた記事はこちらから。
Cordova アプリで Bluetooth 通信ができる cordova-plugin-bluetooth-serial を試した – Corredor
http://neos21.hatenablog.com/entry/2017/08/02/080000
で、上記記事を参考にして書いたコードは下記のとおりです。
window.bluetoothSerial.list(function(result) { result.map(function(device) { window.bluetoothSerial.connect(device.id, function() { console.log('デバイス接続 成功'); }, function(error) { console.log('デバイス接続 失敗'); console.log(error); }); }); }, function(error) { console.log(error); });
このコードだと、bluetoothSerial.list
でデバイスの一覧を取得することろまではできたのですが、その次の bluetoothSerial.connect
で失敗しています。
Android と iOS で bluetoothSerial.list
で取得できる値が違いますが、参考サイトによると、どちらも ID の項目の値を設定すればOKとのことだったのでそうしているのですが…。
何か設定などで抜けがないか引き続き調査したいと思います。
以上、Cordova アプリで BLE 通信ができない問題でした。
デバイス取得はできているので、あともう少しのはず!
解決策が分かったら、改めてまとめたいと思います。
追記:
プラグインを変更したら端末とアプリを接続することができました!
解決策を掲載したページはこちらから。
【Cordova】「BluetoothSerial」プラグインで端末との接続ができない時の対処法
ご参考になれば幸いです。