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代码仓库

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

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

    关注

    2934

    文章

    46513

    浏览量

    396461
  • 网关
    +关注

    关注

    9

    文章

    5924

    浏览量

    53601
  • LoRa
    +关注

    关注

    352

    文章

    1797

    浏览量

    235459
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何用网关接入TTN平台,控制多节点LoRaWAN模组?

    文章目录 一、前言 二、准备工作 三、创建网关 四、创建应用 五、创建设备 六、设备信息 七、OTAA模式下AT指令流程 八、ABP模式下AT指令流程 九、TTN日志查看 ●Live Data实时
    的头像 发表于 08-19 17:10 ?165次阅读
    如何用<b class='flag-5'>网关</b>接入TTN平台,控制多节点<b class='flag-5'>LoRaWAN</b>模组?

    AWT200-LW 系列 LoRaWAN 网关:高效可靠的无线数据传输解决方案

    部署 LoRaWAN 网络接入与无线业务,为用户简化操作流程,提升部署效率。作为专业数据通讯网关,其核心优势在于:通过无线传输实现终端设备的数据采集与分析,省去繁琐布线;同时具备传输距离远、抗干扰能力强、网络容量大、性价比高等特
    的头像 发表于 08-18 09:27 ?73次阅读
    AWT200-LW 系列 <b class='flag-5'>LoRaWAN</b> <b class='flag-5'>网关</b>:高效可靠的无线数据传输解决方案

    太阳能逆变器“狂飙”的秘诀-耐达讯CAN转EtherCAT网关

    讯通信技术CAN转EtherCAT网关的“魔法” 神秘“调解员”登场!它能:“翻译官”:将CAN数据转EtherCAT,转发延迟仅0.8ms;旧
    发表于 07-18 15:22

    液压阀的\"语言魔法课\":CAN转EtherCAT,设备\"学霸\"!

    \"。它液压阀从\"单兵作战\"变成\"团队王者\",无需推倒重来,就能让新旧设备跳起工业4.0的\"和谐交响曲\"。下次遇到协议壁垒,不妨试试这招——老伙计们
    发表于 07-17 15:37

    液位监测界的“跨界CP”:CCLinkIE转Modbus TCP,设备对话不再“鸡同鸭讲”!

    言的搭档——一个擅长高速大数据传输,一个偏爱简洁兼容性强,怎么才能让他们携手干活?答案就是:耐达讯通信技术CCLinkIE转Modbus TCP网关,这位“神仙翻译官”能让设备“跨
    发表于 07-10 15:52

    水表界的“翻译官”:CCLinkIE和Modbus TCP“无障碍聊天”!

    。别急,这位“双语翻译官”——耐达讯通信技术协议转换网关,能让它们“知己”! 专业翻译,消除“语言壁垒” 耐达讯通信技术协议转换网关堪称工业界的“同声传译器”。它在CCLinkIE
    发表于 07-10 15:43

    科普|LoRa(Long Range)设备LoRaWAN设备区别

    。LoRa是一种物理层无线调制技术,以远距离、低功耗和高抗干扰性著称,而LoRaWAN是基于LoRa的网络协议,定义了设备与网络之间的通信规则和架构。尽管LoRa和
    的头像 发表于 06-24 09:21 ?807次阅读
    科普|LoRa(Long Range)<b class='flag-5'>设备</b>和<b class='flag-5'>LoRaWAN</b><b class='flag-5'>设备</b>区别

    当CCLink IE遇上DeviceNet,数据记录仪\"卷王\"?

    DeviceNet温湿度记录仪接入CCLink IE系统时卡了壳:设备通电后数据\"断流\"。加耐达讯通信技术网关\"翻译官\":温湿度数据实时转译成主控
    发表于 06-11 14:48

    医疗设备懂人心」:CCLink IE转DeviceNet触控方案全攻略

    响应,这在急诊室是不可接受的。 工程师通过优化网关配置,调整DeviceNet网关扫描周期与CC-Link IE协议数据刷新设置,并加强设备接地以减少干扰,成功解决了延迟问题,操作指
    发表于 06-10 14:48

    【教程】LoRaWAN节点模块如何接入LoRaWAN网络并实现通信?

    一准备本文以模组E77-400M22S为例,演示如何加入LoRaWAN网络,进行数据收发通信。硬件:?E77模组+USB转串口工具(或者E77套件)?LoRaWAN网关一台(这里
    的头像 发表于 05-29 19:33 ?843次阅读
    【教程】<b class='flag-5'>LoRaWAN</b>节点模块如何接入<b class='flag-5'>LoRaWAN</b>网络并实现通信?

    UG67室外型LoRaWAN网关安装指南

    lorawan
    星纵智能
    发布于 :2025年04月30日 13:38:28

    天拓四方边缘计算采集网关设备“会思考”

    ,助力客户加速数字化转型。 一、边缘智能:设备“会思考” TDE网关通过Modbus、OPC UA等工业协议,实现CNC机床、工业机器人等设备
    的头像 发表于 04-15 17:32 ?366次阅读
    天拓四方边缘计算采集<b class='flag-5'>网关</b>,<b class='flag-5'>让</b><b class='flag-5'>设备</b>“会思考”

    深控工业网关如何MES项目“啃下硬骨头”,实现老旧设备100%数据接入?

    深控工业网关如何MES项目“啃下硬骨头”,实现老旧设备100%数据接入
    的头像 发表于 03-11 11:20 ?413次阅读
    深控工业<b class='flag-5'>网关</b>如何<b class='flag-5'>让</b>MES项目“啃下硬骨头”,实现老旧<b class='flag-5'>设备</b>100%数据接入?

    Docker-镜像的分层-busybox镜像制作

    docker hub里面查看busybox的Dockerfile, 知识点4:bootfs 和 rootfs? 知识点5:为什么Docker镜像要采用这种分层结构? 如果多个容器共享一份基础镜像,当某个
    的头像 发表于 01-15 10:44 ?707次阅读
    Docker-<b class='flag-5'>镜像</b>的分层-busybox<b class='flag-5'>镜像</b>制作

    Dockerfile镜像制作与Docker-Compose容器编排

    Dockerfile镜像制作 docker/podman中, 镜像容器的基础,每次执行docker run的时候都会指定哪个基本镜像作为容器
    的头像 发表于 01-07 11:01 ?888次阅读
    Dockerfile<b class='flag-5'>镜像</b>制作与Docker-Compose<b class='flag-5'>容器</b>编排