MQTT lib または別のプロトコルが存在する可能性があります。しかし、私は次の状況を想定し、解決策を提案します。
仮定:
- Rpi はシステムの中核です。
- ESP は衛星やセンサーなどのように機能しています。
- したがって、ESP は Rpi にデータを報告しています
- それら (Rpi と ESP) はすべて同じサブネットにあります。
解決:
- Rpi 側では、単純な UDP bcast リスナーを実装し、BROADCAST ip で特定のポートをリッスンします。(例: 8889)
- ESP 側では、UDP クライアントを実装して、データを BROADCAST IP および特定のポートに送信します。(例: 8889)
- メッセージフォーマットを実装し、送信する ESP と解析する Rpi を作成します。
メッセージ形式の例:
メッセージは文字列 (ASCII エンコード) にすることができます。
ABBBEEECCCDDDD.....DDD
A: Start Header
BBB: Sender ID
EEE: Receiver ID
CCC: Payload Byte Count
D..: Payload
OR
A|BBB|EEE|DDDDD..DDDDDD|F
A: Start Header
|: Seperator
BBB: Sender ID
EEE: Receiver ID
D..: DATA payload
F: End Header.
この構成により、クライアントの IP アドレスを記録せずに DHCP を使用できるようになり、実装が安価になります (RAM、CPU などのリソースによると)。注: MQTT がリソースをどのように使用するかはわかりません。