1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 用树莓派+lora shield搭建一个LoRaWAN网关

用树莓派+lora shield搭建一个LoRaWAN网关

时间:2021-11-22 13:09:24

相关推荐

用树莓派+lora shield搭建一个LoRaWAN网关

文章目录

1. 创建单信道LoRaWAN网关1.1 准备工作配置树莓派上网开启树莓派SPI接口安装必需库文件1.2 正式开始把LoRa shield连接到树莓派上下载单信道LoRa网关代码到树莓派2. TTN网站相关操作2.1 注册并登录TTN2.2 注册Gateway2.3 注册Application2.4 注册device3. Client端操作3.1 下载代码3.2 修改代码3.2.1 client端代码修改4. 观察实验结果

1. 创建单信道LoRaWAN网关

1.1 准备工作

配置树莓派上网

网上教程很多,不再介绍。

开启树莓派SPI接口

输入命令

pi@raspberrypi:~ $ sudo raspi-config在"Interfacing Options"选项中,找到SPI选项,选择enable。

安装必需库文件

使用“ sudo apt-get installconnectionpi”为Raspberry Pi中使用的BCM2835安装以C语言编写的GPIO访问库;

1.2 正式开始

把LoRa shield连接到树莓派上

下载单信道LoRa网关代码到树莓派

下载单信道LoRa网关代码到树莓派

源代码地址:/tftelkamp/single_chan_pkt_fwd编译代码并运行

$ make all$ ./single_chan_pkt_fwd

如上图,树莓派表示已经找到连接到自己的LoRa shield了。将“Gateway ID”部分记录下来。

这边工作还没有完成,先放一放,回来再做。

2. TTN网站相关操作

2.1 注册并登录TTN

进入TTN之后,点击头像边的下拉箭头,选择“console”,进入控制台,如下所示。

2.2 注册Gateway

选择“GATEWAYS”,在进去的页面选择“register gateway”

在“Gateway ID”部分填写前面记录的ID,并在下面小方框里面打“√”。选好对应的频段之后,点击页面最下面的“Register Gateway”。

2.3 注册Application

点击“Applications”,进入页面。点击“add application”,进入配置页面。

在填写好“Application ID”之后,点击页面最下面的按钮“Add application”,生成对应的应用,具体如下图所示。

2.4 注册device

在对应的应用下面注册设备,点击“register device”。

在输入“Application ID”之后,点击生成“Register”,生成对应的设备。

在修改网关代码main.cpp对应部分的代码,并重新编译运行。

修改中心频率:

uint32_t freq = 868100000;

改成

uint32_t freq = 433175000;

修改服务器地址:根据自己选择的TTN服务器修改。参考链接:TTN服务器列表。网站给出的是域名,根据工具把转换为ip地址。域名/IP查询工具。

我使用的服务器是router.work,对应的IP地址为:52.169.76.203

#define SERVER1 "54.72.145.119"

改成

#define SERVER1 "52.169.76.203"

3. Client端操作

3.1 下载代码

代码链接:/dragino/Lora/tree/master/Lora%20Shield/Examples/lora_shield_ttn

3.2 修改代码

3.2.1 client端代码修改

根据TTN上的设备信息修改NWKSKEY、APPSKEY、DEVADDR等参数。

当使用的client的默认工作频率是433MHz的时候,我们需要修改一下LMIC库文件,保证双方通信。

① 在代码中添加433MHz相关的代码,具体参考如何添加其他频段,例如EU433

② 在lmic.c里面强制转化发送的中心频率为433MHz。

bit_t LMIC_setupChannel (u1_t chidx, u4_t freq, u2_t drmap, s1_t band) {...LMIC.channelFreq [chidx] = freq;}

变为

bit_t LMIC_setupChannel (u1_t chidx, u4_t freq, u2_t drmap, s1_t band) {...freq = 433175000;//这个频率应该与gateway监听的频率相同LMIC.channelFreq [chidx] = freq;}

4. 观察实验结果

搭建的gateway上观察到的收包现象:

TTN上观察到的收包现象:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。