構築中の新しいデバイスのメッセージングプロトコルとしてMQTTを使用することを検討しています。また、デバイスのWebインターフェイスも必要です。 MQTTと通信するブラウザクライアントアプリ(追加のプラグインなし)を実装できるかどうか、誰もが知っていますか?
はい、Steve-oのコメントで述べたように、websocket経由のMQTTは非常に可能です。
現時点では2つのオプションがあります
2番目の質問に答えるために、lighttpdにはwebsocketsモジュールがあり、詳細を使用して既存のブローカーへの転送を行うことができます here 。
転送を行うために独自のライブラリを作成する必要のないApacheについては何も見つかりませんでした。
Hardillbsの答えを拡張するには:
現在、3番目のオプションがあります。
HiveMQ は、外部Webサーバーを必要とせずにネイティブWebソケットをサポートします。 Eclipse Paho のJavascriptクライアントと完全に連携します。
試してみたい場合は、パブリックの MQTTDashboard (フードの下でHiveMQを使用)がポート8000のWebソケットをサポートします。
開示:私はHiveMQの開発者の一人です
IBMは、WebSocketベースのJavaScriptクライアントをリリースしました。 Eclipse Pahoのオープンソースです。
Gitリポジトリ: http://git.Eclipse.org/c/paho/org.Eclipse.paho.mqtt.javascript.git/
チュートリアルはこちらです。 https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-607d87787327/entry/how_to_prog_javascript?lang=en
[〜#〜] wss [〜#〜] 、WebSocket to TCP Gateway( for MQTT)。別のプロセスを実行することを意味しますが、Apacheの構成を変更する必要はありません。WSSはTLSもサポートしています。
blog by jpmens は、websocket機能を使用してmosquittoをセットアップするための良い出発点です。彼は Pahoに基づくクライアントjavascriptコードはgithubにあります です。
この ブログ「WebサーバーとMQTT WebSocketsブローカーを同じporで実行する方法」 は、サーバー側の2つの方法を説明しています。
Apacheではありませんが、このガイドに従ってmod_websocketでlighttpdをインストールできます。
しかし、使いやすさのために、@ Dominikが推奨しているように、HiveMQを強くお勧めします。
このリンク( ダウンロードコード )は便利です。ダウンロードして、このファイルmosq-mqttws31.htmlを変更します。埋め込みのJavaスクリプトライブラリの代わりにこのcdnを使用
https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js
クライアントのインスタンス化はclient = new Paho.MQTT.Client( "test.mosquitto.org"、8080、 "myclien256tiddd_" + parseInt(Math.random()* 100、10));
なぜnodejs
+ socket.io
ではありませんか?それらには、すべてのガジェットが含まれています(webscokets、pub/sub、webserver、mqtt broker ...)。 SocketCluster は別の良い出発点です。