thingsboard结合echarts开发仪表库,源码分享-自动驾驶云平台

1.首先添加资源

echarts的使用手册:打开地址
echarts的API:打开地址
thingsboard的API,关于部件开发的地址:打开地址
资源位置添加:https://cdn.jsdelivr.net/npm/echarts@5.4.2/dist/echarts.min.js

2.开发HTML

HTML位置添加:<div id="myChart" ></div>
注意id不能和其他部件重复

3.开发javascript,以下是案例代码,可以作为参考

var myChart;
self.onInit = function() {
    var dom = $('#myChart');
    dom.width(self.ctx.width);
    dom.height(self.ctx.height);
    // self.ctx.flot = new TbFlot(self.ctx);   
    // 基于准备好的dom,初始化echarts实例
    myChart = echarts.init(dom[0]);
    console.log(self.ctx.datasources);
    console.log(self.ctx.data);
    var series = [];
    var datakeysValue = self.ctx.datasources[0]
        .dataKeys;
    for (var i = 0; i < datakeysValue.length; i++) {
        series.push({
            type: "line",
            name: datakeysValue[i].label,
            data: []
        })

    }
    // 指定图表的配置项和数据
    var option = {
        grid: {
            top: 10,
            left: 40,
            right: 20,
            bottom: 20
        },
        xAxis: {
            type: 'time',
            axisLabel:{
                formatter:function(value,index){
                    return moment(value).format('HH:mm:ss')
                }
            }
        },
        yAxis: {},
        series: series
    };

    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);

}

self.onDataUpdated = function() {
    //self.ctx.flot.update();
    var option = myChart.getOption();
    for (var i = 0; i < option.series.length; i++) {
        option.series[i].data = self.ctx.data[i].data;

    }
    myChart.setOption(option);
}

self.onResize = function() {
    //self.ctx.flot.resize();
    myChart.resize({
        width: self.ctx.width,
        height: self.ctx.height,
    })
}

self.onEditModeChanged = function() {
    //self.ctx.flot.checkMouseEvents();
}

self.onMobileModeChanged = function() {
    //self.ctx.flot.checkMouseEvents();
}

self.getSettingsSchema = function() {
    // return TbFlot.settingsSchema('graph');
}

self.getDataKeySettingsSchema = function() {
    // return TbFlot.datakeySettingsSchema(true, 'graph');
}

self.onDestroy = function() {
    //self.ctx.flot.destroy();
}

在这里插入图片描述

4.效果展示:第一个控件就是我们自己写的。

在这里插入图片描述

接触Thingsboard用得到!!! 目录 1  参考资料 5  文档目的 6 第一章 项目框架整理说明 7 1.1 项目框架说明 7 1.1.1 package包功能描述 8 1.1.2 thingsboard开发主要涉及到的包 10 1.1.3 thingsboard代码类及接口说明 10 第二章 thingsboard涉及到的流程图 12 2.1 物联网网关架构 12 2.2 ThingsBoard微服务架构 13 2.3 Thingsboard产品架构 13 2.4 Thingsboard规则引擎 14 2.5 ThingsBoard Architecture 15 第三章 项目框架涉及到的第三方包或插件 17 3.1 Thingsboard 包 17 第四章 ThingsBoard设备连接协议 23 4.1 订阅消息传递协议(MQTT) 23 4.2 请求响应模式(CoAP) 23 4.3 请求响应模式(HTTP ) 24 第五章 ThingsBoard打包 25 5.1 后端打包 25 5.2 前端打包方UI 25 第六章 ThingsBoard框架日志 26 第七章 ThingsBoard数据 目录 目录 1  参考资料 5  文档目的 6 第一章 项目框架整理说明 7 第二章 thingsboard涉及到的流程图 12 第三章 项目框架涉及到的第三方包或插件 17 第四章 ThingsBoard设备连接协议 23 第五章 ThingsBoard打包 25 第六章 ThingsBoard框架日志 26 第七章 ThingsBoard数据 27 第八章 官网主要文档目录 28 第九章 前端技术概述 29 第十章 关于Thingsboard开发环境部署 30 第十一章 数据表结构 32 错误!未定义书签。 7.1 关系数据使用了2个数据) 27 7.2 非关系数据(redis) 27 第八章 官网主要文档目录 28 第九章 前端技术概述 29 9.1 前端包括哪些技术点 29 9.2 前端技术描述 29 第十章 关于Thingsboard开发环境部署 30 第十一章 数据表结构 32
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鼾声鼾语

感谢您的支持鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值