Indholdsfortegnelse:

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

Video: ESP8266 og Python Communication For Noobs: 6 trin

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

Denne vejledning giver dig mulighed for at få alle data fra ESP8266 og kontrollere dem over python uden AT -kommandoer.

For begyndere er de fleste guider om brug af ESP8266 hårde, fordi de vil have dig til at blinke "AT COMMANDS" til chip, hvilket er:

  • Unødvendigt
  • Spildende hukommelse til ESP
  • Giver dig begrænset kontrol
  • Hårdt og udfordrende
  • Og ikke egnet til alle ESP8266 -moduler

Derfor skabte jeg et meget simpelt mDNS -kommunikationssystem, som kun styres med 3 enkle funktioner. Det giver dig også fuld kontrol.

Trin 1: Teori

Teori
Teori

Vores esp opretter forbindelse til vores wifi og opretter en localhost -server og begynder at vente på en anmodning. Hver gang vores python sender en anmodning til den lokale vært, kører esp den ønskede kode og returnerer derefter resultatet som en http -anmodning. Endelig læser python de returnerede data som http -anmodning, og tag disse variabler fra den. Med dette kan esp returnere strenge, datasæt og arrays. Python -kode forstår deres datatype.

Trin 2: Forberedelse af de påkrævede biblioteker

Forberedelse af de nødvendige biblioteker
Forberedelse af de nødvendige biblioteker

Først og fremmest skal du downloades ESP8266 -kortbiblioteket til arduino ide. Hvis du ikke ved hvordan, her er guiden.

Derefter skal du downloade mit mikrobibliotek herfra.

Når du har downloadet, er der i biblioteksmappen en fil kaldet "ESP_MICRO.h", kopier den til din kodningsmappe for det aktuelle arduino -projekt. Ja, kopier det ikke til arduinos biblioteker, det er et mikrobibliotek, så du kopierer det til mappen i dit nuværende arduino -projekt.

Så nu er vores krav opfyldt. Vi kan begynde at kode det.

Trin 3: Skrivning af en enkel anmodningskode

Skrivning af en enkel anmodningskode
Skrivning af en enkel anmodningskode

Når du åbner dit project.ino, vil du se to faner om arduino ide. Det ene er dit projekt, det andet er "ESP_MICRO.h" vores mikrobibliotek.

Nu har du den fem funktion i ESP_MICRO.h i din hovedkode, (funktionerne forklares i de første linjer i ESP_MICRO.h)

Her er en simpel variabel, der øger koden.

Arduino kode:

/* F5 TEST FOR ESP2PY

* Skrevet af Junicchi * https://github.com/KebabLord/esp_to_python * Det øges og returnerer en variabel, hver gang der kom en python -req */#include "ESP_MICRO.h" // Include the micro library int testvariable = 0; ugyldig opsætning () {Serial.begin (9600); // Start seriel port for at se detaljer starte ("BRUGERNAVN", "PASSORD"); // EnAIt opretter forbindelse til din wifi med givne detaljer} void loop () {waitUntilNewReq (); // Venter, indtil en ny anmodning fra python kommer/* øger indekset, når en ny anmodning kom*/testvariable += 1; returnThisInt (testvariable); // Returnerer dataene til python}

Trin 4: Upload

Uploader
Uploader

Programmering af Nodemcu ESP8266s tilslutter simpelthen usb og uploader skitsen fra arduino.

Men programmering af ESP8266-1 er sværere, der er to metoder til at programmere dem

Programmering af ESP gennem arduino

Hvis du har det godt med jumpere, kan du programmere det gennem arduino med dette kredsløb. Men på lang sigt er det smerte. Så jeg foreslår en anden metode.

Programmerer det med ESP -programmerer

Det er meget lettere og hurtigere. Det er kun 1 dollar, køb en og brug en programmerer usb.

Lær IP -adressen til ESP

Mens koden uploades, skal du åbne den serielle port, og du vil se, at detaljer udskrives, når uploaden er udført. Lær IP'en for esp og bemærk det. Husk, ESP's IP på lokal; ændres med wifi til wifi, ikke session til session, så når du lukker og åbner det senere, ændres det ikke.

Trin 5: Læsning og Python

Læsning og Python
Læsning og Python

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

rediger det, skift den femte linje med IP -adressen på esp -modulet, der blev udskrevet på den serielle port, og kør python -scriptet. I dette projekt brugte jeg python til at sende og læse anmodning. Men du kan også se rådataene med en browser, mens du sætter ip'en i ESP i en browser. Eller du kan lave et program for at læse det, eller du kan endda bruge et andet sprog. Styring af modulet over python forklares også i "ledControl" -projekt i mappen eksempler.

Trin 6: Afslutning

Afslutter
Afslutter

Alle funktioner og koder forklares i ESP_MICRO.h og i filen README.md.

Hvis dette projekt hjalp dig, kan du stjernemærke det originale projekt på github.

Anbefalede: