Как использовать функцию разделения в node js - PullRequest
0 голосов
/ 19 января 2020

Я объединил две строки на стороне клиента, чтобы опубликовать sh на топи c

client.publish(topic,payload = String(message)+","+String(weather))

Я получаю их на стороне сервера в виде строки Но это два разных сообщения, которые я необходимо отправить по двум разным http-адресам. Я хочу разделить сообщение на стороне сервера, но функция разделения не работает

Это сообщение об ошибке.
TypeError: Невозможно прочитать свойство 'split 'из неопределенного


//MQTT publisher

var mqtt = require('mqtt')
var fetch = require('node-fetch')
var client = mqtt.connect('mqtt://localhost:1884')
var topic = 'local/temperature'
//var message = 'The status of weather station'

client.on('connect',()=>{

setInterval(async function(req,res){
        let weatherResponse = await fetch("https://api.openweathermap.org/data/2.5/weather?q=villingen-schwenningen,de&units=metric&appid=4b66b441cf82f4bca0467ecebb363a79");
        let weatherObj = await weatherResponse.json()
        let temperature = weatherObj.main.temp
        let message = JSON.stringify(temperature)
        let weather = JSON.stringify(weatherObj)
        client.publish(topic,payload = String(message)+","+String(weather))
        console.log(payload)
        console.log('Temperature value sent!')
        console.log('The temperature is',message)
    },3000)
})

//MQTT server (mosca broker)

const mosca = require("mosca")

var temperature = 0; 

moscaSettings = {
    host: "localhost",
    port: 1884,
    persistence: { factory: mosca.persistence.Memory }
}

var server = new mosca.Server(moscaSettings);

server.on('clientConnected', function(client) {
    console.log('client connected', client.id);
});
server.on('published', function(packet, client) {
    console.log('Published', packet.payload.toString());
    // I want to split the payload here 
    //console.log(info);
});
server.on('ready', setup);
function setup() {
    console.log('Mosca server is up and running on port '+ moscaSettings.port);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...