thingsboard 教程:tb 在 centos 下安装,并查看演示的 dashboard · 物联网平台-威尼斯人最新

thingskit · 2020年03月04日 · 最后由 回复于 2022年08月19日 · 541 次阅读

thingsboard 演示地址:https://www.iotschool.com/topics/8

1.参考 进行安装

使用如下代码 emulator.js 换掉服务器地址,以及使用 dht11_demo_token,这样登陆后,演示的 dashboard 就可以看到效果了。

//requires node.js and mqtt library installed.
var mqtt = require('mqtt');
const thingsboardhost = "your host address";
// reads the access token from arguments
// const accesstoken = process.argv[2];
const accesstoken = "dht11_demo_token";
const mintemperature = 17.5, maxtemperature = 30, minhumidity = 12, maxhumidity = 90;
// initialization of temperature and humidity data with random values
var data = {
    temperature: mintemperature   (maxtemperature - mintemperature) * math.random() ,
    humidity: minhumidity   (maxhumidity - minhumidity) * math.random()
};
// initialization of mqtt client using thingsboard host and device access token
console.log('connecting to: %s using access token: %s', thingsboardhost, accesstoken);
var client  = mqtt.connect('mqtt://'  thingsboardhost, { username: accesstoken });
// triggers when client is successfully connected to the thingsboard server
client.on('connect', function () {
    console.log('client connected!');
    // uploads firmware version as device attribute using 'v1/devices/me/attributes' mqtt topic
    client.publish('v1/devices/me/attributes', json.stringify({"firmware_version":"1.0.1"}));
    // schedules telemetry data upload once per second
    console.log('uploading temperature and humidity data once per second...');
    setinterval(publishtelemetry, 1000);
});
// uploads telemetry data using 'v1/devices/me/telemetry' mqtt topic
function publishtelemetry() {
    data.temperature = gennextvalue(data.temperature, mintemperature, maxtemperature);
    data.humidity = gennextvalue(data.humidity, minhumidity, maxhumidity);
    client.publish('v1/devices/me/telemetry', json.stringify(data));
}
// generates new random value that is within 3% range from previous value
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;
}
//catches ctrl c event
process.on('sigint', function () {
    console.log();
    console.log('disconnecting...');
    client.end();
    console.log('exited!');
    process.exit(2);
});
//catches uncaught exceptions
process.on('uncaughtexception', function(e) {
    console.log('uncaught exception...');
    console.log(e.stack);
    process.exit(99);
});

执行 node emulator.js,可以看到在发送数据给 tb。 源码地址

感谢:寒碧 原文:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
网站地图