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

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

3天内不再提示

一款可快速部署LoRa Basics™ Station并连接到TTS V3的容器

瑞科慧联(RAK) 2022-10-21 14:30 次阅读

今天,我们要介绍的是瑞科慧联(RAK)打包并发布的一款容器。该容器无需进行复杂的配置,即可快速部署一个LoRa Basics™ Station,方便开发人员直接用于生产环境或进一步开发。本文将着重介绍使用该容器将网关连接到 The Things Stack(TTS)的过程。

关于LoRa Basic™Station

LoRaBasics™Station 协议简化了大规模 LoRaWAN® 网络的管理,是将网关连接到 TTS的首选方式。相对于传统的 UDPpacketforwarder,LoRa Basics™ Station的优势是:

  • 支持集中更新和配置管理
  • 支持 TLS和基于 token的身份验证
  • 支持集中式渠道计划管理
  • 不依赖本地时间保持

需要注意的是,在LoRa Basics™ Station的部署中,最重要的是在 TTS上能生成对应的 APIkey。

该镜像的原始仓库中提供了非常详细的使用指南,包括支持平台、前置准备、进阶配置指南、权限配置和其他注意事项。该镜像支持的LoRa®集中器型号包括SX1301,SX1302,以及SX1303。RAK在每种集中器都提供了USB 和SPI 规格接口,以及可选的GPS 和LTE 模块,所以用户可以根据实际需求来购买具有对应接口和功能的集中器,并且通过修改 docker-compose或者Portainer应用模板中的对应配置来启动服务。

RAK提供的LoRa Basics™ Station镜像支持的集中器包括如下:

  • SX1301 (only SPI)
    • RAK831 Concentrator
    • RAK833 Concentrator
    • RAK2245 Pi Hat
    • RAK2247 Concentrator
    • IMST iC880a
    • Dragino PG1301
  • SX1302 (SPI or USB)
    • RAK2287 Concentrator
    • Seeed WM1302
  • SX1303 (SPI or USB)
    • RAK5146 Concentrator
  • SX1308 (SPI or USB)
    • RAK2246 Concentrator
    • RAK2247-1308 Concentrator

容器的特性

  • 支持 AMD64 (x86_64)、ARMv8和ARMv7架构。
  • 支持 SX1301 SPI 集中器。
  • 支持 SX1302 和SX1303 SPI和USB (CoreCell)集中器
  • 支持 SX1308 SPI 和SX1308 USB (PicoCell)集中器
  • 支持同一设备上的多个集中器(使用一个basicstation服务)
  • 与 TTS(社区版/TTNv3)或Chirpstack LNS等兼容
  • 支持 CUPS 和LNS协议配置
  • TTS 服务器(TTI或TTN)的网关自动配置
  • 几乎一键部署,同时高度可配置

应用示例

下面我将以US915 频段的RAK2287 集中器的SPI 版本为例,展示如何使用docker-compose,实现一键部署LoRa Basics™ Station,并将其连接到 TTSV3。

硬件准备:

  • RAK2287 集中器
  • 树莓派3/4/CM3/CM4(CM3 或者CM4 需要对应的载板),或者任意其他有PCIe/GPIO 的ARM平台或者x86 平台
  • 如果你的host 设备上没有PCIe 接口,需要使用一个额外的 RAK2287 Pi HAT 板载PCle 连接器

软件准备:

在本地预安装了docker 和docker-compose,以及相关的依赖(docker和docker-compose 的安装请参照代码仓库中的介绍或者直接查看 docker的官方文档)。

具体步骤:

1.你需要首先配置网络服务器(ns),此处我们以TTS为例: 复制该地址eu1.cloud.thethings.network到你的浏览器并注册账号。进入控制台后即可看到TTS 的网关和应用配置页面:

pYYBAGNSFXOAer7bAAEkgsn87as599.png

2.创建一个 Gateway并且生成对应的 apikey,用于在docke-compose中启用该容器:

  • 点击Goto gateways
  • 点击页面右上角的 Registergateway来创建新的网关
  • 依次填入网关的信息,例如ID,名字,EUI,以及频段.其中,EUI往往是根据网口的 MAC地址来的,可以在终端中使用以下命令来获取默认的 EUI:docker run -it --network host --rm xoseperez/basicstation:latest ./get_eui.sh

当然你也可以自定义一个EUI,但是需要确保该DeviceEUI没有被别的用户在 TTS上使用过。

pYYBAGNSFaKAXmU7AABpvXst26s306.png

接着输入别的信息,例如网关名字和具体频段。此处因为我们的集中器是 US915频段,因此我们在此填入的频段为 “UnitedStates902-928 MHz,FSB2(usedbyTTN)”。

