0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

网关中LoRa Basics Station的应用

瑞科慧联(RAK) 2022-08-16 10:52 次阅读

LoRa Basics Station 是 LoRa® 数据包转发器的实现。LoRa 数据包转发器是在基于 LoRa 的网关(带或不带 GPS)主机上运行的程序。

它可以通过安全的 IP 链路将集中器(上行链路)接收的射频数据包转发到 LoRaWAN® 网络服务器 (LNS),也可以通过相同的安全 IP 将 LNS(下行链路)发送的射频数据包传输到一个或多个设备。另外,它可以发送用于网络内时间协调器件的信标信号。这些信标可以在整个网络上与 GPS 同步传输。

#为什么选择 LoRa Basics Station?

在 LoRaWAN 网络中,网关是 LoRaWAN 网络服务器 (LNS) 的物理层 (PHY) 接口。它侦听无线电频谱的某些部分,使用 LoRa 调制从传感器发出的信号中解码出有效的 LoRaWAN 数据包,并将其转发给 LNS。同时也将 LoRaWAN 数据包从 LNS 向下传输到传感器,作为 LoRa 调制信号。

LoRa Basics Station 是 LoRaWAN 网关软件的实现,在处理数据包流、管理频谱接入和 LNS 回程连接等方面提供了核心功能。为了在大量网关上安全、可靠和高效地完成这些任务,Station 定义了两个后端协议:

  • LNS 协议是主要数据层,通过安全的 WebSocket 提供低延迟的双向通信通道。此协议涵盖了负载平衡和集中式配置管理的各个方面。
  • Station 通过配置和更新服务 (CUPS) 协议提供凭据管理和固件更新接口,该协议是经身份验证的简单 HTTPS 事务,用于传递 LNS 接口凭据和已签署的固件二进制文件。

说明:

  • 文档和协议定义可参见链接。
  • 网关软件实现可参见链接。

#LoRa Basics Station 可以做什么?

LoRa Basics Station 可完成与 LoRaWAN A、B 和 C 级的基本数据包转发功能有关的所有任务。此外,Station 还具有多种功能,使其特别适用于重视集中配置管理和远程检查功能的大规模网关部署。Station 的架构使得它可以轻松接入不同平台,甚至嵌入式系统。CUPS 和 LNS 协议的基本功能是可扩展的,并助力编排更复杂的使用场景,包括配置管理、时间保持、远程检查和干预等。

  • 支持常见的无线电硬件参考设计
    • v1.5(单个 sx1301,通过 SPI + FPGA,用于 LBT)
    • v2(多个 sx1301s,通过 SPI + DSP,用于精细的时间戳)
    • Picocell(与 v1.5 类似,但通过 USB 并降低了功耗 – USB 加密狗)
    • Corecell(单个 sx1302,通过 SPI)

  • 精益架构
    • 资源节约型设计 - 适用于嵌入式应用
    • 最小的第三方依赖性,以实现最佳的可移植性
    • 通过丰富的运行时参数集,可实现低等级的微调

  • 全面支持 Linux 主机
    • 守护进程模式
    • 灵活记录、日志文件轮替和裁切
    • 主机/从机设置,用于多无线电操作

  • 安全的防火墙友好型 TCP/IP 通信
    • 无需 ingress 连接
    • 通过 TLS 证书或 HTTP 令牌标头进行身份验证

  • LNS 协议
    • 集中式无线电参数管理
    • 远程系统命令和可选的交互式 shell
    • 灵活的健康和状态报告机制
    • GPS 时间推断
    • 时间传递(方便室内 B 级用例)

  • CUPS 协议
    • 具有回滚功能的连接凭据事务性更新
    • 具有 ECDSA 签名的安全固件更新交付

#LoRa Basics Station 是如何构建的?

LoRa Basics Station 系统概述Figure 1: LoRa Basics Station 系统概述

编译的 Station 二进制文件是在网关主机平台操作系统的用户空间中执行的应用。上图说明了 Station 如何与其他系统组件进行交互。

在左侧,是网关无线电硬件及其与网关主机平台的接口,平台通常通过诸如 SPI 之类的串行接口进行连接。Station 建立在硬件抽象层 (HAL) 库的基础上,该库由 Semtech 提供,适用于不同网关无线电硬件参考设计,以与无线电硬件进行交互。

在右侧,是 Station 期望的后端服务及其相应的协议 LNS 和 CUPS。与这些服务的连接通常是通过基于 IP 的网络建立的。这使得可以在广泛用于万维网且已经验证的协议栈上构建 CUPS 和 LNS 协议,即用于传输的 HTTP 和 WebSockets 以及用于安全的 TLS。

中心框是在操作系统 (OS) 内运行 Station 进程的网关主机平台。该框分为 Station 的高级模块化组件,为不同系统组件提供不同接口:

  • RAL:适用于不同 HAL 的无线电抽象层
  • SYS:适用于不同操作系统(Linux、FreeRTOS 等)的系统抽象层
  • NET:建立在 mbedTLS 之上的网络抽象层

以下是LoRa Basics Station 软件架构更详细的视图。

LoRa Basics Station 软件架构Figure 2: LoRa Basics Station 软件架构

在上图中:RAL、SYS 和 mbedTLS 模块组成硬件指定适配层,为系统组件提供适用于可移植核心实现的统一接口。在编译时,可以选择 RAL 和 SYS 层,并将结果对象与 mbedTLS 库静态链接。

可移植核心是围绕异步协作多任务运行时 (AIO) 构建的无依赖 C 模块,包含 Station 的所有核心功能:LoRa 数据包处理、数据包缓冲、下行链路队列管理、频谱接入管理、协议解析 (JSON)、协议状态逻辑 (CUPS/LNS)、时间同步等。

此架构可实现:

易于移植:将 Station 移植到新的 HAL 的工作仅限于对 RAL 模块的更改。将 Station 移植到新的主机平台上的工作仅限于对 SYS 模块的更改。

易于测试:可以通过使用组件替换 HAL 块来完成与硬件无关的测试,该组件可通过远程过程调用 (RPC) 将对 RAL 的 HAL API 调用转换为测试工具。LoRa Basics Station 回归测试使用了这种方法。

Station 构建环境使我们能够设置编译时选项,从而生成适用于目标环境的理想 Station 可执行文件。这些选项在 setup.gmk 中被归为高级标识符平台和变体。在构建过程中,会自动提取、编译和链接依赖项。

#LoRa Basics Station 如何工作?

#LNS 协议

假设通过 tc.uri 对 LNS 连接进行了正确的配置,Station 将与其连接,并在一开始便将自己通告给服务端点。服务端点以最终的 WebSocket 连接端点响应,且 Station 使用相同的凭据立即进行连接。在向最终连接端点通告自己之后,Station 会收到一个来自 LNS 的配置对象,至少包含频率计划和有网关在其中运行的区域环境。

在应用了频率计划并启动了无线电之后,网关处于稳定状态,在此期间它可以交换许多消息。每当无线电对有效的 LoRaWAN 帧进行解调时,该帧将直接转发到 LNS。另外,LNS 可以通过网关将下行链路数据传输到终端设备。如果成功发送了下行链路数据,LNS 将收到确认。如果 LNS 连接意外终止,则所有接收到的上行链路数据将缓冲,直到重新建立连接。

#CUPS 协议

CUPS 协议是 Station 内的一个独立引擎。它使用带有 JSON 编码主体的 HTTP POST 向 CUPS 端点声明其当前的配置状态。CUPS 服务器使用此信息来决定是否需要更新,并通过包含新凭据集的八位字节流做出响应(适用于 CUPS 端点或 LNS 端点,或者二者皆适用)。空响应表示无需更新。

在该响应中,CUPS 可以选择附加已签署的可执行文件 blob。该可执行文件的格式与协议本身无关,但应与网关主机平台能够应用的格式匹配。对于嵌入式主机平台或可执行文件脚本,它可以是完整的固件映像;对于基于 Linux 的主机系统,它可以是自动提取的存档文件。为了检查可执行文件的签名,可以通过将多个公共 ECDSA 签名密钥放入 sig-{0,1,2,…}.key 文件中进行配置。

CUPS 并非专为全面的网关管理器设计打造。相反,其底层基元为最基本的管理任务提供了一种简单统一的方法:凭据管理和安全的远程固件更新。

#LoRa Basics Station 的安全性如何?

为了确保基于 IP 的后端连接的安全性,LoRa Basics Station 依赖于万维网中日常使用的知名概念。针对给定连接的身份验证模式取决于是否存在连接定义文件 {tc,cups}.{uri,trust,key,crt} 及其内容。

#无身份验证

当服务端点 URL 专门声明纯文本连接时,不使用身份验证:

*.uri:ws://...(适用于 tc.uri)或 http://...(适用于 cups.uri)

如果安全性已经由操作系统通过 IPsec 在网络层上实现,或者如果安全性通过防火墙和网络隔离建立(所有主机都可信),则这很有用。如果通过因特网建立的网关连接没有 IPsec,应始终使用以下身份验证方法之一。

#服务器和客户端身份验证

如果服务端点 URL 被声明为安全连接,则启用双向认证

*.uri:wss://...(适用于 tc.uri)或 https://...(适用于 cups.uri)

通过证书颁发机构 (CA) 检查服务器的真实性。CA 证书必须在 *.trust 文件中提供。

*.trust:服务器 CA 的可信证书(PEM 或 DER 编码的 X509 证书)

