开源物联网平台iot-iita深度解析
iot-iita是一个由铱塔智联(openiita)提供的开源物联网平台项目。该平台为物联网及相关业务开发提供了丰富的基础功能,旨在帮助用户快速搭建自己的物联网相关业务平台。
开源地址:iot-iita: iot-iita物联网平台,包含了品类、物模型、消息转换、插件管理(mqtt插件、EMQX插件、http插件、tcp插件、modbus插件等)、设备管理、设备分组、规则引擎、第三方平台接入、数据流转(http/mqtt/kafka)、数据可视化、告警中心等模块,支持es/td等多种时序数据库。https://gitee.com/open-iita/iotkit-parent
以下是对iot-iita的详细介绍:
一、平台功能
iot-iita平台包含了多个核心模块,以满足物联网应用的不同需求:
二、平台优势
三、软件架构
iot-iita平台采用Spring Boot、JPA、Vert.x、Redis、H2、MySQL、Elasticsearch、TDengine、RocketMQ、sa-token等框架和第三方软件构建而成。中间件采用模块化无侵入集成方式,非常容易扩展和替换。默认使用内置的Redis、H2数据库、Elasticsearch时序数据库、Vert.x消息总线和OSS以减小启动难度,可实现零配置一键启动。
四、使用与部署
用户可以通过源码或Docker镜像的方式部署iot-iita平台。在配置好相应的JDK环境后,用户可以使用IDEA等IDE工具拉取代码并运行项目。同时,平台也提供了Docker镜像供用户快速部署。
准备docker-compose.yml配置文件:
version: "3.4"
services:
mysql:
container_name: iot-mysql
image: mysql:8
restart: unless-stopped
tty: true
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE:-iotkit}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
volumes:
- mysql:/var/lib/mysql/
redis:
container_name: iot-redis
image: redis:6-alpine
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis:/data
server:
container_name: iot-server
build:
context: .
image: iot-server
restart: unless-stopped
ports:
- "8089:8086"
- "8088:8082"
environment:
# https://github.com/polovyivan/docker-pass-configs-to-container
SPRING_PROFILES_ACTIVE: mysql
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: ${MASTER_DATASOURCE_URL:-jdbc:mysql://iot-mysql:3306/iotkit?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: ${MASTER_DATASOURCE_USERNAME:-root}
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: ${MASTER_DATASOURCE_PASSWORD:-123456}
# SPRING_DATASOURCE_DYNAMIC_DATASOURCE_SLAVE_URL: ${SLAVE_DATASOURCE_URL:-jdbc:mysql://iot-mysql:3306/iotkit?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
# SPRING_DATASOURCE_DYNAMIC_DATASOURCE_SLAVE_USERNAME: ${SLAVE_DATASOURCE_USERNAME:-root}
# SPRING_DATASOURCE_DYNAMIC_DATASOURCE_SLAVE_PASSWORD: ${SLAVE_DATASOURCE_PASSWORD:-123456}
SPRING_REDIS_HOST: ${REDIS_HOST:-iot-redis}
SPRING_REDIS_PORT: 6379
JAVA_OPTS:
${JAVA_OPTS:-
-Xms512m
-Xmx512m
-Djava.security.egd=file:/dev/./urandom
-DdisabledEmbeddedRedis=true
}
volumes:
- ./data/dist:/usr/share/nginx/html
depends_on:
- redis
- mysql
volumes:
mysql:
driver: local
redis:
driver: local
运行docker-compose up -d 命令启动即可。
五、总结
iot-iita是一个功能丰富、易于使用、易于扩展的开源物联网平台。它提供了从设备接入到数据可视化、告警通知等全链条的解决方案,帮助用户快速搭建自己的物联网相关业务平台。无论是对于物联网行业的从业者还是对于想要了解物联网技术的爱好者来说,iot-iita都是一个值得尝试和关注的平台。
作者:易道合之逍遥峰