本教程是的一部分: WiFi LoRa 32 教程
所有与Heltec WiFi LoRa 32相关的视频都通过此群组进行关联。其他视频的链接位于本文下方。
13英里20公里没有WiFi?LoRa如何在疯狂的距离上传输电压!(Heltec WiFi LoRa 32 V3)
构建一个13英里离网电压监测器,使用LoRa和ESP32
你是否曾需要远程监控一个电源,比如小屋里的太阳能电池板、船上的电池组,或大型农场上的设备,远隔数英里?本项目指南将指导你构建一个长距离、离网的电压监测器,能够传输数据,距离可达惊人的13英里(或21公里), 无需订阅费用或依赖 Wi-Fi 或蜂窝网络。
我们将使用两个Heltec WiFi LoRa 32模块,每个都 housed 在一个坚固的Meshnology N32手机壳配备3000mAh电池,创建一个发射器和一个接收器。发射器将使用简单的电压分压电路测量目标电压(从几伏到100V或更高),并通过LoRa无线发送读数。接收器将实时显示此电压,让您能够在数英里外监控您的系统。
工作原理:电压分压器
该项目的核心是能够测量广泛的电压范围。由于ESP32的输入引脚只能安全地测量高达3.3V的电压,我们无法直接连接12V或100V的电源。为了解决这个问题,我们使用一个简单的电路,称为电压分压器,将电压降至微控制器可读取的安全水平。视频中对此进行了说明。12:26.
电路使用两个串联的电阻(R1 和 R2)。高电压源(V在) 在两个电阻上施加,ESP32 读取较低的比例电压 (V外面) 仅在 R2 电阻器上。通过正确的电阻值,您可以准确测量非常高的电压。

在选择电阻时,一个好的经验法则是选择值,使输出电压远低于 3.3V 的限制,即使在测量您预计的最大电压时也是如此。为了获得最佳精度,您应该使用万用表测量电阻的实际阻值,并在代码中使用这些精确值。

硬件组装与接线
组装过程包括将Heltec LoRa 32模块和3000mAh电池放入N32外壳内。外壳上有屏幕和按钮的开口,以及一个用于外部天线安装的孔。最重要的安全提示之一是在开启设备之前,始终确保天线连接好。因为在没有天线的情况下进行传输可能会损坏LoRa模块。



Arduino IDE 和库设置
https://resource.heltec.cn/download/package_heltec_esp32_index.json
要编程Heltec模块,您必须首先配置您的Arduino IDE。这一次性的设置非常重要,详细信息在20:41在视频中。
- 安装ESP32开发板:在文件 > 首选项中添加官方 Espressif ESP32 板的 URL,并从开发板管理器安装“esp32”软件包。
- 安装 Heltec 支持:将特定于 Heltec 的 JSON URL 添加到您的偏好设置中。然后,在板管理器中搜索并安装“Heltec ESP32”包。
- 安装所需库:使用库管理器(草图 > 包含库 > 管理库),安装以下内容:
Heltec ESP32 dev boardsAdafruit GFX Library(及其依赖项)
- 安装 Robojax 库:您需要下载自定义内容。
Robojax_HeltecLoRa32库,作为.zip文件提供。通过 Sketch > 包含库 > 添加 .ZIP 库 在IDE中安装它。 - 选择董事会:最后,转到工具 > 板,并选择Heltec WiFi LoRa 32 (V3)和正确的COM端口。
代码配置说明
该项目使用两个独立的草图:一个用于发射器 (TX)和一个用于接收器 (RX)您只需在发射器代码中配置几个关键设置即可使其正常工作,如下所述。25:02接收器代码需要匹配的LoRa设置。
#define VOLTAGE_READING_PIN 4 // The pin reading the voltage
const int R1 = 39120; // Your measured value for R1 in ohms
const int R2 = 3312; // Your measured value for R2 in ohms
const float CALIB_FACTOR = 1.007f; // Calibration factor to match a multimeter
const char *displayTexttitle = "Voltage:"; // Text for the OLED
const char *displayTexTX = "(TX)";
// This security key MUST be IDENTICAL on the TX and RX devices
const char *userKey = "YOUR_SECRE8888";
// These LoRa settings MUST be IDENTICAL on the TX and RX devices
#define RF_FREQUENCY 915000000 // LoRa Frequency in Hz
#define TX_OUTPUT_POWER 2 // TX Power in dBm (2-21)
VOLTAGE_READING_PIN您已连接到电压分压器输出的 ESP32 上的 GPIO 引脚。R1和R2请输入确切的电阻值你使用万用表测量的两个电阻的值。这对准确性至关重要。CALIB_FACTOR如果您显示的电压与可信的万用表略有偏差,可以上下调整该值(例如,1.008 或 0.995)以微调读数。将其设置为1.0禁用。userKey这是您的私密安全密钥。只有具有完全相同密钥的设备才能进行通信。RF_FREQUENCYLoRa的操作频率。此频率必须在两个设备上匹配,并且在您的地区是合法的(例如,北美为915MHz)。TX_OUTPUT_POWER传输功率范围从2(低功率,短距离)到21(高功率,长距离)。更高的功率会消耗更多电池。在13英里测试中,使用了20的值。在桌面测试中,2就足够了。
接收器代码具有类似的设置用于userKey和RF_FREQUENCY必须与发射器的设置匹配。
行动中的实时项目
一旦代码上传,发射器单元将开始测量您连接的源的电压,并在其OLED屏幕上显示出带有“(TX)”指示的电压,并通过LoRa广播数据。接收器单元在编程时使用匹配的安全密钥和频率,将监听信号。一旦收到有效的传输,它将在其屏幕上显示相同的电压,并带有“(RX)”指示。
在长途测试中证明了31:39这个设置非常有效。凭借高增益天线和清晰的视线,该系统成功地从13英里外传输和接收准确的电压读数,证明它是执行重大远程监控任务的稳健可靠解决方案。
视频章节
- 00:00- 开始
- 03:33- 板子和LoRa介绍
- 05:47N32 LoRa WiFi 32的外壳
- 12:26- 电压分压器用于测量最高150V
- 19:47- 准备导线以测量电压
- 20:41为WiFi LoRa 32安装库
- 25:02- 传输代码解说
- 27:16- 收货人代码解释
- 28:36- 读取电压的演示
- 31:39实际距离范围测试(13 英里)
本教程是……的一部分: WiFi LoRa 32 教程
- 使用Heltec WiFi LoRa 32 V3通过DHT22传输温度到1.4公里
- 从13英里(21公里)外开启设备 - 终极离网LoRa项目,配备WiFi LoRa 32!
- 远程门警报系统,距离13英里(21公里),使用LoRa - 脱离电网!(Heltec WiFi LoRa 32 V3)
- 远程控制伺服电机!Heltec WiFi LoRa 32 V3 Arduino 教程(TX)
- DIY远程继电器项目:13英里无Wi-Fi/无SIM的Heltec LoRa 32模块
- How to Use the Heltec LoRa CubeCell Development Board HTCC-AB01
Common Course Links
Common Course Files
资源与参考
-
外部
-
外部
-
外部
-
外部Purchase Wi-Fi LoRa 32 from Meshnologymeshnology.com
文件📁
其他文件
-
Robojax Heltec LoRa 32 V3 Library 1.0 - 2025-05-20This is library for Heltec WiFi LoRa 32 V3. It contains the example codes for projects. Please watch video for instructions on how to install it.
Robojax_HeltecLoRa32_1.0-20250520.zip0.09 MB -
Heltec WiFi LoRa 32 V3 Schematic Diagram (V3.1)
Heltec_WiFiLoRAV3_Schematic_Diagram.pdf0.18 MB