タグ付けされた質問 「mqtt」

MQTTメッセージングプロトコルに関する質問については、マシン間通信用の軽量TCP / IPベースのシステム。

4
Windowsで実行されているMosquittoでWebSocketを有効にする方法は?
WindowsマシンでMosquittoブローカーを稼働させています。Webソケットのサポートを使用してインストールしたかどうかはわかりません(原因がわからなかったため、または必要だったため)。しかし、私の要件はJavaScript(Paho)を使用してMQTTに接続することです。既存のMQTTブローカーのWebソケットサポートを有効にする方法を知りたいです。 mosquitto.confこれらの行をファイルに追加してファイルを編集してみました listener 9001 protocol websockets しかし、動作していないようです。私はより良い写真を提供するかもしれない画像を添付しています: コマンドもよくわかりませんが、デフォルトのポート1883で動作するようです。 だから問題は:それをどのように機能させるのですか?

2
LoraWanネットワークをMQTTとインターフェイスするにはどうすればよいですか?
私はLoraWanネットワークの作成を含むプロジェクトに取り組んでいます: ゲートウェイとしてのDragino lg01。 シンプルなLM35温度センサーを備えたArduino UnoとDragino Loraシールド サーバーについては、オープンソースでLoraWanと互換性のあるものを探していました。Wso2IoTサーバーを見つけ、それをいくつか起動しました。ApacheActiveMQ JMSプロバイダーをインストールする必要があると思いましたが、そうしませんでした。ノーハウ。 ゲートウェイからサーバーにデータを送信するには、MQTTを使用します。 データの視覚化については、AngularJSを使用してアプリケーションを作成します。 したがって、私が持っていた問題は、2つの方法(無線によるアクティブ化とパーソナライゼーションによるアクティブ化)が見つかり、ゲートウェイとサーバーのプログラミング方法に影響を与えるため、ノードをサーバーに接続することに戸惑いました。 また、MQTTを使用してサーバーにデータを送信するようにゲートウェイをプログラムする予定ですか、またはすべてのプログラミングはノードで行われますか?
8 networking  mqtt  lora 

1
MQTT CONNECTメッセージのクライアントIDのみを変更する方法は?
MQTT CONNECTメッセージをいじっています。私のラップトップで実行されているMosquittoブローカーに向けてTCP / IPソケットを開き、MQTT CONNECTメッセージを送信し、(通常)4バイト長のCONNACK応答を受信して​​ソケットを閉じ、プログラムを終了する単純なCプログラムがあります。 現在、私は自分のCONNECTメッセージを作成していませんが、Wiresharkキャプチャからのものを使用しています。 MQTTパーツであるC配列としてエクスポートできます。 char packet_bytes[] = { 0x10, 0x20, 0x00, 0x06, 0x4d, 0x51, 0x49, 0x73, 0x64, 0x70, 0x03, 0x02, 0x00, 0x3c, 0x00, 0x12, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x31, 0x34, 0x38, 0x35, 0x38, 0x39, 0x30, 0x38, 0x35, 0x37, 0x31, 0x39, 0x34 }; この変更されていない配列を使用すると、すべてがうまく機能します。ブローカーの出力は次のとおりです。 1486237905: New connection …
8 mqtt  mosquitto 

4
Windows 7でMosquittoブローカーの詳細なログを有効にする方法は?
前の質問があります。解決策に近づくために、Windows 7でMosquittoブローカーのログを有効にしたいと思います。 もともと私は次のようにブローカーを手動で起動しました: mosquitto -p 1883 -v -v詳細なコンソールロギングを意味します。しかし、これは十分な情報を提供しません、私の問題の場合には次の行のみを提供します: 1486293976: Socket error on client <unknown>, disconnecting. 私はこの答えで説明されていることをやってみました。設定ファイルのログ部分は次のとおりです。 # Note that if the broker is running as a Windows service it will default to # "log_dest none" and neither stdout nor stderr logging is available. # Use "log_dest none" if you wish …

1
QoS 1/2メッセージを保存するためにMosquittoのメモリが不足するとどうなりますか?
MQTTでは、QoSの1又は2のメッセージがなければならない少なくとも一度配信される(QOS 2件のメッセージが配信されなければならない正確に 1回)。クライアントが接続されていない場合、ブローカーはクライアントがメッセージを受信する準備ができるまでメッセージを保存する必要があります。 HiveMQのブログは面白いポイントがあります。 しかし、クライアントが長時間オンラインにならないとどうなりますか?多くの場合、メッセージを保存するための制約は、オペレーティングシステムのメモリ制限です。このシナリオで何をすべきかについての標準的な方法はありません。それは完全にユースケースに依存します。HiveMQでは、キューに入れられたメッセージを操作してそれらをパージする可能性を提供します。 これはブローカーに依存しているようですので、Mosquittoはこの状況をどのように処理しますか?メモリ不足の後にクラッシュするのですか、それとも古いメッセージが最終的に削除されますか?
8 mqtt  mosquitto 

1
CoAPはMQTTよりもフットプリントが低いですか?
最近、CoAPとMQTTのどちらがより軽量であるかについてのQuoraの質問を読みましたが、回答は特に満足のいくものではなく、すべてが矛盾しています:上の回答はMQTTのリソース使用量が少なく、別の回答はCoAPの要求が少ないことを示しています。 私が見つけたものから、という意味になるだろうCoAPがより厳しい少ないだろうMQTT CoAPはUDPのみを必要とするため、およびそのメッセージは、主ファイア・アンド・フォーゲットですMQTTとは異なり、TCP上のどの機能(ひいてははるかになり、関与)。 どのプロトコルが機能するために最小限のリソースを必要としますか? リソースごとに、私は主に、必要なプロセッサー能力、RAM、および送信されるデータについて考えています。たとえば、私がリンクしたQuoraの質問で、トップの回答は、80MHzのプロセッサと1MB未満のRAMしか持たないシンプルなESP8266チップでMQTTを実行できることを示しています。CoAPがこのようなもので実行できるのか、それともさらに制約のある環境で実行できるのかについて知りたいです。 私が想定している種類のユースケースは、デバイスが主に別のデバイスからデータを受信する場合です(たとえば、オン/オフを切り替えるコマンド)が、まれに(おそらく1時間に数回)デバイスのステータスで更新を送信する必要がある場合があります。 。デバイスのコストを削減するために、できるだけ少ない処理能力を使用し、電力使用量を可能な限り削減するために、比較的低い頻度で送信したいと思います。

4
リアルタイムおよび履歴センサーデータを視覚化するIoTプラットフォームはどれですか?
学生向けのチュートリアルを準備するために、IoTの分野でいくつかのDIYエレクトロニクスプロジェクトに取り組んでいます。ESP32、ESP8266、Arduino Uno、Raspberry Piを使用したい。私はファームウェア/ハードウェアの部分に詳しいので、クラウドアプリケーションの経験はありません。 Azure IoT、AWS、GoogleなどのIoT PaaSがあることを知っています。いくつかの単純なプロトタイプを開発したいので、データをクラウドに送信して、バックエンドのコーディングスキルなしでそれらを視覚化したいだけです。上記のサービスでは、データ(DB、UI / UXなど)を表示するために追加の専門知識が必要です。 私はググって簡単な解決策を見つけ、これらのサービスがポップアップしました: uBeac TagoIO ThingsBoard フリーボード myDevices 負けた 物事 ティンガー HTTPおよびMQTTを介してクラウドサービスにデータを送信し、送信されたデータを視覚化する必要があります。 私の質問は、どのサービスが自分のユースケースに適しているかです。他に見逃したサービスはありますか?そしてより重要なのは、そのようなサービスを評価するための重要な要素は何ですか?

2
無料のMQTTブローカー
無料のMQTTサーバー(iot.eclipse.orgなど)を使用する場合、メッセージが公開されないことがある制限(主にメッセージの量)はありますか? 私は2〜3台のデバイスを自宅で接続しており、テスト目的で1日あたり約10〜20台公開しています。
7 mqtt 

1
mosquitto-ブローカーが永続化構成で起動しない
mosquitto 永続化のための以下のオプションは好きではないようです。 # Persistence configuration persistence true persistence_location /data/qos/ persistent_client_expiration 8h /data/qos存在し、アクセス権が設定されていません。 sudo chown mosquitto:mosquitto /data/qos 永続化構成オプションは、ディレクトリのpersist.conf下に配置されたファイルにあります/etc/mosquitto/conf.d。コピーする前に、次のようなコマンドを使用してコピーした後、ブローカーを停止して再起動します。 sudo service mosquitto stop sudo service mosquitto start /var/log/mosquitto/mosquitto.log問題何ができるかについての手掛かりを与えるものではありません。 では、永続化のために上記で提供されたオプションの何が問題になっていますか?
7 mqtt  mosquitto 


1
デバイス認証
デバイスを認証するにはどうすればよいですか?OpenWRT側で「デーモン」を実行しているarduino yunがあります。デーモンはメッセージブローカーからコマンドを読み取り、それらを実行して、値を返します。 ブローカーと通信する前に、デバイスを認証する必要があります(私はそう思います)。正しい流れは何ですか? それを認証する必要さえありますか?ブローカーの資格情報がデバイスに埋め込まれている場合、おそらくそれを行う必要はないでしょう。しかし、よくわかりません。
7 mqtt 

2
ローカルおよび遠隔MQTT通信
私のプロジェクトでは、Raspberry Pi 3と通信し、次に遠方のMQTTブローカーと通信する一連のセンサーをローカルネットワークに配置しています。 センサーノードにESP8266を使用しているので、piのインターネット接続を介してブローカーと直接通信するespノードをMQTTクライアントにすることを考えました。しかし、ローカルノードからのセンサーのデータとそれにリンクされているセンサーからのデータにアクセスするには、piが必要です。 したがって、私はそのようなコミュニケーションを実装するための最良のソリューションを望んでいます。Piにブローカーを追加して、遠くのブローカーにブリッジしたり、Raspberryで実行されているpythonプログラムにMQTTメッセージを発行したりすることを考えました。 Piに別のブローカーを置かないようにする方法はありますか? これを行うためのより良い解決策はありますか? ブローカーは大量のメモリを消費しますか? カメラフレームデータもストリーミングする必要があることを知っています。

1
標準化されたMQTTトピックはありますか?
私はMQTTに不慣れです(そして一般的にホームオートメーションです。システムと開発者の方がずっと好きです)、WiFiスイッチ(Sonoff Basic)をフラッシュし、それをMosquittoとHome Assistantのインスタンスに接続しました。これまでのところ、すべてが正常に機能しています。 Mosquittoバスを監視すると、次のようなメッセージが表示されます。 tele/hass1/LWT Online tele/home/room1/switch1/LWT Online cmnd/home/room1/switch1/POWER OFF 私home/room1/switch1は自分のWiFiスイッチで定義したものを認識し、スイッチはcmnd(コマンド?誰もスイッチを操作しなかったので驚くでしょう)およびtele(テレメトリ?)で始まるいくつかのトピックを送信しました。tele/hass1/...Home Assistantによって生成されます。 プレフィックスの標準または一般に受け入れられている慣行はありますか? MQTTドキュメントはトピックのフォーマット方法を説明しますが、構造は導入していません(で始まるトピックを除く$)ので、ベストプラクティスは、ベストプラクティス(またはフルストップ)であると思います。

1
MQTT:サブスクライバーはプロデューサーに非同期でデータを送信できますか?
TCPソケットを介してペイロードを1日1回サーバーに送信するシナリオ IoTデバイス(現在はIPv4デバイス)。サーバーにはパブリックIPアドレスがあり、デバイスはルーター/ NATの背後にあります。ESP8266に基づくモジュール(つまり、Olimexのモジュール)を使用します 目標は、サーバーは、それが必要とする時はいつでも任意のクライアントにデータを送信することができるはずです。ホールパンチングのように、クライアントからクライアントへの直接通信(つまり、スマートフォンからデバイスに接続)には興味がありません。 その他の要件 IoTデバイスは、数千まで成長する可能性があります。インターネット接続は、4G対応のルーター/モデムによって提供されます。 提案される解決策 私が理解している限り、一般的な解決策はMQTTです。クライアントは定期的にブローカー(ホスティングサーバーで実行されているMosquitto)にデータを送信します。ブローカーは同じサーバーで実行されているメインのWebアプリを更新します。 質問 Webアプリは、ブローカーを通じて必要なときにいつでも任意のクライアントにデータを送信できますか?言い換えれば、サブスクライバーは特定のパブリッシャーに非同期に(つまり、次の送信を待たずに)データを送り返すことができますか?
7 mqtt 

1
SIM5320 MQTT TCP接続が時間後に予期せず終了する
私は、SIM5320を使用してMQTTプロトコルに取り組んでいます。私はATコマンドのドキュメントに精通しており、Arduinoを使用した実装が機能しています。 まず、AT + NETOPENでネットワークソケットを開き、次にAT + CIPOPEN = 0、 "TCP"、 "ip address"、portでTCP接続を開きます。次に、AT + CIPSENDを使用してMQTTプロトコルのデータを送信します。これは正常に実行されます。MQTTを介してSIMモジュールにデータを送信すると、データも受信され、メッセージが検出されます。 MQTTでは、キープアライブ間隔があり、サーバーが通信間で接続を開いたままにしておく時間、基本的にクライアントがサーバーから強制的に切断されるまでにアイドル状態でいられる時間を指定します。ただし、この値を最大18時間に設定しました。これは、15分の切断よりはるかに長い時間です。 15分後にサーバーにコマンドを送信しようとすると問題が発生し、応答がありません。SIMは「+ IPCLOSE:0,4」を発行していません。これは通常、サーバーがクライアントまたはその他の種類のインジケーターを強制的に切断したときに発生します。 さらに、「AT + CIPOPEN?」で示されるように、データを送信することができ、CIP接続がまだ開いているようです。「AT + CIPCLOSE = 0」で接続を閉じようとすると、「+ CIPCLOSE:0,4」と「ERROR」が表示されます。ドキュメントでは「+ CIPCLOSE:0,4」の意味については言及されていませんが、接続を開いたり使用したりできないため、接続を閉じているようには見えません。 接続を確立してからデータを送信するまでの、この15分間に何が起こっているのかを知りたいのですが、データの再送信を試みます。警告や問題の兆候がないので、私はひどく混乱しています。 私は最初に電気工学スタック交換でこの質問をしましたが、ここでも質問するようにアドバイスされました。 ここで書いたコードは、見てみたい人のために添付しました。実行する必要のあるライブラリはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.