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.
| 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 | ✅ |
| 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
#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.
int relay_pins[] = {0, 1, 2, 3};int button_pins[] = {4, 5, 6, 7};| Chức năng | GPIO |
|---|---|
| RF DATA | GPIO10 |
| Reset | GPIO9 |
unsigned long rf_codes[] = {
8888991, // RF1: Lên
8888992, // RF2: Xuống
8888993, // RF3: Khóa / Mở Remote
8888994 // RF4: Dừng
};-
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
- Kéo xuống GND khi nhấn
- Có 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
Node my_node = RMaker.initNode("Cửa Cuốn");| 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ữ.
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
- Giữ nút reset 3–10 giây
- Xóa WiFi, giữ thiết bị
- Giữ nút reset >10 giây
- Xóa toàn bộ (node + WiFi)
- Bật OTA qua RainMaker:
RMaker.enableOTA(OTA_USING_TOPICS);- Update trực tiếp từ App
- 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
- 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ũ
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)