Innholdsfortegnelse:

ESP8266 og Python Communication For  Noobs: 6 trinn
ESP8266 og Python Communication For Noobs: 6 trinn

Video: ESP8266 og Python Communication For Noobs: 6 trinn

Video: ESP8266 og Python Communication For  Noobs: 6 trinn
Video: Controlling NodeMcu(esp8266) Through WIFI with Python | nodemcu wiyh python | Controlling a led 2024, November
Anonim
ESP8266 og Python Communication For Noobs
ESP8266 og Python Communication For Noobs

Denne guiden lar deg hente data fra ESP8266 og kontrollere den over python uten AT -kommandoer.

For nybegynnere er de fleste guidene om bruk av ESP8266 vanskelig, fordi de vil at du skal blinke “AT COMMANDS” til brikke, som er:

  • Unødvendig
  • Sløsing med minne om ESP
  • Gir deg begrenset kontroll
  • Hardt og utfordrende
  • Og ikke egnet for alle ESP8266 -moduler

Derfor opprettet jeg et veldig enkelt mDNS -kommunikasjonssystem som bare styres med 3 enkle funksjoner. Det gir deg også full kontroll.

Trinn 1: Teori

Teori
Teori

Espen vår kobler til wifi og oppretter en localhost -server og begynner å vente på en forespørsel. Hver gang pythonen vår sender en forespørsel til den lokale verten, kjører esp den ønskede koden og returnerer deretter resultatet som en http -forespørsel. Til slutt leser python de returnerte dataene som http -forespørsel, og hent variablene fra den. Med dette kan esp returnere strenger, data og matriser. Python -koden forstår datatypen deres.

Trinn 2: Forberede de nødvendige bibliotekene

Forbereder de nødvendige bibliotekene
Forbereder de nødvendige bibliotekene

Først av alt må du laste ned ESP8266 -kortbiblioteket til arduino ide. Hvis du ikke vet hvordan, her er guiden.

Etter det må du laste ned mikrobiblioteket mitt herfra.

Etter at du har lastet ned, er det i biblioteksmappen en fil som heter "ESP_MICRO.h", og kopierer den til kodemappen for det nåværende arduino -prosjektet. Ja, ikke kopier det til arduinos biblioteker, det er et mikrobibliotek, så du kan kopiere det til mappen til det nåværende arduino -prosjektet.

Så nå er våre krav tilfredsstilt. Vi kan begynne å kode det.

Trinn 3: Skrive en enkel forespørselskode

Skrive en enkel forespørselskode
Skrive en enkel forespørselskode

Når du åpner project.ino, vil du se to faner om arduino ide. Det ene er prosjektet ditt, det andre er "ESP_MICRO.h" vårt mikrobibliotek.

Nå har du den fem funksjonen i ESP_MICRO.h i hovedkoden, (funksjonene er forklart i de første linjene i ESP_MICRO.h)

Her er en enkel variabel som øker koden.

Arduino -kode:

/* F5 TEST FOR ESP2PY

* Skrevet av Junicchi * https://github.com/KebabLord/esp_to_python * Det bare øker og returnerer en variabel hver gang en python -req kom */#include "ESP_MICRO.h" // Inkluder mikrobiblioteket int testvariable = 0; ugyldig oppsett () {Serial.begin (9600); // Starter serieport for å se detaljer starte ("BRUKERNAVN", "PASSORD"); // EnAIt vil koble til wifi -en din med oppgitte detaljer} void loop () {waitUntilNewReq (); // Venter til en ny forespørsel fra python kommer/* øker indeksen når en ny forespørsel kom*/testvariabel += 1; returnThisInt (testvariabel); // Returnerer dataene til python}

Trinn 4: Last opp

Laster opp
Laster opp

Programmering av Nodemcu ESP8266s kobler ganske enkelt til usb og laster opp skissen fra arduino.

Men det er vanskeligere å programmere ESP8266-1, det er to metoder for å programmere dem

Programmering av ESP gjennom arduino

Hvis du har det bra med hoppere, kan du programmere den gjennom arduino med denne kretsen. Men på lang sikt er det smerte. Så jeg foreslår en annen metode.

Programmerer den med ESP -programmerer

Det er mye enklere og raskere. Det er bare 1 dollar, kjøp en og bruk en programmerer usb.

Lær IP -adressen til ESP

Mens koden lastes opp, åpner du den serielle porten. Du ser at detaljer skrives ut når opplastingen er ferdig. Lær IP -adressen til esp og merk det. Husk, ESPs IP på lokal; endres med wifi til wifi, ikke økt til økt, så når du lukker og åpner det senere, vil det ikke bli endret.

Trinn 5: Lesing og Python

Reading og Python
Reading og Python

I esp_to_python/biblioteket er det en "EXAMPLE_PYTHON_READER.py"

rediger den, endre den femte linjen med IP -adressen til esp -modulen som ble skrevet ut på seriell port og kjør python -skriptet. I dette prosjektet brukte jeg python til å sende og lese forespørsel. Men du kan også se rådata med en nettleser mens du limer ip -en til ESP i en nettleser. Eller du kan lage et program for å lese det, eller du kan til og med bruke et annet språk. Kontroll av modulen over python er også forklart i "ledControl" -prosjektet i eksempler -mappen.

Trinn 6: Avslutte

Avslutter
Avslutter

Alle funksjoner og koder forklares i ESP_MICRO.h og i README.md -filen.

Hvis dette prosjektet hjalp deg, kan du stjerne det opprinnelige prosjektet på github.

Anbefalt: