Talaan ng mga Nilalaman:

ESP8266 Weather Monitor Web Server (Nang walang Arduino): 4 na Hakbang
ESP8266 Weather Monitor Web Server (Nang walang Arduino): 4 na Hakbang

Video: ESP8266 Weather Monitor Web Server (Nang walang Arduino): 4 na Hakbang

Video: ESP8266 Weather Monitor Web Server (Nang walang Arduino): 4 na Hakbang
Video: Arduino project: Monitor multiple Nodemcu esp8266 modules using blynk | Nodemcu Network “IOT” 2024, Nobyembre
Anonim
ESP8266 Weather Monitor Web Server (Nang walang Arduino)
ESP8266 Weather Monitor Web Server (Nang walang Arduino)

Ang "Internet ng mga bagay" (IoT) ay nagiging isang lumalaking paksa ng pag-uusap araw-araw. Ito ay isang konsepto na hindi lamang may potensyal na makaapekto sa kung paano tayo nabubuhay kundi pati na rin sa kung paano tayo gumana. Mula sa mga makina pang-industriya hanggang sa mga naisusuot na aparato - gumagamit ng mga built-in na sensor upang makalikom ng data at kumilos sa data na iyon sa isang network.

Kaya, nagpasya kaming bumuo ng isang napaka-simple ngunit kagiliw-giliw na proyekto na may konsepto - IoT.

Ngayon, magtatayo kami ng isang pangunahing web server upang subaybayan ang panahon sa paligid namin. Maaari naming tingnan ang halagang halumigmig at temperatura sa aming mga mobile device at notebook. Tulad ng sinabi ko, ito ay isang simple at pangunahing web page upang bigyan ka ng ideya tungkol dito. Maaari mong agawin at baguhin ang proyekto sa iyong mga pangangailangan, tulad ng maaari mong kolektahin ang data at gamitin ito para magamit sa hinaharap, maaari kang lumikha ng isang awtomatiko sa bahay sa pamamagitan ng pagkontrol sa iyong mga gamit sa bahay o anumang maiisip mo. Laging tandaan - Ang lakas ng imahinasyon ay gumagawa sa amin walang katapusan (ni John Muir).

Kaya, magsimula na !!

Hakbang 1: Ipunin ang Iyong Mga Tool !

Ipunin ang Iyong Mga Tool !!
Ipunin ang Iyong Mga Tool !!
Ipunin ang Iyong Mga Tool !!
Ipunin ang Iyong Mga Tool !!
Ipunin ang Iyong Mga Tool !!
Ipunin ang Iyong Mga Tool !!
Ipunin ang Iyong Mga Tool !!
Ipunin ang Iyong Mga Tool !!

1 SHT25 Humidity at Temperatura Sensor

Ang SHT25 na mataas na katumpakan ng kahalumigmigan at temperatura sensor ng Sensirion ay naging pamantayan sa industriya sa mga tuntunin ng form factor at intelligence: Naka-embed sa isang reflow solderable na Dual Flat No lead (DFN) na pakete ng 3 x 3mm foot print at 1.1mm taas na ibinibigay nito na naka-calibrate, mga linya ng signal ng sensor sa digital, format na I2C.

1 Adafruit Huzzah ESP8266

Ang processor ng ESP8266 mula sa Espressif ay isang 80 MHz microcontroller na may isang buong WiFi front-end (kapwa client at access point) at TCP / IP stack na may suporta din ng DNS. Ang ESP8266 ay isang hindi kapani-paniwala platform para sa pag-unlad ng IoT application. Nagbibigay ang ESP8266 ng isang mature platform para sa pagsubaybay at pagkontrol ng mga application gamit ang Arduino Wire Language at ang Arduino IDE.

1 ESP8266 USB Programmer

Ang host adapter ng ESP8266 na ito ay partikular na idinisenyo para sa bersyon ng Adafruit Huzzah ng ESP8266, na pinapayagan ang interface ng I²C.

