/ / ArduinoとのBluetooth経由のAndroid通信 - Android、Bluetooth、Arduino

ArduinoとBluetoothによるAndroid通信 - Android、Bluetooth、Arduino

Bluetoothの直後にAndroidからArduinoにコマンド文字列を送信しようとすると

接続が確立されると、Arduinoは応答文字列を送信しません[おそらく

Arduinoは何も得ていない]。

しかし、私はメソッドを書く前にThread.sleep(1000)メソッドを置くと、それは動作します...

何が問題ですか?

Bluetooth接続設定がまだ始まらないうちにメッセージを送信しようとしていますか

準備ができている?

回答:

回答№1は1

それを次のように考える:卓球が速すぎてボールが失われている。

執筆前に読んだり読んだりする前に書いていると、エラーが発生して文字列が失われます。

だから、それを解決する一つの方法は、Thread.sleep

詳細:

これは、あなたの arduino まだです sending あなたが android 実際に受け取った。その間 thread.sleep (1000)、 きみの arduino それを認識した android 受け取った receive モード。それで、文字列はあなたから読めるのです arduino 1秒後に

必要に応じて、Arduinoができるだけ早く受信できるように送信をループすることができます。しかし、冗長文字列を受け取るようなループが続く場合もあります。


回答№2の場合は1

しかし、writeメソッドの前にThread.sleep(1000)メソッドを置くと、

Thread.sleepの後に複数の書き込みを行い、接続が確立されたとき、または書き込みごとに問題が発生するかどうかを確認してください。

とにかく、私の経験によって、私はあなたにいくつかのことを警告します:

  • ボーレートが高すぎる場合は、それを下げてみてください。
  • どんな種類のI / Oバッファリングも実装していない、安価なArduino Bluetoothモジュールを認識してください。
  • あなたのアプリからデータを読み込む部分Arduinoは、(I / O操作のような)時間がかかる何らかのものをやっている、あるいは単純に過度のものをしているのでシリアルの一部のデータが失われてしまう。
  • Bluetooth Low Energyを使用している場合は、20バイトに制限されています。より多くのデータを送信すると、データは失われます。

それはあなたのコードの一部に便利です!