文章目录
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上观察到的收包现象: