Inhoudsopgave:

ESP8266 Weather Monitor-webserver (zonder Arduino) - Ajarnpa
ESP8266 Weather Monitor-webserver (zonder Arduino) - Ajarnpa

Video: ESP8266 Weather Monitor-webserver (zonder Arduino) - Ajarnpa

Video: ESP8266 Weather Monitor-webserver (zonder Arduino) - Ajarnpa
Video: DIY Weather Station in 30 seconds using #arduino 2024, November
Anonim
ESP8266 Weather Monitor Web Server (Zonder Arduino)
ESP8266 Weather Monitor Web Server (Zonder Arduino)

Het "Internet of Things" (IoT) wordt met de dag een steeds groter wordend gespreksonderwerp. Het is een concept dat niet alleen invloed kan hebben op hoe we leven, maar ook op hoe we werken. Van industriële machines tot draagbare apparaten - met behulp van ingebouwde sensoren om gegevens te verzamelen en actie te ondernemen op die gegevens via een netwerk.

Dus besloten we om een heel eenvoudig maar interessant project te bouwen met het concept - IoT.

Vandaag zullen we een basiswebserver bouwen om het weer om ons heen te volgen. We kunnen de vochtigheids- en temperatuurwaarden bekijken op onze mobiele apparaten en notebooks. Zoals ik al zei, het is een eenvoudige en eenvoudige webpagina om je een idee te geven. U kunt het project opwaarderen en aanpassen aan uw behoeften, zoals u de gegevens kunt verzamelen en gebruiken voor toekomstig gebruik, u kunt een domotica creëren door uw huishoudelijke apparaten te bedienen of wat u maar kunt bedenken. Onthoud altijd - De kracht van verbeelding maakt ons oneindig (door John Muir).

Dus laten we beginnen!!

Stap 1: Verzamel uw gereedschap

Verzamel je gereedschap !!
Verzamel je gereedschap !!
Verzamel je gereedschap !!
Verzamel je gereedschap !!
Verzamel je gereedschap !!
Verzamel je gereedschap !!
Verzamel je gereedschap !!
Verzamel je gereedschap !!

1 SHT25 Vochtigheids- en temperatuursensor

De SHT25 uiterst nauwkeurige vochtigheids- en temperatuursensor van Sensirion is een industriestandaard geworden op het gebied van vormfactor en intelligentie: ingebed in een reflow soldeerbaar Dual Flat No leads (DFN) pakket van 3 x 3 mm voetafdruk en 1,1 mm hoogte biedt het gekalibreerde, gelineariseerde sensorsignalen in digitaal, I2C-formaat.

1 Adafruit Huzzah ESP8266

De ESP8266 processor van Espressif is een 80 MHz microcontroller met een volledige WiFi front-end (zowel als client als access point) en ook TCP/IP stack met DNS ondersteuning. De ESP8266 is een ongelooflijk platform voor de ontwikkeling van IoT-toepassingen. De ESP8266 biedt een volwassen platform voor het bewaken en besturen van toepassingen met behulp van de Arduino Wire Language en de Arduino IDE.

1 ESP8266 USB-programmeur

Deze ESP8266-hostadapter is speciaal ontworpen voor de Adafruit Huzzah-versie van de ESP8266, waardoor een I²C-interface mogelijk is.

1 I2C-verbindingskabel

Stap 2: Hardware aansluiten

Hardware aansluiten
Hardware aansluiten
Hardware aansluiten
Hardware aansluiten
Hardware aansluiten
Hardware aansluiten

Pak de ESP8266 en duw deze voorzichtig over de USB Programmer. Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de SHT25-sensor en het andere uiteinde op de USB-programmer. En je bent klaar. Ja, u leest het goed. Geen hoofdpijn, klinkt cool. Rechts !!

Met behulp van ESP8266 USB Programmer is het heel eenvoudig om ESP te programmeren. Het enige dat u hoeft te doen, is de sensor op de USB Programmer aansluiten en u kunt aan de slag. Wij gebruiken bij voorkeur dit assortiment omdat het een stuk eenvoudiger is om de hardware aan te sluiten. Zonder deze plug and play USB Programmer is er een groot risico op het maken van een verkeerde aansluiting. Een slechte bedrading kan zowel je wifi als je sensor doden.

Geen zorgen over het solderen van de pinnen van ESP aan de sensor of het lezen van de pindiagrammen en datasheet. We kunnen meerdere sensoren tegelijk gebruiken en ermee werken, je hoeft alleen maar een ketting te maken.

Hier check je het hele assortiment bij hen.

Opmerking: Zorg er bij het maken van verbindingen voor dat de bruine draad van de verbindingskabel is aangesloten op de aardklem van de sensor en hetzelfde voor de USB-programmer.

Stap 3: Coderen

Code
Code
Code
Code
Code
Code
Code
Code

De ESP8266-code voor SHT25 kan worden gedownload van onze github-repository

Voordat u verder gaat met de code, moet u ervoor zorgen dat u de instructies in het Readme-bestand leest en uw ESP8266 overeenkomstig instelt. Het duurt slechts 5 minuten om de ESP in te stellen.

Download (of git pull) nu de code en open deze in de Arduino IDE.

Compileer en upload de code en bekijk de uitvoer op Serial Monitor.

Opmerking: Zorg ervoor dat u uw SSID-netwerk en wachtwoord in de code invoert voordat u gaat uploaden.

Kopieer het IP-adres van ESP8266 van de seriële monitor en plak het in uw webbrowser.

U ziet een webserver met vochtigheids- en temperatuurmeting. De output van de sensor op Serial Monitor en Web Server wordt getoond in de bovenstaande afbeelding.

Voor uw gemak kunt u hier ook de werkende ESP-code voor deze sensor kopiëren:

#erbij betrekken

#erbij betrekken

#erbij betrekken

#erbij betrekken

// SHT25 I2C-adres is 0x40(64)

#define Addr 0x40

const char* ssid = "uw ssid-netwerk";

const char* wachtwoord = "uw wachtwoord"; vlotter vochtigheid, cTemp, fTemp;

ESP8266WebServer-server (80);

ongeldige handleroot()

{ niet-ondertekende int-gegevens[2];

// Start I2C-transmissie

Wire.beginTransmission (Addr); // Stuur opdracht voor vochtigheidsmeting, NO HOLD master Wire.write (0xF5); // Stop I2C-transmissie Wire.endTransmission (); vertraging (500);

// Vraag 2 bytes aan gegevens aan

Wire.requestFrom(Addr, 2);

// Lees 2 bytes aan gegevens

// vochtigheid msb, vochtigheid lsb if (Wire.available () == 2) { data [0] = Wire.read (); data[1] = Draad.lezen();

// Converteer de gegevens

vochtigheid = (((data[0] * 256,0 + data[1]) * 125,0) / 65536.0) - 6;

// Gegevens uitvoeren naar seriële monitor

Serial.print("Relatieve vochtigheid:"); Seriële.afdruk (vochtigheid); Serial.println(" %RH"); }

// Start I2C-transmissie

Wire.beginTransmission (Addr); // Stuur opdracht voor temperatuurmeting, NO HOLD master Wire.write (0xF3); // Stop I2C-transmissie Wire.endTransmission (); vertraging (500);

// Vraag 2 bytes aan gegevens aan

Wire.requestFrom(Addr, 2);

// Lees 2 bytes aan gegevens

// temp msb, temp lsb if (Wire.available () == 2) { data [0] = Wire.read (); data[1] = Draad.lezen();

// Converteer de gegevens

cTemp = (((gegevens[0] * 256,0 + gegevens[1]) * 175,72) / 65536.0) - 46,85; fTemp = (cTemp * 1.8) + 32;

// Gegevens uitvoeren naar seriële monitor

Serial.print ("Temperatuur in Celsius:"); Serieel.print(cTemp); Serieel.println("C"); Serial.print("Temperatuur in Fahrenheit:"); Serieel.print(fTemp); Serieel.println ("F"); } // Voer gegevens uit naar webserver server.sendContent ("<meta http-equiv='refresh' content='5'""

CONTROLEER ALLES

www.controleverything.com

SHT25-sensor I2C minimodule

"); server.sendContent ("

Relatieve vochtigheid = " + String (vochtigheid) + " %RH"); server.sendContent ("

Temperatuur in Celsius = " + String (cTemp) + " C"); server.sendContent ("

Temperatuur in Fahrenheit = " + String (fTemp) + " F"); vertraging (300);}

ongeldige setup()

{ // Initialiseer I2C-communicatie als MASTER Wire.begin (2, 14); // Initialiseer seriële communicatie, stel baudrate = 115200 Serial.begin (115200) in;

// Maak verbinding met wifi-netwerk

WiFi.begin(ssid, wachtwoord);

// Wacht op verbinding

while (WiFi.status() != WL_CONNECTED) {vertraging (500); Serieel.print("."); } Serieel.println(""); Serial.print("Verbonden met "); Seriële.println(ssid);

// Verkrijg het IP-adres van ESP8266

Serial.print("IP-adres: "); Serial.println(WiFi.localIP());

// Start de server

server.on("/", handleroot); server.begin(); Serial.println("HTTP-server gestart"); }

lege lus()

{ server.handleClient(); }

Stap 4: Conclusie

De SHT25 vochtigheids- en temperatuursensorserie tilt sensortechnologie naar een nieuw niveau met ongeëvenaarde sensorprestaties, een reeks varianten en nieuwe functies. Geschikt voor een breed scala aan markten, zoals huishoudelijke apparaten, medisch, IoT, HVAC of industrieel. Met behulp van ESP8266 kunnen we de capaciteit vergroten naar een grotere lengte. We kunnen onze apparaten bedienen en hun prestaties monitoren vanaf onze notebooks en mobiele apparaten. We kunnen de gegevens online opslaan en beheren en ze op elk moment bestuderen voor wijzigingen.

We kunnen dergelijke ideeën gebruiken in de medische industrie, zeg maar voor een moment om een ventilatie in een patiëntenkamer te regelen wanneer vochtigheid en temperatuur automatisch toenemen. De medische staf kan de gegevens online volgen zonder de kamer in te gaan.

Ik hoop dat je de inspanning leuk vindt en denk na over de meer mogelijkheden ermee. Zoals ik hierboven al zei, verbeelding is de sleutel.:)

Bekijk de onderstaande links voor meer informatie over SHT25 en ESP8266:

  • SHT25 Vochtigheids- en temperatuursensorgegevensblad
  • ESP8266-gegevensblad

Ga voor meer informatie naar ControlEverything.

Aanbevolen: