文章目录
- 1. 创建单信道LoRaWAN网关
- 1.1 准备工作
- 配置树莓派上网
- 开启树莓派SPI接口
- 安装必需库文件
- 1.2 正式开始
- 把LoRa shield连接到树莓派上
- 下载单信道LoRa网关代码到树莓派
- 2. TTN网站相关操作
- 2.1 注册并登录TTN
- 2.2 注册Gateway
- 2.3 注册Application
- 2.4 注册device
- 3. 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网关代码到树莓派
源代码地址:https://github.com/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.eu.thethings.network,对应的IP地址为:52.169.76.203
#define SERVER1 "54.72.145.119"
改成
#define SERVER1 "52.169.76.203"
3. Client端操作
3.1 下载代码
代码链接:https://github.com/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上观察到的收包现象: