搜索代码

DIY远程继电器项目:13英里无Wi-Fi/无SIM的Heltec LoRa 32模块

本课是……的一部分: WiFi LoRa简介

DIY远程继电器项目:13英里无Wi-Fi/无SIM的Heltec LoRa 32模块

长距离 LoRa 遥控器,配备 Heltec WiFi LoRa 32

想象一下能够控制风扇、灯光、水泵或安全警报,距离超过15英里或21公里,而且无需SIM卡或支付任何费用。这是通过LoRa(长距离)技术实现的,在本指南中,我们将向您展示如何构建这样的系统。我们将使用强大的Heltec WiFi LoRa 32 模块方便地位于坚固的内部Meshnology N35 外壳其中包括一个3000mAh的电池,以实现持久的操作。

本项目将展示如何设置发射器和接收器,以两种不同的方式控制负载:简单的开/关功能和切换功能。我们将涵盖硬件组装、电线连接、代码设置,并向您展示一个实际的范围测试。


组件和硬件

我们项目的核心是几个关键组件,旨在协同工作以实现最佳的射程和可靠性。

  • Heltec WiFi LoRa 32 V3:这是一个多功能的微控制器,内置LoRa通信芯片,并具备Wi-Fi和蓝牙功能。它像Arduino一样完全可编程,使我们能够读取输入和控制输出。
  • Meshnology N35外壳和电池:这是一个专门为Heltec模块设计的耐用外壳。作为套件购买时,它包括一个3000mAh的电池,这在长期传输和接收中至关重要,特别是在偏远地区。
  • 高增益天线:为了实现最佳的范围,我们将使用高增益天线,这会显著提高信号强度,与原装天线相比。
  • 继电器或蜂鸣器:对于接收器,您可以连接一个继电器来控制高功率的交流或直流设备,如风扇和灯,或用于报警应用的简单蜂鸣器。

硬件组装

组装该设备是一个简单的过程,如视频中约开始所示。05:56N35套件包括Heltec模块、3000mAh电池、外壳、带延长线的天线以及针脚。

主要步骤包括将按钮放入外壳,通过电池线,连接天线延长线到模块,将模块放入内部,并连接电池。然后,您只需关闭外壳并在外部固定天线支架。值得注意的是,早期版本的外壳需要进行小的修改才能适配天线支架,但Meshnology已经在新批次中解决了这个问题。


接收器负载的接线

在接收器一侧,您将连接输出设备。下面是继电器和蜂鸣器的接线说明,如视频中所详细介绍的那样。11:17.

继电器接线

继电器充当电动开关,允许您控制高功率负载。

  • 继电器的信号引脚连接到引脚4Heltec LoRa模块的。
  • 继电器的接地引脚连接到一个GND模块上的引脚。
  • 重要:继电器的VCC(电源)引脚应由一个外部5V电源该模块的3.3V输出无法可靠地处理继电器的电流。
  • 你必须创建一个共同基础通过将外部电源的地线连接到Heltec模块的地线。这对于电路的正常工作至关重要。
Helte_Wifi_LoRA 32

用晶体管连接蜂鸣器

对于简单的音频警报,您可以使用蜂鸣器。为了防止从微控制器引脚抽取过多电流,我们使用2N2222 NPN晶体管来驱动它。

  • 连接针脚 4模块的一端连接到1kΩ电阻器。电阻器的另一端连接到基础晶体管的(中间引脚)。
  • 晶体管的发射器(左引脚,平面朝向您)连接到GND.
  • 晶体管的收集器(右引脚)连接到负 (-)蜂鸣器的端子。
  • 翻译正面 (+)蜂鸣器的端子连接到3.3VHeltec模块上的引脚。
Helte_Wifi_LoRA 32 带蜂鸣器

Arduino IDE 和库设置

在您可以上传代码之前,您需要配置Arduino IDE以与Heltec板配合使用。该过程开始于14:37在视频中。

  1. 安装ESP32板:在Arduino IDE中,进入板管理器并搜索ESP32安装Espressif Systems提供的软件包。
  2. 添加 Heltec 板 URL:转到文件 > 首选项。在“附加板管理器网址”中,添加Heltec ESP32系列的JSON链接。该链接将在文章下方的资源页面提供。
  3. 安装 Heltec ESP32 开发板:返回到 Boards Manager,搜索Heltec ESP32,安装该软件包。
  4. 安装所需库:前往图书馆管理器并安装以下内容:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library(并点击“安装全部”以获取其依赖项)
  5. 安装 Robojax 库:下载自定义内容Robojax Heltec LoRa 32从资源页面下载 ZIP 库。在 Arduino IDE 中,导航到草图 > 包含库 > 添加 .ZIP 库,然后选择您下载的文件。
  6. 选择董事会:最后,进入工具 > 板块,然后选择 Heltec WiFi LoRa 32(V3)空字符串

代码设置解释

我们为这个项目准备了三种不同的代码草图:一个用于简单的开/关发射器,一个用于切换发射器,以及一个用于接收器。库处理复杂的部分,因此您只需在每个文件的顶部调整几个设置。代码说明从19:00在视频中。

发射器 (TX) - 简单的开/关代码设置

这段代码仅在按钮被按下时打开继电器。

// Text to display on the OLED screen
const char *displayTexttitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";

// Security key and frequency (MUST MATCH RECEIVER)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

// Transmission power (2-21, higher is stronger)
#define TX_OUTPUT_POWER 14 

发射器(TX)- 切换代码设置

该代码在每次按下按钮时切换继电器的状态(从开到关,或从关到开)。

// Set to true for serial monitor debugging, false for normal use
bool debug = true; 
// The built-in user button pin is 0
#define PUSH_BUTTON_PIN 0  

// Text to display on the OLED screen
const char *displayTextTitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";

// Security key and frequency (MUST MATCH RECEIVER)
const char *userKey = "6tfDs$wEq3!"; 
#define RF_FREQUENCY 915555000 

// Transmission power (2-21)
#define TX_OUTPUT_POWER 2 

接收器(RX)代码设置

这个单接收器代码适用于简单和切换发射器。

// The pin connected to the relay's signal input
#define RELAY_CONTROL_PIN 4

// Text to display on the OLED screen
const char *displayTextTitle = "Relay:"; 
const char *displayTextTX = "(RX)"; 
const char *displayTextRelayON = "ON"; 
const char *displayTextRelayOFF = "OFF"; 
const char *displayTextRelayToggleON = "TOG-ON"; 
const char *displayTextRelayToggleOFF = "TOG-OFF"; 

// Security key and frequency (MUST MATCH TRANSMITTER)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

至关重要的是抱歉,无法翻译该内容。userKeyRF_FREQUENCY必须在发射器和接收器上完全相同,以便它们能够进行通信。


演示和13英里射程测试

该系统在实验室环境中运行无瑕疵,无论是接收器的继电器还是蜂鸣器都能瞬间响应发射器上的按钮按压。但LoRa的真正优势在于其传输范围。

进行了长距离测试,如图所示25:03向前。发射机的功率设定为20,配备了高增益天线,并放置在湖岸上约10米高的三脚架上,以确保视线清晰。接收器随后被带到了湖的另一侧。

结果是一个惊人的成功。从远处接收到一个稳定的信号。13.04英里,或20.98公里这表明,通过正确的设置,您可以可靠地控制远距离的设备,非常适合远程农业监测、门控或长距离防盗报警系统等应用。


视频时间戳

  • 00:00- 长距离控制简介
  • 02:42LoRa是什么?
  • 03:20- 组件概述(Heltec,N35外壳)
  • 05:56- 开箱和硬件组装
  • 11:17- 线路解释:继电器和蜂鸣器
  • 14:37- Arduino IDE和库设置
  • 19:00- 代码设置说明(发射和接收)
  • 25:03- 演示与 13 英里续航测试
没有附加代码。

Common Course Files

资源与参考

文件📁

其他文件