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

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

3天内不再提示

使用RAK_common容器镜像,让设备秒变LoRaWAN®网关

瑞科慧联(RAK) 2022-09-21 10:45 次阅读

近年来,手机、平板等移动平台市场飞速扩展,但让人惊讶的是,SBC(单板计算机)的市场却并没有被“移动平台”蚕食。相反,随着物联网、边缘计算等应用需求的增长,市面上出现越来越多定位于不同应用场景的SBC,树莓派正是其中的佼佼者之一。

由于树莓派开源社区十分成熟,基于树莓派的开发往往事半功倍,因此不少企业都推出了基于树莓派的产品。我们今天要介绍的RAK_common_for_gateway(以下简称rak_common)和其容器化镜像就是其中的一款典型。

RAK_common是瑞科慧联(RAK)基于开源社区资源开发的一套LoRaWAN®软件栈。它可以让用户在极短时间内,在树莓派上部署好LoRaWAN®网关,方便进一步开发或直接将其用于生产环境。

背景介绍

RAK_common软件栈的原始仓库中提供了非常详细的使用指南,包括:如何下载源码、如何使用树莓派内置的 raspi-config 工具来配置相关接口、如何使用一键安装脚本、以及如何使用一个简单的 GUI 来配置网关等相关内容信息。在可支持的硬件平台上,RAK_common 软件栈内的一键安装脚本就可以自动识别树莓派的基础型号,例如树莓派 0、树莓派 3、树莓派 4、树莓派 cm3、以及树莓派 cm4,并自动修改对应的配置文件;在 LoRa®集中器方面,RAK-common 软件栈可以支持 SX1301、SX1302,以及 SX1303 集中器。

poYBAGMpjDSAIRrPAABq_ZQLY9w340.png

瑞科慧联非常贴心地为每种集中器都提供了USB和SPI 规格接口,以及可选的GPS和LTE模块,所以用户可以根据自身实际需求来购买具有“对应接口和对应功能”的集中器,并且在一键安装脚本中,手动选择对应的型号来部署相关代码和配置。RAK-common软件栈可以支持的集中器型号如下所示:

RAK831(Choose RAK2245)

RAK2245

RAK7243/RAK7244 no LTE

RAK7243/RAK7244 with LTE

RAK833(USB)(Choose RAK2247 USB)

RAK2247(USB)

RAK833(SPI)(Choose RAK2247 SPI)

RAK2247(SPI)

RAK2246

RAK7248 no LTE (RAK2287 + raspberry pi)

RAK7248 with LTE (RAK2287 + LTE + raspberry pi)

RAK2287(USB)

RAK7271(Choose RAK2287 USB)

RAK5146(USB)

RAK7371(Choose RAK5146 USB)

RAK5146(SPI)

RAK5146(SPI) with LTE

随着云原生时代的到来,容器技术凭借其可移植性高、部署方便、运维成本低等特点,迅速成为“在边缘计算设备上部署服务”的首选方式。而瑞科慧联的LoRaWAN®UDPPacketForwarderProtocolforDocker 这一项目恰好就是针对RAK-common软件栈进行了代码结构的优化和打包。这样,即使用户不在树莓派硬件平台上,也能快速部署LoRaWAN®UDPpacketforwarder。如果用户在设备上已经安装了docker,使用瑞科慧联提供的容器镜像就更简单,只需要在docker-compose.yml中修改对应的配置选项,然后需要输入一条命令‘docker-compose up‘,就可以在几秒钟内部署好一个LoRaWAN®packetforwarder,将设备变为一台LoRaWAN®网关。

该项目的特性如下所示:

  • 支持多平台、多架构,如AMD64(x86_64),ARMv8,ARMv7andARMv6架构支持基于SX1301, SX1302, SX1303 and SX1308的LoRa®集中器
  • 支持使用SPI和USB接口的集中器
  • 兼容使用TheThingsStack(communityedition/TTNv3)或者是ChirpstackLNS等LoRa®网络服务器
  • 一键部署,同时可配置度高
  • 支持使用Balena部署,方便集群管理

应用示例

下面我会以频段为US915的RAK5146集中器的SPI版本为例子,向大家展示如何使用docker-compose,实现一键部署LoRaWAN®UDP packet forwarder。

前期准备

硬件准备:

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

软件准备:

  • 在本地预安装了docker和docker-compose,以及相关的依赖(docker和docker-compose的安装十分简单,请参照官方文档。

具体步骤如下所示:

  • 新建一个文件夹,并在文件夹中新建一个名叫docker-compose.yml的文件:

mkdir example
cd example
nano docker-compose.yml

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

version: '3.7'

services:

   udp-packet-forwarder:
     image: rakwireless/udp-packet-forwarder:latest
     container_name: udp-packet-forwarder
     restart: unless-stopped
     devices:
        -/dev/spidev0.0
    volumes:
       -/sys:/sys
    environment:
#	     MODEL: "RAK5146"	              #该镜像可根据Rakwireless集中器型号自动配置接口等
       CONCENTRATOR: "SX1303"	    #第三方集中器需要依次定义CONCENTRATOR、INTERFACE等变量,例如RAK5146是基于SX1303芯片
       INTERFACE: "SPI"
       RADIO_DEV: "/dev/spidev0.0"
       BAND: "us_902_928"            #此处以US915为例,根据集中器支持频段修改即可
       TTN_REGION: "eu1"	            #如使用TTS作为ns,默认使用eu1服务器,可按需修改
#     	  SERVER_HOST: "10.2.21.27" #如果不使用TTS,则修改为您自己ns的地址
#	      SERVER_PORT: "1700"         #同上

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

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

如果配置正确的话,你将看到如下的log,其中包含了网关的EUI,以及后续TTS的ns地址。

poYBAGMqcyCAQ0EAAAL0ok4M2yE836.png

网关的EUI可以通过在终端运行以下命令获取:

docker exec -it udp-packet-forwarder ./get_eui.sh

光在网关上部署udp-packet-forwarder可不够,你还需要配置网络服务器(ns),此处我们以TheThingsStack (TTS)为例:

复制上述红色高亮的地址eu1.cloud.thethings.network,使用你的浏览器访问该地址,注册账号后,你将看到TTS 的网关和应用配置页面:

pYYBAGMpjRmAGZZHAABOU3zZqZ8648.png

接下来你需要按照页面上的操作提示,依次进行以下操作:

  1. 点击Go to Gateway
  2. 点击Add Gateway
  3. 依次填入网关的信息,例如ID,名字,EUI,以及频段
  4. 点击页面下方的Create Gateway 来完成网关的创建

完成以上步骤后,请等待片刻,稍后网关将自动连上TTS网络服务器。连接成功后,网关会有如下log:

poYBAGMpjSKAZ9WTAAG6xVOx1_8524.png

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

pYYBAGMpjTGAFBYfAABjwxWJJVs987.png

以上就是最基础、也最常见的一种部署LoRaWAN®网关的方式。此外,瑞科慧联还提供了基于该镜像的多种应用案例,包括双频段网关、接入influxdb数据库和Grafana图形化面板、接入TagoCore的案例等等,具体可以参考其Github代码仓库

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

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

    关注

    2871

    文章

    41702

    浏览量

    358938
  • 网关
    +关注

    关注

    9

    文章

    3240

    浏览量

    50052
  • LoRa
    +关注

    关注

    346

    文章

    1548

    浏览量

    230470
收藏 人收藏

    评论

    相关推荐

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

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

    安信可Ra-08基于LoRaWAN协议的Class B模式应用

    LoRaWAN网关的内置NS创建应用与节点设备,配置安信可Ra-08模块连接至网关NS服务,实现数据发送与接收。注: 该教程仅适用于支持Class B模式通讯的
    的头像 发表于 12-18 10:48 167次阅读
    安信可Ra-08基于<b class='flag-5'>LoRaWAN</b>协议的Class B模式应用

    如何在LoRaWAN网关的内置NS创建应用与节点设备

    本文章将说明如何在LoRaWAN网关的内置NS创建应用与节点设备,配置安信可Ra-08模块连接至网关NS服务,实现数据发送与接收。注: 该教程仅适用于支持Class B模式通讯的
    的头像 发表于 12-16 16:18 727次阅读
    如何在<b class='flag-5'>LoRaWAN</b><b class='flag-5'>网关</b>的内置NS创建应用与节点<b class='flag-5'>设备</b>

    LoRaWAN网关与常见网络服务器的协议

    。ChirpStack是一个开源的LoRaWAN网络服务器,用于管理和处理LoRaWAN设备和数据。在LoRaWAN网络中,网关与Chirp
    的头像 发表于 09-15 08:22 460次阅读
    <b class='flag-5'>LoRaWAN</b><b class='flag-5'>网关</b>与常见网络服务器的协议

    网关设备如何接入ChirpStack服务器?

    《搭建LoRaWAN服务器——ChirpStack》在本次学习中,我们将重点介绍如何配置网关设备接入ChirpStack服务器。我们选用的网关设备
    的头像 发表于 08-01 00:09 470次阅读
    <b class='flag-5'>网关</b><b class='flag-5'>设备</b>如何接入ChirpStack服务器?

    搭建LoRaWAN服务器——ChirpStack

    用全双工LoRaWAN网关E870-L470LG11和SoC无线模块测试套件E78-400TBL-02来演示如何配置LoRaWAN网络通讯。此外,我们将搭建本地模拟的C
    的头像 发表于 07-31 23:07 595次阅读
    搭建<b class='flag-5'>LoRaWAN</b>服务器——ChirpStack

    【教程】手把手教你!搭建LoRaWAN自动采集系统

    组成主要分三部分,设备端、网关和服务器端。下文是使用E78-DTU、E890-470LG11LoRaWAN网关搭建一个LoRaWAN的自动采
    的头像 发表于 07-07 10:02 630次阅读
    【教程】手把手教你!搭建<b class='flag-5'>LoRaWAN</b>自动采集系统

    LoRaWAN网关教程

    电子发烧友网站提供《LoRaWAN网关教程.zip》资料免费下载
    发表于 06-27 14:27 2次下载
    <b class='flag-5'>LoRaWAN</b><b class='flag-5'>网关</b>教程

    使用Dragino网关和TheThingsNetwork设置LoRaWAN

    电子发烧友网站提供《使用Dragino网关和TheThingsNetwork设置LoRaWAN.zip》资料免费下载
    发表于 06-27 14:24 0次下载
    使用Dragino<b class='flag-5'>网关</b>和TheThingsNetwork设置<b class='flag-5'>LoRaWAN</b>

    使用LoRaWAN网关实现FRP功能教程

    对于没有公网IP的内网用户来说,远程管理内网下的LoRaWAN网关是一个尴尬的难题,内网穿透可实现通过公网访问内网下的设备(如本机)当下内网穿透工具有很多,FRP内网穿透以其高性能的反向代理应用,不但可以让客户轻松进行内网穿透,
    的头像 发表于 06-25 10:18 326次阅读
    使用<b class='flag-5'>LoRaWAN</b><b class='flag-5'>网关</b>实现FRP功能教程

    【教程】使用LoRaWAN网关实现FRP功能

    对于没有公网IP的内网用户来说,远程管理内网下的LoRaWAN网关是一个尴尬的难题,内网穿透可实现通过公网访问内网下的设备(如本机)当下内网穿透工具有很多,FRP内网穿透以其高性能的反向代理
    的头像 发表于 06-23 10:02 429次阅读
    【教程】使用<b class='flag-5'>LoRaWAN</b><b class='flag-5'>网关</b>实现FRP功能

    NET Core LoRaWAN客户端使用RAK3172模块

    电子发烧友网站提供《NET Core LoRaWAN客户端使用RAK3172模块.zip》资料免费下载
    发表于 06-15 14:38 0次下载
    NET Core <b class='flag-5'>LoRaWAN</b>客户端使用<b class='flag-5'>RAK</b>3172模块

    带有RAK3372 EVB的NET nanoframework LoRaWAN开源

    电子发烧友网站提供《带有RAK3372 EVB的NET nanoframework LoRaWAN开源.zip》资料免费下载
    发表于 06-12 15:07 0次下载
    带有<b class='flag-5'>RAK</b>3372 EVB的NET nanoframework <b class='flag-5'>LoRaWAN</b>开源

    [鲁班猫创意氛围赛]项目提交:本地LoRaWAN网关

    网关设备添加【鲁班猫0W】搭建一个LoraWAN集成网关 介绍视频 视频主要分两部分,第一部分是使用节点设备测试入网和数据上报,第二部分是介
    发表于 05-13 16:11

    如何树莓派Pico支持LoRaWAN

    。该技术无需复杂配置,即可以智能设备实现无缝的互操作,给物联网领域的用户、开发者和企业自由操作权限。   使用合理的LoRa天线,你可以通过网关将电池供电的传感器连到互联网,信号覆盖半径大约15公里
    发表于 05-11 10:44