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)点击 输入邮箱会送链接

  1. 下载镜像:ubuntu下载,点下载24.04.3LTS下载VMware并安装ununtu:安装VMware。

2.由于此部分较为基础,网上讲的也比较广泛,请转到以下链接安装Ubuntu

5.3安装 TDengine:

在桌面右键打开终端,输入

text
sudo apt update && sudo apt upgrade -y

bash

(执行时会提示输入 Ubuntu 用户密码,输入时屏幕不显示字符,输完回车即可)

将之前下载好的TDengine-server-3.3.6.13-Linux-x64.deb ,拖入虚拟机中,随后执行

text
sudo dpkg -i TDengine-server-3.3.6.13-Linux-x64.deb

bash

在输入sudo dpkg -i后可以直接从桌面将deb文件拖入命令行,让后按enter。

安装完成后启动服务

text
sudo systemctl start taosd

bash

新建终端窗口输入以下内容查看启动状态

text
sudo systemctl status taosd

bash

若显示**·** active (running),说明启动成功

输入以下命令使服务开机自启动

text
sudo systemctl enable taosd

bash

默认情况下,TDengine 可能只监听本机(127.0.0.1),需修改配置让它监听虚拟机的 IP

首先通过以下命令获取你虚拟机的IP

text
hostname -I

bash

打开TDengine配置文件

text
sudo nano /etc/taos/taos.cfg

bash

按 Ctrl+W 搜索 firstEp 和 fqdn 这两个配置项,修改为:(搜索不到则直接添加在最后一行)

text
#!将192.168.44.130改为你刚才的IP!

firstEp 192.168.44.130:6030 # 虚拟机IP:端口

fqdn 192.168.44.130 # 虚拟机IP

bash

修改以下参数,如果找不到则在最后一行添加

text
# 启用 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的配置文件:

text
sudo nano /etc/taos/taosadapter.toml

XML

修改[http]参数,如果没有则在文件末尾添加

text
[http]

bindIp = "0.0.0.0" # 允许所有IP访问,而非仅本地

port = 6041 # 确保端口为6041(与你的配置一致)

XML

按 Ctrl+O 保存,Ctrl+X 退出编辑器

重启服务

text
sudo systemctl restart taosd

执行以下命令,查看taosadapter的监听端口和 IP:

text
netstat -tulpn | grep taosadapter

若输出中包含 0.0.0.0:6041,说明配置成功(表示监听所有 IP 的 6041 端口)。

查看防火墙状态(若显示inactive则无需操作,active则继续)

text
sudo ufw status

bash

开放6030和6041端口(TCP和UDP都需要)

text
sudo ufw allow 6030/tcp

sudo ufw allow 6030/udp

sudo ufw allow 6041/tcp

sudo ufw allow 6041/udp

bash

重启使防火墙生效

text
sudo ufw reload

bash

重启 TDengine 服务使配置生效:

text
sudo systemctl restart taosd

bash

新建 终端,输入命令连接 TDengine:密码taosdata

text
taos 

bash

显示全部数据库

text
show databases;

bash

如果输出类似表格样式,则连接正常

创建名为enjoyiot和eiot的数据库,回车执行

text
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

text
taos -h 192.168.44.130 -u root -p

bash

密码taosdata,进入 taos> 提示符

再次输入确保不同系统之间连通情况,输出表格则正常连接

text
show database;

bash

修正Windows系统的host文件,打开:C:\Windows\System32\drivers\etc\hosts,用记事本打开

在文件最后一行,换行后粘贴以下内容

注意192.168.44.130改为刚才你的虚拟机IP

text
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数据库

text
USE enjoyiot;

XML

执行初始化脚本

根据你的 MySQL 版本选择脚本(MySQL 5.7 及以上选system_mysql5.7.sql,兼容性更好):

替换为实际文件路径

text

source D:/enjoy-iot-v0.2.0/_sql/mysql/system_mysql5.7.sql;

XML

验证表是否创建成功

执行后查询所有表:

text
SHOW TABLES FROM enjoyiot;

若包含eiot_component、eiot_virtual_device、eiot_device_info等表,说明脚本执行成功。

手动建表 SQL 清单,可直接复制到 MySQL 中执行:

  1. eiot_component(组件配置表)
text
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='物联网组件配置表';

bash
  1. eiot_virtual_device(虚拟设备表)
text
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='虚拟设备配置表';

bash
  1. eiot_device_info(设备信息表)
text
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

执行后查询表是否存在:

text
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 原文获取后续章节。