打造自己的LoRaWAN网关,进阶1:构建软件

引言

如果您只关心:打造一个 LoRaWAN 网关,请参考《花一个小时,打造自己的LoRaWAN网关》

花一个小时,打造自己的LoRaWAN网关_lorawan网关开发_RimeLink的博客-CSDN博客

本文介绍 LoRaWAN 网关(以下简称网关)的源代码二次开发的步骤。尽管它需要一点儿 Linux 知识,然而,这是每个“有耐心”的人都可以掌握的。

1 网关的构成

如下图所示,网关是 LoRaWAN 模组和 loraserver 的桥梁。

它接收模组的 LoRa 数据包,封装成特定格式的 UDP 包发送给 loraserver,这称之为上行(UpLink);下行(DownLink)是一个逆过程,即从 loraserver -> 模组。

它的硬件构成是 2 部分:SX1301 收发 LoRa,ARM+Linux 负责驱动和协议转换。

很明显,源代码运行在 Linux 之上,并且是标准的 C 语言。

2 为什么它会基于 ARM+Linux

Linux 没有版权纠纷,并且开源免费,加上强大的网络功能,这让它成为智能设备的首选操作系统。

ARM 功耗低,性价比高,工具链成熟,强大的生态圈,这让它成为智能设备的首先 CPU。

敏捷开发和精益设计在国外深入人心,智能产品一般先在 RaspberryPi(树莓派,典型的 ARM+Linux)上验证,扩大了这 ARM+Linux 的疆域。

3 我怎么登录 Linux 系统

至少有 2 种办法登录网关的 Linux 系统,无论哪一种方法,用户名和密码分别为:guest  rimelink

3.1 串口登录

拿一根 USB 转串口线,连接网关的 GRT 引脚,打开 TeraTerm 串口软件,配置 115200-8-n-1 即可登录网关的 Linux 系统。

串口登录的优势很大,它可以查看 Linux 启动日志,判断硬件正确性;缺点是需要串口工具和安装驱动。

下载 TeraTerm 串口软件:锐米通信产品开发工具 - 长沙市锐米通信科技有限公司

3.2 网络登录

从路由器查询 LoRa 基站的 IP(下例为 192.168.1.121),通过 putty 软件可登录网关的 Linux 系统。

网络登录的好处是不依赖额外的硬件(串口工具);缺点是需要查询 IP,无法诊断硬件故障。

下载 putty 软件:锐米通信产品开发工具 - 长沙市锐米通信科技有限公司

从路由器查询 IP :如何在路由器中查询 LoRa 基站的 IP 地址 - 网关 - LoraWAN论坛 - Powered by Discuz!

4 源代码是如何组织的

网关的源代码有 2 部分,如下图所示。

SX1301 驱动代码  cd /home/rime/lora_gateway/libloragw/; ls -l

LoRa 转 UDP 代码  cd /home/rime/packet_forwarder/lora_pkt_fwd/; ls -l

5 如何查看/修改/编译源代码

登录网关 Linux 系统后,可以使用 less 命令查看源代码;使用 vi 可以编辑修改源代码。

因为网关 Linux 自带了 gcc 编译器环境,修改后的代码可以原地编译,不需要交叉编译器。

如果修改了 SX1301 驱动代码,这需要优先编译,因为 LoRa 转 UDP 代码依赖它。

先进入该目录  cd /home/rime/lora_gateway/libloragw/

执行 make 编译  sudo make clean all

小窍门:sudo 是让 guest 用户拥有 root 权限,clean 用于清除“旧”的编译文件,all 用于编译和链接生成可执行文件。

编译 LoRa 转 UDP 代码和上面相似。

先进入该目录  cd /home/rime/packet_forwarder/lora_pkt_fwd

执行 make 编译  sudo make clean all

6 如何运行二次开发后的代码

现代的 Linux 系统都是基于 systemd 来管理 service,二次开发并编译代码后,重启 service 即可生效。

重启 service 命令  sudo systemctl restart rime_gateway.service

7 如何复制源代码

基于 Linux 主机复制源代码  scp -r guest@192.168.1.121:/home/rime ./

基于 Windows 主机复制源代码

下载安装 WinSCP 软件(www.winscp.net) -> 新建会话 -> 主机名=192.168.1.121 -> 用户名=guest 密码=rimelink -> 登录

  • 2
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值