2017-11-20 5 views
-3

私はmqtt経由で私のmosquittoブローカーにデータを送信するデバイスを持っています。ubuntuでは現在、これらの文字列を受け取り、JavaScriptの関数ノードを使用して必要な処理、データ変換、クエリへの挿入などを行います。一つのことは苦労しています私は離れてノードから赤に移動したいので、私はちょうど純粋なコードでファイルを持っている、私はコードウェブサイトで提供してみましたが、私は馬鹿ガイドが必要です誰でも私を助けることができる?すべての私のhtmlファイルは、現在のApacheサーバーどのように変換するとmysqlに挿入するjavascriptをmqtt文字列を渡すことができますか?

MQTTための私の現在のセットアップは、蚊は、私が1883

mosquitto構成

listener 1883 
listener 1884 
protocol websockets 

pid_file /var/run/mosquitto.pid 

persistence true 
persistence_location /var/lib/mosquitto/ 

log_dest file /var/log/mosquitto/mosquitto.log 

include_dir /etc/mosquitto/conf.d 
のLISTNERとコンフィギュレーションファイル内のWebSocketを有効にしているUbuntuの上で実行されてから表示されます

mqttコード私は試みました:

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script> <script type="text/javascript"> 

var wsbroker = "localhost"; //mqtt websocket enabled broker 
var wsport = 1883 // port for above 
var client = new Paho.MQTT.Client(wsbroker, wsport, 
    "myclientid_" + parseInt(Math.random() * 100, 10)); 
client.onConnectionLost = function (responseObject) { 
    console.log("connection lost: " + responseObject.errorMessage); 
}; 
client.onMessageArrived = function (message) { 
    console.log(message.destinationName, ' -- ', message.payloadString); 
}; 
var options = { 
    timeout: 3, 
    onSuccess: function() { 
    console.log("mqtt connected"); 
    client.subscribe('/tracked', {qos: 1}); 

    }, 
    onFailure: function (message) { 
    console.log("Connection failed: " + message.errorMessage); 
    } 
}; 
function init() { 
    client.connect(options); 
} 
</head> 
<body onload="init();"> 
</body> 
+0

この質問はあまりにも広すぎます。あなたが試したことと、それを修正する手助けが必要な場合に表示されるエラーメッセージを表示する必要があります。ガイド/チュートリアルもスタックオーバーフローのトピックです。 (Node-REDから離れることで達成しようとしているものもありますか?) – hardillb

+0

@hardillb私は、私が試したコードでメインポストを更新しましたが、クロームコンソールに次のエラーが表示されます: WebSocket connection to 'ws: // localhost:1883/mqtt 'failed:接続確立エラー:net :: ERR_CONNECTION_REFUSEDノード1883をノード赤で使用し、正常に動作します –

+0

Stack Overflow https://上に戻るまた、ブローカー(または使用しているブローカー)をどのように設定したかについての情報は含まれていません。私はそれがモスキートだと推測し、Webソケットのサポートを有効にしていないとしたら、それは1883(ネイティブMQTTはWebSocket上のMQTTではありません)と異なるポートにあります – hardillb

答えて

0

コメントに記載されています。

ネイティブMQTTポートであるポート1883に接続しようとしています。

あなたはWebSocketを超えるMQTTを使用する必要があるWebページからJavaScriptクライアントを使用するには、ポート上のWebSocketのリスナーを追加した1884年

は、だから、次のようにコードを編集する必要があります。

var wsbroker = "localhost"; //mqtt websocket enabled broker 
var wsport = 1884 // Websocket port for above 
var client = new Paho.MQTT.Client(wsbroker, wsport, 
    "myclientid_" + parseInt(Math.random() * 100, 10)); 
+0

に含めるように編集して、次の仕様にコードを更新しました。今すぐ取得します 'ws:// localhost:1884/mqtt'へのWebSocket接続に失敗しました:接続確立:net :: ERR_CONNECTION_REFUSED Paho.MQTT.ClientImpl._doConnect @ mqttws31.js:977 testmqtt.html:25接続に失敗しました:AMQJS0007Eソケットエラー:未定義です。 –

+0

モスキートがまだ動いていることを確認しましたか? – hardillb

+0

はい、私はまだ問題を引き起こしている私のノード赤を持っていますか? –

関連する問題