ESP32 LoRa网关
简介
基于ESP32的LoRa开发板
简介:基于ESP32的LoRa开发板开源协议
:GPL 3.0
描述
本工程基于盐汽水的ESPLoRa单项网关修改而成
已验证,于6月初打板验证成功,一直鸽到8月才发布,哈哈哈……
与盐汽水原作的区别:
- 修改保险丝F1,使保险丝起到保护作用。
- 移除肖特基二极管D1,防止因USB输入电压不足而导致电路不能正常工作。
- LDO前后电容改用钽电容。
- ESP32的使能(复位)按键增加上拉电阻、移除BOOT按键电容。
- 修改ESP32封装。
- LoRa天线新增挖空。
- 增加供电引脚数量。
- 增加两颗WS2812。
描述:
主控:安信可的ESP32-S(立创商城编号:C277944)或是 乐鑫的ESP32-WROOM-32(立创商城编号:C82899) ,实测这两个模块可互换,根据自己的需求选择就好啦。
LoRa模块:安信可Ra-01
ESP32与Ra-01对应引脚:
ESP32 Pins | Ra-01 Pins |
D5 | NSS |
D23 | MOSI |
D19 | MISO |
D18 | SCK |
D14 | RST |
D2 | DIO |
功能:
- 用Arduino开发
- 有自恢复保险丝(必要),省去替换一次性保险丝的烦恼
- 预留ESD器件焊盘(不必要),根据需求使用。
- 串口芯片使用CH340C,无需晶振,支持自动下载电路。(也可用CH340K,体积更小,根据需求自己改就好啦)
- 用4-pin的OLED做显示,部分OLED的VCC、GND引脚顺序不一样,按你自己手头上的OLED修改。
- ESP32可用引脚都已引出。
- 电容电阻都采用0603封装。
注意事项:
- PCB天线有两种设计,SMA天线和Ra-01附赠的天线(二选一),附赠的天线焊在这个洞上
如果是用SMA天线,建议用锡堵上这个孔
- SMA天线不能乱用,要用和自己LoRa频率一样的天线(LoRa设定通信频率在433MHz就用433MHz的天线)
PCB背面的的电容NC1、NC2可不焊(用于阻抗匹配,调节LoRa信号强度用,不能随便选!!!选好了可以增强信号,选错了会削弱信号,我不会算阻抗,所以我没有焊),但是电阻R5一定要!(起到一定的滤波作用,当然要是没有0Ω电阻,也可以用一坨锡解决)
- WS2812注意引脚序号,不要焊反了。WS2812缺口朝向如下图
- PCB背面的ESP32用的这颗电容建议使用1uF的,ESP32在收发状态下的瞬态功耗特别大,供电不足的情况下容易导致ESP32复位,最好的解决办法是给ESP32设计独立的LDO供电。
- PCB有两个版本,一个有打板验证,一个没有。
45°走线版(已验证)
弧度走线版(未验证)
关于ESP32的IO口:
- 部分IO口仅作输入:IO34、IO35、SENSOR_VP(IO36)、SENSOR_VN(IO39)
- IO27~IO22为ESP32模块SPI Flash使用,我的封装未引出,不用管。
- IO12(MTDI)、IO13(MTCK)、IO14(MTMS)、IO15(MTDO) 为JTAG调试接口,可用作普通IO。
示例程序使用的库:
- LoRa模块:Arduino-LoRa
- OLED:U8g2_Arduino
- WS2812:Freenove_WS2812_Lib_for_ESP32
一些资料:
- Arduino-LoRa:原作盐汽水写的LoRa笔记
- u8g2库:CSDN-动手党
- Freenove_WS2812_Lib_for_ESP32:我自己根据GitHub仓库README.md 翻译而成
图片展示:
正面
反面
启动界面
根据盐汽水PCB上的logo取模
测试效果
串口:
ESP LoRa:
附件:
- 安信可串口工具
- iBom
文件名为 PCB_ESP_LoRa_rev1.3.zip 解压使用,不打压缩包上传不了……
示例程序:
根据原作修改,已添加LoRa库、u8g2库、WS2812库,可直接使用,不需要再次添加。需要使用 PlatformIO 平台!
主程序是 src 下的 main.cpp
OLED显示图片的模型在 include 下的 oled_font.h
我有空了再用ESP-IDF写一个(估计会鸽挺久的……)
进度:
2021/09/26 移植中景园oled程序成功(使用硬件I2C)
2021/10/08 移植WS2812程序成功(基于Freenove_WS2812_Lib_for_ESP32,使用RMT)
评论