4.0 KiB
4.0 KiB
ebuild
ebuild, Raspberry Pi 2 üzerinde çalışacak şekilde tasarlanmış,
bina ısıtma / soğutma / sulama ve genel otomasyon projesinin çekirdek Python kodunu içerir.
Proje yapısı:
ebuild/
├─ README.md
├─ requirements.txt
├─ document/ # Tasarım PDF'leri, notlar, şemalar
├─ scripts/
│ └─ run_ebuild_main.py # Ana döngüyü çalıştırmak için yardımcı script
├─ tests/
│ └─ test_building.py
└─ ebuild/
├─ __init__.py
├─ config_statics.py # Bina topolojisi, FLAT_AREA, sensör/pin map'leri
├─ config_variables.py # Setpoint, haritalar, çalışma modu (hot-reload)
├─ reloader.py # Statik/dinamik config için ConfigReloader
├─ core/
│ ├─ building.py # Building/Flat/EDSensor iskeleti
│ ├─ environment.py # BuildingEnvironment – dış ısı/nem/yağmur/ışık
│ ├─ devices.py # Sensör/aktüatör soyutlamaları
│ └─ systems/
│ ├─ burner.py # Brülör sistemi ve BurnerController
│ ├─ irrigation.py # Sulama sistemi
│ ├─ firealarm.py # Yangın alarm sistemi
│ └─ hydrophore.py # Hidrofor sistemi
├─ io/
│ ├─ legacy_syslog.py # Eski Rasp2 syslog formatı köprüsü
│ ├─ dbtext.py # Metin tabanlı log/DB iskeleti
│ ├─ relay_driver.py # GPIO röle sürücüsü
│ ├─ sensor_ds18b20.py # DS18B20 sensör sürücü iskeleti
│ ├─ sensor_dht11.py # DHT11 sensör sürücü iskeleti
│ └─ adc_mcp3008.py # MCP3008 ADC (yağmur / LDR) iskeleti
└─ runtime/
├─ main.py # Ana çalışma döngüsü iskeleti
└─ __init__.py
Konfigürasyon tasarımı:
-
config_statics.py- Bina topolojisi (FLAT_AREA:
serial,flat_no,room_no,floor,direction,size_m2) - Donanım pin eşlemeleri (
RELAY_GPIO,OUTPUT_GPIO,INPUT_GPIOvb.) - Ortak sensör ID'leri (dış ısı, dönüş hattı, kazan çıkışı vb.)
- Bina topolojisi (FLAT_AREA:
-
config_variables.py- Konfor sıcaklığı, aralık ve tolerans (
BUILDING_SETPOINT_C,BUILDING_RANGE_C,BUILD_HEAT_TOLERANCE) - Brülör setpoint haritaları (
BURNER_FIRE_SETPOINT_MAP) - Saat bazlı delta-T ve tasarruf haritaları
- Zaman bazlı override listesi (
HEAT_TIME_OVERRIDES) - Runtime sensör/dairesel aktif/pasif durumları (
FLAT_STATUS)
- Konfor sıcaklığı, aralık ve tolerans (
reloader.ConfigReloader, bu iki dosyanın değişimini ayrı ayrı izler:
statics_changed=True→ bina/sistem topolojisi değişmiş (genelde restart / re-init gerekir)variables_changed=True→ parametreler değişmiş (hot-reload ile devam edilebilir)
document/ klasörü:
Proje ile ilgili tüm dokümantasyon ve tasarım çalışmaları bu klasörde tutulmalıdır. Örneğin:
- Mimari ve akış diyagramları (PDF)
- Donanım bağlantı şemaları
- Test raporları
- Eski sistemden yeni ebuild'e geçiş notları
Her yeni tasarım veya önemli revizyon için, ilgili notları PDF olarak
document/ klasörüne koymak, ileride bakım ve geri izleme açısından
işleri kolaylaştırır.
Raspberry Pi 2 üzerinde kurulum:
- Python 3 ve
pippaket yöneticisinin kurulu olduğundan emin ol. - Proje klasörüne geç:
cd ebuild - (İsteğe bağlı) Sanal ortam oluştur:
python3 -m venv .venv source .venv/bin/activate - Gerekli Python paketlerini yükle:
pip install -r requirements.txt - Test amaçlı ana döngüyü çalıştır:
python3 scripts/run_ebuild_main.py
Notlar:
- GPIO ve sensör kütüphaneleri gerçek Raspberry Pi üzerinde test edilmelidir.
- Bu repo şu anda iskelet durumundadır;
core/veio/altındaki dosyalar senin gerçek sürücü ve kontrol kodlarınla yavaş yavaş doldurulacaktır.