2

私の質問はソフトウェアに関するものではなく、テクノロジーに関するものです。BLE は私のシステムのソリューションだと思いますが、それがどのように機能するか、ペアリングがどのように機能するかはわかりません。

それぞれにいくつかのセンサーを備えた4つのデバイスを備えたシステムを投影しています。デバイス A1 と A2 には同じセンサーがあり、互いに独立しており、異なるデータを読み取ります。それらの 1 つが臨界値を読み取ると、ノイズが発生します。

デバイス B1 と B2 には同じセンサーがあり、近くにあり、互いに依存しています。つまり、B1 の値が B2 より高いか、またはその逆かを知る必要があります。値が大きいデバイスほどノイズが発生します。

----         ------------           ----
|A1| ------> |smartphone |  <-----  |B1| <--|
----          ------------          ----    |
                ^     ^                     |
----            |     |             ----    |
|A2|  ----------|     |-----------  |B2| <--|
----                                ----

これらのデバイスはすべて互いに近くにあり、1 日の終わりにスマートフォンと同期して、読み取ったすべてのデータを保存します。

センサーとスマートフォンを接続するにはどうすればよいですか?どちらがより高い値を持っているかを知るために、B1 と B2 を通信させる必要があります。次に、それらすべてをスマートフォンに通信​​させてデータを収集する必要があります。

各デバイスに 1 チップの Bluetooth Low Energy で十分ですか? 同じチップを使用して、デバイス間およびスマートフォンと通信できますか (異なる瞬間に) ?

ペアリング プロセスについてよくわかりません。毎回デバイスをスマートフォンに関連付けたり、関連付けを解除したりする必要がありますか? それとも、B1 を 2 チップの BLE でマスターとして、1 つはスマートフォン用、もう 1 つは B2 と通信する方が良いですか?

4

1 に答える 1

2

BLE では、接続を確立するために、一方のデバイスがサーバーであり、もう一方がクライアントである必要があります。サーバーがサーバーと通信したり、クライアントがクライアントと通信したりすることはできません。ただし、デバイスはサーバー プロトコルとクライアント プロトコルの両方を実装できます。

B1 と B2 が同一で、サーバー インターフェイスまたはクライアント インターフェイスのいずれかのみを実装している場合、それらは互いに通信できません。B1 と B2 を設計制御できる場合は、サーバー プロトコルとクライアント プロトコルの両方を実装するように設計し、自動的に相互に通信して、どちらがより高い価値を持っているかをそれぞれ更新することができます。しかし、なぜスマートフォンが B1 と B2 の両方の値を取得して、どちらを保持するかを決定できないのでしょうか。次に、B1またはB2にコマンドを送信してノイズを発生させることもできます。

BLE 接続は非常に一時的なものであるため、1 つの BLE チップで多くの接続を管理できます (内部ソフトウェアがサポートしている場合は、複数の同時接続を処理できる場合があります)。

B1 と B2 にどちらの広告パケットを送信するかを決定する場合、測定データを広告パケットに含めるだけで、両方の広告パケットをリッスンします。この場合、ネゴシエートされた接続を確立する必要はまったくありません。各デバイスは、BLE の「近くのデバイス」スキャンを継続的に実行しているだけです。次に、スマートフォンが届くと、それぞれが電話とのネゴシエーションされた接続を個別に確立し、データをアップロードできます。

于 2016-02-17T21:17:50.333 に答える