質問: お世話になります。 以前挙げた質問を自分なりに進めておりますが、根本的な部分で躓いているため、お助け頂けると非常にうれしいです。 よろしくお願いします。 ### 前提・実現したいこと Raspberry Pi上にBLEモジュールとシリアル通信を行うプログラムを作成しています。 1 GUIまたはCLIから($ hcitool cc [BD_ADDR]で)ペアリング 2CLIから($ rfcomm connect rfcommX [BD_ADDR] 1)でrfcommXに[BD_ADDR]のデバイスをspp接続 をしようとしています。 ### 発生している問題・エラーメッセージ 上記1、2それぞれにおいて問題が生じるので、解決方法を教えて頂けるとありがたいです。 1 GUIまたはCLIから($ hcitool cc [BD_ADDR]で)ペアリング (此方はrebootやhciconfig hci down,upで修正できることもありますが、確実に修正・回避する方法があれば知りたいです。) ``` Could not create connection: Input/output error ``` 2CLIから($ rfcomm connect rfcommX [BD_ADDR] 1)でrfcommXに[BD_ADDR]のデバイスをspp接続 (此方は失敗しつづけています) ``` Can't connect RFCOMM socket: Host is down ``` ### 試したこと reboot, hciconfig hci0の再起動 ### 補足情報(言語/FW/ツール等のバージョンなど) * Device: raspberry pi 3 * OS: Raspbian * BLE device: nordic uart(特に情報の発信はしていない)
回答: 2の件ですが、BLEでは、標準のSPPは、サポートされないと思います。 Nordic製チップでは、NUS(Nordic UART Service)というもので、エミュレーションしている、とのことで、それ用の通信アプリケーションが必要なようです。 TXとRXに、Characteristicをそれぞれ割り振ってやってるみたいですね。 ("UART/Serial Port Emulation over BLE"あたりで検索) なので、"rfcomm" では、接続できないと思います。