質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Bluetooth

Bluetoothとは短距離の間でデータを交換するための無線通信規格である。固定・モバイル両方のデバイスから、短波の電波送信を行うことで、高いセキュリティをもつパーソナルエリアネットワーク(PAN)を構築する。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

1回答

5855閲覧

raspberry piでbleモジュールとの接続に失敗する。

hamar1

総合スコア26

Bluetooth

Bluetoothとは短距離の間でデータを交換するための無線通信規格である。固定・モバイル両方のデバイスから、短波の電波送信を行うことで、高いセキュリティをもつパーソナルエリアネットワーク(PAN)を構築する。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2017/01/30 08:02

お世話になります。
以前挙げた質問を自分なりに進めておりますが、根本的な部分で躓いているため、お助け頂けると非常にうれしいです。
よろしくお願いします。

###前提・実現したいこと
Raspberry Pi上にBLEモジュールとシリアル通信を行うプログラムを作成しています。
① GUIまたはCLIから($ hcitool cc [BD_ADDR]で)ペアリング
②CLIから($ rfcomm connect rfcommX [BD_ADDR] 1)でrfcommXに[BD_ADDR]のデバイスをspp接続
をしようとしています。

###発生している問題・エラーメッセージ
上記①、②それぞれにおいて問題が生じるので、解決方法を教えて頂けるとありがたいです。
① GUIまたはCLIから($ hcitool cc [BD_ADDR]で)ペアリング
(此方はrebootやhciconfig hci down,upで修正できることもありますが、確実に修正・回避する方法があれば知りたいです。)

Could not create connection: Input/output error

②CLIから($ 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(特に情報の発信はしていない)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

②の件ですが、BLEでは、標準のSPPは、サポートされないと思います。

Nordic製チップでは、NUS(Nordic UART Service)というもので、エミュレーションしている、とのことで、それ用の通信アプリケーションが必要なようです。
TXとRXに、Characteristicをそれぞれ割り振ってやってるみたいですね。
("UART/Serial Port Emulation over BLE"あたりで検索)

なので、"rfcomm" では、接続できないと思います。

投稿2017/01/31 22:34

mt08

総合スコア1825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hamar1

2017/01/31 23:59

mt08様 回答ありがとうございます。 改めて調べ直し、BluetoothとBluetooth LEの違いをようやく理解できました。ありがとうございます。 NUSの使い方に関して調べ直してみたく思います。 ①の件はccでもleccでもエラーがたまにおきておりますが、もうしばらく調査してみます。
mt08

2017/02/01 00:41

hamar1さん、 adfruitから出ているBluefruit LE UART Friend(nRF51822を使用したのBLEのUARTモジュール?)は、Bluez5 + Pythonで操作できるライブラリが出てるようです。 > https://cdn-learn.adafruit.com/downloads/pdf/bluefruit-le-python-library.pdf たしか、BLE側のファームウェアのソースを配布してないので、このメーカーの製品を買わないと使えなかったと思います。 あと、どのような用途に使われるか分かりませんが、BLEだと速度は出ないので、そのような用途には向きません。素のデータ通信(=圧縮なし)で、実質5kbps程度くらいでればいいかと..
hamar1

2017/02/01 01:51

ありがとうございます。参考にさせて頂きます。 用途としては数十byteの簡単なデータの送受信を考えていますので、速度は5kbpsでも十分です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問