打造自己的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网关,进阶2:处理异常
打造自己的LoRaWAN网关,进阶2:处理异常 引言 如果您只关心:打造一个LoRaWAN 网关,请参考<花一个小时,打造自己的LoRaWAN网关> https://blog.csdn.n ...
- 打造自己的LoRaWAN网关,进阶3:设参运维
打造自己的LoRaWAN网关,进阶3:设参运维 引言 如果您只关心:打造一个LoRaWAN 网关,请参考<花一个小时,打造自己的LoRaWAN网关> https://blog.csdn.n ...
- 花一个小时,打造自己的LoRaWAN网关
花一个小时,打造自己的LoRaWAN网关 配置网关参数,请链接<打造自己的LoRaWAN网关,进阶3:设参运维> https://blog. ...
- 一文详解LoRaWAN网关是如何应用的?
目录 一.提高农业效率.简化农作方式 二.加速城市发展.创造品质生活 三.监测跟踪,让健康更有保证 正如我们所知,物联网已经成为互联网发展的必然趋势了.物联网几乎能将所有的事物都接入了网络当中.LoR ...
- 用树莓派+lora shield搭建一个LoRaWAN网关
文章目录 1. 创建单信道LoRaWAN网关 1.1 准备工作 配置树莓派上网 开启树莓派SPI接口 安装必需库文件 1.2 正式开始 把LoRa shield连接到树莓派上 下载单信道LoRa网关代 ...
- lora网关软件设计_SX1301网关设计 LoRaWAN网关 评估开发套件sx1278双向测试云平台LPKT001...
LoRaWAN评估套件完善的用户开发手册,网关全开源代码,详细的开发文档资料,具有中文开发指导说明手册的开发套件,完善的资料可快速帮助用户完成基于云平台的loraWan网络双向测试,加速您产品开发,完 ...
- TTN服务器LoRaWAN网关配置流程
在LoRaWAN物联网网络中,LoRaWAN网关起到了绝对核心的作用,它在整个网络中像是一座桥梁建立起网络服务器与终端节点的通信,下面我们将简单介绍如何使用E890-470LG11网关实现TTN服务器 ...
- 物联网lora无线数传模块应用案例:LoRawan网关通信技术
什么是LoRa LoRa(Long Range) 无线通信技术是 Semtech 在2012年开发出来的一款适合物联网使用的射频IC.其设计理念为低功耗.长距离.低成本.网路简单.易于扩展的无线数传技 ...
- 到底怎样选择LoRaWAN网关?这些事一定要注意
目录 一.选择网关时考虑的主要功能 功耗 集中器模块 频道数量 天线 覆盖范围 回程连接 电源: POE. 电池.太阳能 工作温度范围 耐候性 平台兼容性:Packet Forwarder.MQTT ...
最新文章
- 程序、进程、线程区别与联系
- linux运行python文件socket未定义_Python服务器名称错误:未定义全局名称“SocketError”...
- c++ 调用python
- Java并发程序设计(四)JDK并发包之同步控制
- Sedgwick Museum of Earth Sciences
- 折叠屏市场价值在哪里?
- 全实践!3天物联网安全课程不断电
- dockerfile写法和docker-compose和docker-compose.yml
- A - 数据结构实验之栈与队列一:进制转换
- 深井软岩巷道群支护技术与应用_金能煤业公司组织观看千米深井软岩巷道大变形机理及围岩控制技术讲座...
- 艾伟_转载:Cookie是什么?用法是怎样?与SESSION有什么区别?(二)
- aixcoder 智能代码补全工具
- url中含有中文造成文件下载失败
- python黑色背景rbg_使用python PIL将RGB图像转换为纯黑白图像
- VB获取窗体的位置和大小
- 记录点滴——2019年终总结
- diabetes影响因子2017_2017年度影响因子看点和预测(MedSci出品)
- 苹果android投屏,iPhone苹果手机如何投屏到电视?三种方法亲测详解!
- 系统分析师学习笔记(十七)
- 怎么把视频变成GIF
热门文章
- 断码屏常见接口样式 (从屏的接口样式简单区分屏接口类型的方法 )
- 第四周 并联电阻的值
- Unity连接SQLServer数据库报错找不到System.Data.dll
- 昆仑通态MCGS与2台台达VFD-M变频器通讯程序实现昆仑通态触摸屏与2台台达VFD-M变频器通讯
- C# 六种方案打印PDF文档
- 大数据分析Python和R语言的优缺点
- IDEA中类的图标变成J
- Arena4D软件下载免费试用
- 物流配送系统源码,货物运送行进轨迹“一清二楚”
- 服务器不响应tcp,一直连接不上TCP服务器,服务器防火墙已经关了