×

使用balena在Raspberry Pi 4创建私有LoRaWAN网络

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-13

陈韵瑄

分享资料个

描述

在本教程中,我想展示如何使用balena在 Raspberry Pi 4 上创建私有 LoRaWAN 网络为了演示它是如何工作的,我将连接新的 Seeed Studio SenseCAP S2101(温度和湿度)和 SenseCAP S2104(温度和土壤湿度)。我们将使用 NodeRED、InfluxDB 和 Grafana 等新服务在本地可视化这些传感器生成的所有数据。

poYBAGSAbJGACSE3AAHBA85Iq9Y459.png
 

在之前的项目中,我分享了如何部署您自己的私有 LoRaWAN 网络主要区别在于,在这个项目中,我们在 Raspberry Pi 上添加了一个 LoRa 集中器 (Seeed WM1302),以提供来自生成 LoRaWAN 网络服务器的同一设备的覆盖,并添加了额外的服务来可视化接收到的数据。

pYYBAGSAbJWASAtxAAOW_gdNJpI400.png
带有 WM1302 LoRa 集中器和 RAK2287 Pi Hat 的 Raspberry Pi 4
 

在 Raspberry Pi 上部署 Things Stack

转到balenaHub并部署“Standalone LoRaWAN Gateway”应用程序或仅从Application Github Repository中的“Deploy with balena”

poYBAGSAbJyAIkAGAAZu91Upb9s830.png
 

一旦部署在 balenaCloud 机队上,添加一个新设备。

poYBAGSAbKOACUDfAAfmdUfcAuk070.png
 

使用您的 WiFi 凭据下载 balenaOS 映像,并使用 balenaEtcher 闪存您的 SD 卡。

使用 SD 卡启动 Raspberry Pi,您应该会看到类似这样的内容。

pYYBAGSAbKqAczGSAAiNxn8y3Ds612.png
 

现在复制您的本地 IP 地址并转到设备变量。使用您的本地 IP 地址覆盖 `TTS_DOMAIN` 变量。

poYBAGSAbLCAdHSdAAVB6JQeiFM302.png
 

如果您使用的是 Seeed Studio WM1302,请将“型号”更改为“SX1302”。

连接您的网关

输入 `https://<您的本地 IP 地址>` 并接受风险。

pYYBAGSAbLWAPQuJAAX6seVOmQM727.png
 

要登录,请添加用户 ID“admin”和密码“changeme”。

poYBAGSAbRGAUJUCAAieK66122s654.png
 

单击“注册网关”。

pYYBAGSAbRiAPInkAAXVHkaH2PU040.png
 

从 balenaCloud 设备仪表板复制显示为 TAG 的“EUI”。粘贴在这里。

poYBAGSAbTaAAG4xAAYEkL4_Z-M114.png
 

网关注册成功后,转到“API 密钥”。

pYYBAGSAbU6AB2pJAAcK0_p08y0918.png
 

选择 API 密钥作为“链接作为网关到网关服务器以进行流量交换”。并复制生成的 API 密钥。

poYBAGSAbVSAJ1ggAAYf1xfxhSo376.png
 

转到 balenaCloud 的 Device Variables 部分并修改变量 `TC_KEY`。

在那一刻,网关应该显示为已连接并且 balenaCloud 上的日志应该说“集中器已启动”成功。

poYBAGSAbVmAd0FjAAcH2clnmRM474.png
 

连接 LoRa 传感器

安装 Seeed Studio 移动应用程序

因为我们要使用 Seeed Studio SenseCAP S2101 和 S2104,所以是时候安装 SenseCAP mate 应用程序了。

pYYBAGSAbVyAGGn4AAIFh_4lTQM217.png
 

并配置设备。在我这边,我将 `AppEUI` 和 `DevEUI` 设置为相同,以简化在 `Setup` 过程中对设置的复制和粘贴。

在 The Things Stack 上注册终端设备

转到 The Things Stack 主菜单。然后单击“创建应用程序”。

poYBAGSAbXOAR6KZAAWQ9jkQGd8716.png
 

单击“添加应用程序”。

poYBAGSAbXiAerY9AAYT-jM_Nlo120.png
 

然后点击“添加终端设备”。选择 SenseCAP 品牌和 S2101 和 S2104

pYYBAGSAbX2AJ3U9AAYI6Crlqjw058.png
 

使用我们更改的 SenseCAP Mate App 中的凭据。

pYYBAGSAbZiAcI1vAAY8LQKlKeM988.png
 

成功创建后,您将能够看到终端设备。按下设备的按钮以强制发送“加入”消息。

pYYBAGSAbd2AL71WAAdGk6HeFwQ791.png
 

在网关的“实时数据”部分,您应该能够看到来自终端设备的“加入”消息和第一个上行链路/下行链路消息。

pYYBAGSAbeOALwWBAAg36m8yqbQ106.png
 

在终端设备的“实时数据”部分,您也应该能够看到解码后的消息。

pYYBAGSAbheABMqRAAeqF5IkNO4770.png
 

使用 MQTT 将数据发送到 NodeRED

可以使用“http://<您的本地 IP 地址>:1880”访问 NodeRED。使用“balena”作为用户名和密码登录。

pYYBAGSAbhyAc4B1AAW8m2i10xw398.png
 

如果尚未安装 InfluxDB 节点,请安装它们。

poYBAGSAbiGAf2OYAAZyuHOhpuY533.png
 

这是我创建的流程,用于从 The Things Stack 捕获数据并将其存储在 InfluxDB 上(稍后我们将在 Grafana 上将其可视化)。

pYYBAGSAbiaAEBPJAAWK0S00oeQ919.png
 

要启用 MQTT 节点,请返回 The Things Stack Application 并单击“Integrations”和 MQTT。复制用户名并生成密码。

poYBAGSAbiuAe7QiAAg9yp02Jd4559.png
 

在 MQTT 块上使用 `stack` 容器创建一个服务器到 1883 端口。我使用的主题是`v3/+/devices/+/up`。

pYYBAGSAbjGAQ7wPAAi2aVTRNrw717.png
 

转到安全并添加来自 The Things Stack 的 MQTT 凭据。

poYBAGSAbjaAToo9AAZTONBDpvE614.png
 

我破解了一些代码以获得“温度”和“湿度”或“土壤湿度”的功能节点。

pYYBAGSAbj2ADSnxAAke6r8Lcoc088.png
 

配置 InfluxDB

要连接“InfluxDB out”节点,您需要在 balenaCloud 上的 influxdb 容器上创建数据库。

poYBAGSAbkOAaTjgAAgpAZGic8M847.png
 

在 Grafana 上可视化数据

一旦数据正确存储在 InfluxDB 上,您就可以在 Grafana 上对其进行可视化。

使用“http://<您的本地 IP 地址>:3000”访问您的 Grafana 服务并创建您的仪表板。

pYYBAGSAbkiACr9lAAXwV1TSY0o039.png
 

请随时在此处添加您的评论并确认这是否适合您。如有任何问题,请随时在https://forums.balena.io上给我们写信


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !