Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Kot šolski projekt sem naredil "pameten" terarij/vivarij.
ElectroTerra upravlja Raspberry Pi, ki gosti spletno mesto in podatke, zbrane s senzorjev, shranjuje v zbirko podatkov MariaDB.
Spletna stran prikazuje temperaturo in relativno vlažnost senzorjev ter omogoča nadzor ventilatorja in LED traku. Ta trak lahko deluje tudi samodejno z LDR senzorjem.
Predvidevam nekaj praktičnega znanja o uporabi Raspberry Pi, Arduino, MariaDB (Mysql) in ožičenju plošč.
Zaloge
Naredil sem seznam materialov, tako da boste našli vse potrebno za ta projekt.
Korak: Nastavitev Raspberry Pi
Najprej morate nastaviti osnove za Raspberry Pi:
Za nadzor Pi s prenosnikom sem uporabil povezavo ssh:
Za kodiranje sem uporabil Visual Studio Code s razširitvijo ssh:
Če želite, da je spletno mesto na voljo v vašem zasebnem omrežju, lahko od 1. do 3. koraka preverite ta navodila: https://www.instructables.com/id/Host-your-website-on-Raspberry-pi/ Ni dodatne varnostne gradnje v tem projektu, zato ga pazite, da ga razkrijete na internetu.
2. korak: Ustvarjanje elektronskega vezja
V shemi zmrzovanja lahko vidite vse potrebne komponente v tem projektu. 1-žični temperaturni senzor lahko zamenjate z vgrajenim temperaturnim senzorjem DHT22.
Arduino napaja Pi prek kabla USB.
3. korak: Arduino + programiranje
Ker so funkcije v knjižnicah Arduino za DHT22 in gonilnik LED trakov zelo podrobne, sem se odločil, da dodam Arduino za te dele.
Zato potrebujete Arduino IDE.
Uvozite te knjižnice:
- Knjižnica DHT:
- RGBdriver: v skladišču elektroterra github
4. korak: Preizkusite senzorje in aktuatorje na Pi
V skladišču Github je nekaj preskusnih datotek za posamezne komponente.
To sta razreda: mcp.py (zajema analogne podatke iz LDR) pcf.py (sporoča podatke I2C) in pcf_lcd.py (povezovanje z LCD).
5. korak: Baza podatkov
Ustvarite bazo elektroterra na delovni mizi Mysql prek datoteke izpisa (final_dump_electroterra.sql v skladišču Github) z nekaj testnimi podatki.
Pri uporabi čarovnika "Posreduj inženirja v bazo podatkov" v delovni mizi Mysql je težava z združljivostjo. Ne pozabite odstraniti parametra VISIBLE v stavkih sql, ker to ne deluje v MariaDB.
6. korak: Frontend
Kodo HTML, CSS in Javascript najdete v skladišču Github. Postaviti jih je treba v imenik, kjer bo gostovalo spletno mesto. Zasnova je optimizirana za mobilno uporabo in je bila preizkušena na najnovejših stabilnih različicah Chrome, Firefox in Edge.
7. korak: Backend
Koda app.py, datarepository.py in Database.py mora biti v domačem imeniku uporabnika Pi. Če želite, da Pi samodejno zažene datoteko ob ponovnem zagonu, uporabite ta navodila:
Kodo najdete v skladišču github:
8. korak: Sestavite stvari skupaj
Ta postavitev je dokaz koncepta.
Ventilator je pritrjen z vročim lepilom. V prezračevalnem traku je bilo izvrtanih nekaj dodatnih lukenj za ožičenje.
Naslednja je bila škatla za shranjevanje elektronskih delov. Uporabljena je bila preprosta plastična škatla. V primeru pregrevanja razmislite o dodajanju prezračevalnega traku.
9. korak: Testiranje
Vklopite Raspberry Pi in napajalnike.
Poiščite naslov IP, prikazan na LCD zaslonu.
Tako lahko spremljate podatke in upravljate pogone.