【DigiKey“智造万物,快乐不停”创意大赛】基于树莓派的可扩展物联网网关
[复制链接]
作品名称:基于树莓派的可扩展物联网网关
作者:Juggernaut
一、项目简介
一款综合性可扩展物联网网关,具备物联网接入、边缘采集计算上报、传感器数据透传、设备上云等多种功能。
1、物联网接入,借助MQTT协议与服务器实现传感器数据传输的功能,依托主题订阅和发布功能传输特定数据。
2、边缘采集计算,通过Modbus RTU轮询配置好的点位信息表,边缘计算物联网网关下发轮询采集命令,周期性获取串口设备的点位数据。
3、边缘采集计算上报,对边缘采集的数据进行计算,通过MQTT周期上报数据至特定的服务平台。
4、通过简单配置,将物联网网关连接至特定云平台。
二、项目硬件
(一)树莓派4B
边缘网关本体基于树莓派4B,作为主控。
CPU:Broadcom BCM2711,1.5 GHz,64-bit,4核心,ARM Cortex-A72 架构,1MB shared L2 cache
RAM:1、2、4 GB LPDDR4-3200 RAM (shared with GPU)
以太网:10/100/1000 Mbit/s
无线网:b/g/n/ac 双频 2.4/5 GHz
17× GPIO plus the same specific functions, HAT, and an additional 4× UART, 4× SPI, and 4× I2C connectors
(二)温湿度传感器
为了配合网关,特地购买温湿度传感器一支。
相关参数如下,主要看中支持MODBUS。
三、系统架构
边缘网关主体架构如下图。
四、具体实现
(一)基础软件安装
1、边缘网关树莓派4B的OS直接安装官方的Raspberry PiOS即可,根据官方指南的Install an operating system章节一步一步安装即可。
2、node-red安装比较费工夫,需要借助梯子,官方也有。
首先,升级OS软件包。
sudo apt update
sudo apt upgrade
然后安装build-essential软件包和node-red包。
sudo apt install build-essential
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Are you really sure you want to do this ? [y/N] ?
y
Would you like to install the Pi-specific nodes ? [y/N] ?
y
中间的选项全部Y。
Running Node-RED install for user pi at /home/pi on debian
This can take 20-30 minutes on the slower Pi versions - please wait.
Stop Node-RED ✔
Remove old version of Node-RED ✔
Remove old version of Node.js ✔
Install Node.js 14 LTS ✔
Clean npm cache ✔
Install Node-RED core ✔
Move global nodes to local ✔
Npm rebuild existing nodes ✔
Install extra Pi nodes ✔
Add shortcut commands ✔
Update systemd script ✔
Any errors will be logged to /var/log/nodered-install.log
最后,启动node-red服务,即可在PC侧以“树莓派IP:1880”的URL打开node-red服务界面。
因为需要对接modebus设备,所以需要在node-red上安装相关组件。
在控制板中选择如下组件安装。
(二)传感器数据采集
主要根据现有modbus传感器的参数,配置好相关参数。
(三)边缘计算
因为传感器采集的寄存器数据需要转换才是准确的数值,手头这个传感器计算很简单,直接除以10即可。
(四)数据上云
使用 EMQ 提供的免费公共 MQTT 服务器,该服务基于 MQTT 物联网云平台 - EMQX Cloud 创建,服务器接入信息如下:
node-red配置信息如下:
五、功能运行
首先mode-red的数据流跑起来了。
在EMQ客户端订阅”/test/node/temp“主题,只要边缘网关数据发布上来,即可收到最新的温度数据。
六、源码
因为node-red是个低代码工具,所以源码几乎没有,仅有的bash我放在附件。
七、总结
依托树莓派4B,基本实现了综合性可扩展边缘计算物联网网关,具备物联网接入、边缘采集计算上报、传感器数据透传、设备上云等多种功能。
最后
再次感谢eeworld & 得捷 提供的机会!
附件:
1.开箱报告,【DigiKey“智造万物,快乐不停”创意大赛】边缘计算物联网网关项目开箱贴 - DigiKey得捷技术专区 - 电子工程世界-论坛 (eeworld.com.cn);
演示视频
演示视频
|