WiFi ESP8266 er et nytt steg i utformingen av hjemmeenheter med trådløst grensesnitt. ESP8266 "Witty Cloud" er for tiden den mest suksessrike WiFi-modulen for hjemmelagde produkter og smarte hjem

ESP8266 brikkesettmodulen er enkel og billig måte legge til funksjoner på enheten din trådløs kommunikasjon via Wi-Fi.

Bruk ESP8266 til å fjernstyre enheten din eller ta sensoravlesninger over Internett. Koble gadgeten til sosiale nettverk eller reagere på data du mottar via API fra nettjenester.

Det er mange varianter i ESP8266-modulfamilien. Den presenterte modulen er ESP-01. Ham WiFi-antenne er innebygd i brettet, og bena har i tillegg 2 gratis GPIO-porter.

Interaksjon

Kontrollenheten kommuniserer med ESP8266 via UART (seriell port) ved hjelp av et sett med AT-kommandoer. Derfor er det trivielt å jobbe med modulen for ethvert brett med et UART-grensesnitt: bruk Arduino, Raspberry Pi, hva du måtte ønske.

Å jobbe med å motta og overføre data ser ut som å samhandle med en rå TCP-kontakt eller en datamaskins seriell port.

Dessuten kan modulen reflaskes. Du kan programmere og laste opp fastvare gjennom Arduino IDE, akkurat som når du arbeider med Arduino. Respons på AT-kommandoer er ganske enkelt en funksjon av fastvaren som er installert på fabrikken. Og du kan skrive din egen hvis prosjektet krever det. Fordi det er 2 I/O-porter på modulen generelt formål, kan du klare deg uten kontrollkort i det hele tatt: bare koble periferiutstyret direkte til dem.

For at Arduino IDE skal lære å flashe ESP8266, legger du bare til katalogen med plattformkonfigurasjonen til mappen med skissene dine.

For en fysisk tilkobling når du flasher fastvaren, trenger du en USB-UART-konverter eller et Arduino/Iskra-kort konfigurert i USB-bromodus.

Ernæring

Den opprinnelige spenningen til modulen er 3,3 volt. Pinnene hans tåler ikke 5 volt. Hvis du tilfører en spenning høyere enn 3,3 volt til strøm-, kommunikasjons- eller I/O-pinnen, vil modulen svikte.

Derfor, for å overføre data til modulen fra 5-volts kontrollkort, bruk for å bringe spenningen inn i det akseptable området. En deler av to motstander med samme verdi (for eksempel 10 kOhm) er egnet.

Ingen mellomledd er nødvendig for å motta data. Et 3,3 V-signal som det er vil av styrekortet oppfattes som en logisk enhet.

Strøm modulen med jevne 3,3 volt. Disse kan fås fra en egen spenningsregulator.

Modulen bruker 220 mA topp. Spenningsregulatoren som brukes på fem-volts Arduino-kort for 3,3V-pinnen er kanskje ikke nok. Vær oppmerksom på spesifikasjonene til brettet ditt. For eksempel kan Arduino Uno og Arduino Leonardo ikke sende ut mer enn 50 mA fra 3,3V-pinnen, så du må bruke en ekstern regulator med dem; og Iskra Neo kan levere opptil 800 mA, slik at den kan drive ESP8266 direkte fra brettet.

Pinout

På grunn av plasseringen av bena tett sammen i 2 rader, kan modulen ikke installeres på et brødbrett. Bruk et loddebrett eller ledninger med hunnkoblinger for å koble til modulpinnene.

Ble hjertelig mottatt av Habra-samfunnet. Til tross for at den inneholdt lite spesifikk informasjon. Det var en god grunn til dette - NDA vi signerte for å motta SDK fra løsningsprodusenten, Espressif. Det er derfor vi ganske enkelt sa, "her, det er en slik løsning." Slik at interesserte har mulighet til å ta hensyn.

Forleden dag vi (COOLRF-prosjektet, ikke glem abonner på vårt VKontakte-fellesskap, hvis du ikke allerede er medlem) har mottatt tillatelse fra brikkeprodusenten til å publisere informasjon i artiklene våre som tidligere var underlagt vilkårene i en taushetserklæring. Alle som var interessert i detaljene er velkommen under kat.

Typiske brukstilfeller

ESP8266 er designet for bruk i smarte stikkontakter, mesh-nettverk, IP-kameraer, trådløse sensorer, bærbar elektronikk og så videre. Kort sagt, ESP8266 ble født til å bli hjernen til det kommende tingenes internett.

Det er to muligheter for bruk av brikken: 1) i form av en UART-WIFI-bro, når en ESP8266-basert modul kobles til eksisterende løsning basert på enhver annen mikrokontroller og kontrollert av AT-kommandoer, som sikrer at løsningen kommuniserer med Wi-Fi-infrastrukturen; 2) implementere en ny løsning som bruker selve ESP8266-brikken som en kontrollmikrokontroller.

Det første scenariet ble kort beskrevet i vår siste artikkel. Den er implementert ved å bruke en av de rimelige kinesiske ESP8266-modulene. Godt egnet for Arduino-elskere og de som allerede har i hendene ferdige skjemaer og feilsøkt firmware basert på noe av deres eget, høyt elskede.

Den andre versjonen av scenariet innebærer å skrive tilpasset fastvare for å kontrollere brikken fra innsiden. I dette øyeblikket Fastvaren må være skrevet for en proprietær kompilator. Det er i utgangspunktet dette kravene til taushetsplikt rundt dette vedtaket er knyttet til. I overskuelig fremtid planlegger produsenten å bytte til bruk av GCC, og disse begrensningene vil bli opphevet.

Scenariet med å bruke brikken som en kontrollmikrokontroller er interessant fordi den lar deg lage enheter som er veldig små og virkelig varer lenge på batterier. For å jobbe med eksterne enheter har ESP8266 alle nødvendige funksjoner.

Nøkkelegenskaper

ESP8266-brikken er en av de mest integrerte WiFi-løsningene som finnes. Inne i brikken passer en haug med alt som i konkurrerende løsninger ofte er en del av den eksterne trimmen:

Som et resultat består en typisk chip-sele av bare noen få elementer. Færre elementer = mindre pris på komponenter, mindre kostnad for lodding, mindre plasseringsområde, mindre kostnad trykt kretskort. Noe som er perfekt bekreftet gjeldende priser moduler basert på helten i dagens anmeldelse.

All denne integrerte administrasjonen styres av en utvidet versjon av Tensilicas L106 Diamond-serie 32-bits prosessor. Hva er interessant inni?

  • 802.11 b/g/n-protokoll
  • Wi-Fi Direct (P2P), myk AP
  • Integrert TCP/IP-protokollstabel
  • Integrert TR-switch, balun, LNA, effektforsterker og matchende nettverk
  • Integrerte PLL, regulatorer og strømstyringsenheter
  • +20,5dBm utgangseffekt i 802.11b-modus
  • Støtter antennediversitet
  • Slå av lekkasjestrøm på< 10uA
  • SDIO 2.0, SPI, UART
  • STBC, 1x1 MIMO, 2x1 MIMO
  • A-MPDU & A-MSDU aggregering & 0,4μs vaktintervall
  • Våkn opp og send pakker inn< 22ms
  • Standby strømforbruk< 1.0mW (DTIM3)

Ultra Low Power-teknologi

Energiforbruket er et av de største viktige egenskaper løsning som hevder å bli hjernen til milliarder av Internet of Things-enheter. Hva er årsaken til populariteten til BLE og ulike proprietære implementeringer av radiogrensesnitt? Tross alt, til slutt prøver alle enheter basert på disse implementeringene fortsatt å komme inn vanlig Wi-Fi ved hjelp av spesielle broenheter.

Hemmeligheten er enkel - det er vanskelig å lage en enhet koblet til WiFi som fungerer på batteristrøm i tilstrekkelig tid. Forbrukerne er ikke klare til å bytte batterier i sensorer annenhver til tredje måned. Derfor måtte "tilgang til nettverket" gis av broer koblet til konstant elektrisitet. ESP8266 burde løse dette problemet. Wi-Fi kan nå brukes selv i frittstående sensorer som kjører på små batterier. Takket være bruken av avanserte energistyringsmekanismer er løsningen.

Tar du en rask titt på brikkens forbruksegenskaper, kan du bli stående i mørket. 215mA i sendemodus - ikke noe spesielt? Ja, men når du har lest dataarket, begynner du å forstå utsiktene for løsningen. ESP8266 bruker omtrent 60uA i dyp dvalemodus (med sanntidsklokke i gang) og mindre enn 1,0mA (DTIM=3) eller mindre enn 0,5mA (DTIM=10) i modusen for å opprettholde forbindelse med et Wi-Fi-tilgangspunkt.

ESP8266-brikken er et av de mest populære verktøyene for å organisere trådløs kommunikasjon i prosjekter smart hjem. Ved bruk av trådløs kontroller du kan organisere kommunikasjon via WiFi-grensesnittet, gir Arduino-prosjekter Internett-tilgang og mulighet for fjernstyring og datainnsamling. Slike populære brett som WeMos og NodeMcu, samt stor mengde hjemmelagde prosjekter. I denne artikkelen vil vi finne ut hva ESP82266 er, hva dens varianter er, og hvordan du jobber med ESP8266 i Arduino IDE.

ESP8266 er en mikrokontroller med WiFi-grensesnitt som har muligheten til å kjøre programmer fra flashminne. Enheten ble utgitt i 2014 kinesisk selskap Espressif og ble nesten umiddelbart populær.

Kontrolleren er billig, har et lite antall ytre elementer og har følgende tekniske parametere:

  • Støtter Wi-Fi-protokoller 802.11 b/g/n med WEP, WPA, WPA2;
  • Har 14 inngangs- og utgangsporter, SPI, I2C, UART, 10-bits ADC;
  • Støtter eksternt minne opptil 16 MB;
  • Nødvendig strømforsyning er fra 2,2 til 3,6 V, strømforbruk er opptil 300 mA, avhengig av valgt modus.

En viktig funksjon er fraværet av brukerens ikke-flyktige minne på brikken. Programmet kjøres fra en ekstern SPI ROM ved hjelp av dynamisk lasting nødvendige programelementer. Tilgang til det interne periferiutstyret kan ikke fås fra dokumentasjonen, men fra API-en til et sett med biblioteker. Produsenten angir den omtrentlige mengden RAM - 50 kB.

Funksjoner på ESP8266-kortet:

  • Praktisk tilkobling til en datamaskin – via USB-kabel, mat fra det;
  • Tilgjengelighet av innebygd 3,3V spenningsomformer;
  • Tilgjengelighet av 4 MB flash-minne;
  • Innebygde knapper for omstart og blinking;
  • Alle porter føres inn på brettet ved hjelp av to kammer med en stigning på 2,5 mm.

Bruksområder for ESP8266-modulen

  • Automasjon;
  • Ulike smarthussystemer: Trådløs kontroll, trådløse stikkontakter, temperaturkontroll, tillegg til alarmsystemer;
  • Mobil elektronikk;
  • Tag-ID;
  • Leker for barn;
  • Mesh-nettverk.

esp8266 pinout

Det finnes et stort antall varianter av ESP8266-modulen. Figuren viser noen av dem. Det mest populære alternativet er ESP 01.

Utførelsen av programmet må bestemmes av tilstanden til GPIO0-, GPIO2- og GPIO15-portene når strømforsyningen slutter. Det er 2 viktig regime– når koden utføres fra UART (GPIO0 = 0, GPIO2 = 1 og GPIO15 = 0) for å flashe flash-kortet og når den utføres fra ekstern ROM (GPIO0 = 1, GPIO2 = 1 og GPIO15 = 0) i normal modus.

Pinouten for ESP01 er vist på bildet.

Kontaktbeskrivelse:

  • 1 – jord, 8 – kraft. I følge dokumentasjonen leveres spenningen opp til 3,6 V - dette er viktig å ta hensyn til når du arbeider med Arduino, som vanligvis leveres med 5 V.
  • 6 – RST, nødvendig for å starte mikrokontrolleren på nytt når et lavt logisk nivå brukes på den.
  • 4 – CP_PD, også brukt til å sette enheten i energisparemodus.
  • 7 og 0 – RXD0 og TXD0, dette er en maskinvare-UART som kreves for å blinke modulen.
  • 2 – TXD0, en LED er koblet til denne pinnen, som lyser når logikknivået på GPIO1 er lavt og når data overføres via UART.
  • 5 – GPIO0, inngangs- og utgangsport, lar deg også sette enheten i programmeringsmodus (når porten er koblet til et lavt logisk nivå og spenning tilføres).
  • 3 – GPIO2, inngangs- og utgangsport.

ESP-12 pinout

De viktigste forskjellene mellom Arduino og ESP8266

  • ESP8266 har en større mengde flash-minne, mens ESP8266 ikke har ikke-flyktig minne;
  • ESP8266-prosessoren er raskere enn Arduino;
  • ESP8266 har Wi-Fi;
  • ESP8266 bruker mer strøm enn Arduino;

Programmering av ESP8266 i Arduino IDE

Utviklingssettet esp8266 inkluderer:

  • Kompiler fra GNU Compiler Collection.
  • Biblioteker, WiFi, TCP/IP-protokollstabler.
  • En måte å laste informasjon inn i kontrollprogrammet.
  • Operativ IDE.

I utgangspunktet leveres ESP8266-moduler med fastvare fra produsenten. Med dens hjelp kan du styre modulen fra en ekstern mikrokontroller og jobbe med Wi-Fi som modem. Det finnes også mange andre ferdige firmwares. Noen av dem lar deg konfigurere modulens drift ved hjelp av et WEB-grensesnitt.

Kan programmeres fra Arduino miljø IDE. Med dens hjelp kan du enkelt skrive skisser og laste dem opp til ESP8266, flashe ESP8266 og ikke kreve selve Arduino-brettet. Arduino IDE støtter alle typer ESP8266-moduler.

I for tiden Følgende funksjoner kan implementeres for ESP8266:

  • Grunnleggende funksjoner i Wiring-språket. Du kan kontrollere GPIO-portene på samme måte som pinnene på Arduino-kortet: pinMode, digitalRead, digitalWrite, analogWrite. AnalogRead(A0)-kommandoen lar deg lese ADC-verdier. Ved å bruke kommandoen analogWrite (pin, verdi) kan du koble PWM til høyre avkjørsel GPIO. Når verdi=0 PWM er deaktivert, maksimal verdi når en konstant lik 1023. Ved å bruke funksjonene attachInterrupt og detachInterrupt kan du avbryte på hvilken som helst GPIO-port bortsett fra 16.
  • Timing og forsinkelse. Ved å bruke millis og micros kommandoene kan du returnere ms og μs som har gått siden starten. Delay lar deg pause programkjøringen for riktig tid. Forsinkelsesfunksjonen (…) lar deg også støtte normalt arbeid Wi-Fi, hvis det finnes i skissen store elementer, som tar mer enn 50 ms å utføre. Yield() er en analog av delay(0)-funksjonen.
  • Seriell og Seriell1 (UART0 og UART1). Seriearbeid på ESP8266 ligner på arbeid på Arduino. Skriving og lesing av data blokkerer kodekjøring hvis 128-byte FIFO og 256-byte programvarebuffer er full. Serieobjektet bruker maskinvare UART0, du kan sette pinnene GPIO15 (TX) og GPIO13 (RX) for det i stedet for GPIO1(TX) og GPIO3(RX). For å gjøre dette, etter Serial.begin(); du må ringe Serial.swap();. På samme måte bruker Serial1 UART1, som fungerer for overføring. Nødvendig pin for dette er GPIO2.
  • Makro PROGEM. Operasjonen ligner på Arduino. Lar deg bevege deg lese data bare og strengkonstanter i flashminnet. Samtidig lagrer ikke ESP8266 de samme konstantene, noe som fører til ekstra sløsing med flashminne.
  • I2C. Før du arbeider med I2C-bussen, velges bussene ved hjelp av funksjonen Wire.pins(int sda, int scl).
  • SPI, OneWire – fullt støttet.

Bruker esp8266 for å kommunisere med Arduino over WiFi

Før du kobler til Arduino er det viktig å huske at forsyningsspenningen til ESP8266 ikke kan være høyere enn 3,6, mens på Arduino er spenningen 5 V. Du må koble til 2 mikrokontrollere ved hjelp av resistive delere. Før du kobler til modulen, må du gjøre deg kjent med pinouten til den valgte ESP8266. Koblingsskjemaet for ESP8266-01 er vist i figuren.

3,3 V fra Arduino til Vcc&CH_PD på ESP8266-modulen, Jord fra Arduino til jord fra ESP8266, 0 – TX, 1 – RX.

For støtte stabil drift ESP8266 trenger kilde DC spenning ved 3,3 V og maksimal strøm 250 mA. Hvis maten kommer fra USB-TTL-omformer, funksjonsfeil og funksjonsfeil kan oppstå.

Å jobbe med Wi-Fi-biblioteket for ESP8266 ligner på biblioteket for et vanlig skjold. Det er flere funksjoner:

  • modus(m) – for å velge en av tre moduser: klient, tilgangspunkt eller begge modusene samtidig.
  • softAP(ssid) – nødvendig for å opprette et åpent tilgangspunkt.
  • softAP(ssid, passord) – oppretter et tilgangspunkt med et passord, som må bestå av minst 8 tegn.
  • WiFi.macAddress(mac) og WiFi.softAPmacAddress(mac) – definerer MAC-adressen.
  • WiFi.localIP() og WiFi.softAPIP() – bestemmer IP-adressen.
  • printDiag(Serial); – lar deg finne ut diagnostiske data.
  • WiFiUDP – støtte for sending og mottak av multicast-pakker i klientmodus.

Arbeidet utføres i henhold til følgende algoritme:

  • Koble USB-TTL til USB og til ESP.
  • Lanserer Arduino IDE.
  • Velg verktøy fra menyen ønsket port, brett, frekvens og størrelse på flash-minne.
  • Fil - Eksempler - ESP8266WiFi - WiFiWebServer.
  • Skriv ned SSID og passord til Wi-Fi-nettverket i skissen.
  • Begynn å kompilere og laste opp kode.
  • Vent til fastvareprosessen er ferdig, koble GPIO0 fra jord.
  • Sett hastigheten til 115200.
  • En tilkobling vil oppstå og IP-adressen vil bli registrert.
  • Åpne nettleseren, skriv inn adressefeltet IP-nummer/gpio/1
  • Se på portmonitoren; hvis en LED er koblet til GPIO2-utgangen, skal den lyse.

NodeMCU basert på esp8266

NodeMCU er en plattform basert på esp8266-modulen. Brukes til å fjernstyre kretsen ved hjelp av Internett via Wi-Fi. Brettet er liten, kompakt, rimelig, og har en USB-kontakt på forsiden. I nærheten finner du knapper for feilsøking og omstart av mikrokontrolleren. En ESP8266-brikke er også installert. Forsyningsspenning er fra 5 til 12 V, det anbefales å forsyne mer enn 10 V.

Brettets store fordel er det lave strømforbruket. De brukes ofte i ordninger med selvdrevet. Det er bare 11 generelle porter på brettet, hvorav noen har spesielle funksjoner:

  • D1 og D2 – for I2C/TWI-grensesnitt;
  • D5-D8 - for SPI-grensesnitt;
  • D9, D10 – for UART;
  • D1-D10 – kan fungere som PWM.

Plattformen har et moderne API for hardware input og output. Dette lar deg redusere antall trinn når du arbeider med utstyr og når du setter det opp. Ved hjelp av NodeMCU-firmware kan du bruke det fulle arbeidspotensialet til rask utvikling enheter.

WeMos basert på esp8266

WeMos er en annen type plattform basert på esp8266-mikrokontrolleren. Følgelig er det Wi-Fi-modul, Arduino IDE støttet, har en kontakt for ekstern antenne. Brettet har 11 digitale innganger/utganger, som (unntatt D0) støtter interrupt/pwm/I2C/one-wire. Maksimal forsyningsspenning når 3,3 V. Det er også en USB-kontakt på plattformen. Analog inngang 1 med en maksimal spenning på 3,2V.

For å jobbe med modulen må du installere CH340-driveren og konfigurere Arduino IDE for ESP8266. For å gjøre dette må du legge til adressen http://arduino.esp8266.com/stable/package_esp8266com_index.json i innstillingsmenyen på linjen "ekstra lenke for styreleder".

Etter dette må du finne esp8266 by ESP8266-pakken og installere den. Deretter må du velge Wemos D1 R2 mikrokontroller fra verktøymenyen og skrive ned ønsket skisse.

Konklusjoner om ESP8266

Med kort basert på ESP8266-brikken kan du legge til muligheter til prosjektene dine. stort internett", noe som gjør dem mye mer intelligente. Fjernkontroll, samle og analysere data på serveren, stemmebehandling og arbeid med bilder - alt dette blir tilgjengelig når vi kobler prosjektet vårt via WiFi til Internett. I de følgende artiklene skal vi se nærmere på hvordan du kan programmere esp8266-baserte enheter, og også ta hensyn til populære brett som WeMos og NodeMcu.


Miniatyr WiFi-moduler ESP8266 er ganske attraktive for smarthus og hjemmeautomatiseringssystemer. De kalles også "NRF24L01-mordere."
Jeg bestilte selv senere modifikasjoner ESP07 og ESP12, som er forskjellige mindre størrelser Og et stort antall avledede GPIO-er, som ikke krever "hack" for å bruke ekstra I/O-porter i dem.

Disse modulene ble utviklet av et kinesisk selskap

Spesifikasjoner:

  • WI-FI: 802.11 b/g/n med WEP, WPA, WPA2.
  • Driftsmoduser: Klient (STA), Access Point (AP), Client+Access Point (STA+AP).
  • Forsyningsspenning 1,7...3,6 V.
  • Strømforbruk: opptil 215mA avhengig av driftsmodus.
  • Antall GPIOer: 16.
  • Flash-minne størrelse 512kb.
  • Data RAM 80 kB
  • RAM-instruksjoner - 32 kb.
Om modifikasjoner av ESP8266-moduler

Jeg bestilte modulene i januar.
Pris - $3,78, - $4,24. Jeg kjøpte den som en belønning for å ha gjennomgått en artikkel. Kom på 31 dager i forseglede poser







ESP8266 ESP-07




ESP8266 ESP-12




Å gjenopplive modulen tok ganske lang tid
For å gjøre dette, må du bruke 3,3V på den. Dessuten fungerer ikke stabilisatorene for USB/UART-omformere denne modulen i henhold til strøm, så ekstern strøm er nødvendig.

RXD, TXD og GND er koblet via til datamaskinen.

Som et resultat satte jeg sammen følgende krets på et brødbrett:

