🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Bluetooth

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

3047閲覧

Swift Bluetoothについて

EDM

総合スコア30

Bluetooth

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

1グッド

1クリップ

投稿2019/12/11 09:02

編集2019/12/12 06:33

今までの研究では
マイコンからシリアル通信をBluetoothで飛ばしAndroid側で受信、データに応じ表示を変えるというのを行っていました。(REX-BT60を使用)
今年度はそれをiPhoneで表示させるということで研究していました。
しかし、AndroidではBluetoothを受信できるのに、iPhoneでは受信できないことがわかり、そもそもREX-BT60がiOSに対応しておらず、ホームページで探してみても、iOSに対応しているBluetooth変換アダプタ―がなく、どうすればいいかとても困惑しております。

自分の中で解決方法を模索しているのですが、下記の解決方法は可能でしょうか?

1 シリアル通信をUSB to RS232 変換アダプタを使い、さらにUSBのメスメス中継アダプタを使用、USBのBluetoothアダプター(ドングル)でデータ通信を行う方法

2 REX-WF60を使用し、Bluetoothではなく、Wi-Fiを使用してデータ通信する方法

3 そもそもをあきらめ、遷移画面のデザインや、その他についてを完璧にしあげ、有線でデータを送り、そのデータに応じ画面遷移ができました~という結果で終わる

1についてはドングルがいろいろプロファイルに対応していましたが、iOSではシリアル通信のSPP?ができないのかな?できてもHIDとかでこれはキーボードの通信になるのかな?
ドングル事態Windowsとかに対応しているので、変換アダプターで無理やりやってもデータの送受信はできるのかな?

2については今まで、Bluetoothのことしかやってきていないので、どうやればいいのかまったくわかりません。BluetoothではCoreBluetoothを使用できましたが、Wi-Fiとなると何が使えるのか、わかりません。少し調べてみましたが、電波強度についてとかなので、私の研究とは違いました。また、wifiだと安定性、遅延などは大丈夫なのか?
マイコンからシリアル通信をwifiで送り、iPhoneでどう受信するのか?何を使えばいいのか?
教えてほしいです。

3については最終手段です

目指していた作品の概要としては
マイコンからデータ(0x00,0x01,0x02など)をBluetoothで送り、iPhoneがデータを受信、そのデータが0x00だったら0のページ、0x01だったら1のページに画面を遷移させる、5秒後トップページに戻る。再びデータを取得したらデータに応じ画面遷移という感じ。また、ログ確認画面で、なにからどのデータを取得したのか確認する画面も作成する予定でした。

REX-BT60
リンク内容
REX-WF60
リンク内容
ドングル
リンク内容

tomy-c👍を押しています

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

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

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

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

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

guest

回答2

0

REX-BT60の仕様では、Bluetooth version 2.1+EDR プロファイルはSPP2.1、なので、iOSとは接続できません。Bluetooth ver4.0以上か、HIDプロファイルならiOSで接続可能です。
Bluetooth Low Energy(ver4.0以上)で、組み直した方が良いと思います。マイコン側は、ESP32か、Arduino Primoをお勧めします。

ESP32を使うとなるとWiFiもありますので、WiFiで接続するという選択肢もあります。この場合、sockeで通信できます。

投稿2020/03/21 19:14

Himadeus

総合スコア81

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

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

0

ベストアンサー

興味深い質問です。
調査中では、このスレッドを見かけました:iPhone to RS-232 via Bluetooth
提案してくれた解決方法としては、MFiプログラムをジョインするか、オプション「3」で進める事です。「最終手段」で進めるとセキュリティーの問題は出てくるのではないかと思います。

数時間の調査の結果はBLEを使えばいかがですか?[MFiプログラム]外ですし、
ご参考:Working with Core Bluetooth in iOS 11

投稿2019/12/11 10:17

vanderlvov

総合スコア687

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

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

EDM

2019/12/12 02:47

MFiプログラムは希望していません。大学の研究なので。 オプション「3」とはどれの事でしょうか? BLEを使用するということですが、BLEはBluetoothの規格の一部なので、CoreBluetoothだけではだめなのでしょうか? BLEを使えば について具体的に説明をお願いすることはできますか? マイコンをペリフェラル、iPhoneをセントラルにして、マイコンから「検知して」という情報をBluetoothで発信、iPhoneがそれを検知、回線接続というものなのですが
vanderlvov

2019/12/12 03:14 編集

似ているけど、BLE != Bluetoothですね。特に使いたい端末はどんなBluetoothに対応しているかとあらかじめ確認した方がいいです。(REX-BT60だとversion 2.1かな、BLEは4以上)....。 そう、CoreBluetoothを使えそうですね。 マイコンをBLEペリフェラルにする事ができたら、回答にあるチュートリアル通りにコーディングすると解決できるはずです。 オプション「3」に関しては勘違いしました(次の段落の内容も入っていると思った)。ちなみに質問のフォーマットをこのサイトのガイドラインの通りに修正していただければと思います。 URLだと: [title](URL)、ヘッダー、リストなどもマークダウンの形式にすれば、読みやすくなります。
EDM

2019/12/12 03:32

iPhone5sなので、対応しているBluetoothは4.0ですね。ですが、REX-BT60がAndroidにしか対応していないので、結局無理だと思うのですが
vanderlvov

2019/12/12 04:02

AndroidとiOSを両方サポートする端末にすれば?
EDM

2019/12/12 04:25 編集

前々年度の先輩方がAndroidでアプリを完成しているので、それを今年度はiOS,iPhoneでというのが研究を始めた理由なので、使用する端末はiPhone5sとマイコン、etc 両方をサポートする端末とは? マイコンからシリアル通信をBluetoothで送る。しかし、Bluetoothで接続できる端末はAndroidしか対応しておらず、iOSに対応している変換アダプターはそもそもない。 じゃあ、iOsに対応している変換アダプターというとWiFiしかない。 少し調べていたら”multipeer connectivity framework ”というのがありましたが、CoreBluetoothのWiFi版みたいな理解でいいのでしょうか? でも、これiOS端末間みたいでマイコンとの通信はできないのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問