ESP8266 Web server za praćenje vremena (bez Arduina): 4 koraka
ESP8266 Web server za praćenje vremena (bez Arduina): 4 koraka
Anonim
ESP8266 Web server za praćenje vremena (bez Arduina)
ESP8266 Web server za praćenje vremena (bez Arduina)

"Internet stvari" (IoT) iz dana u dan postaje sve veća tema razgovora. To je koncept koji ne samo da može utjecati na način na koji živimo, već i na način na koji radimo. Od industrijskih strojeva do nosivih uređaja - pomoću ugrađenih senzora za prikupljanje podataka i poduzimanje radnji na tim podacima u cijeloj mreži.

Stoga smo odlučili izgraditi vrlo jednostavan, ali zanimljiv projekt s konceptom - IoT.

Danas ćemo izgraditi osnovni web poslužitelj za praćenje vremena oko nas. Vrijednosti vlage i temperature možemo vidjeti na svojim mobilnim uređajima i prijenosnim računalima. Kao što sam rekao, to je jednostavna i osnovna web stranica koja vam daje dojam o tome. Možete nadograditi i izmijeniti projekt prema svojim potrebama, kao što možete prikupiti podatke i koristiti ih za buduću uporabu, možete stvoriti kućnu automatizaciju upravljajući svojim kućanskim aparatima ili bilo čime što zamislite. Uvijek zapamtite - Snaga mašte čini nas beskonačnim (John Muir).

Dakle, počnimo !!

Korak 1: Skupite svoje alate

Skupite svoj alat !!
Skupite svoj alat !!
Skupite svoj alat !!
Skupite svoj alat !!
Skupite svoj alat !!
Skupite svoj alat !!
Skupite svoj alat !!
Skupite svoj alat !!

1 SHT25 Senzor vlage i temperature

Senzor vlažnosti i temperature SHT25 tvrtke Sensirion visoke preciznosti postao je industrijski standard u pogledu faktora oblika i inteligencije: Ugrađen u paket za lemljenje s dvostrukim ravnim odvodima (DFN) od 3 x 3 mm i 1,1 mm visine koji omogućuje kalibriranje, linearni signali senzora u digitalnom, I2C formatu.

1 Adafruit Huzzah ESP8266

ESP8266 procesor tvrtke Espressif je 80 MHz mikrokontroler s punim WiFi prednjim dijelom (i kao klijent i kao pristupna točka) i TCP/IP stogom s podrškom za DNS. ESP8266 nevjerojatna je platforma za razvoj IoT aplikacija. ESP8266 pruža zrelu platformu za nadzor i upravljanje aplikacijama koristeći Arduino Wire Language i Arduino IDE.

1 USB programator ESP8266

Ovaj adaptor domaćina ESP8266 dizajniran je posebno za Adafruit Huzzah verziju ESP8266, dopuštajući I²C sučelje.

1 I2C priključni kabel

Korak 2: Povezivanje hardvera

Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera

Uzmite ESP8266 i nježno ga gurnite preko USB programatora. Zatim spojite jedan kraj I2C kabela sa senzorom SHT25, a drugi kraj u USB programator. I gotovi ste. Da, dobro ste pročitali. Nema glavobolje, zvuči super. Točno !!

Uz pomoć ESP8266 USB programatora, vrlo je jednostavno programirati ESP. Sve što trebate učiniti je priključiti senzor u USB programator i spremni ste. Radije koristimo ovaj asortiman proizvoda jer uvelike olakšava povezivanje hardvera. Bez ovih plug and play USB programatora postoji veliki rizik od pogrešne veze. Loše ožičenje može ubiti vaš WiFi kao i vaš senzor.

Bez brige oko lemljenja pinova ESP -a na senzor ili čitanja dijagrama pinova i podatkovne tablice. Možemo koristiti i raditi na više senzora istovremeno, samo trebate napraviti lanac.

Ovdje provjeravate cijeli asortiman proizvoda po njima.

Napomena: Prilikom povezivanja, provjerite je li smeđa žica spojnog kabela spojena na uzemljenje senzora i isto za USB programator.

Korak 3: Kodirajte

Kodirati
Kodirati
Kodirati
Kodirati
Kodirati
Kodirati
Kodirati
Kodirati

Kod ESP8266 za SHT25 može se preuzeti iz našeg github spremišta

Prije nego prijeđete na kôd, svakako pročitajte upute date u datoteci Readme i postavite svoj ESP8266 prema njemu. Za postavljanje ESP -a bit će potrebno samo 5 minuta.

Sada preuzmite (ili git povucite) kôd i otvorite ga u Arduino IDE -u.

Sastavite i prenesite kôd i pogledajte izlaz na Serial Monitor.

Napomena: Prije prijenosa obavezno unesite svoju SSID mrežu i lozinku u kôd.

Kopirajte IP adresu ESP8266 sa serijskog monitora i zalijepite je u svoj web preglednik.

Vidjet ćete web poslužitelj s očitanjem vlažnosti i temperature. Izlaz senzora na serijskom monitoru i web poslužitelju prikazan je na gornjoj slici.

Radi vaše udobnosti, ovdje možete kopirati i radni ESP kod za ovaj senzor:

#uključi

#uključi

#uključi

#uključi

// I2C adresa SHT25 je 0x40 (64)

#define Addr 0x40

const char* ssid = "vaša ssid mreža";

const char* password = "vaša lozinka"; vlažnost plovka, cTemp, fTemp;

ESP8266WebServer poslužitelj (80);

void handleroot ()

{nepotpisani int podaci [2];

// Pokretanje I2C prijenosa

Wire.beginTransmission (Addr); // Pošaljite naredbu za mjerenje vlažnosti, NO HOLD master Wire.write (0xF5); // Zaustavljanje I2C prijenosa Wire.endTransmission (); kašnjenje (500);

// Zatražite 2 bajta podataka

Wire.requestFrom (Addr, 2);

// Očitavanje 2 bajta podataka

// vlažnost msb, vlažnost lsb if (Wire.available () == 2) {data [0] = Wire.read (); podaci [1] = Wire.read ();

// Pretvorimo podatke

vlažnost = (((podaci [0] * 256,0 + podaci [1]) * 125,0) / 65536,0) - 6;

// Izlaženje podataka na serijski monitor

Serial.print ("Relativna vlažnost:"); Serijski.tisak (vlažnost); Serial.println (" %RH"); }

// Pokretanje I2C prijenosa

Wire.beginTransmission (Addr); // Slanje naredbe za mjerenje temperature, NO HOLD master Wire.write (0xF3); // Zaustavljanje I2C prijenosa Wire.endTransmission (); kašnjenje (500);

// Zatražite 2 bajta podataka

Wire.requestFrom (Addr, 2);

// Očitavanje 2 bajta podataka

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

// Pretvorimo podatke

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

// Izlaženje podataka na serijski monitor

Serial.print ("Temperatura u Celzijusima:"); Serijski.ispis (cTemp); Serial.println ("C"); Serial.print ("Temperatura u Fahrenheitu:"); Serijski.ispis (fTemp); Serial.println ("F"); } // Izlaženje podataka na poslužitelj web poslužitelja.sendContent ("<meta http-equiv = 'refresh' content = '5'""

KONTROLIRAJTE SVE

www.controleverything.com

Mini modul senzora SHT25 I2C

"); server.sendContent ("

Relativna vlažnost = " + niz (vlažnost) +" %RH "); server.sendContent ("

Temperatura u Celzijusima = " + String (cTemp) +" C "); server.sendContent ("

Temperatura u Fahrenheitu = " + niz (fTemp) +" F "); kašnjenje (300);}

void setup ()

{// Inicializirajte I2C komunikaciju kao MASTER Wire.begin (2, 14); // Pokretanje serijske komunikacije, postavljena brzina prijenosa = 115200 Serial.begin (115200);

// Povezivanje na WiFi mrežu

WiFi.započni (ssid, lozinka);

// Pričekajte vezu

while (WiFi.status ()! = WL_CONNECTED) {odgoda (500); Serial.print ("."); } Serial.println (""); Serial.print ("Povezano s"); Serijski.println (ssid);

// Dohvaćanje IP adrese ESP8266

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

// Pokretanje poslužitelja

server.on ("/", handleroot); server.begin (); Serial.println ("HTTP poslužitelj pokrenut"); }

void loop ()

{server.handleClient (); }

Korak 4: Zaključak

Serija senzora vlažnosti i temperature SHT25 podiže tehnologiju senzora na novu razinu s neusporedivim performansama senzora, rasponom varijanti i novim značajkama. Pogodno za mnoga tržišta, poput kućanskih aparata, medicinskih, IoT, HVAC ili industrijskih. Uz pomoć ESP8266 možemo povećati njegov kapacitet na veću duljinu. Možemo kontrolirati svoje uređaje i tamo pratiti performanse prijenosnih računala i mobilnih uređaja. Podatke možemo pohraniti i upravljati na mreži te ih proučiti u bilo kojem trenutku radi izmjena.

Takve ideje možemo upotrijebiti u medicinskoj industriji, na trenutak samo recimo kontrolirati ventilaciju u sobi za pacijente kad se vlaga i temperatura automatski povećaju. Medicinsko osoblje može pratiti podatke na mreži bez ulaska u sobu.

Nadam se da vam se trud sviđa i razmislite o više mogućnosti s njim. Kao što sam gore rekao, mašta je ključ.:)

Za više informacija o SHT25 i ESP8266, pogledajte donje veze:

  • Tehnički list senzora vlažnosti i temperature SHT25
  • Tehnički list ESP8266

Za više informacija posjetite ControlEverything.