質問: データ送信の役割を担うラズパイ複数台(子機)と、受信の役割を担うラズパイ1台(親機)での無線通信ができるシステムを模索しています。 今回開発しようとしているのは、 1. 子機側でデータの処理を行う 2. そのデータを子機から親機に送信 3. 親機が子機からのデータを受信 4. 親機で複数台の子機から送信されたデータの処理を行う というものです。 要件としては、 ・ Wi-Fi環境がない状況で使用したい ・ ペアリングなしで、子機はデータを送信しつづける(Beaconみたいな扱い) 色々な記事を読んでいるのですが、ペアリングなしで、複数の子機から親機にデータを送りつづけている実用例が見つからず困っています。 上記のシステムを作るために、参考になる記事等/方法を教えてほしいです。
回答: 選択肢のひとつとしては、**BLE(Bluetooth Low Energy)**でしょうか。 Bluetoothと名がついていても、一般的なBluetoothのペアリングは必要ありません。 子機側(ペリフェラル"Peripheral")でアドバタイジング("advertising")のパケット(いわゆるビーコン)で親機(セントラル"Central")にデータを送信します。1回のデータ量が少なく、親機との送達確認が必要なく、送りっぱなしで良いのであれば採用を検討していいかもしれません。 ですが、子機側で生成するデータが大きかったり、逆に親機から子機側に送信する必要が出てくると、その時は改めて親機と子機間で接続を確立しなければなりません ラズベリーパイをペリフェラル(質問者さんで言う子機)にする例はあまり見かけないのですが、Node.js の**bleno**と言うプロダクトを使うとできるようです。 "ラズベリーパイ BLE"などと検索すると色々ヒットするので、見てみてください。