Skip to content

HaiHai-17/esp32-rainmaker-button-rf433-relay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🌐 ESP32-C3 RainMaker – Điều khiển Cửa Cuốn (RF + Nút nhấn + App)

📌 Tổng quan

Chương trình này dùng ESP32-C3 SuperMini kết hợp ESP RainMaker để điều khiển cửa cuốn / motor 4 relay thông qua:

  • 📱 Ứng dụng ESP RainMaker
  • 📡 Remote RF 433MHz
  • 🔘 Nút nhấn vật lý
  • 🔐 Khóa remote bằng RF (an toàn)

Thiết kế phù hợp cho cửa cuốn, motor đảo chiều, hoặc thiết bị cần nút nhấn dạng momentary.


⚙️ Tính năng chính

✅ Điều khiển đa nguồn

Nguồn điều khiển Hỗ trợ
ESP RainMaker App
Remote RF 433MHz
Nút nhấn vật lý
OTA Firmware
Reset WiFi / Factory

🚪 Chức năng từng relay

Relay Chức năng Kiểu hoạt động
Relay 1 Lên Momentary (xung)
Relay 2 Xuống Momentary (xung)
Relay 3 Dừng Momentary (xung)
Relay 4 Thiết bị phụ / Đèn ON / OFF

Thời gian xung (momentary): 500 ms


🧩 Cấu hình nhanh (CONFIGURATION)

#define USE_RF_REMOTE    true   // false nếu không dùng RF
#define USE_PHYSICAL_BTN true   // false nếu không dùng nút nhấn

👉 Có thể tắt từng phần cứng mà không cần sửa code sâu.


🔌 Sơ đồ GPIO (ESP32-C3 SuperMini)

Relay

int relay_pins[] = {0, 1, 2, 3};

Nút nhấn

int button_pins[] = {4, 5, 6, 7};

RF & Reset

Chức năng GPIO
RF DATA GPIO10
Reset GPIO9

📡 Remote RF 433MHz

Mã RF sử dụng

unsigned long rf_codes[] = {
  8888991, // RF1: Lên
  8888992, // RF2: Xuống
  8888993, // RF3: Khóa / Mở Remote
  8888994  // RF4: Dừng
};

Cơ chế khóa Remote (RF3)

  • Nhấn RF3 → khóa toàn bộ RF

  • Nhấn lại RF3 → mở khóa

  • Khi bị khóa:

    • App RainMaker ✅
    • Nút vật lý ✅
    • RF ❌

➡️ Tăng an toàn chống bấm nhầm remote


🔘 Nút nhấn vật lý

  • Kéo xuống GND khi nhấn
  • debounce phần mềm 300ms
  • Hoạt động song song với App và RF
triggerRelay(i, (i < 3));
  • Relay 1–3: momentary
  • Relay 4: toggle

📱 ESP RainMaker

Tên Node

Node my_node = RMaker.initNode("Cửa Cuốn");

Thiết bị hiển thị trên App

App Thực tế
Button 1 Lên
Button 2 Xuống
Button 3 Dừng
Switch 4 Relay thường

📌 App chỉ cần nhấn, không cần giữ.


📶 Kết nối WiFi & Provision

const char *service_name = "SSID";
const char *pop = "PASS";
  • Provision qua BLE
  • Tự động hiện QR code trên Serial Monitor
  • Hỗ trợ reset WiFi & factory

🔁 Reset thiết bị

Reset WiFi

  • Giữ nút reset 3–10 giây
  • Xóa WiFi, giữ thiết bị

Factory Reset

  • Giữ nút reset >10 giây
  • Xóa toàn bộ (node + WiFi)

🔄 OTA Update

  • Bật OTA qua RainMaker:
RMaker.enableOTA(OTA_USING_TOPICS);
  • Update trực tiếp từ App

⚠️ Lưu ý quan trọng

  • Relay không được kích cùng lúc LÊN & XUỐNG
  • Remote RF phải là mã cố định (fixed code)
  • RF rolling code ❌ không hỗ trợ
  • Nguồn relay nên cách ly opto

📌 Ứng dụng thực tế

  • Cửa cuốn nhà dân
  • Cửa gara
  • Motor đảo chiều
  • Nhà thông minh DIY
  • Thay thế bộ điều khiển cửa cuốn cũ

📄 License

Dự án phục vụ:

  • DIY
  • Học tập
  • Cá nhân / nội bộ

Bạn được phép:

  • Sửa
  • Dùng
  • Chia sẻ lại (ghi nguồn)

About

ESP32 RainMaker firmware to control 4-relay devices via app, RF433 remote, and physical buttons (ideal for roller doors/garage).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages