物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

以下为你介绍的物联网软件都可用在Linux系统上:TDengine(物联网大数据平台)、ThingsBoard(开源物联网平台)、AWTK-IOTJS(物联网 GUI 开发套件)、HybridOS(智能物联网操作系统)。

1、TDengine(物联网大数据平台)

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

TDengine是一个开源的专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的工作量。

为何选择TDengine?

1]、10倍以上的性能提升

定义了创新的数据存储结构,单核每秒就能处理至少2万次请求,插入数百万个数据点,读出一千万以上数据点,比现有通用数据库快了十倍以上。

2]、硬件或云服务成本降至1/5

由于超强性能,计算资源不到通用大数据方案的1/5;通过列式存储和先进的压缩算法,存储空间不到通用数据库的1/10。

3]、全栈时序数据处理引擎

将数据库、消息队列、缓存、流式计算等功能融合一起,应用无需再集成Kafka/Redis/HBase/Spark等软件,大幅降低应用开发和维护成本。

4]、强大的分析功能

无论是十年前还是一秒钟前的数据,指定时间范围即可查询。数据可在时间轴上或多个设备上进行聚合。临时查询可通过Shell/Python/R/Matlab随时进行。

5]、与第三方工具无缝连接

不用一行代码,即可与Telegraf、Grafana、Matlab、R集成。后续还将支持MQTT、OPC、Hadoop、Spark等,BI工具也将无缝连接。

6]、零运维成本、零学习成本

安装、集群一秒搞定,无需分库分表,实时备份。标准SQL,支持JDBC,RESTful,支持Python/Java/C/C++/Go, 与MySQL相似,零学习成本。

建造:

目前,TDengine仅支持在Linux系统上构建和运行。您可以选择从软件包或源代码进行安装。 本快速指南仅适用于从源码包安装。

要构建TDengine,请在项目目录中使用CMake 2.8或更高版本,例如在Ubuntu上安装CMake:

sudo apt-get install -y cmake build-essential

要编译和打包JDBC驱动程序源代码,您应该安装Java jdk-8或更高版本以及Apache Maven 2.7或更高版本,要在Ubuntu上安装openjdk-8:

sudo apt-get install openjdk-8-jdk

要在Ubuntu上安装Apache Maven:

sudo apt-get install maven

构建TDengine:

mkdir build && cd build

cmake .. && cmake --build .

快速运行:

要在构建后快速启动TDengine服务器,请在终端中运行以下命令:

./build/bin/taosd -c test/cfg

在另一个终端中,使用TDengine Shell连接服务器:

./build/bin/taos -c test/cfg

选项“-c test/cfg”指定系统配置文件目录。

尝试TDengine:

从TDengine Shell运行SQL命令很容易,该命令与其他SQL数据库相同。

create database db;

use db;

create table t (ts timestamp, a int);

insert into t values ('2019-07-15 00:00:00', 1);

insert into t values ('2019-07-15 01:00:00', 2);

select * from t;

drop database db;

下载地址:https://github.com/taosdata/TDengine

2、ThingsBoard(开源物联网平台)

ThingsBoard 是一个开源的物联网平台,用于数据收集、处理、可视化展示以及设备管理。ThingsBoard 使用行业标准物联网协议(MQTT,CoAP和HTTP)实现设备连接,并支持云和本地部署。ThingsBoard结合了可扩展性,容错性和性能,因此您永远不会丢失数据。

ThingsBoard提供设备和资产的管理:通过丰富的服务器端API以安全的方式配置,监控和控制您的IoT实体。定义设备,资产,客户或任何其他实体之间的关系。ThingsBoard 收集数据并对数据进行可视化展示,以可扩展和容错的方式收集和存储遥测数据。使用内置或自定义小部件和灵活的仪表板可视化您的数据,与您的客户共享仪表板。

支持定义数据处理规则链,转换并规范化您的设备数据。提高传入遥测事件、属性更新,设备不活动和用户操作的警报

ThingsBoard 支持集群部署,并通过新的微服务架构获得最大的可扩展性和容错能力。 ThingsBoard 还支持云和本地部署。

ThingsBoard 包括社区版和专业版:

社区版主要特性:

Attributes - 平台为您的实体分配自定义键值属性的能力(例如配置,数据处理,可视化参数)。

Telemetry - 用于收集时序数据以及相关用例的 API。

Entities and relations - 能够模拟物理世界对象(例如设备和资产)以及它们之间的关系。

Data visualization - 涵盖数据可视化功能:小部件,仪表板,仪表板状态。

Rule engine - 涵盖有关传入遥测和事件的数据处理和操作。

RPC - 用于将命令从应用程序和仪表板推送到设备的API和小部件。

Audit log - 跟踪用户活动以及 API 调用日志。

API Limits - 控制 API 的使用,可以限制单个主机或者单个时间单位内的请求数。

Smart metering:

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

IoT Rule Engine:

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

Smart energy:

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

Smart farming:

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

Fleet tracking:

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

下载地址:https://github.com/thingsboard/thingsboard

3、AWTK-IOTJS(物联网 GUI 开发套件)

一、介绍

1]、关于 iotjs

iotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是内存需求,iotjs 都要小很多,是用 javascript 开发 iot 设备应用程序的首选。

2]、关于 AWTK

AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。

awtk-iotjs 将 awtk 和 iotjs 有机结合起来,用 javascript 打通 GUI、网络和硬件,完全采用 javascript 开发物联网应用程序。

运行效果截图:

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

二、编译

下载编译 iotjs:

git clone https://github.com/pando-project/iotjs.git

cd iotjs

./tools/build.py

cd -

下载编译 awtk:

git clone https://github.com/zlgopen/awtk.git

cd awtk

scons

cd -

下载编译 awtk-js:

git clone https://github.com/zlgopen/awtk-js.git

cd awtk-js

git clone https://github.com/jerryscript-project/jerryscript.git 3rd/jerryscript

scons

cd -

下载编译 awtk-iotjs:

准备工作:

目前我不知道如何在 module.json 中指定编译参数,所以只好修改 iotjs/CMakeLists.txt 了。请在倒数第二行增加下面这行代码。

include(../awtk-iotjs/awtk-module/awtk.cmake)

下载编译:

git clone https://github.com/zlgopen/awtk-iotjs.git

cd awtk-iotjs

./build.sh

请确认以上项目均在同一个目录。

三、运行 DEMO

./run.sh demos/buttons.js

四、开发

在开发时可以使用:

iotjs 提供的模块。

awtk-js 提供的 GUI 控件。

其它第三方模块。

与 awtk-js 主要差异是需要加载并初始化 awtk:

require('awtk').init(320, 480);

完整示例:

require('awtk').init(320, 480);

function applicationInit() {

var win = TWindow.create(null, 0, 0, 0, 0); 

var ok = TButton.create(win, 0, 0, 0, 0); 

ok.setText("ok");

ok.setSelfLayoutParams("center", "middle", "50%", "30");

ok.on(TEventType.CLICK, function(evt) {

var e = TPointerEvent.cast(evt);

console.log("on click: " + e.x + " " + e.y);

return TRet.OK;

}); 

win.layout();

}

applicationInit()

五、已知问题

只支持 Linux 系统 (Ubuntu >= 16)。

未 awtk-linux-fb 上验证,可能修改一下脚本。

理论上 Windows 平台也是可以的,但是 iotjs 没编译过。

下载地址:https://gitee.com/zlgopen/awtk-iotjs

4、HybridOS(智能物联网操作系统)

物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS介绍

合璧操作系统(HybridOS)是一整套专为嵌入式设备打造的快速开发平台,由拥有12 年嵌入式图形领域的开发经验、5 年嵌入式浏览器开发经验、丰富的嵌入式操作系统应用系统和中间件以及硬件平台开发经验的北京飞漫软件技术有限公司于 2010 年推出。在最初开发的 2010 年 9 月,合璧操作系统(HybridOS)发布的版本是R1007。

合璧操作系统(HybridOS)集成了飞漫软件10余年的嵌入式行业研发经验和众多成熟产品的最新版本,包括嵌入式图形支持系统(MiniGUI)、嵌入式浏览器系统(mDolphin)、嵌入式Java系统(mPeer)、所见即所得的可视化集成开发平台(mStudio),使众多的希望在嵌入式设备上做开发的中小型企业,可以摆脱“不稳定的内核以及驱动程序”、“交叉编译工具链、基础函数库存在大量缺陷”、”不恰当的开源软件“、“高水平嵌入式开发工程师缺乏”等这些问题的困扰,从而能够在一个运行稳定、功能强大的小巧系统内核基础上,专注开发产品。

合璧操作系统(HybridOS)采用新的商业授权模式,性价比颇高。

缘起:

如今,越来越多的嵌入式设备开始使用 Linux 作为其操作系统,但除了操作系统内核之外,业内并没有一个针对嵌入式设备的一体化快速开发平台,能够提供统一、稳定、高效的操作系统基础设施(如基础函数库、多媒体处理设施、数据库、窗口系统和控件集、浏览器、可视化集成开发平台)等等。而 Android、WebOS 等基于 Linux 内核的解决方案仅仅适用于特定领域(如高端智能手机领域),而并不适用于诸如工业控制、医疗仪器、多媒体终端、信息终端、中低端手机等领域,并且使用单一技术手段(Java 技术或浏览器技术),限制了系统的灵活性,并对控制设备的硬件成本带来了巨大压力。

飞漫软件在长期支持 MiniGUI、mDolphin 用户的过程中,发现用户经常会因为内核、工具及其他组件的问题而影响产品的正常开发,这些问题有:

不稳定的内核以及驱动程序。

交叉编译工具链、基础函数库存在大量缺陷。

选择了不恰当的开源软件。

事实上,绝大多数使用 Linux 操作系统的嵌入式设备开发者都遇到过类似的问题,而这些问题本来是可以通过建立统一、标准的 Linux 操作系统及开发工具来避免的。

飞漫接触过几十种嵌入式 SoC,积累了丰富的支持经验,飞漫软件打造合璧操作系统(HybridOS),就是为了融合多种主流的嵌入式应用开发技术,如同混合动力技术的汽车一样,同时义喻“中西合璧”,为嵌入式设备提供一个统一的、稳定的、高效的、具有更好灵活性的、可在性能和便于二次开发等方面获得良好平衡的操作系统平台。

特点优势:

合璧操作系统(HybridOS)为客户提供了完整的嵌入式应用程序开发平台以及各组成部分的软件缺陷修正及质量保证服务,为正在使用或打算使用 Linux 开发嵌入式设备的中小企业客户解决了研发能力有限,难以完成复杂嵌入式系统从下(内核、驱动程序)到上(应用程序)的全部软件开发工作的棘手难题。

使用 HybridOS 有如下优势:

立即获得可即刻进行应用程序开发的完整软件平台,免去选择各种开源软件(及其版本)、自行搭建系统平台的风险。

从内核、驱动程序到中间件,合璧操作系统(HybridOS)已经全部准备好,客户可专注于上层应用程序的设计和开发,从而缩短产品的上市时间。

立即获得 PC 及目标板两套一模一样的对等开发环境,这样,绝大部分应用程序都可以在 PC 主机上完成开发和测试,交叉编译之后即可下载到目标板上运行和验证,从而大大加快应用程序的开发速度。

使用可视化集成开发环境,基于Eclipse CDT,为开发人员提供所见即所得(WYSIWYG)的界面设计环境,同时可以自动生成代码,维护工程框架等,使嵌入式编程像使用VB、VC编程一样方便和容易。

因为软件包选择上的一致性,当您从某个 SoC 切换到另外一个 SoC 时,已有的应用软件不需要重新开发,而只需重新编译。

极高的性价比,降低嵌入式软件开发的入门门槛,降低客户的研发投入和研发风险。

专业强大的技术支持和质量保证服务。

合璧操作系统(HybridOS)整合了开源软件技术(如 Linux 内核)、飞漫软件专有的核心技术(MiniGUI)、以及飞漫浏览器(mDolphin)、J2SE 解决方案(mPeer)、可视化集成开发环境(mStudio)等,飞漫同时精心挑选了成熟和稳定的开源软件作为合璧操作系统的组成部分。

针对不同的 SoC,合璧操作系统(HybridOS)的软件包会有所不同;比如,低端 SoC(如 S3C2410)中不会包含浏览器,而高端 SoC(如 S3C6410)中不仅会包含浏览器,还会包含 OpenGL ES 支持、SDL 支持等等。

合璧操作系统按 SoC 分类,为流行的 SoC 提供如下软件包:

针对特定 SoC 的最新 Linux 内核及关键设备驱动程序。

最新的 GNU 交叉编译工具链。

基础系统函数库包。

工具程序及脚本支持包。

XML 支持包。

网络支持包。

数据库支持包。

图形及 GUI支持包:MiniGUI 3.0 及其组件。

三维图形支持包:OpenGL ES 1.1/2.0(如果 SoC 含有支持 OpenGL ES 标准的 3D GPU)。

浏览器支持包:mDolphin 2.0(主频超过 300MHz 的 SoC)。

游戏支持包:SDL 1.2(主频超过 500MHz 的 SoC,且含有硬件二维图形加速)。

Gtk+ 兼容支持包:Gtk+ 2.16(主频超过 500MHz 的 SoC)。

主机操作系统及开发工具:Ubuntu Linux 8.04 LTS with mStudio 1.2。

下载地址:https://github.com/FMSoftCN/hybridos

注明

以上就是物联网软件TDengine、ThingsBoard、AWTK-IOTJS、HybridOS的介绍内容,这些物联网软件都能使用在Linux操作系统中。

栏目相关文章