INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Ek het 'n 'slim' terrarium/vivarium gemaak as 'n skoolprojek.
ElectroTerra word bestuur deur 'n Raspberry Pi wat 'n webwerf huisves en data wat van die sensors ingesamel is, stoor in 'n MariaDB -databasis.
Die webwerf toon temperatuur en relatiewe humiditeit van die sensors en laat die waaier en LED -strook beheer. Die strook kan ook outomaties werk met 'n LDR -sensor.
Ek veronderstel 'n paar praktiese kennis van die gebruik van Raspberry Pi, Arduino, MariaDB (Mysql) en die bedrading van broodborde.
Voorrade
Ek het 'n lys materiaal gemaak sodat u alles kan vind wat nodig is vir hierdie projek.
Stap 1: Opstelling van Framboos Pi
Eerstens moet u die basiese beginsels vir die Raspberry Pi opstel:
Ek het 'n ssh-verbinding gebruik om die Pi met 'n skootrekenaar te beheer:
Vir kodering gebruik ek Visual Studio Code met 'n ssh -uitbreiding:
Om die webwerf in u privaat netwerk beskikbaar te stel, kan u hierdie instruksies vanaf stap 1-3 nagaan: https://www.instructables.com/id/Host-your-website-on-Raspberry-pi/ Daar is geen ekstra sekuriteitsopbou nie in hierdie projek, wees dus versigtig om dit op die internet bloot te stel.
Stap 2: Skep die elektroniese stroombaan
In die fritzing -skema kan u elke benodigde komponent in hierdie projek sien. Die 1-draads temperatuursensor kan vervang word deur die ingeboude temperatuursensor van die DHT22.
Die Arduino word aangedryf deur die Pi via die USB -kabel.
Stap 3: Arduino + programmering
Aangesien die funksies in die Arduino -biblioteke vir die DHT22 en die LED -strookbestuurder baie uitgebrei is, het ek besluit om 'n Arduino vir hierdie dele by te voeg.
Daarom het u die Arduino IDE nodig.
Maak seker dat u hierdie biblioteke invoer:
- DHT-biblioteek:
- RGBdriver: in die electroterra github -bewaarplek
Stap 4: Toets die sensors en aandrywers op die Pi
In die Github -bewaarplek is 'n paar toetslêers vir die individuele komponente.
Dit is die klasse: mcp.py (bedek die analoog data van die LDR) pcf.py (kommunikeer I2C data) en pcf_lcd.py (koppelvlak met die LCD).
Stap 5: Databasis
Skep die electroterra -databasis op die Mysql -werksbank via die dump -lêer (final_dump_electroterra.sql in die Github -bewaarplek) met 'n paar toetsdata.
Daar is 'n verenigbaarheidsprobleem met die wizard "Forward Engineer to Database" in Mysql Workbench. Maak seker dat u die VISIBLE parameter in die sql -state verwyder, aangesien dit nie in MariaDB werk nie.
Stap 6: Voorkant
Die HTML-, CSS- en Javascript -kode kan gevind word in die Github -bewaarplek. Hulle moet in die gids geplaas word waar die webwerf gehuisves sal word. Die ontwerp is geoptimaliseer vir mobiele gebruik en is getoets op die nuutste stabiele Chrome-, Firefox- en Edge -weergawes.
Stap 7: Backend
Die app.py, datarepository.py en Database.py -kode moet in die tuisgids van die Pi -gebruiker wees. Gebruik die instruksies om die lêer outomaties te laat loop by herlaai:
U kan die kode vind in die github -bewaarplek:
Stap 8: Saamvoeg dinge
Hierdie opset is 'n bewys van die konsep.
Die waaier word met warm gom vasgemaak. 'N Paar ekstra gate is in die ventilasiestrook vir die bedrading geboor.
Die volgende was 'n boks om die elektroniese onderdele te bewaar. 'N Eenvoudige plastiekboks is gebruik. Oorweeg dit om 'n ventilasiestrook by te voeg in geval van oorverhitting.
Stap 9: Toets
Skakel die Raspberry Pi en die kragtoevoer aan.
Blaai na die IP -adres wat op die LCD -skerm verskyn.
Hierdeur kan u die data monitor en die aandrywers beheer.