低成本,成本仅仅只有sx130x网关的1/20左右;容量小,仅支持一个通道,适用于小范围的应用、个人学习等。采用ESP8266和SX1278的方案。支持WEB和OLED监控网关运行状态。支持DC5V和MicroUSB供电,棒状天线。
基于Arduino IDE开发,正确安装Arduino IDE,这里推荐用VScode辅助查看代码。
1、打开Arduino IDE,文件-》首选项-》附加开发板管理器网址,在里面添加https://arduino.esp8266.com/stable/package_esp8266com_index.json
2、工具->开发板->开发板管理器,输入esp,选择esp8266 by ESP8266 Community下载
3、下载完成之后选择“Generic ESP8266 modules”开发板,正确选择串口
4、在Arduino IDE安装目录下新建USER文件夹,在下面解压1Ch-LoRa-Gateway代码
5、文件->打开ESP-sc-gway.ino工程
6、文件->首选项->项目文件夹,添加上面的项目位置
7、验证或者上传
验证实质上就是编译,上传实质上就是下载。
1、服务器地址
在configGway.h文件中:
#define _TTNSERVER "router.cn.thethings.network" //thethingsnetwork的服务器地址
2、端口号
在configGway.h文件中:
#define _LOCUDPPORT 1700 //一般都用的是1700
3、WiFi连接参数
网关当做STA去连接WiFi,在configNode.h文件中:
wpas wpa[] = {
{ "yourSSID", "yourPassword" },
{ "Your2SSID", "your2Password" }};
其中:"yourSSID"是WiFi名,"yourPassword"是密码,可以配置两组WiFi参数,当然,两组也可以配置为相同的。
4、频点
在loraModem.h文件中:
vector freqs [] = {
{ 470300000, 125, 7, 12, 500300000, 125, 7, 12}, // 470.3 - SF7BW125 to SF12BW125
{ 470500000, 125, 7, 12, 500500000, 125, 7, 12}, // 470.5 - SF7BW125 to SF12BW125
{ 470700000, 125, 7, 12, 500700000, 125, 7, 12}, // 470.7 - SF7BW125 to SF12BW125
{ 470900000, 125, 7, 12, 500900000, 125, 7, 12}, // 470.9 - SF7BW125 to SF12BW125
{ 471100000, 125, 7, 12, 501100000, 125, 7, 12}, // 471.1 - SF7BW125 to SF12BW125
{ 471300000, 125, 7, 12, 501300000, 125, 7, 12}, // 471.3 - SF7BW125 to SF12BW125
{ 471500000, 125, 7, 12, 501500000, 125, 7, 12}, // 471.5 - SF7BW125 to SF12BW125
{ 471700000, 125, 7, 12, 501700000, 125, 7, 12} // 471.7 - SF7BW125 to SF12BW125
};
vector是一个结构体类型的参数 :
struct vector {
// Upstream messages
uint32_t upFreq; // 4 bytes,上行频率
uint16_t upBW; // 2 bytes,上行带宽
uint8_t upLo; // 1 bytes,上行最低速率
uint8_t upHi; // 1 bytes,上行最高速率
// Downstream messages
uint32_t dwnFreq; // 4 bytes,下行频率
uint16_t dwnBW; // 2 bytes,下行带宽
uint8_t dwnLo; // 1 bytes,下行最低速率
uint8_t dwnHi; // 1 bytes,下行最高速率
};
这里的下行指的是接收窗口1,接收窗口2的速率、频点一般是固定的。对照CN470-510的频段的频点表修改,上行频率和下行的频率一般是是一一对应的。
5、网关上线
经过上面几步简单的配置,网关很容易就能连接上服务器。如下图,网关连接到thethingsnetwork服务器。