JetLinks open source IoT platform
JetLinks is developed based on Java8, Spring Boot 2.x, WebFlux, Netty, Vert.x, Reactor, etc. It is an out-of-the-box, enterprise-level Internet of Things basic platform that can be developed twice. The platform implements many basic functions related to the Internet of Things, and can help you quickly establish a business system related to the Internet of Things.
Core features
Support unified object model management, multiple devices, multiple manufacturers, unified management.
Unified device connection management, multi-protocol adaptation (TCP, MQTT, UDP, CoAP, HTTP, etc.), shielding the complexity of network programming, and flexibly accessing devices with different protocols from different manufacturers.
Flexible rule engine, device alarm, message notification, data forwarding. Complex real-time data processing based on SQL.
Online Demo: http://demo.jetlinks.cn Username: test
Password: test123456
.
Technology stack
- Spring Boot 2.3.x
- Spring WebFlux responsive web support
- R2DBC responsive relational database driver
- Project Reactor reactive programming framework
- Netty , Vert.x high-performance network programming framework
- ElasticSearch full-text search, log, time series data storage
- Redis , device configuration, state management, caching.
- PostgreSQL business function data management
- hsweb framework 4 business function basic framework
1.6-RELEASE
Updated: 2020-10-30
Code branch: 1.6
Main optimization
- Integrated OAuth2 Server function.
- Optimize device grouping, support multi-level grouping,
id$dev-group-tree
and query grouping and sub-grouping devices. - Integrated Xiaodu smart home platform,.
小度小度,打开空调
(Pro optional module) - Increasing device forwards the message to
租户
,设备分组
the corresponding message bus, after the update to take effect please re-activate the device (Pro). - Subscribe to device messages through mqtt. When used
$shared/
as a prefix, the same user will only receive one message notification. - ReactorQL adds column to row, when used
$this
as an alias, the column object is filled into the current row. - ReactorQL adds line tracking, by
row.index
obtaining the line number, byrow.elapsed
obtaining the time interval (ms) from the previous line. - ReactorQL adds more statistical functions,
slope(斜度),skewness(偏度特征),kurtosis(峰度特征),variance(方差)....
see the function description (Pro). - ReactorQL adds equipment historical data and latest data query function to view SQL instructions (Pro).
- Network components
MQTT Client
inclientId
,username
,password
support for regular expressions. Can${#env.getProperty(...)}
be obtained in the configuration file configuration. - Added scene linkage rule interface (Pro).
- Optimize support for redis cluster.
Release Notes
The elasticsearch.client
related configuration of the original configuration is invalid, please use spring.data.elasticsearch.client.reactive.endpoints
to configure.