Innholdsfortegnelse:
- Trinn 1: Introduksjon
- Trinn 2: Modul 1 - FLAT
- Trinn 3: Modul 2 - KJELE
- Trinn 4: Hvilket webgrensesnitt tilbyr?
Video: Temperatur, fuktighetsmonitor - Arduino Mega + Ethernet W5100: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Modul 1 - FLAT - maskinvare:
- Arduino Mega 2560
- Wiznet W5100 Ethernet -skjerm
- 8x DS18B20 temperatursensor på OneWire -buss - delt inn i 4 OneWire -busser (2, 4, 1, 1)
- 2x digital temperatur- og fuktighetssensor DHT22 (AM2302)
- 1x temperatur- og fuktighetssensor SENSIRION SHT21 (Si7021)
- 1x BOSCH BME280 temperatur og fuktighet (og lufttrykk) sensor
- Sender data fra alle sensorer samtidig på flere minutter (kan endres)
Modul 2 - KJELE - maskinvare:
- Arduino Mega 2560
- Wiznet W5100 Ethernet -skjerm
- 16x DS18B20 temperatursensor på OneWire -buss - delt inn i 7 OneWire -busser (2, 2, 2, 2, 2, 2, 4)
- 8x digital inngang
- 8x digital utgang - for magnetventil / relé
- Sender data fra alle sensorer samtidig på flere minutter (kan endres)
- Den leser tilstandene til individuelle utganger fra webgrensesnittet, bruker dem Sender digitale inngangstilstander
Trinn 1: Introduksjon
I dag vil jeg presentere i detalj det siste realiserte prosjektet, som er ganske komplekst når det gjelder funksjonalitet, antall sensorer som brukes, Arduino -kort, brukte databusser. Prosjektet består av to moduler. Fysisk består hver modul av en separat Arduino Mega 2560, Ethernet -skjerm W5100 (R3 -kompatibel) og sensorene den bruker.
Hver modul kommuniserer med webgrensesnittet på Internett ved hjelp av HTTP POST -forespørsler, der webserveren selger data eller ber om noen data, for eksempel via POST -forespørsel (bare modul 2). Nettgrensesnittet kompletteres med et påloggingssystem, mens hele familien kan registrere seg til systemet, hver med navn og passord. Det er derfor en flerbrukerapplikasjon der hvert familiemedlem har oversikt over begge modulene og kan utføre forskjellige handlinger - angi referansetemperatur, kontrolltermometer, etc. Webgrensesnitt er programmert i PHP, data lagres i MySQL -database. Hver av modulene har en egen tabell i databasen for data. Vurder de enkelte modulene mer detaljert.
Trinn 2: Modul 1 - FLAT
Hele modulen 1- FLAT fungerer bare som en temperaturmåler i individuelle rom, den har ingen annen rolle. DHT22 -sensorer ble brukt over en lang avstand ved bruk av en passende 10 kOhm pullup -motstand for å registrere fuktighet på badene. Siden BME280 og SHT21 kommuniserer over I2C -bussen og dette er betydelig begrenset når det gjelder busslengder, brukes sensorer i nærheten av Arduino i rom.
DS18B20 temperatursensorer har blitt delt inn i 4 busser, da to eksterne sensorer brukes, noe som gjør det lettere å koble dem til separate Arduino -uttak, og i tilfelle sensorfall faller, er det lettere å bytte ut, da det ikke lammer funksjonaliteten av systemet.
For eksempel når det gjelder en av disse OneWire -bussene, der 4 sensorer er indeksert. Indeksen er knyttet til den fysiske adressen til termometrene, så hvis en av sensorene byttes ut, kan den nye sensoren vises på indeksen 0 - initial, eller til og med 2, 3 eller siste. Dermed kan vi ved å redusere antall sensorer på bussene unngå en slik komplikasjon som kan oppstå når sensoren skiftes ut.
Trinn 3: Modul 2 - KJELE
I tillegg til monitorfunksjonen har modul 2 - BOILER også en viktigere rolle, nemlig styring av solenoider eller reléer for styring av radiatorventiler. Modulen fungerer uavhengig av husholdningsoppvarming. Modulen bytter ikke varme eller kjele. Modulen tar seg bare av å åpne, lukke radiatorventilen, hvis romtemperaturen er lavere / høyere enn settet - såkalt. referansetemperatur. Hvert rom der radiatorventilen styres kan tildeles et spesifikt termometer fra modul 2. I tillegg til denne - automatisk modus, er det også en manuell modus der ventilen kan åpnes / lukkes manuelt fra webgrensesnittet på ubestemt tid - hardt. De digitale inngangene kan brukes til å bekrefte at magnetventilen / reléet / ventilen har blitt åpnet / lukket på forespørsel med Arduina - muligheten til å sammenligne om utgangen er lik inngangen.
Trinn 4: Hvilket webgrensesnitt tilbyr?
For begge modulene er det også en grafisk fremstilling av et linjediagram for utvikling av individuelle variabler - temperatur, fuktighet på 24 timer, 7 dager. Nettgrensesnittet tilbyr også visning av maksimum / minimum, gjennomsnittlig verdi på 24 timer, 7 dager for hvert termometer / hygrometer. I modul 1 ble det først vurdert et par SHT21 -sensorer, men siden de ikke har mulighet til å endre I2C -adressen, ville det være nødvendig å bruke en multiplexer for en busskommunikasjon fra to sensorer med samme I2C -adresse. Ved defekte sensordata lagres sensornavnet i en logg som systemadministratoren når som helst kan åpne for å utføre service på OneWire -bussen og erstatte den defekte sensoren, for eksempel.
Watchdog er implementert i Arduino -programmer, som i tilfelle feilaktig initialisering, "frysing", en annen feil trygt starter på nytt og i begynnelsen av programmet slår av alle utganger til tilkoblingen til webgrensesnittet er etablert, hvor den er fullstendig synkronisert i vilkår for utdata, som den senere gjelder.
Flere prosjekter finner du på: https://arduino.php5.sk?lang=en Doner for flere eksempler:
Anbefalt:
Sett opp Raspberry Pi 4 gjennom bærbar PC/pc ved hjelp av Ethernet-kabel (ingen skjerm, ingen Wi-Fi): 8 trinn
Sett opp Raspberry Pi 4 gjennom bærbar PC/pc ved hjelp av Ethernet-kabel (ingen skjerm, ingen Wi-Fi): I dette skal vi jobbe med Raspberry Pi 4 Model-B med 1 GB RAM for oppsettet. Raspberry-Pi er en enkelt brettcomputer som brukes til utdanningsformål og gjør-det-selv-prosjekter til en rimelig pris, krever en strømforsyning på 5V 3A
Hvordan lage en Ethernet -kabel: 5 trinn
Hvordan lage en Ethernet -kabel: Hei! I dag skal vi lære å lage din helt egen industristandard ethernet-kabel! Som vil kunne spare deg for penger når du trenger kabler! Så hvorfor er jeg kvalifisert til å lære deg? Vel, jeg er en IT -profesjonell jeg har brukt de siste 2
DIY 10/100M Ethernet PoE Injector: 6 trinn
DIY 10/100M Ethernet PoE Injector: Her lager vi en enkel PoE -inektor egnet for 10/100M ethernet, kan også drives direkte med batterier
MCP23017 GPIO -kontroll via Ethernet: 5 trinn
MCP23017 GPIO-kontroll via Ethernet: Kontroller MCP23017 IO-forlenger via ethernet ved hjelp av Sensor Bridge og MCP23017 breakout board. Kommandoer sendt av Python -skript, nettadresser til nettlesere eller ethvert system som er i stand til HTTP -kommunikasjon. Kan integreres i Home Assistant for hjemmeautomatisering. Ledninger er
Leser fuktighet med Ethernet -sensor: 3 trinn
Lese fuktighet med Ethernet -sensor: Formålet med prosjektet var å kunne lese av fuktighets- og temperaturavlesninger gjennom ethernet -nettverk, slik at resultatene kunne brukes til hjemmeautomatisering (Home Assistant etc). T9602 -sensor hadde den beste formfaktoren, med gode ytelse på ar