×

使用balena部署Basics Station TTS LoRa网关

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

分享资料个

描述

该项目只需单击一下即可在带有 RAK2245 (SX1301) 或 RAK2287 (SX1302) LoRa 集中器的 Raspberry Pi(3 或 4)或 balenaFin 上运行。Basics Station 协议为 LoRa 网关配备了使用 websocket 在网关和云之间进行可靠且安全的通信。

如今,大多数 LoRaWAN 运营商都在采用 LoRa Basics Station Packet Forward 协议作为其网关和云服务的新标准协议。此外,在博文的末尾,您将了解如何在 TTS 的专业方面 The Things Industries 部署 Basics Station LoRa 网关,并进行一些细微的更改。

介绍

LoRa 是一种远程广域网技术,类似于蜂窝网络,但专为降低能耗而设计。它使设备能够在小电池上运行多年,长距离发送少量数据。网关接收 LoRa 信号以覆盖特定区域,LoRa 网关的范围在农村地区为 8-10 公里(5-6 英里),在建筑物密度较大的城镇为 1 公里。

LoRa 网关软件包括在网关上运行并与LoRa 芯片交互的数据包转发器软件,它接收和传输射频数据包,以及LoRaWAN 网络服务器 (LNS) ,它将从 LoRa 芯片接收到的消息传输到应用程序以及从云端到设备(上行链路和下行链路)。

Basics Station 是 LoRa 数据包转发器协议的新 Semtech 实现,使用 Websockets (TCP) 并在网关和云服务之间交换加密的 JSON 消息。您可以在此处找到更多信息较旧的 LoRa 数据包转发器是 Semtech UDP 数据包转发器,对于物联网,使用 TCP 和协议缓冲区的非标准 TTN 数据包转发器等。Things Industries 目前使用 Basics Station 数据包转发器协议作为官方协议。

使用 balena 构建 The Things Stack LoRa 网关具有多个优势,包括只需单击几下即可将其安装在原始物联网设备上的简单性,以及从单个仪表板管理一组 LoRa 网关的能力。手动升级网关上运行的软件可能具有挑战性,但 balena 提供了内置功能,可以在一个地方配置、部署和管理所有内容。

怎么做

创建 balenaCloud 帐户后,单击Deploy with balena下面的按钮以自动部署应用程序。如果您使用这种一键式方法,您可以跳过稍后添加设备环境值的手动步骤,因为它们会为您预先配置:

https://dashboard.balena-cloud.com/deploy?repoUrl=https://github.com/balenalabs/basicstation

 
pYYBAGNomziAAlFYAAAU_72rrlc589.png
 

如果您已经熟悉balenaCloud ,或者想要更好地控制如何创建应用程序并将其部署到 balenaCloud ,您也可以使用CLI进行编码从此repo获取项目代码

教程

创建应用程序并添加设备

单击部署按钮将创建一个应用程序,其中包含部署 Basics Station LoRa 网关所需的所有代码。

 
poYBAGNomzuAAkXbAADFYXVfjtE312.png
 

选择您的板作为设备类型,然后单击“创建和部署”按钮。

此时,balenaCloud 会自动将Basics Station GitHub 存储库中的所有代码拉取到您的应用程序中,并部署容器化服务。

 
poYBAGNomz2AH2idAABV3R_BYiw769.png
 

创建应用程序后,您可以通过单击Add device按钮将设备添加到该新应用程序。添加设备时,您需要指定设备类型。您选择的类型必须与您为应用程序配置的设备相匹配,这一点很重要。如果您要将网关连接到无线网络,请务必在此处设置您的 WiFi SSID 和密码。

 
poYBAGNom0CAY8TtAAFAPWfG5C8966.png
 

此过程创建为您的应用程序和设备类型配置的自定义 balenaOS 映像,并包括您的网络设置(如果您指定了它们)。出现提示时,将文件下载到您的工作站。

刷写 LoRa 网关并部署代码

下载 balenaOS 映像后,就该刷新 SD 卡了(如果您使用 Raspberry Pi)。

您可以为此使用balenaEtcher 如果下载的图像文件具有 .zip 扩展名,则在使用 balenaEtcher 之前无需解压缩。

 

刷机过程完成后,将 SD 卡插入 Raspberry Pi 并连接电源。

 
 

当设备首次启动时,它会自动连接到您的网络,然后连接到 balenaCloud 仪表板。片刻之后,您会看到新配置的设备列为在线。

当设备在线显示在仪表板中时,它将自动开始下载 LoRa Basics Station 应用程序。

定义模型和更多设备变量

根据您使用的 LoRa 集中器,需要更改一些设备变量。如果您使用的是 RAK2287 LoRa 集中器,请进入设备变量页面并将模型变量更改为 SX1302。如果您使用的是 RAK2245,则您使用的是默认激活的 SX1301。SX1303 很快就会兼容。

 

pYYBAGNom0OAJsx6AAHM1EiK2WA118.png
LoRaWAN 网关的 balenaCloud 设备变量
 

 

这些参数已在应用程序中自动创建,作为在Deploy with balena过程中定义的应用程序环境变量。转到 balenaCloud > 设备变量部分并添加两个新变量。

默认情况下,设备配置为将数据发送到 The Things Stack (V3) 到欧洲服务器 (eu1)。TTN_REGION如果需要,您可以更改TTN_STACK_VERSION.

如果您不打算使用 The Things Stack 网络服务器,您TC_URI可以配置变量以将数据发送到您的 LoRaWAN 网络服务器。如果您的网络服务器需要不同的证书,您可以使用TC_TRUST它们来配置它们。默认情况下,网关将使用带有适当证书的 The Things Stack V3。

几分钟后,仪表板中的设备信息屏幕应如下所示,显示正在运行基本站服务的设备。

 
poYBAGNom0eAbQQBAAF8TnSvHX0190.png
 

在 The Things Stack 上配置网关之前,了解以太网 MAC 地址对于从 TTS 网络获取 EUI 非常重要。EUI 是网关的 LoRa 唯一标识符(64 位,8 字节),可用于在 The Things Stack 上注册网关。在某些情况下,EUI 可以是以太网 MAC 地址(6 个字节),它是唯一的,扩展了 2 个字节(FFFE)作为将 MAC 地址从 6 个字节增加到 8 个字节的标准方法。

EUI 作为设备的 TAG 显示在仪表板上。复制 balenaCloud 上网关摘要的 EUI TAG。现在您已准备好注册您的 TTS LoRa 网关。

连接到 Things Stack (V3)

首先,如果您还没有访问此网站,请创建一个 The Things Stack 帐户

pYYBAGNom0qATSDMAAHkNbKtBhQ672.png
事物栈 V3
 

登录后,单击“转到网关”按钮。然后单击“添加网关”链接。

pYYBAGNom02APK0XAAH4r7n3gOY318.png
 

将 EUI(来自 balenaCloud 中设备仪表板上的标签)粘贴到 The Things Stack 控制台中。输入所有数据,并记得介绍您的频率计划,这取决于您的地理位置。

最后,单击“ Create Gateway”按钮。您现在已准备好设置 LoRa 网关。

在 The Things Stack V3 上设置您的 LoRa 网关

网关注册成功后,您将自动进入网关概览页面。现在是时候设置您的新 TTS LoRa 网关了。从那里您将能够看到您的 LoRa 网关的信息。

现在单击 API 密钥,然后单击Add API Key

poYBAGNom1CAAEhqAAIVsZfuw1w260.png
 

单击Grant Individual rights,然后选择Link as Gateway to a Gateway Server复制生成的密钥并返回到 balenaCloud 仪表板。

将 API 密钥粘贴为设备变量TC_KEY网关将重新启动,然后您应该能够在线看到您的网关。

 
poYBAGNom1OAXX0zAAAXfJTKZz0735.png
 