poYBAGNSFauAeuq2AADs16FGEIw581.png

  • 点击左下方 RegisterGateway来完成网关的创建
  • 在网关的控制台页面点击左侧边栏中的钥匙图案,进入APIkeys的生成页面

poYBAGNSFbeAYUmzAAELCQlmai4978.png

  • 点击页面右上角的 AddAPIkey按钮,填入名字并勾选以下权限:“link as Gateway to a Gateway Server for traffic exchange, i.e. write uplink and read downlink“

poYBAGNSFfCAF7_UAAEEfMhin1k263.png

  • 接着会弹出 APIkey的窗口供用户复制,请务必在这一步中将 APIkey复制并保存到安全的位置。在关闭了该窗口后,将无法返回该界面获取该 APIkey,只能重复上面的步骤重新生成一个新的APIkey。

poYBAGNSFfuANkj0AADOu4p3ePU983.png

3.接下来你需要使用 docker-compose来启动你的 LoRa®集中器,此处我们以使用SPI接口的 RAK2287集中器为例,其频段为 US915。而 host设备是一台树莓派 4。

  • 首先我们需要新建一个文件夹,并在文件夹中新建一个名叫docker-compose.yml 的文件:

mkdir example cd
example
nano docker-compose.yml

  • 接着将下列内容粘贴进该文件并保存:

version: '2.0'

services:

  basicstation:
    image: xoseperez/basicstation:latest
    container_name: basicstation 
    restart: unless-stopped devices:
       -/dev/spidev0.0 
       -/dev/gpiochip0
   environment:	
       MODEL: "RAK2287"          
       INTERFACE: "SPI"
       TTS_REGION: "eu1"
       GATEWAY_EUI: "E45F01FFFF222233"                              #可以自由指定,需要保证在TTS上不进
       TTS_FREQUENCY_PLAN_IDBAND: "US_902_928_FSB_2"	 #此处以US915为例,根据集中器支持频段修改即可
       TC_KEY: "NNSXS.VRUYFHQ7J5NWWNB3KSW2VWFRGBZF……”#该api key是先在在TTS上生成,然后填入再启动容器

  • 保存后,在终端同一个目录下中执行以下命令:

pi@rasperry:docker-compose up
#如果安装了新版docker compose,请运行如下命令
docker compose up

4.完成以上步骤后,请稍等片刻,网关将自动连上TTS 网络服务器。Basicstation的容器会打印如下log,包含对应的配置选项,例如集中器型号,deviceEUI等:

poYBAGNSFg2AIOZEAAFg7ZyUrzE445.png

然后你会看到网关成功入网的log:

poYBAGNSFh-AI07IAAF1L3u7LPw964.png

而此时在TTS 网络服务器侧,则可以看到网关入网的提示:

pYYBAGNSFiqADIoKAAGRCPmMeGU623.png

以上就是目前 TTN官方主推的一种部署LoRa®packerforwarder的方式。RAK 还提供多个基于容器技术的一键部署复杂服务的方式,包括双频段网关,接入influxdb 数据库和Grafana 图形化面板,接入TagoCore 的案例,具体可以参考其Github 代码仓库。

大家可以参考代码仓库中的开源应用案例,只需要稍加修改,就能打造出属于你自己的解决方案。

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

    关注

    0

    文章

    41

    浏览量

    10787
  • LoRa
    +关注

    关注

    349

    文章

    1689

    浏览量

    231918
收藏 人收藏

    评论

    相关推荐

    浅析SDIO协议V2和V3版本的区别

    功能,不支持VPN、QoS、安全等高级功能。这意味着V3在功能上相对较为基础,可能更适合于简单的网络环境和应用场景。 2. 硬件要求 V2 :对硬件配置的要求较低,通常只需要个CPU和
    发表于 09-18 08:32

    如何将多个ESP连接到个ESP并向服务器发送数据?

    我只想创建个由多个 ESP(3-4) 组成的网络,在这个网络中是主 esp8266,它处于 ACCESS POINT STATION MODE,其余的 esp8266 处于 station
    发表于 07-19 06:49

    ESP8266EX连接到WIFI AP时,是否需要执行些特殊程序?

    ESP8266EX处于 STATION 模式。我正在使用 0.9.2 SDK 和 lubuntu 来构建。 1.当模块上电后首次连接到WIFI AP时,切正常。 2. 当我关闭我的 WIFI
    发表于 07-15 07:57

    TSER953 4.16Gbps V3链接串行器数据表

    电子发烧友网站提供《TSER953 4.16Gbps V3链接串行器数据表.pdf》资料免费下载
    发表于 07-02 09:25 9次下载
    TSER953 4.16Gbps <b class='flag-5'>V3</b>链接串行器数据表

    【AIBOX上手指南】快速部署Llama3

    Firefly开源团队推出了Llama3部署包,提供简易且完善的部署教程,过程无需联网,简单快捷完成本地化部署。点击观看Llama3
    的头像 发表于 06-06 08:02 655次阅读
    【AIBOX上手指南】<b class='flag-5'>快速</b><b class='flag-5'>部署</b>Llama<b class='flag-5'>3</b>

    Module LoRa433 v1.1 | 410-525MHz频段LoRa通信模块

    NEWModuleLoRa433v1.1ModuleLoRa433v1.1是一款适用于410-525MHz频段的LoRa通信模块,模块内部采用SemtechSX1278方案,搭配外置SMA天线,提供
    的头像 发表于 05-18 08:30 543次阅读
    Module <b class='flag-5'>LoRa</b>433 <b class='flag-5'>v</b>1.1 |  410-525MHz频段<b class='flag-5'>LoRa</b>通信模块

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

    LoRa终端,探讨其应用场景。 LoRa网关的基本原理 LoRa网关是物联网中的基础设施,它负责接收来自终端设备的数据,并将其传输到互
    的头像 发表于 05-13 09:35 706次阅读
    LoRaWAN网关<b class='flag-5'>可</b>接收多少个<b class='flag-5'>LoRa</b>模块<b class='flag-5'>并</b>探讨其应用场景

    LoRa-Kit开发板怎么使用? 安信图文详解LoRa-Kit开发板使用步骤

    LoRa-Kit是安信科技针对LoRa模组而设计的一款开发板,上面 搭载了STM32F103C8T6 芯片和TB-05模组 ,预留了LoRa
    发表于 05-11 11:50 671次阅读
    <b class='flag-5'>LoRa</b>-Kit开发板怎么使用? 安信<b class='flag-5'>可</b>图文详解<b class='flag-5'>LoRa</b>-Kit开发板使用步骤

    Arm新Arm Neoverse计算子系统(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    和Neoverse CSS N3代表了Arm计算子系统产品组合的最新进展。 Neoverse CSS V3是高性能V系列产品组合的首产品,相比其前身Neoverse CSS N2,每
    的头像 发表于 04-24 17:53 1052次阅读
    Arm新Arm Neoverse计算子系统(CSS):Arm Neoverse CSS <b class='flag-5'>V3</b>和Arm Neoverse CSS N<b class='flag-5'>3</b>

    Module LoRa868 v1.1 | 803-930MHz高频段LoRa通信模块

    NEWModuleLoRa868v1.1ModuleLoRa868v1.1是一款高频版LoRa通信模块(工作频段:803-930MHz),模块内部采用SemtechSX1276方案,搭配外置SMA
    的头像 发表于 04-20 08:29 601次阅读
    Module <b class='flag-5'>LoRa</b>868 <b class='flag-5'>v</b>1.1 |  803-930MHz高频段<b class='flag-5'>LoRa</b>通信模块

    ST-LINK V3 PWR SWD连接目标板很不稳定是什么原因导致的?

    ST-LINK V3 PWR SWD连接目标板很不稳定,把速率调到200可以断续读取点马上就端了,JTAG没问题,是什么原因?
    发表于 03-12 06:58

    Arm发布Neoverse V3和N3 CPU内核

    在计算市场持续迎来变革的背景下,Arm公司发布了其最新代Neoverse CPU内核设计,分别为Neoverse V3(代号Poseidon)和N3(代号Hermes),两内核将为
    的头像 发表于 02-27 09:27 964次阅读
    Arm发布Neoverse <b class='flag-5'>V3</b>和N<b class='flag-5'>3</b> CPU内核

    瑞萨Flash程序员V3 发布说明

    电子发烧友网站提供《瑞萨Flash程序员V3 发布说明.pdf》资料免费下载
    发表于 02-19 09:37 1次下载
    瑞萨Flash程序员<b class='flag-5'>V3</b> 发布说明

    如何将LED连接到Arduino板使其闪烁

     在本快速入门指南中,您将学习如何将 LED 连接到 Arduino 板使其闪烁。
    的头像 发表于 02-11 10:53 2199次阅读
    如何将LED<b class='flag-5'>连接到</b>Arduino板<b class='flag-5'>并</b>使其闪烁

    请问如何将XC2786连接到Miniwiggler v3

    我为我们的项目制作了块棋盘然后购买了 miniWiggler v3尝试连接它们进行下载和调试。 Mini wiggler 中没有 JTAG
    发表于 01-29 07:29