基于Linux的LoRa内核模块设备驱动

源码下载链接》》        

目前大多数的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 套接字进行通信。

  1. 客户端将向服务器发送数据字符串。
  2. 服务器将从客户端接收到的数据字符串大写并发送回客户端。
  3. 客户端将收到大写的数据字符串并将其打印出来。

设置 6LoWPAN 测试网络

参考:linux-wpan http://wpan.cakelab.org/

wpan工具

  1. 可以在https://github.com/linux-wpan/wpan-tools上创建
  2. 依赖项将在构建期间列出

从 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将产生serverclient

服务器

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端口

  • 数据串:发送数据串到服务器

猜你喜欢

转载自blog.csdn.net/tianqiquan/article/details/130632460