0

MQTT JavaScript を使用していくつかのリアルタイム値を公開しようとしています。以下では、適切な JSON 形式の値を設定する必要があります。ここでは、すべてのバスに対して 1 つの値しか送信できませんが、バスごとに個別の値を送信する必要があります。どうやってするか。

私の現在のコード:

var data = {
    Buses: "BusA", "BusB", "BusC",
    Speed: BusA_minspeed + (BusA_maxspeed - BusA_minspeed) * Math.random(), // It should be use seperate values seperate Buses
    FL: BusA_minfl + (BusA_maxfl - BusA_minfl) * Math.random()
};

私の期待:

Buses  Speed FL
BusA    123  80
BusB    231  40
BusC    124  50

マイ パブリッシング パーツ

function publishTelemetry() {
    data.Speed = genNextValue(data.Speed, BusA_minspeed, BusA_maxspeed);
    data.FL = genNextValue(data.Fl, BusA_minfl, BusA_maxfl);
    client.publish('v1/devices/me/telemetry', JSON.stringify(data));
}

function genNextValue(prevValue, min, max) {
    var value = prevValue + ((max - min) * (Math.random() - 0.5)) * 0.03;
    value = Math.max(min, Math.min(max, value));
    return Math.round(value * 10) / 10;
}
4

1 に答える 1