Innehållsförteckning:
- Steg 1: Samla dina verktyg !
- Steg 2: Ansluta hårdvara.
- Steg 3: Kod
- KONTROLLERA ALLT
- SHT25 Sensor I2C Mini -modul
- Steg 4: Slutsats
Video: ESP8266 Weather Monitor Web Server (utan Arduino): 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:42
"Sakernas internet" (IoT) blir ett allt växande samtalsämne dag för dag. Det är ett koncept som inte bara har potential att påverka hur vi lever utan också hur vi arbetar. Från industrimaskiner till bärbara enheter - med hjälp av inbyggda sensorer för att samla in data och vidta åtgärder på den informationen i ett nätverk.
Så vi bestämde oss för att bygga ett mycket enkelt men intressant projekt med konceptet - IoT.
Idag kommer vi att bygga en grundläggande webbserver för att övervaka vädret runt omkring oss. Vi kan se fukt- och temperaturvärdena på våra mobila enheter och bärbara datorer. Som sagt, det är en enkel och grundläggande webbsida för att ge dig en uppfattning om det. Du kan uppgradera och modifiera projektet efter dina behov, som att du kan samla in data och använda den för framtida bruk, du kan skapa en hemautomation genom att styra dina hushållsapparater eller allt du kan tänka dig. Kom alltid ihåg - Fantasiens kraft gör oss oändliga (av John Muir).
Så, låt oss börja !!
Steg 1: Samla dina verktyg !
1 SHT25 fukt- och temperatursensor
SHT25 fuktighets- och temperaturgivare med hög noggrannhet i Sensirion har blivit en industristandard när det gäller formfaktor och intelligens: Inbäddad i ett återflödeslödbart Dual Flat No leads (DFN) -paket med 3 x 3 mm fotavtryck och 1,1 mm höjd ger kalibrering, lineariserade sensorsignaler i digitalt I2C -format.
1 Adafruit Huzzah ESP8266
ESP8266-processorn från Espressif är en 80 MHz mikrokontroller med en fullständig WiFi-front-end (både som klient och åtkomstpunkt) och TCP/IP-stack med DNS-stöd också. ESP8266 är en otrolig plattform för IoT -applikationsutveckling. ESP8266 ger en mogen plattform för övervakning och kontroll av applikationer med Arduino Wire Language och Arduino IDE.
1 ESP8266 USB -programmerare
Denna ESP8266 -värdadapter har utformats speciellt för Adafruit Huzzah -versionen av ESP8266, vilket möjliggör I²C -gränssnitt.
1 I2C -anslutningskabel
Steg 2: Ansluta hårdvara.
Ta ESP8266 och skjut den försiktigt över USB -programmeraren. Anslut sedan den ena änden av I2C -kabeln till SHT25 -sensorn och den andra änden till USB -programmeraren. Och du är klar. Ja, du läste rätt. Ingen huvudvärk, låter coolt. Höger !!
Med hjälp av ESP8266 USB Programmerare är det väldigt enkelt att programmera ESP. Allt du behöver göra är att ansluta sensorn till USB -programmeraren så är du klar. Vi föredrar att använda detta produktsortiment eftersom det gör det mycket enklare att ansluta hårdvaran. Utan dessa plug and play USB -programmerare finns det stor risk för felaktig anslutning. En dålig kabeldragning kan döda både din wifi och din sensor.
Du behöver inte oroa dig för att löda ESP -stiften i sensorn eller läsa stiftdiagrammen och databladet. Vi kan använda och arbeta med flera sensorer samtidigt, du behöver bara göra en kedja.
Här kontrollerar du hela sortimentet av dem.
Observera: Kontrollera att anslutningskabelns bruna kabel är ansluten till sensorns jordanslutning och för USB -programmerare när du gör anslutningar.
Steg 3: Kod
ESP8266 -koden för SHT25 kan laddas ner från vårt github -arkiv
Innan du går vidare till koden, se till att du läser instruktionerna i Readme -filen och konfigurerar din ESP8266 enligt den. Det tar bara 5 minuter att ställa in ESP.
Ladda ner (eller git pull) koden och öppna den i Arduino IDE.
Kompilera och ladda upp koden och se utdata på Serial Monitor.
Obs! Innan du laddar upp, se till att du anger ditt SSID -nätverk och lösenord i koden.
Kopiera IP -adressen till ESP8266 från Serial Monitor och klistra in den i din webbläsare.
Du kommer att se en webbserver med avläsning av luftfuktighet och temperatur. Sensorns utsignal på seriell bildskärm och webbserver visas i bilden ovan.
För din bekvämlighet kan du kopiera den fungerande ESP -koden för denna sensor härifrån också:
#omfatta
#omfatta
#omfatta
#omfatta
// SHT25 I2C -adressen är 0x40 (64)
#define Addr 0x40
const char* ssid = "ditt ssid -nätverk";
const char* password = "ditt lösenord"; flottörfuktighet, cTemp, fTemp;
ESP8266WebServer -server (80);
void handleroot ()
{osignerade int -data [2];
// Starta I2C -överföring
Wire.beginTransmission (Addr); // Skicka kommando för fuktmätning, NO HOLD master Wire.write (0xF5); // Stoppa I2C -överföring Wire.endTransmission (); fördröjning (500);
// Begär 2 byte med data
Wire.requestFrom (Addr, 2);
// Läs 2 byte med data
// fuktighet msb, fuktighet lsb om (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read ();
// Konvertera data
luftfuktighet = (((data [0] * 256,0 + data [1]) * 125,0) / 65536,0) - 6;
// Utdata till Serial Monitor
Serial.print ("Relativ luftfuktighet:"); Seriellt tryck (luftfuktighet); Serial.println (" %RH"); }
// Starta I2C -överföring
Wire.beginTransmission (Addr); // Skicka kommando för temperaturmätning, NO HOLD master Wire.write (0xF3); // Stoppa I2C -överföring Wire.endTransmission (); fördröjning (500);
// Begär 2 byte med data
Wire.requestFrom (Addr, 2);
// Läs 2 byte med data
// temp msb, temp lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read ();
// Konvertera data
cTemp = (((data [0] * 256,0 + data [1]) * 175,72) / 65536,0) - 46,85; fTemp = (cTemp * 1,8) + 32;
// Utdata till Serial Monitor
Serial.print ("Temperatur i Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("Temperatur i Fahrenheit:"); Serial.print (fTemp); Serial.println ("F"); } // Utdata till webbserver server.sendContent ("<meta http-equiv = 'refresh' content = '5'""
KONTROLLERA ALLT
www.controleverything.com
SHT25 Sensor I2C Mini -modul
"); server.sendContent ("
Relativ luftfuktighet = " + Sträng (luftfuktighet) +" %RH "); server.sendContent ("
Temperatur i Celsius = " + String (cTemp) +" C "); server.sendContent ("
Temperatur i Fahrenheit = " + String (fTemp) +" F "); fördröjning (300);}
void setup ()
{// Initiera I2C -kommunikation som MASTER Wire.begin (2, 14); // Initiera seriell kommunikation, ange överföringshastighet = 115200 Serial.begin (115200);
// Anslut till WiFi -nätverk
WiFi.begin (ssid, lösenord);
// Vänta på anslutning
medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (500); Serial.print ("."); } Serial.println (""); Serial.print ("Ansluten till"); Serial.println (ssid);
// Få IP -adressen för ESP8266
Serial.print ("IP -adress:"); Serial.println (WiFi.localIP ());
// Starta servern
server.on ("/", handleroot); server.begin (); Serial.println ("HTTP -server startad"); }
void loop ()
{server.handleClient (); }
Steg 4: Slutsats
SHT25 -serien för fukt- och temperatursensorer tar sensortekniken till en ny nivå med oöverträffad sensorprestanda, olika varianter och nya funktioner. Lämplig för en mängd olika marknader, till exempel hushållsapparater, medicinsk, IoT, HVAC eller industri. Med hjälp av ESP8266 kan vi öka dess kapacitet till en större längd. Vi kan styra våra apparater och övervaka prestanda från våra bärbara datorer och mobila enheter. Vi kan lagra och hantera data online och studera dem när som helst för ändringar.
Vi kan använda sådana idéer inom medicinska industrier, för ett ögonblick är det bara att säga för att styra en ventilation i ett patientrum när luftfuktighet och temperatur ökar automatiskt. Medicinsk personal kan övervaka data online utan att gå in i rummet.
Hoppas att du gillar ansträngningen och tänker på fler möjligheter med den. Som jag sa ovan är fantasi nyckeln.:)
För mer information om SHT25 och ESP8266, kolla in länkarna nedan:
- SHT25 Datablad för fukt- och temperatursensor
- ESP8266 Datablad
För mer information, besök ControlEverything.
Rekommenderad:
DIY handkontaktdispenser utan kontakt utan en Arduino eller en mikrokontroller: 17 steg (med bilder)
DIY handkontaktdispenser utan kontakt utan en Arduino eller en mikrokontroller: Som vi alla vet drabbade COVID-19-utbrottet världen och förändrade vår livsstil. I detta tillstånd är alkohol och handdesinfektionsmedel viktiga vätskor, men de måste användas på rätt sätt. Vidrör alkoholbehållare eller handdesinfektionsmedel med infekterade händer
Kör utan skärm / skärm (utan huvud) på Raspberry Pi eller andra Linux / unix -baserade datorer: 6 steg
Kör utan skärm / skärm (utan huvud) på Raspberry Pi eller andra Linux / unix -baserade datorer: När de flesta köper en Raspberry PI tror de att de behöver en datorskärm. Slösa inte dina pengar på onödiga datorskärmar och tangentbord. Slösa inte din tid på att flytta tangentbord och bildskärmar mellan datorer. Bind inte upp en TV när det är nej
Navigera robot med skosensorer, utan GPS, utan karta: 13 steg (med bilder)
Navigera robot med skosensorer, W/o GPS, W/o karta: Roboten rör sig i en förprogrammerad väg och överför (över bluetooth) sin faktiska rörelseinformation till en telefon för spårning i realtid. Arduino är förprogrammerad med sökväg och oblu används för att känna av robotens rörelse. oblu överför rörelse till
Använd Orange Pi utan bildskärm med SSH- och VNC -server: 6 steg
Använd Orange Pi utan bildskärm med SSH- och VNC -server: Orange Pi är som en minidator. Den har alla grundläggande portar som en vanlig dator har. Som HDMIUSBEthernetIT har några speciella portar som USB -OTGGPIO -headersSD -kortplats Parallell kameraportOm du vill använda orange pi måste du ha ett behov av
HC - 06 (slavmodul) Ändra "NAME" utan användning "Monitor Serial Arduino" som "fungerar enkelt": Felfritt sätt!: 3 steg
HC - 06 (slavmodul) Ändra "NAME" utan användning "Monitor Serial Arduino" … som "fungerar enkelt": Felfritt sätt!: Efter " Lång tid " försöker ändra namn på HC - 06 (slavmodul), med " serieövervakning av Arduino, utan " Lyckas ", jag hittade ett annat enkelt sätt och jag delar nu! Ha kul kompisar