WiFi ESP8266 er et nyt trin i designet af hjemmeenheder med en trådløs grænseflade. ESP8266 "Witty Cloud" er i øjeblikket det mest succesrige WiFi-modul til hjemmelavede produkter og smarte hjem

ESP8266-chipsætmodulet er enkelt og billig måde tilføje funktioner til din enhed trådløs kommunikation via Wi-Fi.

Brug ESP8266 til at fjernstyre din enhed eller tage sensoraflæsninger over internettet. Tilslut din gadget til sociale netværk eller reagere på data, du modtager via API fra webtjenester.

Der er mange varianter i ESP8266-familien af ​​moduler. Det præsenterede modul er ESP-01. Hej M WiFi antenne er indbygget i brættet, og benene har desuden 2 gratis GPIO-porte.

Interaktion

Kontrolenheden kommunikerer med ESP8266 via UART (Seriel port) ved hjælp af et sæt AT-kommandoer. Derfor er det trivielt at arbejde med modulet for ethvert board med en UART-grænseflade: brug Arduino, Raspberry Pi, hvad end dit hjerte begærer.

At arbejde med at modtage og transmittere data ligner at interagere med en rå TCP-socket eller en computers serielle port.

Desuden kan modulet genoplades. Du kan programmere og uploade firmware gennem Arduino IDE, ligesom når du arbejder med Arduino. Svar på AT-kommandoer er simpelthen en funktion af den firmware, der er installeret på fabrikken. Og du kan skrive din egen, hvis projektet kræver det. For der er 2 I/O-porte på modulet generelle formål, kan du overhovedet undvære et styrekort: bare tilslut periferiudstyret direkte til dem.

For at Arduino IDE kan lære at flashe ESP8266, skal du blot tilføje mappen med platformskonfigurationen til mappen med dine skitser.

For en fysisk forbindelse, når du flasher firmwaren, skal du bruge en USB-UART-konverter eller et Arduino/Iskra-kort konfigureret i USB-brotilstand.

Ernæring

Modulets native spænding er 3,3 volt. Hans stifter tåler ikke 5 volt. Hvis du tilfører en spænding højere end 3,3 volt til strøm-, kommunikations- eller I/O-pinden, vil modulet svigte.

Brug derfor for at overføre data til modulet fra 5-volts styrekort til at bringe spændingen ind i det acceptable område. En divider af to modstande af samme værdi (for eksempel 10 kOhm) er egnet.

Der kræves ingen mellemmænd for at modtage data. Et 3,3 V signal, som det er, vil blive opfattet af styrekortet som en logisk enhed.

Forsyn modulet med en jævn strøm på 3,3 volt. Disse kan fås fra en separat spændingsregulator.

Modulet forbruger 220 mA peak. Spændingsregulatoren, der bruges på fem-volts Arduino-kort til 3,3V-pinden, er muligvis ikke nok. Vær opmærksom på specifikationerne for dit bord. For eksempel kan Arduino Uno og Arduino Leonardo ikke udsende mere end 50 mA fra 3,3V-pinden, så du skal bruge en ekstern regulator med dem; og Iskra Neo kan levere op til 800 mA, så den kan drive ESP8266 direkte fra kortet.

Pinout

På grund af placeringen af ​​benene tæt sammen i 2 rækker, kan modulet ikke installeres på et brødbræt. Brug et loddebræt eller ledninger med hunstik til at forbinde til modulbenene.

Blev varmt modtaget af Habra-samfundet. Til trods for at den indeholdt få specifikke oplysninger. Det var der en god grund til - den NDA, vi underskrev for at modtage SDK'et fra løsningsproducenten, Espressif. Det er derfor, vi blot sagde, "her er der sådan en løsning." Så interesserede har mulighed for at være opmærksomme.

Forleden dag vi (COOLRF-projektet, glem det ikke abonner på vores VKontakte-fællesskab, hvis du ikke allerede er medlem) har modtaget tilladelse fra chipproducenten til at offentliggøre oplysninger i vores artikler, som tidligere var underlagt vilkårene i en tavshedspligt. Alle der var interesserede i detaljerne er velkomne under kat.

Typiske anvendelsestilfælde

ESP8266 er designet til brug i smarte stikkontakter, mesh-netværk, IP-kameraer, trådløse sensorer, bærbar elektronik og så videre. Kort sagt, ESP8266 blev født til at blive hjernen i det kommende Internet of Things.

Der er to muligheder for at bruge chippen: 1) i form af en UART-WIFI-bro, når et ESP8266-baseret modul tilsluttes til eksisterende løsning baseret på enhver anden mikrocontroller og styret af AT-kommandoer, hvilket sikrer, at løsningen kommunikerer med Wi-Fi-infrastrukturen; 2) implementering af en ny løsning, der bruger selve ESP8266-chippen som en kontrolmikrocontroller.

Det første scenarie blev kort beskrevet i vores sidste artikel. Det er implementeret ved hjælp af et hvilket som helst af de billige kinesiske ESP8266-moduler. Velegnet til Arduino-elskere og dem, der allerede har i hænderne færdiglavede skemaer og debugged firmware baseret på noget af deres eget, højt elskede.

Den anden version af scenariet involverer at skrive brugerdefineret firmware til at styre chippen indefra. I dette øjeblik Firmwaren skal være skrevet til en proprietær compiler. Det er i bund og grund det, kravene til hemmeligholdelse af oplysninger omkring denne beslutning er relateret til. Inden for en overskuelig fremtid planlægger producenten at skifte til at bruge GCC, og disse begrænsninger vil blive ophævet.

Scenariet med at bruge chippen som en kontrolmikrocontroller er interessant, fordi det giver dig mulighed for at skabe enheder, der er virkelig små og virkelig holder længe på batterier. For at arbejde med ydre enheder har ESP8266 alle de nødvendige funktioner.

Nøglefunktioner

ESP8266-chippen er en af ​​de mest integrerede WiFi-løsninger, der findes. Inde i chippen passer en masse af alt det, der i konkurrerende løsninger ofte er en del af den eksterne trim:

Som følge heraf består en typisk spånsele kun af nogle få elementer. Færre elementer = mindre pris på komponenter, mindre omkostninger til lodning, mindre placeringsområde, mindre omkostninger printplade. Hvilket er fuldkommen bekræftet nuværende priser moduler baseret på helten i vores dagens anmeldelse.

Al denne integrerede styring styres af en udvidet version af Tensilicas L106 Diamond-serie 32-bit processor. Hvad er interessant indeni?

  • 802.11 b/g/n protokol
  • Wi-Fi Direct (P2P), soft-AP
  • Integreret TCP/IP protokolstak
  • Integreret TR switch, balun, LNA, effektforstærker og matchende netværk
  • Integreret PLL, regulatorer og strømstyringsenheder
  • +20,5 dBm udgangseffekt i 802.11b-tilstand
  • Understøtter antennediversitet
  • Sluk for lækstrøm på< 10uA
  • SDIO 2.0, SPI, UART
  • STBC, 1x1 MIMO, 2x1 MIMO
  • A-MPDU & A-MSDU aggregering & 0,4μs vagtinterval
  • Vågn op og send pakker ind< 22ms
  • Standby strømforbrug< 1.0mW (DTIM3)

Ultra Low Power teknologi

Energiforbruget er et af de største vigtige egenskaber løsning, der hævder at blive hjernen i milliarder af Internet of Things-enheder. Hvad er årsagen til populariteten af ​​BLE og forskellige proprietære radiogrænsefladeimplementeringer? Når alt kommer til alt, i sidste ende stræber alle enheder baseret på disse implementeringer stadig efter at komme ind almindelig Wi-Fi ved hjælp af specielle broanordninger.

Hemmeligheden er enkel - det er svært at skabe en enhed, der er tilsluttet WiFi, der kører på batteri i tilstrækkelig tid. Forbrugerne er ikke klar til at skifte batterier i sensorer hver anden til tredje måned. Derfor skulle "adgang til netværket" gives af broer forbundet med konstant elektricitet. ESP8266 burde løse dette problem. Wi-Fi kan nu bruges selv i stand-alone sensorer, der kører på små batterier. Takket være brugen af ​​avancerede energistyringsmekanismer er løsningen.

Tager du et hurtigt kig på chippens forbrugsegenskaber, kan du blive efterladt i mørket. 215mA i sendetilstand - ikke noget særligt? Ja, men når du har læst dataarket, begynder du at forstå mulighederne for løsningen. ESP8266 bruger omkring 60uA i dyb dvaletilstand (med realtidsur kørende) og mindre end 1,0mA (DTIM=3) eller mindre end 0,5mA (DTIM=10) i tilstanden til at opretholde forbindelsen med et Wi-Fi-adgangspunkt.

ESP8266-chippen er et af de mest populære værktøjer til at organisere trådløs kommunikation i projekter smart hjem. Ved hjælp af trådløs controller du kan organisere kommunikation via WiFi-grænsefladen, hvilket giver Arduino projekter Internetadgang og mulighed for fjernbetjening og dataindsamling. Sådanne populære boards som WeMos og NodeMcu, samt stor mængde hjemmelavede projekter. I denne artikel vil vi finde ud af, hvad ESP82266 er, hvad dens varianter er, og hvordan man arbejder med ESP8266 i Arduino IDE.

ESP8266 er en mikrocontroller med et WiFi-interface, der har evnen til at udføre programmer fra flash-hukommelse. Enheden blev udgivet i 2014 kinesisk virksomhed Espressif og blev næsten straks populær.

Controlleren er billig, har et lille antal eksterne elementer og har følgende tekniske parametre:

  • Bakker op Wi-Fi protokoller 802.11 b/g/n med WEP, WPA, WPA2;
  • Har 14 input og output porte, SPI, I2C, UART, 10-bit ADC;
  • Bakker op ekstern hukommelse op til 16 MB;
  • Påkrævet strømforsyning er fra 2,2 til 3,6 V, strømforbrug er op til 300 mA, afhængigt af den valgte tilstand.

En vigtig funktion er fraværet af brugerens ikke-flygtige hukommelse på chippen. Programmet udføres fra en ekstern SPI ROM vha dynamisk belastning nødvendige programelementer. Adgang til de interne ydre enheder kan ikke opnås fra dokumentationen, men fra API'et for et sæt biblioteker. Producenten angiver den omtrentlige mængde RAM - 50 kB.

Funktioner på ESP8266-kortet:

  • Praktisk tilslutning til en computer – via USB-kabel, mad fra det;
  • Tilgængelighed af indbygget 3,3V spændingsomformer;
  • Tilgængelighed af 4 MB flashhukommelse;
  • Indbyggede knapper til genstart og blinkning;
  • Alle porte føres ind på brættet ved hjælp af to kamme med en stigning på 2,5 mm.

Anvendelsesområder for ESP8266-modulet

  • Automatisering;
  • Forskellige smarthussystemer: Trådløs kontrol, trådløse stikkontakter, temperaturkontrol, tilføjelse til alarmsystemer;
  • Mobil elektronik;
  • Tag ID;
  • Legetøj til børn;
  • Mesh-netværk.

esp8266 pinout

Der er et stort antal varianter af ESP8266-modulet. Figuren viser nogle af dem. Den mest populære mulighed er ESP 01.

Udførelsen af ​​programmet skal bestemmes af GPIO0-, GPIO2- og GPIO15-portenes tilstand, når strømforsyningen slutter. Der er 2 vigtigt regime– når koden udføres fra UART (GPIO0 = 0, GPIO2 = 1 og GPIO15 = 0) for at flashe flashkortet, og når den udføres fra ekstern ROM (GPIO0 = 1, GPIO2 = 1 og GPIO15 = 0) i normal tilstand.

Pinouten til ESP01 er vist på billedet.

Kontaktbeskrivelse:

  • 1 – jord, 8 – strøm. Ifølge dokumentationen leveres spændingen op til 3,6 V - det er vigtigt at tage højde for, når man arbejder med Arduino, som normalt forsynes med 5 V.
  • 6 – RST, nødvendig for at genstarte mikrocontrolleren, når der anvendes et lavt logisk niveau på den.
  • 4 – CP_PD, bruges også til at sætte enheden i energibesparende tilstand.
  • 7 og 0 – RXD0 og TXD0, dette er en hardware-UART, der kræves for at flashe modulet.
  • 2 – TXD0 er der tilsluttet en LED til denne pin, som lyser, når det logiske niveau på GPIO1 er lavt, og når data transmitteres via UART.
  • 5 – GPIO0, input og output port, giver dig også mulighed for at sætte enheden i programmeringstilstand (når porten er forbundet til et lavt logisk niveau og spænding påføres).
  • 3 – GPIO2, input og output port.

ESP-12 pinout

De vigtigste forskelle mellem Arduino og ESP8266

  • ESP8266 har en større mængde flash-hukommelse, mens ESP8266 ikke har ikke-flygtig hukommelse;
  • ESP8266-processor er hurtigere end Arduino;
  • ESP8266 har Wi-Fi;
  • ESP8266 bruger mere strøm end Arduino;

Programmering af ESP8266 i Arduino IDE

Udviklingssættet esp8266 indeholder:

  • Compiler fra GNU Compiler Collection.
  • Biblioteker, WiFi, TCP/IP protokol stakke.
  • Et middel til at indlæse information i controllerprogrammet.
  • Drift af IDE.

I første omgang leveres ESP8266-moduler med firmware fra producenten. Med dens hjælp kan du styre modulet fra en ekstern mikrocontroller og arbejde med Wi-Fi som modem. Der er også mange andre færdige firmwares. Nogle af dem giver dig mulighed for at konfigurere modulets drift ved hjælp af en WEB-grænseflade.

Kan programmeres fra Arduino miljø IDE. Med dens hjælp kan du nemt skrive skitser og uploade dem til ESP8266, flashe ESP8266 og ikke kræve selve Arduino-kortet. Arduino IDE understøtter alle slags ESP8266-moduler.

I i øjeblikket Følgende funktioner kan implementeres for ESP8266:

  • Grundlæggende funktioner i Wiring-sproget. Du kan styre GPIO-portene på samme måde som stifterne på Arduino-kortet: pinMode, digitalRead, digitalWrite, analogWrite. AnalogRead(A0)-kommandoen giver dig mulighed for at læse ADC-værdier. Ved at bruge kommandoen analogWrite (pin, værdi) kan du tilslutte PWM til den rigtige udgang GPIO. Når værdi=0 PWM er deaktiveret, maksimal værdi når en konstant lig med 1023. Ved at bruge funktionerne attachInterrupt og detachInterrupt kan du afbryde på enhver GPIO-port undtagen 16.
  • Timing og forsinkelse. Ved at bruge millis og micros kommandoerne kan du returnere de ms og μs, der er gået siden starten. Forsinkelse giver dig mulighed for at sætte programmets udførelse på pause rigtig tid. Forsinkelsesfunktionen (…) giver dig også mulighed for at understøtte normalt arbejde Wi-Fi, hvis det findes i skitsen store elementer, som tager mere end 50 ms at fuldføre. Yield() er en analog til funktionen delay(0).
  • Seriel og Seriel1 (UART0 og UART1). Seriearbejde på ESP8266 ligner arbejdet på Arduino. Skrivning og læsning af data blokerer kodeudførelse, hvis 128-byte FIFO og 256-byte softwarebufferen er fyldt. Det serielle objekt bruger hardware UART0, du kan indstille benene GPIO15 (TX) og GPIO13 (RX) til det i stedet for GPIO1(TX) og GPIO3(RX). For at gøre dette, efter Serial.begin(); du skal kalde Serial.swap();. På samme måde bruger Serial1 UART1, som fungerer til transmission. Den nødvendige pin til dette er GPIO2.
  • Makro PROGEM. Dens drift ligner Arduinos. Giver dig mulighed for at bevæge dig læse data kun og strengkonstanter i flashhukommelsen. Samtidig gemmer ESP8266 ikke de samme konstanter, hvilket fører til yderligere spild af flashhukommelse.
  • I2C. Før du arbejder med I2C-bussen, vælges busserne ved hjælp af Wire.pins(int sda, int scl)-funktionen.
  • SPI, OneWire – fuldt understøttet.

Bruger esp8266 til at kommunikere med Arduino over WiFi

Inden du tilslutter til Arduino, er det vigtigt at huske, at forsyningsspændingen på ESP8266 ikke kan være højere end 3,6, mens spændingen på Arduino er 5 V. Du skal tilslutte 2 mikrocontrollere ved hjælp af resistive dividers. Før du tilslutter modulet, skal du gøre dig bekendt med pinout'en på den valgte ESP8266. Tilslutningsdiagrammet for ESP8266-01 er vist på figuren.

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

Til støtte stabil drift ESP8266 har brug for kilde DC spænding ved 3,3 V og maksimal strøm 250 mA. Hvis maden kommer fra USB-TTL konverter, kan der opstå funktionsfejl og funktionsfejl.

At arbejde med Wi-Fi-biblioteket til ESP8266 svarer til biblioteket for et almindeligt skjold. Der er flere funktioner:

  • mode(m) – for at vælge en af ​​tre tilstande: klient, adgangspunkt eller begge tilstande på samme tid.
  • softAP(ssid) – nødvendig for at oprette et åbent adgangspunkt.
  • softAP(ssid, password) – opretter et adgangspunkt med en adgangskode, som skal bestå af mindst 8 tegn.
  • WiFi.macAddress(mac) og WiFi.softAPmacAddress(mac) – definerer MAC-adressen.
  • WiFi.localIP() og WiFi.softAPIP() – bestemmer IP-adressen.
  • printDiag(Serial); – giver dig mulighed for at finde ud af diagnostiske data.
  • WiFiUDP – understøttelse af afsendelse og modtagelse af multicast-pakker i klienttilstand.

Arbejdet udføres i henhold til følgende algoritme:

  • Tilslutning af USB-TTL til USB og til ESP.
  • Lancering af Arduino IDE.
  • Vælg værktøjer fra menuen ønsket port, board, frekvens og størrelse af flash-hukommelse.
  • Fil - Eksempler - ESP8266WiFi - WiFiWebServer.
  • Skriv SSID og adgangskode til Wi-Fi-netværket ned i skitsen.
  • Begynd at kompilere og uploade kode.
  • Vent på, at firmwareprocessen er færdig, afbryd GPIO0 fra jorden.
  • Indstil hastigheden til 115200.
  • Der opstår en forbindelse, og IP-adressen vil blive registreret.
  • Åbn browseren, indtast adresse bar IP-nummer/gpio/1
  • Se på portmonitoren; hvis en LED er tilsluttet GPIO2-udgangen, bør den lyse.

NodeMCU baseret på esp8266

NodeMCU er en platform baseret på esp8266 modulet. Bruges til at fjernstyre kredsløbet ved hjælp af internettet via Wi-Fi. Boardet er lille, kompakt, billigt og har et USB-stik på forsiden. Tæt på er knapper til fejlfinding og genstart af mikrocontrolleren. En ESP8266-chip er også installeret. Forsyningsspændingen er fra 5 til 12 V, det er tilrådeligt at forsyne mere end 10 V.

Boardets store fordel er dets lave strømforbrug. De bruges ofte i ordninger med selvdrevet. Der er kun 11 generelle porte på tavlen, hvoraf nogle har specielle funktioner:

  • D1 og D2 – til I2C/TWI-interface;
  • D5-D8 - til SPI-grænseflade;
  • D9, D10 – for UART;
  • D1-D10 – kan fungere som PWM.

Platformen har en moderne API til hardware input og output. Dette giver dig mulighed for at reducere antallet af trin, når du arbejder med udstyr og ved opsætning af det. Ved hjælp af NodeMCU firmware kan du bruge det fulde arbejdspotentiale til hurtig udvikling enheder.

WeMos baseret på esp8266

WeMos er en anden type platform baseret på esp8266 mikrocontrolleren. Følgelig er der Wi-Fi modul, Arduino IDE understøttet, har et stik til ekstern antenne. Kortet har 11 digitale ind-/udgange, som (undtagen D0) understøtter interrupt/pwm/I2C/one-wire. Den maksimale forsyningsspænding når 3,3 V. Der er også et USB-stik på platformen. Analog indgang 1 med en maksimal spænding på 3,2V.

For at arbejde med modulet skal du installere CH340-driveren og konfigurere Arduino IDE til ESP8266. For at gøre dette skal du tilføje adressen http://arduino.esp8266.com/stable/package_esp8266com_index.json i indstillingsmenuen i linjen "ekstra link til bestyrelseschef".

Herefter skal du finde esp8266 by ESP8266-pakken og installere den. Derefter skal du vælge Wemos D1 R2 mikrocontroller fra værktøjsmenuen og skrive den ønskede skitse ned.

Konklusioner om ESP8266

Med boards baseret på ESP8266-chippen kan du tilføje funktioner til dine projekter. stort internet”, hvilket gør dem meget mere intelligente. Fjernbetjening, indsamling og analyse af data på serveren, stemmebehandling og arbejde med billeder - alt dette bliver tilgængeligt, når vi forbinder vores projekt via WiFi til internettet. I de følgende artikler vil vi se nærmere på, hvordan du kan programmere esp8266-baserede enheder, og også være opmærksom på så populære boards som WeMos og NodeMcu.


Miniature WiFi moduler ESP8266 er ret attraktive til smarte hjem og hjemmeautomatiseringssystemer. De kaldes også "NRF24L01-mordere."
Jeg bestilte mig selv senere modifikationer ESP07 og ESP12, som er forskellige mindre størrelser Og et stort antal afledte GPIO'er, som ikke kræver "hacks" for at bruge yderligere I/O-porte i dem.

Disse moduler er udviklet af et kinesisk firma

Specifikationer:

  • WI-FI: 802.11 b/g/n med WEP, WPA, WPA2.
  • Driftstilstande: Client (STA), Access Point (AP), Client+Access Point (STA+AP).
  • Forsyningsspænding 1,7...3,6 V.
  • Strømforbrug: op til 215mA afhængig af driftstilstand.
  • Antal GPIO'er: 16.
  • Flash-hukommelse størrelse 512kb.
  • Data RAM 80 kB
  • RAM instruktioner - 32 kb.
Om ændringer af ESP8266-moduler

Jeg bestilte modulerne i januar.
Pris - $3,78, - $4,24. Jeg købte den som belønning for at anmelde en artikel. Ankom på 31 dage i forseglede poser







ESP8266 ESP-07




ESP8266 ESP-12




At genoplive modulet tog ret lang tid
For at gøre dette skal du anvende 3,3V til det. Desuden virker stabilisatorerne til USB/UART-konvertere ikke dette modul efter strøm, så ekstern strøm er nødvendig.

RXD, TXD og GND er forbundet via til computeren.

Som et resultat samlede jeg følgende kredsløb på et brødbræt:

Her stødte jeg straks på følgende vanskelighed - stigningen af ​​hullerne på ESP07 er 2 mm, og ikke 2,5 som de pin-stik, der bruges i Arduino og andre steder.
Jeg skulle lodde ledninger til brødbrættet





Fik den straks frem Genstarts knap og en GPIO0-jumper til jord, som skifter modulet til firmware-downloadtilstand. Og jeg tændte for strømmen til modulet igennem

Derefter lancerede jeg CollTerm-programmet og modtog en modulinvitation med en hastighed på 9600.
AT+GMR-kommandoen returnerede 0020000904 ( SDK-version- 0020, AT-version - 0904)


For dem, der er for dovne, som mig, til at håndtere AT-kommandoer, er der et værktøj, der giver dig mulighed for at konfigurere alt dette.

Jeg lavede firmwaren. Fordi dette program virker kun med COM1-COM6, jeg var nødt til at ændre min COM33 fra USB/UART-konverter til COM6 i enhedshåndteringen.

Dernæst er det ikke svært at installere firmwaren: Åbn porten og tilslut. Hastigheden vælges automatisk. Det vigtigste er ikke at glemme at forbinde GPIO0 til jorden (jeg har en speciel jumper til dette). Hastigheden vælges automatisk. Nogle gange blev forbindelsen ikke etableret. Det hjalp at trykke på RESET-knappen under forbindelsen.



Nu kan du oprette forbindelse til modulet
I dette program kan du downloade ESP filer for LUA-fortolkeren skal du udføre både enkelte kommandoer og scripts for denne fortolker.


Jeg var i stand til at køre BMP180 tryk/temperatur-modulet tilsluttet GPIO2 og GPIO0

For at gøre dette downloadede jeg filen bmp180.lua fra de færdige moduler, der fulgte med firmwaren fra GITHUB
Og så blev init.lau-filen eksekveret, når ESP8266 starter
tmr.alarm(1, 5000, 1, function() print("ip: ",wifi.sta.getip()) bmp180 = require("bmp180") bmp180.init(4, 3) tmr.stop(1) -- alarm stop slut)

At køre programmet uden at forsinke timeren resulterede i en ufravigelig fejl.
Efter genstart, kode
bmp180.read(OSS) t = bmp180.getTemperature() p = bmp180.getPressure() -- temperatur i grader Celsius og Farenheit print("Temperature: "..(t/10).." C") -- tryk i forskellige enheder print("Tryk: "..(p * 75 / 10000).." mmHg")

Udlæs det aktuelle tryk og temperatur til konsollen.

Men jeg kunne ikke begynde at udstede disse parametre i webservertilstand. Det hele handler om mangel på hukommelse. Webserveren og BMP180 fungerede hver for sig, men sammen gik de ned
PANIK: ubeskyttet fejl i kald til Lua API ( fejl ved indlæsning modul "bmp180" fra filen "bmp180.lua": ikke nok hukommelse)
Eller stumper af LUA-kode faldt lige ned på konsollen.

Det var ikke muligt at modernisere i farten.

Min videre vej var at bygge min firmware på et proprietært SDK, som . Men det er en anden historie. Jeg vil bare sige, at firmwaren blev samlet uden problemer, men det var ikke muligt at starte den skæbnesvangre BMP180.

konklusioner

  • ESP8266-moduler er en meget billig løsning til opbygning af et smart hjemmenetværk og anden hjemmeautomatisering ved hjælp af WiFi
  • Disse moduler er ganske velegnede til at erstatte NRF24L01+ i forbindelse med Arduino og andre "populære" controllere.
  • For at fungere som en uafhængig controller har ESP8266 få ressourcer og ret rå firmware
  • Programmering af ESP-moduler er en ret arbejdskrævende proces, der kan være skræmmende for begyndere
  • Samlet set lover ESP8266 meget. Jeg vil vente på udviklingen af ​​firmware og udviklingsværktøjer, men indtil videre vil jeg bruge dem sammen med andre controllere (undtagen )))