5

Windows IOT Core を実行している Raspberry Pi があり、ホーム オートメーション アプリケーションを実行しています。次に、RB パイと ESP8266 の間の通信をセットアップする必要があります。

MQTT プロトコルを検討していますが、外部サーバーで MQTT ブローカーを実行する必要はなく、Win IOT 用のブローカーが見つかりません。Windows IOT Core 用の MQTT ブローカーはありますか? そうでない場合、この目的のためにどの通信プロトコルを推奨しますか?

4

4 に答える 4

3

アントニオ Windows IoT Core で利用できるオプションがいくつかあります

Node.js を使用してアプリケーションを構築している場合は、Mosca ( http://www.mosca.io )があります。

Python を使用してアプリケーションを構築している場合は、hbmqtt ( https://github.com/beerfactory/hbmqtt )を確認できます。

もちろん、.NET アプリケーションの場合は、Nuget を検索できます。GnattMQ (www.nuget.org/packages/GnatMQ) はかなり人気のある .NET ライブラリのようです

于 2016-02-09T21:16:54.273 に答える
1

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 がリソースをどのように使用するかはわかりません。

于 2016-02-04T13:58:58.103 に答える
-2

利用可能なMQTT ブローカーはたくさんあります。ActiveMQは Java で構築されており、Java をサポートする任意のプラットフォームにインストールできます。MosquittoRabbitMQには、Windows 用のインストーラーがあります。

ただし、MQTT よりもさらに軽量なものが必要な場合は、CoAPも検討することをお勧めします。

于 2016-02-04T21:00:33.897 に答える