树莓派变身工业级物联网网关

0 阅读5分钟

一、准备工作

1.1 硬件清单

硬件型号价格备注
树莓派4B (4GB)¥300-400推荐 4GB 版,2GB 也可
电源5V/3A USB-C¥30官方电源稳定性好
microSD 卡32GB Class 10¥40推荐闪迪/三星
散热片/风扇被动散热即可¥20可选

总成本​:¥400-500(不含外壳)

1.2 软件准备

  • Raspberry Pi OS Lite(推荐)或 Ubuntu Server 22.04
  • Docker + Docker Compose
  • Git

二、树莓派系统配置

2.1 烧录系统

使用 Raspberry Pi Imager:

  1. 选择设备:Raspberry Pi 4
  2. 选择操作系统:Raspberry Pi OS Lite (64-bit)
  3. 点击齿轮图标,预配置:
    • 开启 SSH
    • 设置用户名/密码
    • 配置 WiFi(可选)

1.png

2.2 首次启动

# 找到树莓派IP(从路由器管理页面查看)
ping raspberrypi.local

# SSH连接
ssh pi@192.168.1.xxx  # 替换为实际IP
# 密码:你设置的密码

2.3 安装 Docker

# 一键安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 将pi用户加入docker组(免sudo)
sudo usermod -aG docker pi

# 安装Docker Compose V2
sudo apt-get update
sudo apt-get install docker-compose-plugin

# 验证安装
docker --version
docker compose version

# 重启使组权限生效
sudo reboot

三、部署 EdgeLite Gateway

3.1 克隆代码

# 重新SSH连接后
git clone https://gitee.com/suoten/EdgeLiteGateway.git
cd EdgeLiteGateway

3.2 构建前端

# 安装Node.js(树莓派上首次需要)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# 构建前端
cd web
npm install
npm run build
cd ..

⚠️ ​注意​:树莓派上 npm install 可能需要 3-5 分钟,请耐心等待。

3.3 一键启动

cd docker
docker compose up -d

3.4 查看状态

# 查看所有容器状态
docker compose ps

# 查看日志(如有问题)
docker compose logs -f edgelite

预期输出​:

NAME                   STATUS          PORTS
edgelite-edgelite-1    Up 2 minutes    0.0.0.0:8080->8080/tcp
edgelite-frontend-1    Up 2 minutes    0.0.0.0:3000->80/tcp
edgelite-influxdb-1    Up 2 minutes    0.0.0.0:8086->8086/tcp
edgelite-mosquitto-1   Up 2 minutes    0.0.0.0:1883->1883/tcp

四、访问管理界面

浏览器打开:http://树莓派IP:3000

登录信息
用户名admin
密码admin123

1.png

图 2:登录后看到的仪表盘界面

五、实战:接入第一个设备

5.1 使用内置模拟器

EdgeLite Gateway 自带模拟器驱动,无需真实硬件即可体验。

步骤​:

  1. 点击左侧菜单 设备管理
  2. 点击 创建设备 按钮
  3. 填写:
字段
设备名称模拟温度传感器
驱动类型模拟器
采集周期1000(毫秒)
  1. 点击 确定

3.png

图 3:创建设备表单

5.2 添加测点

设备创建成功后,点击 ​测点管理​:

测点 ID名称类型模拟模式参数
temp温度floatsine最小值 0,最大值 100
humidity湿度floatrandom_walk最小值 0,最大值 100
status状态boolrandom-

5.png

图 4:测点配置界面

5.3 查看实时数据

返回设备列表,点击设备名称进入详情页:

  • 实时值​:每 1 秒自动刷新
  • 时序图表​:InfluxDB 查询展示

5.png 图 5:设备实时数据查看

六、实战:配置告警规则

6.1 创建规则

  1. 点击 规则管理创建规则
  2. 填写:
字段
规则名称高温告警
设备模拟温度传感器
测点temp
条件>
阈值80
持续时间3000 毫秒
级别严重

3.png

图 6:规则配置界面

6.2 配置通知渠道

在规则详情中,点击 ​通知配置​:

渠道配置示例
钉钉Webhook URL + 加签密钥
企业微信Webhook URL
邮件SMTP 服务器配置

6.3 测试规则

在模拟器中将温度设为 85 度:

# 通过API写入测试值
curl -X POST http://树莓派IP:8080/api/v1/devices/{device_id}/points/temp \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"value": 85}'

3 秒后,钉钉/企业微信收到告警:

【EdgeLite告警】
设备: 模拟温度传感器
测点: temp
当前值: 85.0
阈值: > 80
级别: 严重
时间: 2024-01-15 14:32:18

4.png

图 7:告警中心收到的告警记录

七、实战:Web 组态大屏

7.1 新建组态项目

  1. 点击 可视化组态编辑
  2. 点击 ​新建项目​,命名 车间监控大屏

7.2 拖拽组件

从左侧组件库拖拽到画布:

组件绑定数据
仪表盘模拟温度传感器.temp
趋势图模拟温度传感器.temp(最近 1 小时)
开关模拟温度传感器.status
文本模拟温度传感器.humidity

7.3 预览和保存

点击 预览 按钮,查看运行效果。

7.png 图 8:拖拽式组态编辑器

八、实战:对接 ThingsBoard 云平台

8.1 添加平台对接

  1. 点击 平台对接添加平台
  2. 选择 ThingsBoard
  3. 填写配置:
字段
主机thingsboard.cloud 或自建地址
端口1883
设备 Token在 ThingsBoard 中生成的 token

11.png

图 9:平台对接配置界面

8.2 选择上报测点

勾选需要上报的测点:temphumiditystatus

8.3 验证数据

登录 ThingsBoard,查看设备遥测数据。

九、性能监控

9.1 系统状态

点击 系统管理 → ​系统状态​:

9.png

*图 10:树莓派 CPU/内存/磁盘监控*

9.2 预期性能(树莓派 4B)

场景设备数CPU内存
空载02-3%150MB
50 个模拟设备5025%220MB
100 个模拟设备10045%280MB
200 个模拟设备20075%380MB

十、常见问题

Q1:树莓派上 npm install 很慢?

# 使用国内镜像源
npm install --registry https://registry.npmmirror.com

Q2:Docker Compose 启动后前端空白?

确保先构建前端再启动:

cd web && npm run build && cd ..
cd docker && docker compose up -d --build

Q3:InfluxDB 连接失败?

首次启动 InfluxDB 需要 30 秒初始化,等待 1 分钟后刷新页面。

# 查看InfluxDB日志
docker compose logs influxdb

Q4:树莓派重启后服务会自动启动吗?

使用 --restart=always 参数(docker-compose.yml 已配置),重启后自动恢复。

十一、总结

恭喜!你已经在树莓派上成功运行了 EdgeLite Gateway。

你已经学会了​:

  • ✅ 树莓派上部署 Docker 环境
  • ✅ 一键启动 EdgeLite Gateway
  • ✅ 创建模拟设备和测点
  • ✅ 配置告警规则和钉钉通知
  • ✅ 搭建 Web 组态大屏
  • ✅ 对接 ThingsBoard 云平台

下一步​:

  • 接入真实 Modbus 设备
  • 配置更多规则和告警
  • 探索 3D 数字孪生功能
  • 开发自定义协议驱动

十二、获取帮助


🔗 ​开源地址​: