ESP8266 en Visuino: DHT11 Webbediener vir temperatuur en humiditeit: 12 stappe
ESP8266 en Visuino: DHT11 Webbediener vir temperatuur en humiditeit: 12 stappe
Anonim
Image
Image

ESP8266-modules is uitstekende selfstandige beheerders met 'n lae koste met ingeboude Wi-Fi, en ek het al 'n aantal instruksies daaroor gemaak.

DTH11/DTH21/DTH22 en AM2301 is baie gewild gekombineerde Arduino-sensors vir temperatuur en humiditeit, en ek het ook 'n aantal instruksies saam met hulle gemaak, insluitend 'n Instrueerbare op afstandtermometer en humiditeitsensor met 2 ESP8266 wat op hul eie privaat Wi-Fi-netwerk verbind is.

In hierdie instruksies sal ek u wys hoe u 'n temperatuur- en humiditeitswebbediener met ESP8266 en DHT11 kan maak en op u bestaande Wi-Fi-netwerk vanaf verskeie toestelle met 'n webblaaier daaraan kan koppel.

Stap 1: Komponente

Koppel die DHT11 aan die NodeMCU ESP8266 -module
Koppel die DHT11 aan die NodeMCU ESP8266 -module
  1. OneNodeMCU ESP8266-bord (ek het NodeMCU 0.9-weergawe gebruik, maar enige ander, of selfs alleenstaande ESP-12 of ESP-01 sal werk)
  2. Een DHT11 -sensormodule wat ek gekry het uit hierdie goedkoop 37 sensorset
  3. 3 vroulike-vroulike springdrade

Stap 2: Koppel die DHT11 aan die NodeMCU ESP8266 -module

Koppel die DHT11 aan die NodeMCU ESP8266 -module
Koppel die DHT11 aan die NodeMCU ESP8266 -module
Koppel die DHT11 aan die NodeMCU ESP8266 -module
Koppel die DHT11 aan die NodeMCU ESP8266 -module
Koppel die DHT11 aan die NodeMCU ESP8266 -module
Koppel die DHT11 aan die NodeMCU ESP8266 -module
  1. Koppel die krag (rooi draad), grond (swart draad) en data (grys draad) aan die DHT11 -module (prent 1 toon 2 verskillende tipes DHT11 -sensormodules. Soos u kan sien, kan die penne verskil, dus versigtig!)
  2. Koppel die ander kant van die gronddraad (swart draad) aan die grondpen van die ESP8266 -module (prent 2)
  3. Koppel die ander kant van die kragdraad (rooi draad) aan die 3.3V -kragpen van die ESP8266 -module (prent 2)
  4. Koppel die ander kant van die datadraad (grys draad) aan die digitale pen 2 van die ESP8266 -module (prent 3)
  5. Foto 4 toon waar die grond, 3.3V krag en digitale 2 penne van die NodeMCU 0.9 is

Stap 3: Begin Visuino en kies die tipe ESP8266 -bord

Begin Visuino en kies die ESP8266 -bordtipe
Begin Visuino en kies die ESP8266 -bordtipe
Begin Visuino en kies die ESP8266 -bordtipe
Begin Visuino en kies die ESP8266 -bordtipe

Om die Arduino te begin programmeer, moet u die Arduino IDE van hier af laat installeer:

Hou in gedagte dat daar 'n paar kritieke foute in Arduino IDE 1.6.6 is

Maak seker dat u 1.6.7 of hoër installeer, anders werk hierdie instruksie nie!

As u dit nog nie gedoen het nie, volg die stappe in hierdie instruksie om die Arduino IDE op te stel om ESP 8266 te programmeer

Die Visuino: https://www.visuino.com moet ook geïnstalleer word.

  1. Begin Visuinoas wat in die eerste prentjie getoon word
  2. Klik op die knoppie "Tools" op die Arduino -komponent (prent 1) in Visuino
  3. As die dialoog verskyn, kies "NodeMCU ESP-12" soos op prent 2 getoon

Stap 4: In Visuino: Stel 'n gasheernaam en toegangspunt in

