Bu proje, ESP32 mikrodenetleyici ve SIM800L GSM modülü kullanılarak geliştirilmiş, güvenli ve uzaktan yönetilebilir bir garaj kapısı kontrol sistemidir. Sisteme tanımlı yetkili numaralar, cihazı arayarak garaj kapısını ücretsiz bir şekilde (arama reddedilerek) açabilirler.
- 📞 Arama ile Kontrol: Yetkili numaradan gelen aramayı algılar, meşgule atar ve kapıyı tetikler. Ücret yansımaz.
- 🛡️ Güvenli Erişim (Beyaz Liste): Sadece cihazın hafızasında kayıtlı numaralar işlem yapabilir. Yabancı numaralar reddedilir.
- 📲 SMS ile Uzaktan Yönetim: Yönetici numaraları, SMS komutları göndererek kullanıcı ekleyebilir, silebilir veya sistem durumunu sorgulayabilir.
- 🔔 Başlangıç Bildirimi: Sistem elektrik kesintisi vb. durumlardan sonra yeniden başladığında yöneticilere SMS ile bilgi verir.
- 💾 Kalıcı Hafıza: Yetkili numaralar ESP32'nin kalıcı hafızasında (Preferences) saklanır, elektrik kesintisinde silinmez.
- ⚡ Donanım Koruması: SIM800L modülü kilitlenirse otomatik olarak resetlenir (Self-healing).
- Mikrodenetleyici: ESP32 Development Board (örn. ESP32-WROOM-32)
- GSM Modülü: SIM800L (Mikro SIM kart ile çalışır)
- Röle: 5V Röle Modülü (Garaj motorunu tetiklemek için)
- Güç Kaynağı:
- ESP32 için USB veya 5V.
- SIM800L için kaliteli bir güç kaynağı (Anlık 2A akım çekebilir, harici bir DC-DC dönüştürücü önerilir).
| SIM800L Pin | ESP32 Pin | Açıklama |
|---|---|---|
| RX | GPIO 17 | TX2 |
| TX | GPIO 16 | RX2 |
| RST | GPIO 5 | Reset Kontrolü |
| VCC | Harici 4V-4.2V | (ESP32 5V pininden beslemeyin!) |
| GND | GND | (ESP32 GND ile birleştirilmeli) |
| Röle Modülü | ESP32 Pin |
|---|---|
| IN | GPIO 23 |
| VCC | 5V |
| GND | GND |
- Proje PlatformIO (VS Code eklentisi) kullanılarak geliştirilmiştir.
- Depoyu klonlayın:
git clone https://github.com/thrhead/GSM-Auto-Gate-Control-System.git
- VS Code ile klasörü açın.
- Gerekli kütüphaneler (
TinyGSM)platformio.inidosyasında tanımlıdır, otomatik yüklenecektir. src/main.cppdosyasını açın.- İlk kurulum için kendi numaranızı yönetici olarak eklemek isterseniz
setup()fonksiyonu içine şu satırı geçici olarak ekleyin:storageService.addAdmin("+905XXXXXXXXX"); - Kodu ESP32'ye yükleyin.
Sadece tanımlı Yönetici numaraları bu komutları kullanabilir.
| Komut | Örnek | Açıklama |
|---|---|---|
| EKLE | EKLE:+905551234567 |
Belirtilen numarayı beyaz listeye ekler. |
| SIL | SIL:+905551234567 |
Belirtilen numarayı listeden siler. |
| DURUM | DURUM |
Sistem durumunu, sinyal kalitesini ve kayıtlı kullanıcı sayısını döner. |
src/- Kaynak kodlar (main.cpp, servis sınıfları)include/- Başlık dosyaları (.h)test/- Birim testlericonductor/- Proje planlama ve dokümantasyon dosyaları (Conductor framework)
- Bu depoyu Fork'layın.
- Yeni bir özellik dalı (branch) oluşturun (
git checkout -b feature/yeni-ozellik). - Değişikliklerinizi yapın ve commit'leyin.
- Dalınızı Push'layın (
git push origin feature/yeni-ozellik). - Bir Pull Request (PR) oluşturun.
Geliştirme Süreci Conductor Framework ile yönetilmiştir.