thingsboard 3.2 release 有人从 2.4 升级过吗?这个版本看上去不错,但是感觉改动好大,不敢升级
the goal of this release is to simplify provisioning and connecting the devices and configuration of the alarms.
we have also added features to track tenant api usage.
major improvements:
tenant profiles to manage api and rate limits;
device profiles to configure default rule chain and queue, set transport configuration and define alarm rules;
added support of custom mqtt topics and basic mqtt credentials as alternative to access token;
added support of custom device payload schema using protocol buffers for mqtt transport;
device provisioning is now available via device profiles;
sms provider and send sms rule node;
ui for oauth2 settings.
minor improvements:
added api usage dashboard;
added "orderby" request parameter for telemetry controller;
added queuename to enqueuefortellnext in tbsendrpcrequestnode;
added protection from the circular reference across different rule chains;
added new language brazilian portuguese;
improvements to camera and alarm widgets, legend sort;
added support of min/max values in multiple attributes input widget;
ui performance improvements;
bug fixes:
cover all markers to fit bounds by default even when fit bounds marker is disabled in the map widget;
基于蜂窝的窄带物联网(narrow band internet of things, nb-iot)成为万物互联网络的一个重要分支。nb-iot 构建于蜂窝网络,只消耗大约 180khz 的带宽,可直接部署于 gsm 网络、umts 网络或 lte 网络,以降低部署成本、实现平滑升级。属于物联网范畴的一种技术。
目前物联网市场主要有如下几种应用分类:
lpwa(low power widearea)是有低带宽、低功耗、远距离通信、广覆盖、海量连接要求的物联网应用,是适合由运营商部署的一种物联网技术,包括 nb-iot,lora,sigfox 等技术。nb-iot 是由华为主导,并已成为 3gpp 标准的 lpwa 技术。
lora(longrange):semtech 公司提出的一种应用于无线领域的低速率、低能耗广域网技术。lora 联盟 lorawan 在 15 年巴展成立。
sigfox:法国一家创业公司,该公司使用一种名为超窄带(unb)的技术,主要打造低功耗、低成本的无线物联网专用网络。
nb-iot 网络包括 nb-iot 终端,nb-iot 基站,nb-iot 分组核心网,iot 连接管理平台,和行业应用服务器。
需要升级现网基站支持 nb-iot 业务,部署 nb-iot 业务专用的 epc(cloudedge),需要新部署 iot 连接管理平台。
iot 连接管理平台的功能:
提供对各种传感器、sim 卡的数据采集、管理功能,同时可以把数据开放给第三方应用系统,让各种应用能快速构建自己的物联网业务。
coap(constrained application protocol) 是 ietf 专门为受限应用环境设计的协议,功能上与 http 类似,但更轻量化和高效,适合于 nb-iot 终端。
ue 直接和 iot 平台或者 m2m app server 通过 coap 协议进行通信,承载应用层数据,m2m app server 支持 coap 协议时,业务数据可不经过 iot 平台,dtls 协议可选,需要端到端安全时支持。
视频的作者是提供 egex-ui 代码的作者。应该是目前能搜索到的比较详细的学习视频。
1_运行纯 java 版本 edgex
运行 java 和 go 混合版本带 gui
edgex foundry modbus 设备微服务连接真…
scheduler 定时任务自动采集设备数据
edgex foundry marketplace app installer
edgex foundry modbus 设备微服务无法发…
edgex foundry mqtt 设备微服务(go 语言…
edgex foundry mqtt 设备微服务(java 语…
edgexfoundr1.0 版本 go 源码修改配置文件/
展示视频 另外一个演示视频。主要是展示下 edgex 的功能。
求 thingsboard ce pg 数据库,自己弄的 postgresql 数据库总是有问题,谢谢。
常言道:“一千个读者眼里有一千个哈姆雷特”。同样的话也适用于 kubernetes,同样的系统在不同的开发人员眼中也是不同的,甚至在不同阶段对于它的理解也截然不同。
在尚未开始学习 kubernetes 之前,我认为它是一套非常复杂的系统,各种抽象概念以及复杂的安装过程。差点因为安装不顺,打算就此放弃。理由很简单:既然有了 docker,为什么还要 kubernetes?
之所以觉得 kubernetes 系统复杂、难,关键是不知道它到底是干啥的?再加上老版本繁琐的安装过程,愿意啃它是需要一点毅力的。现在,就通过一张简单的对比图告诉你,它到底干了啥!
单看图示上部分,发生的变化仅仅是 host 换成了 pod,底层网络由真实网络换成了覆盖网络,即虚拟网络。对于 app 应用开发者而言,即使你完全不懂容器技术也没关系.这是 kubernetes 的厉害之处,它提供的抽象层对于 app 应用开发者而言是完全透明的。应用在 pod 中和在 host 主机上并没有本质区别。
还是老问题: 既然有了 docker,为什么还要 kubernetes?
回答这个问题,得从为什么需要引入 docker 这个问题先开始。你会说,因为需要容器化部署。那为什么需要容器化部署呢?就这个问题还可以走得更远一点。这里我就偷懒了,先打住。看看容器化部署后出现的新问题,即容器实例越来越多。因为容器实例越来越多,就像鸡蛋太多需要一个篮子来装一样,kubernetes 就是那个篮子。当然这不是一个简单的篮子,此处也不扩展了。
标准答案就是:因为有了 docker,所以才要 kubernetes。是不是感觉进入一个 loop,我也这感觉。
从图中也可以看出,docker 容器技术是 kubernetes 平台的基础。容器技术主要作用是隔离,通过对系统的关键资源的隔离,实现了主机抽象。kubernetes 平台则是在抽象主机的基础上,实现了集群抽象。
如果用一句话做个总结,就是:
容器,提供应用级的主机抽象;kubernetes,提供应用级的集群抽象。 小结
一篇短文,因为写另外一篇文章触发的简单总结。希望可以帮到还徘徊在 kubernetes 大门之外的初学者。当然,新版本 kubernetes 已经非常容易安装了。
感谢:guanmaoyun
由于项目需要我公司需要开发一个物联网项目,之前也没有相应的案例,所以从网上找到开源的 thingsboard 项目(下文统称 tb)。公司之前的项目都是使用 mysql 数据库,而 tb 项目使用的关系数据库是 postgresql,因此为了更好的处理数据库中的数据领导让我实现使用 mysql 启动 thingsboard,下面开始我曲折的探索过程。 首先是在 mysql 数据库上建表和插入基础数据,建表语句和插入语句如下:
建表语句:
create table `admin_settings` (
`id` varchar(31) not null,
`json_value` varchar(5000) default null,
`key` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `alarm` (
`id` varchar(31) not null,
`ack_ts` bigint(20) default null,
`clear_ts` bigint(20) default null,
`additional_info` varchar(218) default null,
`end_ts` bigint(20) default null,
`originator_id` varchar(31) default null,
`originator_type` int(11) default null,
`propagate` tinyint(1) default null,
`severity` varchar(255) default null,
`start_ts` bigint(20) default null,
`status` varchar(255) default null,
`tenant_id` varchar(31) default null,
`propagate_relation_types` varchar(218) default null,
`type` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `asset` (
`id` varchar(31) not null,
`additional_info` varchar(218) default null,
`customer_id` varchar(31) default null,
`name` varchar(255) default null,
`label` varchar(255) default null,
`search_text` varchar(255) default null,
`tenant_id` varchar(31) default null,
`type` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `attribute_kv` (
`entity_type` varchar(255) not null,
`entity_id` varchar(31) default null,
`attribute_type` varchar(255) default null,
`attribute_key` varchar(255) default null,
`bool_v` tinyint(1) default null,
`str_v` varchar(255) default null,
`long_v` bigint(20) default null,
`dbl_v` double default null,
`last_update_ts` bigint(20) default null
) engine=innodb default charset=utf8;
create table `audit_log` (
`id` varchar(31) not null,
`tenant_id` varchar(31) default null,
`customer_id` varchar(31) default null,
`entity_id` varchar(31) default null,
`entity_type` varchar(255) default null,
`entity_name` varchar(255) default null,
`user_id` varchar(31) default null,
`user_name` varchar(255) default null,
`action_type` varchar(255) default null,
`action_data` varchar(255) default null,
`action_status` varchar(255) default null,
`action_failure_details` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `component_descriptor` (
`id` varchar(31) not null,
`actions` varchar(255) default null,
`clazz` varchar(255) default null,
`configuration_descriptor` varchar(1000) default null,
`name` varchar(255) default null,
`scope` varchar(255) default null,
`search_text` varchar(255) default null,
`type` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `customer` (
`id` varchar(31) not null,
`additional_info` varchar(255) default null,
`address` varchar(255) default null,
`address2` varchar(255) default null,
`city` varchar(255) default null,
`country` varchar(255) default null,
`email` varchar(255) default null,
`phone` varchar(255) default null,
`search_text` varchar(255) default null,
`state` varchar(255) default null,
`tenant_id` varchar(31) default null,
`title` varchar(255) default null,
`zip` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `dashboard` (
`id` varchar(31) not null,
`configuration` varchar(255) default null,
`assigned_customers` varchar(255) default null,
`search_text` varchar(255) default null,
`tenant_id` varchar(31) default null,
`title` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `device` (
`id` varchar(31) not null,
`additional_info` varchar(255) default null,
`customer_id` varchar(31) default null,
`type` varchar(255) default null,
`name` varchar(255) default null,
`label` varchar(255) default null,
`search_text` varchar(255) default null,
`tenant_id` varchar(31) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `device_credentials` (
`id` varchar(31) not null,
`credentials_id` varchar(255) default null,
`credentials_type` varchar(255) default null,
`credentials_value` varchar(255) default null,
`device_id` varchar(31) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `entity_view` (
`id` varchar(31) not null,
`entity_id` varchar(31) default null,
`entity_type` varchar(255) default null,
`tenant_id` varchar(31) default null,
`customer_id` varchar(31) default null,
`type` varchar(255) default null,
`name` varchar(255) default null,
`keys` varchar(255) default null,
`start_ts` bigint(20) default null,
`end_ts` bigint(20) default null,
`search_text` varchar(255) default null,
`additional_info` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `event` (
`id` varchar(31) not null,
`body` varchar(255) default null,
`entity_id` varchar(31) default null,
`entity_type` varchar(255) default null,
`event_type` varchar(255) default null,
`event_uid` varchar(255) default null,
`tenant_id` varchar(31) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `relation` (
`from_id` varchar(31) not null,
`from_type` varchar(255) default null,
`to_id` varchar(31) default null,
`to_type` varchar(255) default null,
`relation_type_group` varchar(255) default null,
`relation_type` varchar(255) default null,
`additional_info` varchar(255) default null,
primary key (`from_id`)
) engine=innodb default charset=utf8;
create table `rule_chain` (
`id` varchar(255) not null,
`additional_info` varchar(255) default null,
`configuration` varchar(255) default null,
`debug_mode` bit(1) default null,
`first_rule_node_id` varchar(255) default null,
`name` varchar(255) default null,
`root` bit(1) default null,
`search_text` varchar(255) default null,
`tenant_id` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `rule_node` (
`id` varchar(31) not null,
`rule_chain_id` varchar(31) default null,
`additional_info` varchar(255) default null,
`configuration` varchar(255) default null,
`type` varchar(255) default null,
`name` varchar(255) default null,
`debug_mode` tinyint(1) default null,
`search_text` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `tb_user` (
`id` varchar(31) not null,
`additional_info` varchar(255) default null,
`authority` varchar(255) default null,
`customer_id` varchar(31) default null,
`email` varchar(255) default null,
`first_name` varchar(255) default null,
`last_name` varchar(255) default null,
`search_text` varchar(255) default null,
`tenant_id` varchar(31) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `tenant` (
`id` varchar(31) not null,
`additional_info` varchar(255) default null,
`address` varchar(255) default null,
`address2` varchar(255) default null,
`city` varchar(255) default null,
`country` varchar(255) default null,
`email` varchar(255) default null,
`phone` varchar(255) default null,
`region` varchar(255) default null,
`search_text` varchar(255) default null,
`state` varchar(255) default null,
`title` varchar(255) default null,
`zip` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `tenant_ts_kv` (
`tenant_id` varchar(31) not null,
`entity_id` varchar(31) not null,
`key` varchar(255) not null,
`ts` bigint(20) not null,
`bool_v` tinyint(1) default null,
`str_v` varchar(255) default null,
`long_v` bigint(20) default null,
`dbl_v` double default null,
primary key (`tenant_id`,`entity_id`,`key`,`ts`)
) engine=innodb default charset=utf8;
create table `ts_kv` (
`entity_type` varchar(255) not null,
`entity_id` varchar(31) not null,
`key` varchar(255) not null,
`ts` bigint(20) not null,
`bool_v` tinyint(1) default null,
`str_v` varchar(255) default null,
`long_v` bigint(20) default null,
`dbl_v` double default null,
primary key (`entity_type`,`entity_id`,`key`,`ts`)
) engine=innodb default charset=utf8;
create table `ts_kv_latest` (
`entity_type` varchar(255) not null,
`entity_id` varchar(31) not null,
`key` varchar(255) not null,
`ts` bigint(20) not null,
`bool_v` tinyint(1) default null,
`str_v` varchar(255) default null,
`long_v` bigint(20) default null,
`dbl_v` double default null,
primary key (`entity_type`,`entity_id`,`key`)
) engine=innodb default charset=utf8;
create table `user_credentials` (
`id` varchar(31) not null,
`activate_token` varchar(255) default null,
`enabled` tinyint(1) default null,
`password` varchar(255) default null,
`reset_token` varchar(255) default null,
`user_id` varchar(31) default null,
primary key (`id`),
unique key `activate_token` (`activate_token`),
unique key `reset_token` (`reset_token`),
unique key `user_id` (`user_id`)
) engine=innodb default charset=utf8;
create table `widget_type` (
`id` varchar(31) not null,
`alias` varchar(255) default null,
`bundle_alias` varchar(255) default null,
`descriptor` varchar(10000) default null,
`name` varchar(255) default null,
`tenant_id` varchar(31) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
create table `widgets_bundle` (
`id` varchar(31) not null,
`alias` varchar(255) default null,
`search_text` varchar(255) default null,
`tenant_id` varchar(31) default null,
`title` varchar(255) default null,
primary key (`id`)
) engine=innodb default charset=utf8;
插入基础数据:
insert into `admin_settings` (`id`, `json_value`, `key`) values ('1e746126a2266e4a91992ebcb67fe33', '{\r\n \"baseurl\": \"http://localhost:8080\"\r\n}', 'general');
insert into `user_credentials` (`id`, `activate_token`, `enabled`, `password`, `reset_token`, `user_id`) values ('1e7461261441950a91992ebcb67fe33', null, '1', '$2a$10$5jtb8/hxwc9way62ncgsxeefl3kwmipa9nfpvdda0/xfiseebb4bu', null, '1e746125a797660a91992ebcb67fe33');
insert into `tb_user` (`id`, `additional_info`, `authority`, `customer_id`, `email`, `first_name`, `last_name`, `search_text`, `tenant_id`) values ('1e746125a797660a91992ebcb67fe33', '{\"lastlogints\":1581066533969,\"failedloginattempts\":0}', 'sys_admin', '1b21dd2138140008080808080808080', 'sysadmin@thingsboard.org', null, null, 'sysadmin@thingsboard.org', '1b21dd2138140008080808080808080');
表建好后启动 idea,第一个问题:无法导入 mysql 数据库驱动,在项目根目录 pom 文件中加入了 mysql 驱动,可是无论如何也不能自动下载依赖,找不到原因,没办法只能手动导入
其他配置请到社区官方 q 群获取
简介: 5g 的实施将促进更顺畅、更强大和多层网络的发展。这将如何影响物联网澳门人威尼斯3966的解决方案领域?首先,它将加速智慧城市的曙光。
为什么 5g 是最近记忆中最迫切期待的技术之一,为什么它在地缘政治上如此重要?因为 5g 有改变世界的潜力。
从 2018 年到 2025 年,运营商和投资者将在全球范围内押注约 1 万亿美元,希望 5g 成为事实上的全球无线通信标准。这种押注当然是安全的,原因有很多,其中很多都与 5g 预示着物联网的变革有关。
以下是 5g 改变物联网的六种方式:
虽然速度增长了 100 倍,但这并不是 5g 改进当前协议的唯一明显途径。
您可以将 5g 视为下一代 wi-fi。您习惯在家里或工作场所使用中央路由器,该路由器会向附近的任何设备发送无线电波,以便它们可以使用 wi-fi 连接到互联网。台式机,笔记本电脑,手机,智能家居设备,手表,浴室磅秤,冰箱和我们所有其他与 internet 连接的物品目前都使用这些路由器来工作。
取而代之的是,5g 连接将允许每个设备以无线方式单独或直接连接到您的互联网服务提供商。我们还需要暂时使用路由器,等待运营商进一步开发我们的 5g 基础设施,以及电子公司生产的设备能够在几乎不消耗电能的情况下保持连接。
据诺基亚称,5g 广泛采用的预期结果之一,是有望推出新的业务模式和新的方式,为所有物联网设备(包括业务地点)向无线客户提供服务。
诺基亚表示,“网络切片(network slicing)” 将带来 4g 或更早期技术无法实现的机遇。网络切片涉及为所有客户使用相同的基础架构。但是,开发人员将为不同的客户类型创建高度差异化的个性化 qos(服务质量)层和功能包。
换句话说,5g 将消除为企业客户提供多种类型的设备以使其在线的那种套餐。
诺基亚预测,网络切片可以使服务提供商的营业利润率提高 5%,目前多达 15%的互联网用户将对优质服务感兴趣。5g 的速度和灵活性将实现这一愿望。
城市一直是我们社会化和经济技术进步的中心。联合国表示,到 2050 年,全球 68%的人口将居住在城市地区。
布鲁金斯学会说,美国约有 75%的 gdp 来自其 100 个最大的大都市区。
智能城市投资于我们的基础设施、城市和所有人的高效生活,5g 将有助于这一概念的成熟。为了创建这些城市,工人们将:
1)使用传感器和大数据从头开始设计城镇,以提高车辆和人流的效率。
2)使用无线技术来帮助汽车彼此之间以及市民基础设施之间进行通信。
3)使用 5g 技术为企业和公民提供多种其他方式来接收或分发货物和信息,或从一个地方到另一个地方旅行。
通过对这项技术进行投资,世界各地的城市都可以开始实现更高的经济竞争力和包容性。5g 的实施将促进城市中更平滑,功能更强大的网络的发展,并将有助于将自动驾驶汽车等技术广泛应用。
诸如物联网和人工智能之类的大概念似乎在短短几年内就发展成为完全实现的产品。
例如,微软经常播放商业广告,宣传他们的人工智能在帮助农民预测和最大限度地提高作物产量以及尽量减少水、杀虫剂和肥料的使用方面的威力。
此刻对于此类创新至关重要。但是,人工智能只是其中的一小部分。物联网是在将大量有用数据传送到环境传感器和连接的农业设备时充当眼睛和耳朵的机制。
鉴于到 2050 年世界人口将达到 96 亿,现在投资物联网是有意义的。然后,我们可以开始深入了解土壤和环境健康以及如何最好地利用我们的资源。
对于 5g 而言,农业方面的关注只是一个开始,并且在连接性和功能性方面取得了巨大飞跃。希望使用物联网进行资源和设施管理的公司将发现传感器比以往更具成本效益。他们可以将这些传感器添加到几乎所有事物中,从物料搬运和制造设备到在设施之间运送原材料的车辆。
5g 将有可能完全连接我们的供应链。数据将能够在业务威尼斯人最新的合作伙伴之间和组织内部自由流动。
消费者和公司都将从 5g 技术中受益,而医疗保健就是一个很好的例子。尽管人口的很大一部分生活在城市中心,但世界各地的偏远社区和农村地区经常遭受缺乏基础设施和服务(包括药品)的困扰。
借助 5g 的强大功能,远程医疗将成为医院和私人诊所中更为可行的工具。健康可穿戴设备已显示出有效帮助各种危险人群解决健康问题并改善患者预后的功效。
与 5g 的更平滑的连接可以为患者及其医生带来更多有意义的功能。例如,5g 可以帮助重要数据(可能预示未来的健康问题)更快速地进行传送。
具有更广泛可用的可靠的高速无线互联网,也将提高其他远程医疗服务的质量,包括患者护理和患者医生视频会议。
远程医疗将不必要的急诊室就诊率降低了近 7%,这对于居住在城市中心以外的人们以及那些出行不方便的人们来说至关重要。
5g 的贡献将继续
5g 将以多种方式将物联网带入消费和商业主流。从那时起,我们才开始了解它的全部含义和机会。
————————————————
原文链接:
通过反向代理配置政务云/私有云内网 https 的 nginx 配置文件
通过反向代理配置政务云/私有云内网 https 的 nginx 配置文件
server
{
listen 80;
listen 443 ssl http2;
server_name jk.zhan.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/jk.zhan.com;
#ssl-start ssl相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /www/server/panel/vhost/cert/jk.zhan.com/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/jk.zhan.com/privkey.pem;
ssl_protocols tlsv1.1 tlsv1.2 tlsv1.3;
ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:high:!anull:!md5:!rc4:!dhe;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:ssl:10m;
ssl_session_timeout 10m;
error_page 497 https://$host$request_uri;
#ssl-end
#error-page-start 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#error-page-end
#php-info-start php引用配置,可以注释或修改
include enable-php-71.conf;
#php-info-end
#rewrite-start url重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/jk.zhan.com.conf;
#rewrite-end
location / {
proxy_set_header host $http_host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header remote-host $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_pass http://110.186.77.88:45678;
try_files $uri $uri/ /index.html;
}
location /prod-api/ {
proxy_set_header host $http_host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header remote-host $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_pass http://110.186.77.88:45678;
}
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|license|readme.md)
{
proxy_pass http://110.186.77.88:45678;
return 404;
}
#一键申请ssl证书验证目录相关设置
location ~ \.well-known{
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log off;
access_log /dev/null;
proxy_pass http://110.186.77.88:45678;
}
location ~ .*\.(js|css|woff|ttf)?$
{
expires 12h;
error_log off;
access_log /dev/null;
proxy_pass http://110.186.77.88:45678;
}
access_log /www/wwwlogs/jk.zhan.com.log;
error_log /www/wwwlogs/jk.zhan.com.error.log;
}
thingsboard gateway 做成硬件网关如何?有人实现了吗?我们最近一个项目都是把 thingsboard gateway 部署到工控机上面,他麻烦了,而且成本还高!!
npm err! code e404
npm err! 404 not found - get https://registry.npmjs.org/acorn/-/acorn-6.12.1.tgz
npm err! 404
npm err! 404 'acorn@6.12.1' is not in the npm registry.
npm err! 404 you should bug the author to publish it (or use the name yourself!)
npm err! 404 it was specified as a dependency of 'ui-ngx'
npm err! 404
npm err! 404 note that you can also install from a
npm err! 404 tarball, folder, http url, or git url.
npm err! a complete log of this run can be found in:
npm err! c:\program files\nodejs\node_cache\_logs\2020-06-02t08_35_50_411z-debug.log
[info] ------------------------------------------------------------------------
[info] reactor summary for thingsboard 3.0.0:
[info]
[info] thingsboard ........................................ success [ 0.449 s]
[info] netty mqtt client .................................. success [ 2.918 s]
[info] thingsboard server commons ......................... success [ 0.025 s]
[info] thingsboard server common data ..................... success [ 5.075 s]
[info] thingsboard server common utils .................... success [ 0.453 s]
[info] thingsboard server common messages ................. success [ 4.030 s]
[info] thingsboard server queue components ................ success [ 12.541 s]
[info] thingsboard server commons ......................... success [ 0.025 s]
[info] thingsboard server common transport components ..... success [ 1.837 s]
[info] thingsboard mqtt transport common .................. success [ 1.809 s]
[info] thingsboard http transport common .................. success [ 1.056 s]
[info] thingsboard coap transport common .................. success [ 1.121 s]
[info] thingsboard server common dao api .................. success [ 2.082 s]
[info] thingsboard extensions ............................. success [ 0.026 s]
[info] thingsboard rule engine api ........................ success [ 1.559 s]
[info] thingsboard server dao layer ....................... success [ 10.395 s]
[info] thingsboard rule engine components ................. success [ 7.354 s]
[info] thingsboard server transport modules ............... success [ 0.030 s]
[info] thingsboard http transport service ................. success [ 32.365 s]
[info] thingsboard mqtt transport service ................. success [ 15.089 s]
[info] thingsboard coap transport service ................. success [ 18.066 s]
[info] thingsboard server ui .............................. failure [04:48 min]
[info] thingsboard server tools ........................... skipped
[info] thingsboard rest client ............................ skipped
[info] thingsboard server application ..................... skipped
[info] thingsboard microservices .......................... skipped
[info] thingsboard docker images .......................... skipped
[info] thingsboard javascript executor microservice ....... skipped
[info] thingsboard web ui microservice .................... skipped
[info] thingsboard node microservice ...................... skipped
[info] thingsboard transport microservices ................ skipped
[info] thingsboard mqtt transport microservice ............ skipped
[info] thingsboard http transport microservice ............ skipped
[info] thingsboard coap transport microservice ............ skipped
[info] thingsboard black box tests ........................ skipped
[info] ------------------------------------------------------------------------
[info] build failure
[info] ------------------------------------------------------------------------
[info] total time: 06:48 min
[info] finished at: 2020-06-02t16:08:1208:00
[info] ------------------------------------------------------------------------
[error] failed to execute goal com.github.eirslett:frontend-maven-plugin:1.7.5:npm (npm install) on project ui-ngx: failed to run task: 'npm install' failed. org.apache.commons.exec.executeexception: process exited with an error: 1 (exit value: 1) -> [help 1]
[error]
[error] to see the full stack trace of the errors, re-run maven with the -e switch.
[error] re-run maven using the -x switch to enable full debug logging.
[error]
[error] for more information about the errors and possible solutions, please read the following articles:
[error] [help 1] http://cwiki.apache.org/confluence/display/maven/mojofailureexception
[error]
[error] after correcting the problems, you can resume the build with the command
[error] mvn <goals> -rf :ui-ngx
thingsboard rule engine 是一个高度可定制的框架,用于复杂事件处理。以下是一些可以通过 thingsboard 规则链配置的常见用例:
求一份 thingsboard 二次开发文档,社区 qq 群里面的文档也不错,讲解了基础架构,有没有大神有规则引擎相关的文档~~
首先让我们来看一下什么是时序数据。时序数据是一类按照时间维度进行索引的数据,它记录了某个被测量的实体在一定时间范围内,每个时间点上的一组测试值。比如说,传感器上传的大棚每小时的湿度和温度数据、a 股中某支股票每个时间点的股价、计算机系统的监控数据等,都属于时序数据,时序数据有以下一些特点:
如果说你的业务数据符合上面的条件,比如,你的业务数据属于监控、运维类的数据,或者你的数据需要用折线图之类的进行可视化,那么你就可以考虑使用时序数据库。
thingsboard 如何修改包结构?服务与数据库前缀也要修改,怎么修改最省事
自去年 5g 商用以来,5g 的热度、受关注度一直居高不下。前段时间,受新基建影响,5g 更是吸引了大众更多的注意。5g 之所以如此重要,源于它或将真正叩响物联网时代的到来。
万物互联时代,越来越多的设备从 “哑终端” 摇身变成了 “智能终端”,企业能够从设备端收集海量数据,分析数据从而产生新的洞察,用以提升效率、降低成本。
显然,连接是物联网的第一步。然而,作为终端生产厂商,当其产品从不联网的传统终端向智能终端转型时,“连接” 给其整个业务流程带来不小的挑战,这些挑战往往是围绕一张物联网卡而产生的。
所谓 “解铃还须系铃人”,小巧灵活、安全稳定的 esim 成为解决这类问题最为典型的方式之一。
根据三大运营商公开的数据,截至去年底,国内采用蜂窝网络的物联网连接数已超过 10.3 亿。这些互联的智能摄像头、智能表计、智能 pos 机、共享单车智能锁、车载智能终端等联网终端大都依赖专门的物联网卡作为唯一的身份标识以实现数据通信。
当终端厂商开始生产采用蜂窝网络 2g/3g/4g/nb-iot 的物联网终端时,直接面对着生产、供应链、测试等多个环节发生改变带来的挑战,我们不妨以表计行业为例来一一说明:
(1)供应链碎片化
在传统表计时代,所有表计具有同质化的功能,因此所有生产材料和元器件可以规模化、批量化采购。然而,随着物联网表计时代的到来,供应链碎片化的问题迎面而至。
水表、燃气表面对的是全国甚至全球化的市场,在每一地域部署时都需要连接到当地运营商网络中,不同地区客户对于通信制式都有具体的要求。如此前要求 2g,现在更多要求 nb-iot。为了保障网络服务质量,表计厂商往往会根据项目所在地订单和客户需求选择采购当地的物联网卡。
当终端厂商面对全国乃至全球市场,它需要分别与大量本地运营商去采购物联网卡,而每一笔采购量并不大时,这种供应链的碎片化会降低其整体采购效率。
(2)产线效率低下
传统表计经过不断发展,很多环节已经形成固定、高效的流水线式生产,整体效率较高。但在智能表计时代,嵌入式物联网卡则需要工厂额外增加相关连接部件的工序,且表计本身极长的使用周期也决定了其会选择一些稳定性更高的贴片卡。
由于要满足分散市场对网络接入的需求,不同客户、不同区域订单嵌入的贴片卡并不一样。传统表计可以自动化无间断地生产,但物联网表计需要频繁中断产线,根据每一订单要求来贴本地具体运营商的物联网卡,同一型号表计会产生多个批次的产品,还需要根据订单做好产品管理,防止不同客户不同地域发货出错。因此,与传统产线效率相比,物联网卡的特点造成产线效率降低的挑战。
(3)测试与实际应用环境存在差异
对于智能表计而言,其通信能力直接关乎产品自身质量是否合规。因此,智能表计厂商一般在出厂前有必要增加额外的通信测试工序,以检测该产品能否正常连接网络。
为确保产品通信测试顺利完成,一般测试场地附近的网络基础设施都非常完备,网络质量高。但是各种物联网表计产品在实际应用环境中的网络质量并不可控,很容易造成智能表计抄表成功率低等问题。因此,智能表计的终端厂商和方案商往往需要协调大量人员进行上门网络测试与优化,变相增加了工作量。
(4)澳门人威尼斯3966的售后服务成本
智能表计中的物联网卡往往都是专机专供,一旦智能表计存在质量问题需要返厂,其原有的物联网卡就很难再得到有效利用,而该网卡的通信套餐一般在出厂前就已经选择按照生命周期计费,已付费的套餐会造成一定浪费。
如果想要将相关套餐重新利用,其过程一般是先申请停机,再在运营商处办理迁移,往往费时费力。
为了解决这些实际存在的痛点,目前业界已经在多个方面开展探索,esim 就是其中的典型方案之一。
众所周知,5g、nb-iot 蜂窝物联网等技术方便了智能表计部署、提高了智能表计的稳定性,而 sim 卡在这一过程中充当着智能表计 “身份证” 的关键角色。
随着技术的不断发展,sim 卡逐渐发展到现今小型化、嵌入式、空中写卡的阶段。过去两年,全球 esim 生态系统得到了长足的发展,一个关于 esim 的时代正悄悄来临。
在国内,中国移动旗下的中移物联网有限公司早已组建了专业的 esim 业务运营团队。作为最专业的 esim 行业澳门人威尼斯3966的解决方案提供商,中移物联基于公司强大的 esim 研发能力、产品制造能力,形成丰富的 esim 产品体系,并开发出数十款 esim 芯片、模组与终端。
esim 可以先给予终端厂商一个临时测试码号,当终端出厂后进入项目所在地,再一次性写入本地的码号,由本地运营商收取套餐费。这一流程的优化对用户来说是一大改进:
中移物联 esim 预置临时码号,不具有省份属性,可通过空中写卡平台下发带来正式卡 profile 的写卡短信,完成对临时码号的替换,从而实现远程配置 profile 的目的。
针对生产时间高度敏感型的场景,如模组生产产线,中移物联还能提供高效率的产线写卡方案。在智能表计行业,厂商可以预先使用临时码号芯片生产通用的表计设备,提前完成设备备货。当接到小批量挂测或交付订单时,仅需向当地的运营商申请 esim 码号资源,在产线上或在终端应用上写卡,远程配置为指定运营商的码号,便可以在一周内完成设备交付。根据表计厂商反馈,esim 模式较使用运营商现制卡、库存卡生产交付模式,交付时间缩短 70%、40% 以上。
为方便厂商快速开发 esim 方案,中移物联还提供了丰富的 esim 开发资料包,厂商可以根据场景选择标准化产线工具或者灵活的 api 接口。
目前,中移物联 esim 业务运营团队已形成完善的 esim 芯片体系,主要包括物联网通信芯片、esim 卡两大产品序列。其中,物联网通信芯片主要以通信制式分为 nb 通信芯片、2g 通信芯片和 4g 通信芯片,采用 esim 通信芯片的终端无需再单独集成 sim 卡,且具备空中写卡功能。esim 卡主要包含 c5x6 贴片卡、c2x2 贴片卡和安全 sim 卡。这些 esim 芯片已广泛应用于穿戴设备、智能抄表、智能物流、智能 pos 等多个领域。
当然,再简单的事情重复足够多,其难度也会指数级递增。对于数量巨大的 esim 而言,同样如此。
对此,中移物联结合 onenet 及 onelink 平台,已经形成了一整套完备的云 - 管-端一体化澳门人威尼斯3966的解决方案。
如今,esim 在全球的发展如火如荼,而中移物联已然成为国内 esim 领域的领路人。据麦肯锡预测,全球 esim 2020 年市场规模(m2m 部分)将突破 14 亿美元,复合年均增长率为 95%,市场将出现爆发式增长。
时代的大浪滚滚向前,esim 的精彩才刚刚开始。
丰富的应用场景:sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发 流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
完备的实时监控:sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级 数据,甚至 500 台以下规模的集群的汇总运行情况。
广泛的开源生态:sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 spring cloud、 dubbo、grpc 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 sentinel。
完善的 spi 扩展点:sentinel 提供简单易用、完善的 spi 扩展接口。您可以通过实现扩展接口来快速地 定制逻辑。例如定制规则管理、适配动态数据源等。
thingsboard 如何将 postgresql 数据库修改为 mysql 或者 sqlserver??