websocket
mqtt
sango
node-red
Node-REDDay 19

node-red用websocketブリッヂ

More than 3 years have passed since last update.


概要

node-redのwebsocketは、sangoにつなげない。

sangoは、websocketにmqttが走っているようだ。

実証するため、以下のコードをjsdo.itで走らせた。

pahoを使った。

つながった。


写真

websocket.jpg


サンプルコード

var ws;

var ph;
function setup() {
var userName = 'sango user';
var password = 'sango pass';
var websocketUrl = 'ws://lite.mqtt.shiguredo.jp:8080/mqtt';
ws = new WebSocket("ws://node-red/test0");
ws.onopen = onOpen;
ws.onmessage = onMessage;
ph = new Paho.MQTT.Client(websocketUrl, 'papo');
ph.connect({
userName: userName,
password: password,
onSuccess: onConnect,
onFailure: failConnect
});
ph.onConnectionLost = onConnectionLost;
ph.onMessageArrived = onMessageArrived;
}
function onOpen(e) {
//alert("ws open");
};
function onMessage(e) {
//alert("ws received data : " + e.data);
ph.publish('sango user/test0', "ohisama");
};
function failConnect(e) {
alert('ph ng0');
}
function onConnect() {
//alert("ph connect");
ph.subscribe('ohisama@github/test0');
}
function onMessageArrived(message) {
//alert("ph recive msg");
var val = message.payloadString;
ws.send("ohisama");
}
function onConnectionLost(responseObject) {
if (responseObject.errorCode !== 0)
{
alert("ph onConnectionLost:" + responseObject.errorMessage);
}
}
setup();