Enjoy—IoT 平台搭建
原文发表于 CSDN(作者:hjz0810),发布日期 2025-11-19。本文为转载备份,已征得作者同意。
0.前言
1.安装Java1.8
2.安装Maven:
3.安装MySQL:
4.安装Redis:
5.安装TDengine
6.安装nodeJS
7.安装pnpm
8.安装IDEA
9.后端编译
10.登录系统
二.正文:
0.前言:
Enjoy-IoT 提供了从设备接入到数据管理的全方位功能。支持多种协议(如 EMQX、MQTT、HTTP、Modbus 等)接入,能够轻松实现设备的注册、分组、远程控制等管理功能。同时,它还具备强大的规则引擎,可以根据预设条件自动触发动作,实现设备之间的协同工作。此外,数据管理模块支持实时数据存储和历史数据查询,为数据分析提供了坚实基础。
该平台提供了代码生成器,可一键生成 Java、Vue 前后端代码、SQL 脚本及接口文档,大大提高了开发效率。无论是开发者还是企业用户,都能构建自己的物联网应用。
但在我进行安装部署此系统时,发现无论是官方文档,还是网上教程,抑或是短视频平台,
对此系统的详细配置教程少而又少,即使翻山越岭找到了零星半点的教程,也是内容模棱两可,难以上手,
因此,我结合此次部署的经验,将过程,资料进行总结,精炼,为以后的开发者们可以方便快捷的部署此物联网系统
1.enjoy-iot服务端项目:https://gitee.com/open-enjoy/enjoy-iot
2.enjoy-iot-web前端项目:https://gitee.com/open-enjoy/enjoy-web
3.网盘连接(包含全部下载所需的文件):待更新
1.安装Java1.8:
1.1 JAVA1.8的下载
前往 java下载,向下滑,
找到“Java SE subscribers have more choices”,
选“JAVA 8”,
下滑选择“Windows”,“x64 Installer”,
右面的“jdk-8u471-windows-x64.exe”
新用户在此时需要注册账户才能下载,如果觉得麻烦也可以去我提供的网盘下载。
1.2.安装 JDK:
找到下载好的.exe 文件,双击打开;
弹窗里点击 “下一步”,默认安装路径是 “C:\Program Files\Java\jdk1.8.0_391”(记住这个路径,后续要用),再点 “下一步”,直到显示 “安装完成”。
1.3:配置 JDK “环境变量”(重要+难度高):
右键点击电脑桌面 “此电脑”→选 “属性”→左边栏找 “高级系统设置”→弹窗里点 “环境变量”;
在 “系统变量” 栏(下面那个大栏),点击 “新建”:
变量名:JAVA_HOME
变量值:粘贴刚才的 JDK 安装路径(比如 “C:\Program Files\Java\jdk1.8.0_391”),点击 “确定”;
再在 “系统变量” 里找到 “Path”,双击打开→点击 “新建”→分别粘贴两个路径:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
全部点击 “确定” 关闭所有弹窗,环境变量就配置好了。
验证 JDK 是否装好:
按 “Win+R” 键,输入 “cmd”,按回车打开 “命令提示符”;
在命令行里输入 java -version(注意中间有空格),按回车;
如果显示 “java version "1.8.0_391"”(类似这样的版本号),说明装好了;如果提示 “不是内部或外部命令”,就是环境变量没配对,回去重新检查步骤 3。
2. 安装 Maven
2.1下载 Maven:
打开链接:https://maven.apache.org/download.cgi
拉到 “Files” 部分,找到 “apache-maven-3.8.8-bin.zip”(选带 “bin.zip” 的,别选 “src.zip”),点击下载。
安装 Maven(其实是 “解压”,不用装.exe):
把下载的.zip 压缩包解压到一个简单的路径(比如 “D:\apache-maven-3.8.8”,别放有中文或空格的文件夹里,比如 “我的文档” 就不行)。
2.2配置 Maven 环境变量:
同样打开 “环境变量”(步骤同 1.3 );
在 “系统变量” 里点 “新建”:
变量名:MAVEN_HOME
变量值:粘贴 Maven 的解压路径(比如 “D:\apache-maven-3.8.8”),点 “确定”;
找到 “Path”,双击打开→“新建”→粘贴:%MAVEN_HOME%\bin,点 “确定” 关闭所有弹窗。
验证 Maven 是否装好:
打开 “命令提示符”(Win+R→cmd),输入 “mvn -v”(注意有空格),按回车;
如果显示 “Apache Maven 3.8.8”(版本号对应),说明装好了;如果提示错误,检查环境变量路径是否正确。
3.安装 MySQL 8
3.1下载 MySQL 8:
打开链接:MySQL官网
版本选8.0.xxx,系统保持Microsoft Windows不变,这里两个download一个是离线安装一个三在线安装,推荐选第二个,点击 “Download”,然后选 “No thanks, just start my download”(不用登录,直接下载)。
3.2安装 MySQL:
双击下载的.exe 文件,弹窗选 “Custom”(自定义安装),点 “Next”;
左边栏找 “MySQL Server 8.0.xxxx”,点击中间的 “→” 添加到右边,点 “Next”;
点击 “Execute” 开始下载组件,下载完后点 “Next”;
配置页面:默认 “Standalone MySQL Server/Classic MySQL Replication”,点 “Next”;
端口号默认 3306,不用改,点 “Next”;
选择 “Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)”
(新手用旧版认证,避免密码问题),点 “Next”;
设置 root 密码(一定要记住!比如设为 123456,别太复杂,后续要用到 ),点 “Next”;
服务名默认 “MySQL80”,不用改,点 “Next”;
点击 “Execute” 开始安装,完成后点 “Finish”→“Next”→“Finish”。
验证 MySQL 是否装好:
按 “Win” 键,找到 “MySQL 8.0 Command Line Client”,点击打开;
输入刚才设置的 root 密码(比如 123456),按回车;
如果显示 “mysql>”,说明启动成功;如果提示 “Access denied”,就是密码输错了,重新试。
4.安装 Redis ≥5
4.1下载 Redis:
打开链接:Windows 版 Redis
拉到 “Assets” 部分,下载 “Redis-x64-5.0.xxxxx.zip”
(选 5.x 或更高版本,x64 对应 64 位 Windows)。
安装 Redis(解压即可用):
把.zip 压缩包解压到简单路径(比如 “D:\Redis”);
打开解压后的文件夹,找到 “redis-server.exe”,双击打开;
会弹出一个黑色窗口,显示 “Ready to accept connections”,说明 Redis 启动成功(这个窗口别关!一关 Redis 就停了,或者右键添加到开始菜单便于启动 )。
5. 安装 TDengine 3.3.2.0(时序数据库)
5.1下载 TDengine :
打开链接:TDengine 官网
下滑找到 “TDengine-server-3.3.6.13-Linux-x64.deb (81.84 M)”,
和TDengine-client-3.3.6.13-Windows-x64.exe (9.94 M)点击 输入邮箱会送链接
2.由于此部分较为基础,网上讲的也比较广泛,请转到以下链接安装Ubuntu
5.3安装 TDengine:
在桌面右键打开终端,输入
sudo apt update && sudo apt upgrade -y
bash(执行时会提示输入 Ubuntu 用户密码,输入时屏幕不显示字符,输完回车即可)
将之前下载好的TDengine-server-3.3.6.13-Linux-x64.deb ,拖入虚拟机中,随后执行
sudo dpkg -i TDengine-server-3.3.6.13-Linux-x64.deb
bash在输入sudo dpkg -i后可以直接从桌面将deb文件拖入命令行,让后按enter。
安装完成后启动服务
sudo systemctl start taosd
bash新建终端窗口输入以下内容查看启动状态
sudo systemctl status taosd
bash 若显示**·** active (running),说明启动成功
输入以下命令使服务开机自启动
sudo systemctl enable taosd
bash默认情况下,TDengine 可能只监听本机(127.0.0.1),需修改配置让它监听虚拟机的 IP
首先通过以下命令获取你虚拟机的IP
hostname -I
bash打开TDengine配置文件
sudo nano /etc/taos/taos.cfg
bash按 Ctrl+W 搜索 firstEp 和 fqdn 这两个配置项,修改为:(搜索不到则直接添加在最后一行)
#!将192.168.44.130改为你刚才的IP!
firstEp 192.168.44.130:6030 # 虚拟机IP:端口
fqdn 192.168.44.130 # 虚拟机IP
bash修改以下参数,如果找不到则在最后一行添加
# 启用 REST API 服务(默认 1 为启用)
restfulEnable 1
# REST API 服务端口(默认 6041,不要修改)
restfulPort 6041
# 允许外部访问 REST 服务(绑定所有网卡)
bindIp 0.0.0.0
bash默认情况下,taosAdapter可能仅监听本地 IP(127.0.0.1),导致外部机器(你的服务端)无法连接。需修改taosAdapter配置,允许所有 IP 访问:
打开taosAdapter的配置文件:
sudo nano /etc/taos/taosadapter.toml
XML修改[http]参数,如果没有则在文件末尾添加
[http]
bindIp = "0.0.0.0" # 允许所有IP访问,而非仅本地
port = 6041 # 确保端口为6041(与你的配置一致)
XML按 Ctrl+O 保存,Ctrl+X 退出编辑器
重启服务
sudo systemctl restart taosd执行以下命令,查看taosadapter的监听端口和 IP:
netstat -tulpn | grep taosadapter若输出中包含 0.0.0.0:6041,说明配置成功(表示监听所有 IP 的 6041 端口)。
查看防火墙状态(若显示inactive则无需操作,active则继续)
sudo ufw status
bash开放6030和6041端口(TCP和UDP都需要)
sudo ufw allow 6030/tcp
sudo ufw allow 6030/udp
sudo ufw allow 6041/tcp
sudo ufw allow 6041/udp
bash重启使防火墙生效
sudo ufw reload
bash重启 TDengine 服务使配置生效:
sudo systemctl restart taosd
bash新建 终端,输入命令连接 TDengine:密码taosdata
taos
bash显示全部数据库
show databases;
bash如果输出类似表格样式,则连接正常
创建名为enjoyiot和eiot的数据库,回车执行
create database enjoyiot;
create database eiot
bash回到Windows系统,安装TDengine-client-3.3.6.13-Windows-x64.exe (9.94 M)文件
打开 Windows 命令提示符(Win+R→cmd),输入命令连接 Ubuntu 的 TDengine:
ip 改为ubuntu的 ip
taos -h 192.168.44.130 -u root -p
bash密码taosdata,进入 taos> 提示符
再次输入确保不同系统之间连通情况,输出表格则正常连接
show database;
bash修正Windows系统的host文件,打开:C:\Windows\System32\drivers\etc\hosts,用记事本打开
在文件最后一行,换行后粘贴以下内容
注意192.168.44.130改为刚才你的虚拟机IP
127.0.0.1 eiot-server-db # 本地MySQL
127.0.0.1 iot-server-redis # 本地Redis
192.168.44.130 eiot-server-td # Ubuntu虚拟机的TDengine
XML按「Ctrl+S」保存,关闭记事本。
打开MySQL,会弹出一个命令行,输入安装时创建的密码
切换到enjoyiot数据库
USE enjoyiot;
XML执行初始化脚本
根据你的 MySQL 版本选择脚本(MySQL 5.7 及以上选system_mysql5.7.sql,兼容性更好):
替换为实际文件路径
source D:/enjoy-iot-v0.2.0/_sql/mysql/system_mysql5.7.sql;
XML验证表是否创建成功
执行后查询所有表:
SHOW TABLES FROM enjoyiot;若包含eiot_component、eiot_virtual_device、eiot_device_info等表,说明脚本执行成功。
手动建表 SQL 清单,可直接复制到 MySQL 中执行:
eiot_component(组件配置表)
CREATE TABLE IF NOT EXISTS eiot_component (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
name VARCHAR(255) NOT NULL COMMENT '组件名称',
type VARCHAR(50) NOT NULL COMMENT '组件类型(如mqtt、emqx)',
config TEXT COMMENT '组件配置(JSON格式)',
status INT DEFAULT 0 COMMENT '状态(0-禁用,1-启用)',
remark VARCHAR(512) COMMENT '备注',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
creator VARCHAR(50) COMMENT '创建人',
updater VARCHAR(50) COMMENT '更新人',
deleted TINYINT DEFAULT 0 COMMENT '逻辑删除(0-未删,1-已删)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物联网组件配置表';
basheiot_virtual_device(虚拟设备表)
CREATE TABLE IF NOT EXISTS eiot_virtual_device (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
name VARCHAR(255) NOT NULL COMMENT '虚拟设备名称',
product_key VARCHAR(100) COMMENT '产品标识',
type VARCHAR(50) COMMENT '设备类型',
script TEXT COMMENT '执行脚本',
`trigger` VARCHAR(50) COMMENT '触发方式',
trigger_expression VARCHAR(255) COMMENT '触发表达式',
state INT DEFAULT 0 COMMENT '状态(0-禁用,1-启用)',
tenant_id BIGINT COMMENT '租户ID',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
creator VARCHAR(50) COMMENT '创建人',
updater VARCHAR(50) COMMENT '更新人',
deleted TINYINT DEFAULT 0 COMMENT '逻辑删除(0-未删,1-已删)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='虚拟设备配置表';
basheiot_device_info(设备信息表)
CREATE TABLE IF NOT EXISTS eiot_device_info (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
device_name VARCHAR(255) NOT NULL COMMENT '设备名称',
device_code VARCHAR(100) NOT NULL COMMENT '设备编码',
product_key VARCHAR(100) COMMENT '产品标识',
state INT DEFAULT 0 COMMENT '设备状态(0-离线,1-在线)',
tenant_id BIGINT COMMENT '租户ID',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
creator VARCHAR(50) COMMENT '创建人',
updater VARCHAR(50) COMMENT '更新人',
deleted TINYINT DEFAULT 0 COMMENT '逻辑删除(0-未删,1-已删)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备信息表';
bash执行后查询表是否存在:
SHOW TABLES FROM enjoyiot;若出现eiot_component和eiot_virtual_device,说明手动建表成功。
6.安装nodeJS
6.1下载 nodeJs:
打开链接:nodeJs 官网
下滑找到 “Windows 安装包 (.msi)”(x64 版本),下载.exe 文件。
6.2安装 nodeJs:
双击.exe 文件,弹窗点 “下一步”→勾选 “我接受许可协议”→“下一步”;
安装路径默认即可(比如 “C:\Program Files\nodejs”),关键一步:勾选 “Add to PATH”(自动配置环境变量) ,然后点 “下一步”→“安装”→“完成”。
验证 nodeJs 是否装好:
打开 “命令提示符”(Win+R→cmd),输入 “node -v”,按回车,显示 “v18.18.0”(类似版本号);
再输入 “npm -v”,按回车,显示版本号(比如 9.8.1),说明装好了。
7. 安装 pnpm(前端包管理工具,用命令行装)
打开 “命令提示符”(Win+R→cmd);
输入命令:npm install -g pnpm(注意空格,-g 表示 “全局安装”),按回车;
等待安装完成(可能会有进度条),然后输入 “pnpm -v”,按回车,显示版本号(比如 8.6.12),说明装好了。
8. 使用 IDEA 启动后端
⚠️ 说明: 本文在 CSDN 原文处被截断(末尾章节"8. 使用 IDEA 启动后端"未完成)。完整教程包含后端编译、登录系统等步骤,请参考 CSDN 原文获取后续章节。
DISCUSSION
评论
还没有评论。你可以留下第一条有价值的讨论。