問題タブ [spp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Android アプリが 30 秒後に Bluetooth 2 SPP データ ストリームをドロップする
問題。 Android アプリの Bluetooth 2 SPP 接続を介したデータ ストリームが約 30 秒後にハングする
環境。 Atmega 1284P マイクロコントローラーによって制御されている Bluetooth 2 RN-41 モジュールにクライアントとして Android 4.3 (第 1 世代 nexus 7) を実行している Android タブレットを接続しようとしています。マイクロコントローラは USART ラインを介して Bluetooth モジュールにデータをプッシュしているだけで、モジュールへの接続に成功し、そのデータの一部を Android アプリケーションでストリーミングしています。ただし、約 30 秒後にデータ ストリームが停止することに気付きました (接続は持続しているように見えますが)。これは私を夢中にさせており、何が悪いのかよくわかりません。私は初心者の Android 開発者です。助けてくれてありがとう!
アンドロイドコード。コード量を短縮するために、else といくつかのキャッチを取り除き、コードを論理的なコメント セクションに分割しようとしました。私はこれに慣れていないので、私のコードがばかげている場合は申し訳ありません!
リサーチ。運が悪い記事をいくつか読んだ。例: への Android Bluetooth SPP 接続が数秒後に切断されたように見える
android - A&D UA-767PBT 血圧に接続
A&D Medical UA-767PBT (末尾の「C」なし) からシンプルな Android アプリまで測定する必要があります。UA-767PBT は SDP と SPP を使用してアクセス ポイント (私の Android タブレット) と通信します。サービス名、タラフィルター、ピンがあります。出発点のように BluetoothChat の例を使用しました。適切なサービス名、SPP UUID を使用して「listenUsingRfcommWithServiceRecord」を変更し、反映されたピンを設定しましたが、アプリはまだ「デバイスに接続できません」と言っています。私はここで読んだことがありますデバイスが ポートの問題について何かを発見できない限り、着信Bluetooth接続を受け入れることができませんが、これらのことを行う方法がわかりません。
誰かがこのデバイスに接続できたので、ヒントや例を教えてください。
ありがとう
PS A&D UA-767PBT-C に簡単に接続できました。
PPSと私の英語でごめんなさい:D
ios - SPP を使用して iOS デバイスを Bluetooth デバイスに接続する
私はiOSデバイスの通知を表示する1つの時計に取り組んでいます..
- インストール済みアプリの通知を表示する
- 着信通知を表示
- 表示メッセージ通知..など
私はいくつかの記事を読み、GATT と ANCS について知りました。この 2 つだけで、他の Bluetooth デバイスに iOS デバイスの通知を表示するのに十分です。
汎用属性 (GATT) プロファイル : https://developer.bluetooth.org/TechnologyOverview/Pages/GATT.aspx
Apple 通知センター サービス (ANCS): https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Introduction/Introduction.html
iOS デバイスの通知を処理するのに iOS アプリケーションは必要ないということですか?
現在、私の時計は SPP で構築されていますが、それを変更する必要はありますか?
また、MFi プログラム ( https://developer.apple.com/programs/mfi/ )に申し込む必要があることも知りました。
上記の考えを持った私の時計にMFiは必要ですか?
任意の提案をいただければ幸いです。
前もって感謝します
android - Android Bluetooth SPP - 内部送信バッファの送信を停止するには?
Android SPP Bluetoothソケットインターフェイスを使用して、Androidフォンからモーターを「できるだけ近い」リアルタイムで制御/操作しようとしています。モーターは、いわゆる「デッドマン」動作モードで動作する必要があります。そのため、アンドロイドアプリのボタンに触れた場合にのみモーターが回転し、タッチを離すとすぐに停止するはずです。
これを実装するには、約 20 ミリ秒ごとに 20 バイトの「回転し続ける」テレグラムを連続的に送信して、モーターの回転を維持し、テレグラムが受信されなくなるか、または STOP テレグラムが受信されるとすぐにモーターを停止させます。
これは、一部の電話では問題なく機能しているように見えますが、MotionEvent.ACTION_UP イベントが処理されてデータが送信されなくなった後でも、「回転し続ける」テレグラムを送信し続ける電話もあります。
これは、送信データをキャッシュし、バッファが空になるまで送信を続ける内部バッファが原因であると考えられます。
簡単な質問:
- BT ストリーム送信バッファを消去して、すべてのデータ転送をすぐに停止する方法はありますか?
- または、送信バッファのフィル レベルを取得できますか?
- または、ストリームを開くときにバッファ サイズを指定する方法はありますか?
ネットを検索しても、バッファ管理の BT ストリーム バッファ サイズに関する記述は見つかりませんでした。
そして、はい、読み取りおよび書き込み機能をスレッドとして実装しました。すべてのテレグラムの読み取りに問題はありません。テレグラムをリアルタイムで配信する必要はありませんが、「回転し続ける」テレグラムの送信を停止できるはずです。 50~100ms。
どんなヒントでも大歓迎です。
android - 他の計算を行っている間に Bluetooth パケットが失われる
Android デバイスと WT-12 Bluetooth モジュールが RFCOMM 経由で通信しています。私のデータ転送速度はおよそ 180kbps です。データを取得するだけで、オンラインで処理しなければ、データに問題はありません。ただし、カウンターを使用してデータを計算しようとすると、データが失われる可能性があります。バッファーを読み取る前に書き込まれるため、発生していると思います。これを回避する方法はありますか?Bluetooth経由でデータをキャプチャする私のコードは次のとおりです。