私はいくつかの場所で、広告パケットが距離の範囲内のすべてに送信されることを読んでいます。しかし、他のデバイスがそれらを受信するためにスキャンする必要がありますか、それともそれを受信しますか?BLEデバイスはスキャンしていないときに広告パケットを読み取りますか? (自動接続)
問題: 5または6個のBLEデバイス間にピコネットを確立しようとしています。ある時点で私は奴隷と1人のマスターの間にいくつかの関係を持っています。その後、デバイスの1つが数日の間に取り外されたりシャットダウンされたりすると、電源がオンになるとすぐにネットワークに再接続します。
自動接続機能については読んでいますが、これをtrueに設定すると、手動スキャンよりも実際には周波数が遅いバックグラウンドスキャンがデバイスに作成されます。これは、autoConnectが動作するためには、再びオンになっているデバイスを再度宣伝する必要があると結論づけます。したがって、自動接続が実際にバックグラウンドで低速スキャンを実行している場合は、何らかのスキャンをしない限り、すぐにadvパケットを受信することはできないようです。それは理にかなっていますか?
もしそうなら、その周りには何か方法がありますか?私は、範囲に即座に戻って来ているデバイスを検出することを意味しますか?
ありがとうございます。実際、私は瞬時に言うと少し誇張していました。ポイントは、このバックグラウンドスキャン(autoConnect = 1の場合)に1秒程度の間隔があることをどこかに読んだからです。それは私にとっては長すぎますが、300msは大丈夫でしょう。 autoConnectのスキャン頻度を上げることは可能ですか(少し優先させてください)。 –
あなたのデバイスとその実装によって異なります。仕様定義のスキャン期間は「推奨値」です。ファームウェア/スタックによって制限が適用される場合とされない場合があります。参照してください。 – Nipo
私はスキャン時にこの不一致の可能性も考えていました。私は広告主が広告を継続的に宣伝するように設定して、マスターがその時間枠で広告を見ない可能性はあまりありません。しかし、最小の広告間隔は20msと思われる。あなたはこれもデバイス/スタックに依存していると思いますか、おそらく私は20ms以下にはならないでしょうか? –