搜索代码

远程门警报系统,距离13英里(21公里),使用LoRa - 脱离电网!(Heltec WiFi LoRa 32 V3)

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

远程门警报系统,距离13英里(21公里),使用LoRa - 脱离电网!(Heltec WiFi LoRa 32 V3)

想象监测前门、花园门或谷仓门的状态从到13英里(20公里)离开时无需使用Wi-Fi或SIM卡。在本教程中,您将学习如何构建一个安全的无线门警报系统。Heltec WiFi LoRa 32 V3模块。该系统使用AES加密的LoRa通信在门打开或关闭时发送警报,并完全离网工作。

项目概览

该项目使用了两个LoRa32开发板:

  • 发射器 (TX)通过磁性开关检测门的开关状态并发送加密警报。

  • 接收器 (RX)解密消息,在OLED上显示状态,并控制一个数字引脚以进行外部触发(例如,蜂鸣器,LED)。

这是一个可靠且低功耗的解决方案,理想用于远程监控地点,如农场、车间和户外大门。

必需的库

这个项目使用了Robojax_HeltecLoRa32库。本文下方包含该库及所有代码文件。

在上传草图之前,使用Arduino IDE安装ZIP库。

安装Heltec ESP32开发板

将此路径添加到您的Arduino IDE的首选项中,如视频所示:https://resource.heltec.cn/download/package_heltec_esp32_index.json

接线说明

发射器接线:

  • 磁性开关(或按钮)连接到GPIO0

  • 通过默认I2C引脚(SDA/SCL)连接的OLED显示器

接收器接线:

  • 当门打开时,GPIO4 为高电平,关闭时为低电平。

  • 将GPIO4连接到LED、蜂鸣器或外部输入以进行操作

图像说明电路图显示发射器通过GPIO0上的磁性开关检测门状态,接收器在GPIO4上激活警报。

TX代码解析

发射器草图 (Door_Alarm_TX.ino读取GPIO0的状态以确定门是打开还是关闭。

  • 当磁性开关打开(门打开时),它会发送字符串。"ON"

  • 当门关上时,它会发送"OFF"

  • OLED显示屏根据情况显示“打开”或“关闭”

加密是通过以下方式处理的:

robojaxDevice.setSecurityKey("hyhT676#h~_876s");
robojaxDevice.sendSecureMessage("ON");

RX代码分解

接收器草图(Door_Alarm_RX.ino) 监听安全消息并在 OLED 显示屏上显示结果:

String message = robojaxDevice.receiveSecureMessage();

然后它触发 GPIO4:

if (message == "ON") {
  digitalWrite(4, HIGH);
  oledDisplay.println("Door is OPEN");
} else {
  digitalWrite(4, LOW);
  oledDisplay.println("Door is CLOSED");
}

该设置提供了两者。视觉和数字输出门状态。

章节索引

  1. [00:00] 介绍和用例

  2. [00:06] LoRa的范围能力

  3. 门传感器概念

  4. [00:20] 使用的电线和组件

  5. [00:40] 安装 Robojax 库

  6. [01:00] TX代码说明

  7. [01:20] RX代码和警报触发

  8. [01:40] 实时演示


这个项目是一个很好的入门点。通过LoRa确保物联网安全适合任何需要在长距离内进行可靠门或栅栏监控的人士。所需的代码和库可在本文下方获得。观看完整视频以构建和测试您的系统!

没有附加代码。

Common Course Files

文件📁

其他文件