目前大多数的LORA驱动程序都是基于单片机运行的,还且芯片的通信接口为SPI通信接口,如果采用linux操作系统对其芯片进行直接操作,需要编写相应的内核驱动程序,上面链接提供相关的源码与测试应用程序。这是一个 LoRa 设备驱动程序,作为具有 IEEE 802.15.4 MAC 接口的 Linux 内核模块。软件目前只做的芯片型号为Semtech SX1276/77/78/79
主要程序文件夹介绍
主要包含以下文件夹
LoRa:LoRa 源代码和构建文件。
dts-overlay:设备树覆盖板和操作系统。
test-application:用于测试或演示的用户空间应用程序。
下载完程序后进行以下步骤操作
1.构建和安装
1. 构建
cd LoRa
make
2. 安装
make install
3. 加载模块
modprobe sx1278
4.检查安装的模块
dmesg
如果目标使用一些嵌入式系统的设备树机制,例如 Raspberry Pi。它的设备树可能需要首先更新。例如,在 dts-overlay 文件夹中有一个用于 Raspberry Pi 的设备树覆盖。就make在文件夹中,比它会编译和安装设备树覆盖,并且需要重新启动。
测试应用程序
这些应用程序通过简单的客户端-服务器模型中的 UDP/IPv6 套接字进行通信。
- 客户端将向服务器发送数据字符串。
- 服务器将从客户端接收到的数据字符串大写并发送回客户端。
- 客户端将收到大写的数据字符串并将其打印出来。
设置 6LoWPAN 测试网络
参考:linux-wpan http://wpan.cakelab.org/
wpan工具
- 可以在https://github.com/linux-wpan/wpan-tools上创建
- 依赖项将在构建期间列出
从 wpan 接口有一个 lowpan 接口
SX1278 驱动程序和6LoWPAN 内核模块应在此操作之前插入或加载。
使用授予的权限执行这些工作。
# Private Area Network ID
panid="0xbeef"
# Index of the wpan interface
i=0
# Set the PANID of the wpan interface
iwpan dev wpan${i} set pan_id $panid
# Create a lowpan interface over the wpan interface
ip link add link wpan${i} name lowpan${i} type lowpan
# Bring up the wpan and lowpan interfaces
ip link set wpan${i} up
ip link set lowpan${i} up
ip addr
将显示接口的 IPv6 地址。
测试应用程序
构建测试应用程序
make
将产生server和client。
服务器
server <listening IPv6 address> <listening port>
-
listening IPv6 address:监听哪个IPv6地址
-
监听端口:监听哪个UDP端口
客户
client <src IPv6 address> <dst IPv6 address> <dst port> <data string>
-
src IPv6 address:用源IPv6地址发送
-
dst IPv6 address:发送到服务器的IPv6地址
-
dst端口:发送到服务器的UDP端口
-
数据串:发送数据串到服务器