Innehållsförteckning:
- Steg 1: Introduktion
- Steg 2: Modul 1 - FLAT
- Steg 3: Modul 2 - Panna
- Steg 4: Vilket webbgränssnitt erbjuder?
Video: Temperatur, fuktighetsmonitor - Arduino Mega + Ethernet W5100: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:35
Modul 1 - FLAT - hårdvara:
- Arduino Mega 2560
- Wiznet W5100 Ethernet -sköld
- 8x DS18B20 temperaturgivare på OneWire -buss - uppdelad i 4 OneWire -bussar (2, 4, 1, 1)
- 2x digital temperatur- och luftfuktighetssensor DHT22 (AM2302)
- 1x temperatur- och fuktsensor SENSIRION SHT21 (Si7021)
- 1x BOSCH BME280 temperatur och luftfuktighet (och lufttryck) sensor
- Skickar data från alla sensorer samtidigt på flera minuter (kan ändras)
Modul 2 - Panna - hårdvara:
- Arduino Mega 2560
- Wiznet W5100 Ethernet -sköld
- 16x DS18B20 temperaturgivare på OneWire -buss - uppdelad i 7 OneWire -bussar (2, 2, 2, 2, 2, 2, 4)
- 8x digital ingång
- 8x digital utgång - för magnetventil / relä
- Skickar data från alla sensorer samtidigt på flera minuter (kan ändras)
- Den läser tillstånden för enskilda utdata från webbgränssnittet, tillämpar dem Skickar digitala ingångstillstånd
Steg 1: Introduktion
Idag kommer jag att presentera i detalj det senaste genomförda projektet, som är ganska komplext när det gäller funktionalitet, antal sensorer som används, Arduino -kort, använda databussar. Projektet består av två moduler. Fysiskt består varje modul av en separat Arduino Mega 2560, Ethernet -sköld W5100 (R3 -kompatibel) och de sensorer den använder.
Varje modul kommunicerar med webbgränssnittet på Internet med HTTP POST -förfrågningar, genom vilka webbservern säljer data eller begär vissa data, till exempel via POST -begäran (endast modul 2). Webbgränssnittet kompletteras med ett inloggningssystem, medan hela familjen kan registrera sig i systemet, var och en med sitt namn och lösenord. Det är därför en fleranvändarapplikation där varje familjemedlem har en överblick över båda modulerna och kan utföra olika åtgärder - inställning av referenstemperatur, styrtermometer, etc. Webbgränssnitt är programmerat i PHP, data lagras i MySQL -databas. Var och en av modulerna har en separat tabell i databasen för data. Tänk närmare på de enskilda modulerna.
Steg 2: Modul 1 - FLAT
Hela modulen 1- FLAT fungerar bara som en temperaturmätare i enskilda rum, den har ingen annan roll. DHT22 -sensorer användes över en lång sträcka med hjälp av ett lämpligt 10kohm pullup -motstånd för att registrera luftfuktighet i badrummen. Eftersom BME280 och SHT21 kommunicerar över I2C -bussen och detta är avsevärt begränsat när det gäller bussförarlängder, används sensorer nära Arduino i rum.
DS18B20 temperaturgivare har delats upp i 4 bussar, eftersom två externa sensorer används, vilket gör det lättare att ansluta dem till separata Arduino -uttag och vid en sensorfall är det lättare att byta eftersom det inte förlamar funktionaliteten av systemet.
Till exempel, när det gäller en av dessa OneWire -bussar, på vilka 4 sensorer är indexerade. Indexet är kopplat till termometrarnas fysiska adress, så om en av sensorerna byts kan den nya sensorn visas på index 0 - initial, eller till och med 2, 3 eller sista. Genom att minska antalet sensorer på bussarna kan vi således undvika en sådan komplikation som kan uppstå när sensorn byts ut.
Steg 3: Modul 2 - Panna
Förutom monitorfunktionen har modul 2 - BOILER också en viktigare roll, nämligen styrning av solenoider eller reläer för styrning av radiatorventiler. Modulen fungerar oberoende av hushållsvärme. Modulen byter inte värme eller panna. Modulen tar bara hand om att öppna, stänga kylarventilen, om rumstemperaturen är lägre / högre än den inställda - sk. referens temperatur. Varje rum där kylarventilen styrs kan tilldelas en specifik termometer från modul 2. Utöver detta - automatiskt läge finns det också ett manuellt läge där ventilen kan öppnas / stängas manuellt från webbgränssnittet på obestämd tid - hårt. De digitala ingångarna kan användas för att verifiera att solenoiden / reläet / ventilen har öppnats / stängts på begäran med Arduina - möjligheten att jämföra om utgången är lika med ingången.
Steg 4: Vilket webbgränssnitt erbjuder?
För båda modulerna finns också en grafisk framställning av ett linjediagram för utveckling av individuella variabler - temperatur, luftfuktighet på 24 timmar, 7 dagar. Webbgränssnittet erbjuder också visning av max / minimum, medelvärde på 24 timmar, 7 dagar för varje termometer / hygrometer. I modul 1 övervägdes initialt ett par SHT21 -sensorer, men eftersom de inte har någon möjlighet att ändra I2C -adressen skulle det vara nödvändigt att använda en multiplexer för en busskommunikation från två sensorer med samma I2C -adress. Vid felaktig sensordata lagras sensornamnet i en logg som systemadministratören kan öppna när som helst för att serva OneWire -bussen och byta ut den felaktiga sensorn, till exempel.
Watchdog har implementerats i Arduino -program, som vid felaktig initialisering, "frysning", startar ett annat fel säkert och i början av programmet stänger av alla utgångar tills anslutningen till webbgränssnittet upprättas, där det är helt synkroniserat i villkor för utdata, som den sedan tillämpar.
Fler projekt hittar du på: https://arduino.php5.sk?lang=en Donera för fler exempel:
Rekommenderad:
Konfigurera Raspberry Pi 4 via bärbar dator/dator med Ethernet-kabel (ingen bildskärm, ingen Wi-Fi): 8 steg
Konfigurera Raspberry Pi 4 via bärbar dator/dator med Ethernet-kabel (ingen bildskärm, ingen Wi-Fi): I detta ska vi arbeta med Raspberry Pi 4 Model-B med 1 GB RAM för installationen. Raspberry-Pi är en enda kortdator som används för utbildningsändamål och DIY-projekt till en överkomlig kostnad, kräver en strömförsörjning på 5V 3A
Hur man gör en Ethernet -kabel: 5 steg
Hur man gör en Ethernet -kabel: Hej! Idag lär vi oss hur du gör din alldeles egna industristandard ethernetkabel! Vilket kommer att kunna spara pengar när det gäller att behöva kablar! Så varför är jag kvalificerad att lära dig? Tja, jag är en IT -proffs jag har tillbringat de senaste 2
DIY 10/100M Ethernet PoE -injektor: 6 steg
DIY 10/100M Ethernet PoE -injektor: Här gör vi en enkel PoE -inektor lämplig för 10/100M ethernet, kan också drivas direkt med batterier
MCP23017 GPIO -styrning via Ethernet: 5 steg
MCP23017 GPIO-styrning via Ethernet: Styr MCP23017 IO-förlängare via ethernet med hjälp av Sensor Bridge och MCP23017 breakout board. Kommandon som skickas av Python -skript, webbläsaradresser eller något system som kan HTTP -kommunikation. Kan integreras i Home Assistant för hemautomation. Ledningar är
Läsa luftfuktighet med Ethernet -sensor: 3 steg
Läsa luftfuktighet med ethernsensor: Syftet med projektet var att kunna läsa av fukt- och temperaturavläsningar via eternätverk, så att resultaten kunde användas för hemautomation (hemassistent etc) .T9602 -sensorn hade den bästa formfaktorn, med bra prestanda på ar