我是靠谱客的博主 震动银耳汤,最近开发中收集的这篇文章主要介绍打造自己的LoRaWAN网关,进阶1:构建软件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

引言

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

https://blog.csdn.net/jiangjunjie_2005/article/details/79758720

 

本文介绍 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 串口软件:http://www.rimelink.com/nd.jsp?id=33#_np=105_315

 

3.2 网络登录

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

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

下载 putty 软件:http://www.rimelink.com/nd.jsp?id=33#_np=105_315

从路由器查询 IP :http://lora.timeddd.com/forum.php?mod=viewthread&tid=893

 

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

 

最后

以上就是震动银耳汤为你收集整理的打造自己的LoRaWAN网关,进阶1:构建软件的全部内容,希望文章能够帮你解决打造自己的LoRaWAN网关,进阶1:构建软件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部