现在您已经启动并运行了新的 TTS LoRa 网关,是时候从您的 TTS 节点发送数据了。例如,您可以将温度传感器与 TTS 节点、植物的湿度传感器等连接起来。

目前,您有一个 TTS LoRa 网关,为网关周围的所有传感器和节点提供信号。恭喜:现在您是众包 TTS 网络的一部分,有助于提高 LoRa TTS 的覆盖范围。是时候构建一些 LoRa 节点并从您自己的覆盖范围中受益了。部署它几分钟后,我的网关能够从设备路由 81 条消息。

连接到物联网行业

The Things Industries (TTI) 是 The Things Network 和 The Things Stack 的专业方面。TTI 是为需要在自己的场所管理自己的 LoRaWAN 网络云服务的企业提供的私有服务。TTS 与社区的所有成员一起在多租户解决方案中运行,而 TTI 使企业能够通过自己的 SLA 付费订阅来管理自己的网络。

Basics Station 数据包转发协议是 Things Industries 的官方数据包转发协议,可在 The Things Stack 获得 V3。

本教程的目标是减少对提供简单基础站点 LoRa 网关的 The Things Industries (TTI) LoRa 网关车队所有者(或管理者)的摩擦,并增强部署在现场提供 LoRaWAN 覆盖的网关的空中升级可能性.

要将您的 balena LoRa 网关连接到 The Things Industries,您需要在 The Things Industries 控制台上拥有一个高级帐户。

在 The Things Industries 设置您的 LoRa 网关

要配置 LoRa 网关,请设置之前定义的 balena 安装。

一旦您的网关使用 TTS 网络变量在 balenaCloud 上正确运行,就可以在 The Things Industries 控制台上注册 LoRa 网关了。

 
pYYBAGNom1WAJr9KAACgUh5SlZY150.png
 

转到 balenaCloud 并使用 EUI 复制设备 TAG。

 
poYBAGNom1iAKBy2AABwVmUAobM832.png
 

检查复制的 EUI 是否为定义为标签的 8 个字节(16 个字符)。并返回 The Things Industries 控制台以注册您的 LoRa 网关。将 EUI 粘贴到网关 EUI 字段中。

 
poYBAGNom1qAF1RqAACsy_6Q5Cg282.png
 

注册网关后,转到 balenaCloud 并更改设备变量以指向 TTI 网络而不是 TTS 网络。

在 The Things Industries Gateway 上,变量GW_IDGW_KEY是不需要的,因此您可以删除它们。需要将 更改为TC_URI您的组织启用的正确 websockets URL。这意味着您的 TTI 组织应该在您的服务器上设置了一个 websockets(安全)以从网关接收 LoRaWAN 包。将其用作TC_URI.

 
pYYBAGNom1yAfpLlAABPGfekiII873.png
 

在某些情况下,证书可能会与 TTS 网关上使用的证书有所不同。在这种情况下,请使用证书设置变量。TC_CERT要检查 TTI LoRa 网关是否已启动并运行,请转到 TTI 网关页面以分析通过网关的数据。

 
pYYBAGNom1-ACygeAAFLLbxa-KU261.png
 

现在网关已准备好从您的传感器和节点为您的私有 LoRaWAN 网络接收和转发 LoRaWAN 包。从这里您可以开始引入更多网关并从balenaCloud管理它们请记住:您的前十台设备是免费且功能齐全的!

直到下一次

如果您尝试这个项目并添加更多传感器,我们很乐意听取您的意见。我们总是有兴趣了解社区如何将这些项目付诸实施。在我们的论坛TwitterInstagram上与我们联系,展示您的作品或提出问题。我们非常乐意提供帮助。

致谢

这个项目是由 Jose Marcelino 和 Xose Pérez、RAK工程师和 balena Hardware Hackers 团队的出色工作实现的。


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

评论(0)
发评论

下载排行榜

全部0条评论

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