Her møtte jeg umiddelbart følgende vanskelighet - stigningen på hullene på ESP07 er 2 mm, og ikke 2,5 som pin-kontaktene som brukes i Arduino og andre steder.
Jeg måtte lodde ledninger til brødbrettet





Fikk den ut umiddelbart Nullstillknapp og en GPIO0-jumper til jord, som bytter modulen til fastvarenedlastingsmodus. Og jeg skrudde på strømmen til modulen gjennom

Etter det lanserte jeg CollTerm-programmet og mottok en modulinvitasjon med en hastighet på 9600.
AT+GMR-kommandoen returnerte 0020000904 ( SDK-versjon- 0020, AT-versjon - 0904)


For de som er for late, som meg, til å håndtere AT-kommandoer, finnes det et verktøy som lar deg konfigurere alt dette.

Jeg gjorde fastvaren. Fordi dette programmet fungerer bare med COM1-COM6, jeg måtte endre min COM33 fra USB/UART-konverter til COM6 i enhetsbehandlingen.

Deretter er det ikke vanskelig å installere fastvaren: åpne porten og koble til. Hastigheten velges automatisk. Det viktigste er ikke å glemme å koble GPIO0 til jord (jeg har en spesiell jumper for dette). Hastigheten velges automatisk. Noen ganger ble ikke forbindelsen opprettet. Det hjalp å trykke på RESET-knappen under tilkoblingen.



Nå kan du koble til modulen
I dette programmet kan du laste ned ESP filer for LUA-tolken, utfør både enkeltkommandoer og skript for denne tolken.


Jeg var i stand til å kjøre BMP180 trykk-/temperaturmodul koblet til GPIO2 og GPIO0

For å gjøre dette lastet jeg ned filen bmp180.lua fra de ferdige modulene som fulgte med fastvaren fra GITHUB
Og så kjøres init.lau-filen når ESP8266 starter opp
tmr.alarm(1, 5000, 1, function() print("ip: ",wifi.sta.getip()) bmp180 = require("bmp180") bmp180.init(4, 3) tmr.stop(1) -- alarm stopp slutt)

Å kjøre programmet uten å forsinke timeren resulterte i en ufravikelig feil.
Etter omstart, kode
bmp180.read(OSS) t = bmp180.getTemperature() p = bmp180.getPressure() -- temperatur i grader Celsius og Farenheit print("Temperature: "..(t/10).." C") -- trykk i forskjellige enheter print("Trykk: "..(p * 75 / 10000).." mmHg")

Send ut gjeldende trykk og temperatur til konsollen.

Men jeg klarte ikke å begynne å utstede disse parameterne i webservermodus. Alt handler om mangel på hukommelse. Nettserveren og BMP180 fungerte hver for seg, men sammen krasjet de
PANIC: ubeskyttet feil i kallet til Lua API ( feil ved innlasting modul "bmp180" fra filen "bmp180.lua": ikke nok hukommelse)
Eller biter av LUA-kode falt ned på konsollen.

Det var ikke mulig å modernisere i farten.

Min videre vei var å bygge fastvaren min på en proprietær SDK, som . Men det er en annen historie. Jeg vil bare si at fastvaren ble satt sammen uten problemer, men det var ikke mulig å lansere den skjebnesvangre BMP180.

konklusjoner

  • ESP8266-moduler er en veldig billig løsning for å bygge et smart hjemmenettverk og annen hjemmeautomatisering ved hjelp av WiFi
  • Disse modulene er ganske egnet for å erstatte NRF24L01+ i forbindelse med Arduino og andre "populære" kontrollere.
  • For å fungere som en uavhengig kontroller har ESP8266 få ressurser og ganske grov fastvare
  • Programmering av ESP-moduler er en ganske arbeidskrevende prosess som kan være skremmende for nybegynnere
  • Totalt sett har ESP8266 et godt løfte. Jeg vil vente på utviklingen av fastvare og utviklingsverktøy, men foreløpig vil jeg bruke dem sammen med andre kontrollere (unntatt )))