In Visuino: Stel 'n gasheernaam en toegangspunt in
In Visuino: Stel 'n gasheernaam en toegangspunt in
In Visuino: Stel 'n gasheernaam en toegangspunt in
In Visuino: Stel 'n gasheernaam en toegangspunt in
In Visuino: Stel 'n gasheernaam en toegangspunt in
In Visuino: Stel 'n gasheernaam en toegangspunt in
In Visuino: Stel 'n gasheernaam en toegangspunt in
In Visuino: Stel 'n gasheernaam en toegangspunt in

Eerstens moet ons die module instel om aan te sluit op die bestaande toegangspunt en HostName daaraan toe te ken sodat ons dit op die netwerk kan ontdek.

  1. Brei in die Object Inspector die eiendom "Modules" uit, dan die sub -eiendom "WiFi"
  2. Stel die waarde van die "HostName" -eienskappe in die Object Inspector op "dht11server" (prent 1)
  3. Brei in die Object Inspector die sub -eienskap "AccessPoints" van die "WiFi" uit en klik op die "…" knoppie langs die waarde daarvan (prent 2)
  4. Kies in die "AccessPoins" -redakteur "WiFi Access Point" in die regter aansig en klik dan op die "+" knoppie aan die linkerkant om die toegangspunt by te voeg (prent 2)
  5. Stel in die Object Inspector die waarde van die "SSID" -eienskappe op die SSID van u Wi-Fi-hotspot (toegangspunt) (prent 4)
  6. As u Wi-Fi-hotspot (toegangspunt) 'n wagwoord benodig, stel die wagwoord in die waarde van die eiendom "Wagwoord" in die objekinspekteur (prent 4)
  7. Maak die dialoog "AccessPoints" toe

Stap 5: In Visuino: Voeg 'n TCP/IP -bedienersok vir die kommunikasie by

In Visuino: Voeg 'n TCP/IP -bedienersok vir die kommunikasie by
In Visuino: Voeg 'n TCP/IP -bedienersok vir die kommunikasie by
In Visuino: Voeg 'n TCP/IP -bedienersok vir die kommunikasie by
In Visuino: Voeg 'n TCP/IP -bedienersok vir die kommunikasie by
In Visuino: Voeg 'n TCP/IP -bedienersok vir die kommunikasie by
In Visuino: Voeg 'n TCP/IP -bedienersok vir die kommunikasie by

Vervolgens moet ons 'n TCP/IP Server -aansluiting vir die kommunikasie byvoeg.

  1. Klik in die Object Inspector op die '…' knoppie langs die waarde van die 'Sockets' sub -eiendom van die WiFi (prent 1)
  2. Kies 'TCP/IP Server' in die Sockets -redakteur en klik dan op die '+' knoppie (prent 2) om een by te voeg (prent 3)
  3. Maak die dialoog "Sockets" toe

Stap 6: In Visuino: Voeg DTH11 en geformateerde tekskomponent by met 2 analoog kanale

In Visuino: Voeg DTH11 en geformateerde tekskomponent by met 2 analoog kanale
In Visuino: Voeg DTH11 en geformateerde tekskomponent by met 2 analoog kanale
In Visuino: Voeg DTH11 en geformateerde tekskomponent by met 2 analoog kanale
In Visuino: Voeg DTH11 en geformateerde tekskomponent by met 2 analoog kanale
In Visuino: Voeg DTH11 en geformateerde tekskomponent by met 2 analoog kanale
In Visuino: Voeg DTH11 en geformateerde tekskomponent by met 2 analoog kanale

Om die temperatuur en humiditeit van die DHT11 te beheer en te lees, moet ons 'n komponent daarvoor in Visuino byvoeg.

Ons moet ook die webblad uit die data genereer. Die bladsy is slegs 'n HTML -teksdokument, sodat ons die geformateerde teks -komponent kan gebruik om dit te genereer.

  1. Tik "dht" in die filterkas van die komponentgereedskap en kies dan die komponent "Humiditeits- en termometer DHT11/21/22/AM2301" (prent 1) en laat dit in die ontwerparea val.
  2. Tik "vorm" in die filterkassie van die komponentgereedskap, kies dan die "Opgemaakte teks" -komponent (prent 2) en laat dit in die ontwerparea val
  3. Klik op die knoppie "Tools" van die komponent FormattedText1 (prent 3)
  4. Kies in die Elements -redakteur die analoog element aan die regterkant en klik 2 keer op die "+" - knoppie aan die linkerkant (prent 4) om 2 daarvan by te voeg (prent 5)
  5. Sluit die redakteur "Elements"

Stap 7: In Visuino: Stel geformateerde teks in vir die bedienerreaksie

In Visuino: Stel geformateerde teks in vir die bedienerreaksie
In Visuino: Stel geformateerde teks in vir die bedienerreaksie
In Visuino: Stel geformateerde teks in vir die bedienerreaksie
In Visuino: Stel geformateerde teks in vir die bedienerreaksie

Ons moet die HTML -teks spesifiseer wat gegenereer sal word wanneer 'n webkliënt met die bediener verbind word.

Ons sal die verbinding spesifiseer om te sluit nadat die data wat ek gestuur het, en ons sal die blaaier ook opdrag gee om weer na 5 sekondes weer aan te sluit (Refresh) deur 'Refresh: 5' by die dokument te voeg. Op hierdie manier sal die webblad elke 5 sekondes verfris.

  1. Kies in die ontwerpgebied die komponent FormattedText1 (prent 1)
  2. Kies in die Object Inspector die eienskap "Teks" en klik op die "…" knoppie langs die waarde daarvan (prent 1)
  3. Tik in die "Teks" -redakteur: "HTTP/1.1 200 OK" "Inhoudstipe: teks/html" "Verbinding: sluit" "Verfris: 5" "" """""""" Temperatuur: %0 "" Humiditeit: %1 "" "" "" (prent 2) Die %0 word vervang met die waarde van AnalogElement1, en %1 word vervang met die waarde van AnalogElement2
  4. Klik op die OK -knoppie om die dialoog te sluit

Stap 8: Koppel die DHT11 -komponent in Visuino

In Visuino: Koppel die DHT11 -komponent
In Visuino: Koppel die DHT11 -komponent
In Visuino: Koppel die DHT11 -komponent
In Visuino: Koppel die DHT11 -komponent
In Visuino: Koppel die DHT11 -komponent
In Visuino: Koppel die DHT11 -komponent
  1. Koppel die uitsetpen "Temperatuur" van die HumidityThermometer1 -komponent aan die "In" -pen van die AnalogElement1 van die FormattedText1 -komponent (prent 1)
  2. Koppel die "Humidity" -uitgangspen van die HumidityThermometer1 -komponent aan die "In" -pen van die AnalogElement2 van die FormattedText1 -komponent (prent 2)
  3. Koppel die "Sensor" -pen van die HumidityThermometer1 -komponent aan die "Digitale" invoerpen van die "Digitale [2]" kanaal van die Arduino -komponent (prent 3)

Stap 9: In Visuino: Voeg komponent van Edge Detect by en verbind dit

In Visuino: Voeg komponent van Edge Detect by en verbind dit
In Visuino: Voeg komponent van Edge Detect by en verbind dit
In Visuino: Voeg komponent van Edge Detect by en verbind dit
In Visuino: Voeg komponent van Edge Detect by en verbind dit
In Visuino: Voeg komponent van Edge Detect by en verbind dit
In Visuino: Voeg komponent van Edge Detect by en verbind dit
In Visuino: Voeg komponent van Edge Detect by en verbind dit
In Visuino: Voeg komponent van Edge Detect by en verbind dit

Ons moet die HTML -teks stuur elke keer as daar 'n nuwe verbinding is. Voordat ons stuur, moet ons 'n bietjie wag, aangesien die webblaaiers 'n versoek moet stuur voordat hulle die resultaat verwag. Om dit te kan doen, gebruik ons die vertragingskomponent wat gekoppel is aan die "Connected" -pen van die TCP/IP -bedieneraansluiting.

  1. Tik "vertraging" in die filterkassie van die komponentgereedskap, kies dan die "Vertraging" -komponent (prent 1) en laat dit in die ontwerparea val
  2. Stel die waarde van die "Interval (us)" -eienskappe in die Eienskappe in op 200000 (prent 2)
  3. Koppel die "Connected" -pen van die "Modules. WiFi. Sockets. TCPServer1" van die "NodeMCU ESP-12" -komponent aan die "In" -pen van die Delay1-komponent (prent 3)
  4. Koppel die "Out" -pen van die Delay1 -komponent aan die "Clock" -invoerpen van die FormattedText1 -komponent (prent 4)

Stap 10: In Visuino: Koppel die geformateerde tekskomponent en voeg by en koppel vertragingskomponent

In Visuino: Koppel die geformateerde tekskomponent en voeg by en verbind vertragingskomponent
In Visuino: Koppel die geformateerde tekskomponent en voeg by en verbind vertragingskomponent
In Visuino: Koppel die geformateerde tekskomponent, en voeg by en koppel vertragingskomponent
In Visuino: Koppel die geformateerde tekskomponent, en voeg by en koppel vertragingskomponent
In Visuino: Koppel die geformateerde tekskomponent en voeg by en verbind vertragingskomponent
In Visuino: Koppel die geformateerde tekskomponent en voeg by en verbind vertragingskomponent
In Visuino: Koppel die geformateerde tekskomponent en voeg by en verbind vertragingskomponent
In Visuino: Koppel die geformateerde tekskomponent en voeg by en verbind vertragingskomponent
  1. Koppel die "Out" -pen van die FormattedText1-komponent aan die "In" -pen van die "Modules. WiFi. Sockets. TCPServer1" van die "NodeMCU ESP-12" -komponent (prent 1)
  2. Tik 'vertraging' in die filterkassie van die komponentgereedskap, kies dan die 'Vertraging' -komponent (prent 2) en laat dit in die ontwerparea val
  3. Koppel die "Out" -pen van die FormattedText1 -komponent aan die "In" -pen van die Delay2 -komponent (prent 3)
  4. Koppel die "Out" -pen van die Delay2-komponent aan die "Disconnect" -invoerpen van die "Modules. WiFi. Sockets. TCPServer1" van die "NodeMCU ESP-12" -komponent (prent 4)

Die vertragingskomponent ontkoppel die aansluiting kort nadat die teks gestuur is.

Stap 11: Genereer, stel op en laai die Arduino -kode op

Genereer, stel op en laai die Arduino -kode op
Genereer, stel op en laai die Arduino -kode op
Genereer, stel op en laai die Arduino -kode op
Genereer, stel op en laai die Arduino -kode op
  1. Druk in Visuino F9 of klik op die knoppie op prent 1 om die Arduino -kode te genereer en maak die Arduino IDE oop
  2. Koppel die NodeMCU -module met 'n USB -kabel aan op die rekenaar
  3. Kies die bordtipe en die seriële poort soos ek u in hierdie instruksies getoon het
  4. Klik in die Arduino IDE op die oplaai -knoppie om die kode saam te stel en op te laai (prent 2)

Stap 12: En speel …

Image
Image
En speel …
En speel …

Baie geluk! U het 'n Wi-Fi-temperatuur- en humiditeitswebbediener gemaak.

Op prent 1 en in die video kan u die gekoppelde en aangeskrewe projek sien. Ek het 'n klein USB Power Bank gebruik om die module aan te dryf.

Maak seker dat u in die projek op stap 4 die korrekte SSID en wagwoord vir u Wi-Fi-hotspot ingevoer het

As u 'n webblaaier op u rekenaar of mobiele toestel oopmaak en tik:

dht11server./

En druk Enter, u sal die temperatuur en humiditeit wat deur die module gemeet word, sien. Die lesing word elke 5 sekondes verfris soos in stap 7 gespesifiseer.

Maak seker dat u die punt aan die einde van die naam byvoeg, anders kan Windows nie die domeinnaam oplos nie

Op prent 2 kan u die volledige Visuino -diagram sien.

Die Visuino -projek wat ek vir hierdie Instructable geskep het, is ook aangeheg. U kan dit aflaai en oopmaak in Visuino: