项目分享|低成本简单易上手LoRa单项网关制作
-
今天分享的项目是来自颜七岁er的原创设计,通过LoRa单相网关,于客户端实时查看温度、气压等信息。本项目的软硬件全部开源,在“达尔闻说”回复:LoRa网关,下载资料。 相比于WIFI、蓝牙,LoRa可以进行远距离通信,还具有低功耗、多节点、低成本等优点,在工业应用中占有一席之地。如果对LoRa网关感兴趣,强烈建议上手一试,可玩性不错。本项目既有硬件电路设计,又有软件代码编写、客户端设计等,非常适合电子类软硬结合的毕业设计。
系统组成:
ESPLoRa开发板:接收端
LoRaUNO开发板:发送端
BMP180:传感器
Node-RED平台:显示数据
EMQ MQTT平台
项目功能:
BMP180传感器获取温度、气压数据,在LoRaUNO开发板上的OLED屏进行展示。同时,LoRaUNO开发板作为LoRa节点的发送端,与ESPLoRa开发板进行数据传输。ESPLoRa开发板作为LoRa单相网关,接收来自节点的数据,并传输至客户端Node-RED平台显示。
下面分别介绍接收端和发送端的设计过程:
☞ ESPLoRa开发板:接收端
主控:ESP32-S
LoRa模块:Ra:RA-01(SX1278)
0.96寸OLED显示屏
开发板原理图如下:
功能介绍:
1.采用稳压二极管,6V自恢复保险丝(可选),ESD静电保护(可选),三种元件来保护电路。
2.采用CH340C(缺点:体积大) 用来做串口下载,免除晶振。
3.采用先进的Type-c接口 (手动狗头)。
4.预留四针OLED屏幕用来显示。(四针0.96,1.3等等--打板的话注意针脚顺序)
5.LoRa模块的天线有三种自行选择(SMA、直插式,IPEX4)。
6.所有可用引脚全部引出方便二次开发。
7.供电采用AMS1117-3.3,实测压降可以接受3.3V左右不影响使用。
8.预留测试LED(D27)引脚。
PCB注意事项:
1.直插式的天线、IPEX4、SMA的天线(推荐)
2.使用TX作为下载串口的引导灯,使用Arduino程序用到串口Printf都会点亮。
3.标注的丝印已经引出,部分模块还有OLED引脚已经写死。如有个人需求可以自行更改PCB。
4.OLED封装我的最左面为GND,如果你的和我的不一样参考下面教程进行更改引脚设置
新手焊接注意事项:
1.ESP32S引脚很多,使用锡膏记得不要太多,防止引脚短路不好处理。
2.推荐先焊接Type-c,使用万用表蜂鸣档测试一下有没短路。
3.先焊接其他元件,测试好没问题,最后在焊接两个模块。
其他注意事项:
1.LoRa必须焊接天线,不然容易损坏模块。
2.连接Type-c的5.1k电阻推荐焊接,这样才可以让电脑识别为C To C协议,不然只有插一面才可以使用!
3.OLED的屏幕引脚最外为GND,部分的OLED第一引脚为VCC,可以自行更换引脚顺序。
4.天线选型,焊接PCB板上的为(外螺内针偏角,间距为1.6,牙长8MM)外接天线就是内针 。
ESP32 IO口注意事项
1.IO编号:0-19, 21-23, 25-27, 32-39。
2.其中GPIO 34-39 仅用作输入管脚。
3.IO13和IO14是JLINK调试接口,使用时需要初始化一下。4.ESP_LoRa使用了一下IO口
IO0,IO2,IO5,IO14,IO18,IO19,IO21,IO22,IO23,IO27 ☞ LoRaUNO开发板:发送端
功能介绍:
ATMEGA328P作为主控,LoRa模块为sx1278,负责信息的采集、处理与传输。
原理图如下:
LoRaUNO开发板使用Arduino IDE进行开发,方便新手快速入门。增加0.96寸OLED引脚,可以通过界面实时接收和发送信息,所有可用引脚全部引出,两组3.3V 5V供电接口,满足大部分传感器供电。LoRa模块可根据软件定义为接收模式还是发送模式。
开发板设计、注意事项,可参考ESPLoRa开发板。
代码设计:
此项目代码包含两部分:ESPLoRa接收端、LoRaUNO发送端。详细的代码可以在开源的资料里获取。
-