Stations 根据是否存在 *.key 和 *.crt 文件提供两种用于建立客户端身份验证的选项:

客户端令牌身份认证 [*.key]

*.key:包含服务器客户端身份验证信息的有效 HTTP 标头(例如,身份验证:...\r\n)

客户端证书身份验证 [*.crt, *.key]

*.crt:客户端证书(PEM 或 DER 编码的 X509 证书)

*.key:私钥(PEM 或 DER 编码的 x509 密钥)

提示:调试网关 TLS 设置的一个好方法是通过将环境变量 STATION_TLSDBG 设置在详细级别 1(最低)和 4(最高)之间执行 Station。

#如何以Basics Station模式将网关连接至TTNv3?

#登录TTN v3

1、登录TTN网站。

登录TTN网站Figure 4: 登录TTN网站

2、输入用户名以及登录密码,单击“Submit”。若未注册账号,单击“Register”,根据提示注册TTN账号。

#注册网关

1、单击“Register a gateway”。

注册新网关Figure 5: 注册新网关

2、填写参数,单击“Create gateway”。

配置参数Figure 6: 配置参数

#生成Token

TTNv3支持TLS服务器身份验证和客户端令牌,这需要信任文件和密钥文件来配置网关以将其成功连接到网络。

1、在“Gateways”页签中,单击已注册的网关,进入网关页面。

进入已注册网关Figure 7: 进入已注册网关

2、在左侧导航树中,单击“API keys”。

进入API keysFigure 8: 进入API keys

3、单击“Add API key”。

  • Name:输入密钥名称
  • Rights:选择“Grant individual rights”。在多选选项中,选中“ Link as Gateway to a Gateway Server for traffic exchange, i.e. write uplink and read downlink”。
配置API keys参数Figure 9: 配置API keys参数

4、单击“Create API key”。将会弹出以下对话框。

保存API keysFigure 10: 保存API keys

注意:切记将密钥复制保存至.txt文件中,对话框关闭后将无法查看或复制密钥信息。

5、密钥复制保存后,单击“I have copied the key”。

#配置网关

1、登录网关Web管理平台。具体操作可参考对应网关的《快速入门指南》手册。

2、在“LoRa Network > Network Settings ”的“LoRa Network Settings ”页面中,配置“Mode”选项为“Basics Station”。

切换模式Figure 11: 切换模式

3、单击“Switch mode”,模式切换成功后,“Basics Station Configuration”参数配置页面将会显示。连接网关至TTNv3,必须配置以下参数:

  • Server:选择LNS Server。
  • URI:The Things Stack服务器地址。该示例中,将网关连接至“European”集群,所以链接为wss://eu1.cloud.thethings.network。
  • Port:LNS Server使用端口为8887,填入8887。
  • Authentication Mode:选择“TLS Server Authentication And Client Token”。
  • trust:使用“Let's Encrypt ISRG ROOT X1”信任证书。查看和下载证书。
  • token:此处为生成的Token。输入时,以“Authorization: ”开始。如:Authorization: YOUR_API_KEY

注意:请注意”Authorization:“ 与“YOUR_API_KEY”之间存在一个空格。

配置网关参数Figure 12: 配置网关参数

4、单击“Save & Apply”,保存设置。在TTN界面可以看到网关以“Basics Station”模式连接至TTNv3。

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

    关注

    349

    文章

    1673

    浏览量

    231790
  • RAK
    RAK
    +关注

    关注

    0

    文章

    48

    浏览量

    2066
收藏 人收藏

    评论

    相关推荐

    LoRa网关LoRa基站的区别是什么?一文弄懂

    LoRa技术被广泛应用于物联网领域,它是一种低功耗、支持长距离传输、支持多节点通信的无线通信技术。LoRa网关LoRa基站是两个非常重要的LoRa
    的头像 发表于 10-10 10:46 382次阅读

    Lora转4G Cat1网关软硬件设计开源资料分享(HTTP协议版本)

    一、lora转4G网关方案简介 : lora转4G网关解决了物联网技术中长距离的要求,被广泛运用到各种各样行业之中,通信网络成本费极低,另外适用窄带传输数据,安全系数高。应用的地方也是
    的头像 发表于 09-18 17:38 461次阅读
    <b class='flag-5'>Lora</b>转4G Cat1<b class='flag-5'>网关</b>软硬件设计开源资料分享(HTTP协议版本)

    Lora转4G Cat1网关软硬件设计开源资料分享(MQTT协议版本)

    一、lora转4G网关方案简介 : lora转4G网关解决了物联网技术中长距离的要求,被广泛运用到各种各样行业之中,通信网络成本费极低,另外适用窄带传输数据,安全系数高。应用的地方也是
    的头像 发表于 09-18 16:08 416次阅读
    <b class='flag-5'>Lora</b>转4G Cat1<b class='flag-5'>网关</b>软硬件设计开源资料分享(MQTT协议版本)

    lora网关到底能带多少设备,lora网关容量是多少

    引言 : 在推广LoRa模块的过程中,我频繁地遇到关于LoRa网关设备承载能力与容量的询问。为了更清晰地解答这些疑问,本文将深入探讨一个LoRa网关
    的头像 发表于 07-30 17:31 468次阅读
    <b class='flag-5'>lora</b><b class='flag-5'>网关</b>到底能带多少设备,<b class='flag-5'>lora</b><b class='flag-5'>网关</b>容量是多少

    plc有三个数据,在网关中如何整合成一个呢?

    如:plc有三个数据,在网关中如何整合成一个呢? 加注泵状态:正在加注PLC MM1.6离散量R/W 加注泵状态:未加注PLC MM1.7离散量R/W 加注泵状态:故障PLC MM2.0离散量R/W
    发表于 07-24 07:46

    ARMxy系列控制器:在智能网关中实现数据采集

    的特点,在智能网关中发挥了关键作用,极大地提升了网关的接入能力、协议转换效率和管理便捷性。本文将从ARMxy系列控制器在智能网关中的应用出发,让大家更好地理解ARMxy系列控制器。 在谈及ARMxy系列控制器之前,我们先来了解A
    的头像 发表于 07-11 17:03 333次阅读
    ARMxy系列控制器:在智能<b class='flag-5'>网关中</b>实现数据采集

    RS485转LoRa-以太网TCP转LoRa

    改系列she'b一款基于低功耗广域网LoRa私有协议物联网无线网关,在广域网内使用。具有LoRa延长中继距离、携带节点无限制的优点。它是将LORA和串口、以太网之间进行双向传
    的头像 发表于 06-19 10:39 514次阅读
    RS485转<b class='flag-5'>LoRa</b>-以太网TCP转<b class='flag-5'>LoRa</b>

    LoRa数传电台实现路灯状态监测与远程调控

    LoRa网关在城市路灯控制中的应用可以实现路灯的智能化、自动化管理,提高路灯的管理效率和节能效果,为城市的照明管理提供有力支持。LoRa网关还可以实现路灯之间的通信与协同工作。通过设立
    的头像 发表于 05-17 10:50 431次阅读
    <b class='flag-5'>LoRa</b>数传电台实现路灯状态监测与远程调控

    LoRaWAN网关可接收多少个LoRa模块并探讨其应用场景

    在物联网领域中,LoRa(低功耗广域网)技术因其长距离传输、低功耗和高可靠性而备受关注。作为LoRa网络的关键组成部分,网关扮演着连接终端设备和互联网的重要角色。本文将解析一个网关可以
    的头像 发表于 05-13 09:35 651次阅读
    LoRaWAN<b class='flag-5'>网关</b>可接收多少个<b class='flag-5'>LoRa</b>模块并探讨其应用场景

    st官网lora节点程序OTAA模式加入网络后,把网关与服务器的连接断开后,节点是否一直持续发送数据?

    st官网lora节点程序OTAA模式加入网络后,把网关与服务器的连接断开后,节点是否一直持续发送数据?
    发表于 04-28 06:54

    LoRa网关+LoRa节点的特点和优势

    LoRa网关是连接终端设备和LoRaWAN网络的设备,负责收集来自多个LoRa基站的数据并将其传输到云端。 LoRa网关收集
    的头像 发表于 03-19 17:02 1313次阅读
    <b class='flag-5'>LoRa</b><b class='flag-5'>网关</b>+<b class='flag-5'>LoRa</b>节点的特点和优势

    lora终端如何连网关 LORA网关能带几个终端

    LoRa 终端通过 LoRa 网关发送连接请求,LoRa 网关接收到请求后会进行相应的认证和确认,建立与终端之间的通信链接。
    的头像 发表于 02-25 16:59 1907次阅读

    Lora网关是如何工作的?

    Lora网关是如何工作的? LoRa网关是配备有接收LoRa数据包的LoRa集中器的无线电模块。
    的头像 发表于 01-08 09:53 593次阅读

    PLC网关的重要性及其PLC网关功能的介绍

    PLC网关也是工业物联网网关中的一种,实现PLC与网关链接设置,此功能可以使用物联工业物联网网关实现
    的头像 发表于 12-22 15:46 983次阅读

    基于ZWS云对LoRa网关与节点的通信统计

    通过LoRa网关,可以将各种传感器节点设备的数据采集,并上传到物联网云平台,实现智能化管理与可视化监控。本文将介绍在ZWS物联网云平台如何分析LoRa网关与节点的通信情况。应用场景GL
    的头像 发表于 12-13 08:24 848次阅读
    基于ZWS云对<b class='flag-5'>LoRa</b><b class='flag-5'>网关</b>与节点的通信统计