1 I2C Connecting Cable

Hakbang 2: Kumokonekta sa Hardware.

Kumokonekta sa Hardware.
Kumokonekta sa Hardware.
Kumokonekta sa Hardware.
Kumokonekta sa Hardware.
Kumokonekta sa Hardware.
Kumokonekta sa Hardware.

Kunin ang ESP8266 at dahan-dahang itulak ito sa USB Programmer. Pagkatapos ikonekta ang isang dulo ng I2C cable sa SHT25 sensor at ang kabilang dulo sa USB Programmer. At tapos ka na. Oo, basahin mo ito ng tama. Walang sakit ng ulo, cool ang tunog. Tama !!

Sa tulong ng ESP8266 USB Programmer, napakadaling i-program ang ESP. Ang kailangan mo lang gawin ay isaksak ang sensor sa USB Programmer at mahusay kang pumunta. Mas gusto naming gamitin ang saklaw ng produktong ito sapagkat mas napapadali nitong ikonekta ang hardware. Nang walang mga plug and play na USB Programmer na ito ay maraming panganib na makagawa ng maling koneksyon. Ang isang masamang mga kable ay maaaring pumatay ng iyong wifi pati na rin ang iyong sensor.

Walang nag-aalala tungkol sa paghihinang ng mga pin ng ESP sa sensor o pagbabasa ng mga diagram ng pin at datasheet. Maaari naming gamitin at gumana sa maraming mga sensor nang sabay-sabay, kailangan mo lamang gumawa ng isang kadena.

Dito mo susuriin ang buong saklaw ng produkto sa pamamagitan ng mga ito.

Tandaan: Habang gumagawa ng mga koneksyon mangyaring siguraduhin na ang brown wire ng pagkonekta na cable ay konektado sa ground terminal ng sensor at pareho para sa USB Programmer.

Hakbang 3: Code

Code
Code
Code
Code
Code
Code
Code
Code

Ang ESP8266 code para sa SHT25 ay maaaring ma-download mula sa aming github repository

Bago magpatuloy sa code, tiyaking nabasa mo ang mga tagubiling ibinigay sa Readme file at i-setup ang iyong ESP8266 alinsunod dito. 5 minuto lang ang aabutin upang ma-setup ang ESP.

Ngayon, i-download (o git pull) ang code at buksan ito sa Arduino IDE.

Compile at i-upload ang code at makita ang output sa Serial Monitor.

Tandaan: Bago mag-upload, tiyaking ipinasok mo ang iyong SSID network at password sa code.

Kopyahin ang IP address ng ESP8266 mula sa Serial Monitor at i-paste ito sa iyong web browser.

Makakakita ka ng isang web server na may halumigmig at pagbabasa ng temperatura. Ang output ng sensor sa Serial Monitor at Web Server ay ipinapakita sa larawan sa itaas.

Para sa iyong kaginhawaan maaari mong kopyahin ang gumaganang code ng ESP para sa sensor na ito mula din dito:

# isama

# isama

# isama

# isama

// SHT25 I2C address ay 0x40 (64)

# tukuyin ang Addr 0x40

const char * ssid = "iyong network ng ssid";

const char * password = "iyong password"; float halumigmig, cTemp, fTemp;

Ang server ng ESP8266WebServer (80);

walang bisa ang handleroot ()

{unsigned int data [2];

// Simulan ang paghahatid ng I2C

Wire.beginTransmission (Addr); // Magpadala ng utos ng pagsukat ng halumigmig, WALANG HOLD master Wire.write (0xF5); // Stop I2C transmission Wire.endTransmission (); pagkaantala (500);

// Humiling ng 2 byte ng data

Wire.requestFrom (Addr, 2);

// Basahin ang 2 bytes ng data

// halumigmig msb, halumigmig lsb kung (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read ();

// I-convert ang data

halumigmig = (((data [0] * 256.0 + data [1]) * 125.0) / 65536.0) - 6;

// Data ng output sa Serial Monitor

Serial.print ("Kamag-anak na Humidity:"); Serial.print (halumigmig); Serial.println ("% RH"); }

// Simulan ang paghahatid ng I2C

Wire.beginTransmission (Addr); // Magpadala ng utos ng pagsukat ng temperatura, WALANG HOLD master Wire.write (0xF3); // Stop I2C transmission Wire.endTransmission (); pagkaantala (500);

// Humiling ng 2 byte ng data

Wire.requestFrom (Addr, 2);

// Basahin ang 2 bytes ng data

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

// I-convert ang data

cTemp = (((data [0] * 256.0 + data [1]) * 175.72) / 65536.0) - 46.85; fTemp = (cTemp * 1.8) + 32;

// Data ng output sa Serial Monitor

Serial.print ("Temperatura sa Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("Temperatura sa Fahrenheit:"); Serial.print (fTemp); Serial.println ("F"); } // Output data sa web server server.sendContent ("<meta http-equiv = 'refresh' content = '5'""

KONTROL ANG LAHAT

www.controleverything.com

SHT25 Sensor I2C Mini Module

"); server.sendContent ("

Kamag-anak na Humidity = "+ String (halumigmig) +"% RH "); server.sendContent ("

Temperatura sa Celsius = "+ String (cTemp) +" C "); server.sendContent ("

Temperatura sa Fahrenheit = "+ String (fTemp) +" F "); pagkaantala (300);}

walang bisa ang pag-setup ()

{// Initialise I2C na komunikasyon bilang MASTER Wire.begin (2, 14); // Initialise serial komunikasyon, itakda ang baud rate = 115200 Serial.begin (115200);

// Kumonekta sa WiFi network

WiFi.begin (ssid, password);

// Maghintay para sa koneksyon

habang (WiFi.status ()! = WL_CONNected) {pagkaantala (500); Serial.print ("."); } Serial.println (""); Serial.print ("Nakakonekta sa"); Serial.println (ssid);

// Kunin ang IP address ng ESP8266

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

// Simulan ang server

server.on ("/", handleroot); server.begin (); Serial.println ("nagsimula ang HTTP server"); }

walang bisa loop ()

{server.handleClient (); }

Hakbang 4: Konklusyon

Ang serye ng kahalumigmigan at temperatura sensor ng SHT25 ay tumatagal ng teknolohiya ng sensor sa isang bagong antas na may hindi kaparis na pagganap ng sensor, saklaw ng mga pagkakaiba-iba, at mga bagong tampok. Angkop para sa iba't ibang mga merkado, tulad ng mga gamit sa bahay, medikal, IoT, HVAC, o pang-industriya. Sa tulong ng ESP8266, maaari nating taasan ang kakayahan nito sa isang mas malaking haba. Maaari naming makontrol ang aming mga appliances at subaybayan doon ang form ng pagganap ng aming mga notebook at mobile device. Maaari naming iimbak at pamahalaan ang data sa online at pag-aralan ang mga ito anumang oras para sa mga pagbabago.

Maaari naming gamitin ang mga naturang ideya sa mga medikal na industriya, sandali lamang sabihin upang makontrol ang isang bentilasyon sa isang silid ng pasyente kapag ang halumigmig at temperatura ay awtomatikong tumataas. Maaaring subaybayan ng kawani ng medisina ang data sa online nang hindi pumapasok sa silid.

Inaasahan kong gusto mo ang pagsisikap at isipin ang tungkol sa maraming mga posibilidad kasama nito. Tulad ng sinabi ko sa itaas, ang Imagination ang Susi.:)

Para sa karagdagang impormasyon tungkol sa SHT25 at ESP8266, tingnan ang mga link sa ibaba:

  • SHT25 Datasheet ng Sensor ng Temperatura at Temperatura
  • ESP8266 Datasheet

Para sa karagdagang impormasyon, bisitahin ang ControlEverything.

Inirerekumendang: