Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Napravio sam "pametan" terarij/vivarijum kao školski projekat.
ElectroTerrom upravlja Raspberry Pi koji hostira web stranicu i pohranjuje podatke prikupljene sa senzora u MariaDB bazu podataka.
Web stranica prikazuje temperaturu i relativnu vlažnost sa senzora i omogućava kontrolu ventilatora i LED trake. Ta traka može raditi i automatski pomoću LDR senzora.
Pretpostavljam malo praktičnog znanja o korištenju Raspberry Pi, Arduino, MariaDB (Mysql) i ožičenju matičnih ploča.
Supplies
Napravio sam popis materijala tako da možete pronaći sve potrebno za ovaj projekt.
Korak 1: Postavljanje Raspberry Pi
Prvo morate postaviti osnove za Raspberry Pi:
Koristio sam ssh vezu za kontrolu Pi sa laptopom:
Za kodiranje sam koristio Visual Studio Code sa ssh ekstenzijom:
Da biste web stranicu učinili dostupnom u svojoj privatnoj mreži, možete provjeriti ovo uputstvo od koraka 1-3: https://www.instructables.com/id/Host-your-website-on-Raspberry-pi/ Ne postoji dodatna sigurnosna verzija u ovom projektu pa se čuvajte da ga ne otkrijete na internetu.
Korak 2: Stvaranje elektroničkog kola
U shemi fritzinga možete vidjeti sve potrebne komponente u ovom projektu. 1-žični temperaturni senzor može se zamijeniti ugrađenim temperaturnim osjetnikom DHT22.
Arduino napaja Pi putem USB kabela.
Korak 3: Arduino + programiranje
Budući da su funkcije u Arduino bibliotekama za DHT22 i upravljački program LED trake vrlo razrađene, odlučio sam dodati Arduino za ove dijelove.
Stoga vam je potreban Arduino IDE.
Uvezite ove biblioteke:
- DHT biblioteka:
- RGBdriver: u spremištu electroterra github
Korak 4: Testiranje senzora i aktuatora na Pi
U spremištu Github nalaze se neke test datoteke za pojedinačne komponente.
Ovo su klase: mcp.py (pokrivaju analogne podatke iz LDR -a) pcf.py (komuniciraju I2C podatke) i pcf_lcd.py (povezivanje sa LCD -om).
Korak 5: Baza podataka
Kreirajte elektroterra bazu podataka na radnoj ploči Mysql putem datoteke ispisa (final_dump_electroterra.sql u spremištu Github) s nekim testnim podacima.
Postoji problem kompatibilnosti korištenjem čarobnjaka "Proslijedi inženjera u bazu podataka" u Mysql Workbench -u. Uklonite VISIBLE parametar u sql izrazima jer to ne radi u MariaDB -u.
Korak 6: Frontend
HTML, CSS i Javascript kôd možete pronaći u spremištu Github. Treba ih staviti u direktorij u kojem će web stranica biti hostirana. Dizajn je optimiziran za mobilnu upotrebu i testiran je na najnovijim stabilnim verzijama Chromea, Firefoxa i Edgea.
Korak 7: Pozadina
Kod app.py, datarepository.py i Database.py moraju biti u kućnom direktoriju korisnika korisnika Pi. Da biste učinili da Pi automatski pokrene datoteku pri ponovnom pokretanju, koristite ova uputstva:
Kôd možete pronaći u spremištu github:
Korak 8: Sastavite stvari zajedno
Ova postavka je dokaz koncepta.
Ventilator je pričvršćen vrućim ljepilom. U ventilacijskoj traci izbušeno je nekoliko dodatnih rupa za ožičenje.
Sljedeća je bila kutija za čuvanje elektroničkih dijelova. Korištena je jednostavna plastična kutija. Razmislite o dodavanju ventilacijske trake u slučaju pregrijavanja.
Korak 9: Testiranje
Uključite Raspberry Pi i napajanje.
Potražite IP adresu prikazanu na LCD ekranu.
Na taj način možete nadzirati podatke i upravljati aktuatorima.