Inhoudsopgave:
- Stap 1: Wat is MicroPython?
- Stap 2: Vereisten
- Stap 3: Waarom op ESP8266 gebaseerd bord?
- Stap 4: Uw computer instellen
- Stap 5: MicroPython knipperen met Esptool.py
- Stap 6: De MicroPython REPL gebruiken met Rshell
- Stap 7: Pins bedienen met MicroPython
- Stap 8: De LED vervagen
- Stap 9: Waarheen?
- Stap 10: Conclusie
Video: Aan de slag met MicroPython op de ESP8266: 10 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Wilt u een andere manier om de ESP8266-gebaseerde boards te programmeren in plaats van de gebruikelijke methode met behulp van Arduino IDE samen met C/C++ programmeertaal?
In deze tutorial zullen we leren wie een ESP8266-bord moet configureren en besturen met behulp van MicroPython.
BOUWTIJD: 60 MINUTEN MOEILIJKHEID: BEOORDELING: Eenvoudig
Stap 1: Wat is MicroPython?
MicorPython is een van de vele programmeertalen die we kunnen gebruiken om de ESP8266-module te programmeren. Het is een slanke en snelle versie van de programmeertaal Python 3 en heeft verschillende voordelen ten opzichte van traditionele programmeertalen zoals C en C++.
MicroPython is ontworpen om zoveel mogelijk compatibel te zijn met normale Python. Het heeft een complete Python-compiler en runtime, en biedt een interactieve prompt die bekend staat als REPL (Read-Eval-Print Loop).
MicorPython is ontworpen om enkele verschillende soorten microcontrollers te ondersteunen. Maar voor deze tutorial ga ik met slechts één model werken: het ESP8266-gebaseerde bord (NodeMCU). Merk op dat er een paar verschillende boards zijn die je met dezelfde chip kunt kopen.
Lezen en bronnen:
MicroPython
KnooppuntMCU
Stap 2: Vereisten
Om deze tutorial te kunnen volgen, hoef je alleen maar basiscodeerervaring met Python te hebben. Je hoeft geen voorkennis te hebben van microcontrollers, elektronica of zelfs MicroPython.
U hebt ook een Windows-, Mac- of Linux-computer met een vrije USB-poort nodig, omdat u een microcontroller op uw computer aansluit om deze te programmeren.
Benodigde onderdelen:
1 x NodeMCU (of een ander op ESP8266 gebaseerd bord)
1 x rode 5 mm LED
1 x 220Ω 1/4W weerstand
1 x 10KΩ Roterende Potentiometer
1 x Breadboard
1 x USB naar MicroUSB-kabel
Jumper draden.
Stap 3: Waarom op ESP8266 gebaseerd bord?
Een manier om het meeste uit uw ESP8266 te halen, is door MicroPython te gebruiken. De ESP8266-module is ook een van de beste platforms om te leren hoe u MicroPython kunt gebruiken. Dit komt omdat de ESP8266 zowel eenvoudige GPIO-pinbesturingsfuncties als draadloze functionaliteit biedt, zodat u alle aspecten van de MicroPython-programmeertaal kunt testen.
De ESP8266-chip is populair in de open source ontwikkelingsindustrie. Er zijn veel ontwikkelborden van verschillende fabrikanten die de ESP8266-chip gebruiken. MicroPython is ontworpen om een generieke poort te bieden die op de meeste van deze boards kan draaien, met zo min mogelijk beperkingen. De poort is gebaseerd op het Adafruit Feather HUZZAH-bord. Als je andere ESP8266-borden gebruikt, zorg er dan voor dat je hun schema's en datasheets controleert, zodat je de verschillen tussen hen en het Adafruit Feather HUZZAH-bord kunt identificeren. Op die manier kunt u de verschillen in uw code opvangen.
Lezen en bronnen:
ESP8266
Adafruit Veer HUZZAH
Stap 4: Uw computer instellen
Er zijn verschillende dingen die u moet instellen voordat u MicroPython gebruikt om uw ESP8266-bord te programmeren. In deze stap zullen we het installatieproces doorlopen. Op deze manier weet u hoe u het ESP8266-bord moet configureren voor gebruik met MicroPython.
Klaar maken
Het enige dat u van stap tot stap 6 nodig hebt, is uw ESP8266 en een USB-kabel. Sluit uw ESP8266-bord aan op uw computer.
Hoe je dat doet…
STAP1: Apparaatstuurprogramma's installeren
Als u een Linux-computer hebt, hoeft u geen apparaatstuurprogramma's te installeren om de stuurprogramma's voor de microcontroller te laten herkennen. Maar als u een Mac- of een Windows-computer hebt, is een stuurprogramma nodig om de computer de microcontroller te laten herkennen als serieel apparaat.
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
STAP2: Python installeren
De tools die je gaat gebruiken om te communiceren met de ESP8266 zijn geschreven in Python, dus je moet Python op je computer installeren.
Als uw besturingssysteem geen voorverpakte Python biedt, kunt u naar https://python.org gaan om een officiële build voor elk van de ondersteunde besturingssystemen te downloaden.
STAP3: Installeer esptool en rshell
Installeer twee pakketten die u zullen helpen uw bord te beheren met pip. Open hiervoor uw terminal en voer. uit
pip install esptool rshell
STAP 4: Download MicroPython
Download de nieuwste MicroPython-firmware.bin via de volgende link:
Op het moment dat ik dit schrijf, is de huidige versie 1.11 en het firmwarebestand heet esp8266-20190529-v1.11.bin
Tegen de tijd dat u dit doet, vindt u mogelijk een nieuwere release.
Stap 5: MicroPython knipperen met Esptool.py
Voordat u een nieuwe firmware op het bord flasht, is het een goed idee om eerdere gegevens te wissen. Dit is iets dat u altijd moet doen, zodat de nieuwe firmware in een schone staat werkt.
Ga waar u het.bin-bestand hebt geplaatst. Gebruik esptool.py om de flitser te wissen.
Voor Linux:
esptool.py --port /dev/ttyUSB0 erase_flash
Voor ramen:
esptool.py --port COM3 erase_flash
Mogelijk moet u de seriële poort in uw opdracht wijzigen in de seriële poort waarop uw ESP8266-kaart is aangesloten. Als u het seriële poortnummer van uw ESP8266 niet weet, kunt u de Arduino IDE controleren. Open gewoon de IDE en klik vervolgens op Extra | Poorten. U zou de seriële poort van uw ESP8266-bord daar moeten zien staan. Vervang de seriële poort in het commando (/dev/ttyUSB0) door de seriële poort van je board.
Nu het bord volledig is gewist, kun je de MicroPython-build flashen die je zojuist hebt gedownload. Dit doe je ook met de opdracht esptool.py:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Met deze opdracht wordt de inhoud van het MicroPython.bin-bestand naar het bord op adres 0 geschreven.
Zorg ervoor dat u de naam van het firmware.bin-bestand in de opdracht (esp82688-2019-080529-v1.11.bin) wijzigt in die van de firmware die u hebt gedownload.
Zodra de firmware met succes op uw ESP8266-bord is geïnstalleerd, hebt u toegang tot REPL op uw bord via een bekabelde verbinding (UART-seriële poort) of via WiFi.
Stap 6: De MicroPython REPL gebruiken met Rshell
U bent nu klaar om MicroPython op uw ESP8266-bord te starten.
Wat ik je ga laten zien hoe je verbinding kunt maken met de Python-prompt die op je bord wordt uitgevoerd. Dit wordt de REPL genoemd, wat staat voor "Read-Eval-Print-Loop". Dit is de standaard Python-prompt die u waarschijnlijk gewend bent te zien wanneer u met de reguliere Python-interpreter werkt, maar deze keer zal deze op uw bord worden uitgevoerd en om ermee te communiceren, gebruikt u de seriële verbinding met uw computer. Klaar?
Om verbinding te maken met je board en een REPL-sessie te openen, voer je de volgende opdracht in:
rshell --port
Deze opdracht brengt je naar de rshell-prompt. Zie foto hierboven.
Als je deze tutorial op Windows volgt, houd er dan rekening mee dat rshell een geschiedenis van problemen heeft bij het draaien op Windows.
Dus om dat type te repareren:
rshell -a --poort COM3
Vanaf deze prompt kunt u beheertaken uitvoeren die verband houden met uw microcontroller-bord en ook een Python REPL starten die u kunt gebruiken om in realtime met het bord te communiceren. Voer dus gewoon de volgende opdracht in:
antwoord
Typ een eenvoudige Python-zin om te controleren of alles werkt:
print("Hallo wereld")
Stap 7: Pins bedienen met MicroPython
In deze stap leren we hoe we de ESP8266-pinnen kunnen bedienen met MicroPython. Om dat te doen, zullen we een opstelling bedenken waarbij we de status van de LED die is aangesloten op een GPIO-pin van het ESP8266-bord zullen veranderen. Dit zal u helpen begrijpen hoe u digitale uitgangen kunt bedienen met MicoPython.
Klaar maken
Je hebt de volgende dingen nodig om deze STAP te volbrengen:
1 x NodeMCU
1 x rode 5 mm LED
1 x 220 Weerstand
1 x Breadboard
Doorverbindingsdraden
de bouw
Begin met het monteren van de LED op het breadboard. Sluit het ene uiteinde van de 220 Ω-weerstand aan op de positieve poot van de LED (de positieve poot van een LED is meestal de hoogste van de twee poten). Sluit het andere uiteinde van de weerstand aan op pin D1 van het ESP8266-bord. Verbind vervolgens de negatieve poot van de LED met de GND-pin van de ESP8266-kaart. De aansluiting is zoals weergegeven in het bovenstaande schema.
Zodra de installatie is voltooid, sluit u het ESP8266-bord via een USB-kabel op uw computer aan.
Hoe je dat doet…
Typ de volgende code in uw REPL:
# knipperende LED elke 1 seconde
def blink(pin=5, time=1) # blink functie standaard pin=5, time=1s import machine # de machine module bevat de pin configuraties en modes van time import sleep # import sleep voor enige vertraging LED = machine. Pin (led_pin, machine. PIN. OUT) # configureer LED als OUTPUT terwijl True: # run forever LED.value(1) # stel LED in op HOOG slaap(tijd) # wacht standaard 1 seconde LED.value(0) # stel LED in naar LAGE slaap (tijd) # wacht standaard 1 seconde
Typ blink() in uw RPEL-sessie om deze code te testen. Hierdoor knippert de LED die is aangesloten op de GPIO5 elke 1 seconde.
U kunt de pincode en/of de tijd wijzigen door te bellen naar:
knipperen (pin=, tijd=)
Druk op ctrl+c om de actieve code af te sluiten.
U kunt MicroPython gebruiken om een ingang te lezen die is aangesloten op de ESP8266. Ga naar de volgende stap om te leren hoe u dat doet.
Check de video als je vastzit.
Stap 8: De LED vervagen
In deze stap leren we hoe we de helderheid van de LED kunnen aanpassen met behulp van een draaipotentiometer. We zullen een techniek gebruiken genaamd Pulse Width Modulation (PWM), waarmee we de LED kunnen dimmen met maximaal 256 instellingen.
Opmerking: alle pinnen van ESP8266 kunnen worden gebruikt als een PWM-pin behalve GPIO16 (D0).
Klaar maken:
Je hebt de volgende dingen nodig om deze STAP te volbrengen:
1 x NodeMCU
1 x rode 5 mm LED
1 x 50 KΩ Draaipotentiometer.
1 x Breadboard
Doorverbindingsdraden
de bouw
De aansluiting is zoals weergegeven in het bovenstaande diagram: Zodra de installatie is voltooid, sluit u het ESP8266-bord via een USB-kabel op uw computer aan.
Hoe je dat doet…
Typ de volgende code in uw REPL:
# Fading LED elke 0,5 door het lezen van gegevens van de Potentiometer
import machine van tijd import slaap led_pin = 5 # led pin POT = machine. ADC(0) # ADC0 pin LED = machine. Pin(led_pin) # maak LED-object LED_pwm = machine. PWM(LED, freq=500) # maak LED_pwm object en stel de frequentie in op 500Hz terwijl True: LED_pwm.duty(POT.read()) # haal de waarde uit de Pot en stel deze in op de duty cycle sleep (0.5) # wacht 0.5
Hierdoor verandert de helderheid van de LED die is aangesloten op GPIO 5 door de waarde van de potentiometer te wijzigen.
Druk op ctrl+c om de actieve code af te sluiten.
Check de video als je vastzit.
Stap 9: Waarheen?
Tot nu toe hebben we gezien hoe MicroPython op ESP8266-gebaseerde boards kan worden geconfigureerd en uitgevoerd. we leerden hoe we pinnen moesten besturen om een LED te laten knipperen, daarna voegden we een potentiometer toe om de helderheid van de LED te regelen met behulp van pulsbreedtemodulatietechniek.
Nu kunnen we gegevens van de sensor lezen en naar de cloud sturen, we kunnen ook een HTTP-server maken waar u onze gegevens op een eenvoudige webpagina kunt afdrukken, enz …
Dit geeft ons veel idee van Internet of Things (IoT).
Stap 10: Conclusie
Daar heb je het! Ga eropuit en verover de wereld van MicroPython.
als je vragen hebt kun je natuurlijk een reactie achterlaten.
Bezoek mijn YouTube-kanaal om meer over mijn werken te zien:
mijnYouTube
mijnGitHub
mijnLinkedin
Bedankt voor het lezen van deze instructable ^^ en een fijne dag verder.
Tot ziens.
Ahmed Nouira.
Aanbevolen:
Aan de slag met Ham Radio: 5 stappen (met afbeeldingen)
Aan de slag met Ham Radio: Als een onlangs geslagen ham-licentiehouder, wil ik het proces doorgeven dat ik heb gevolgd om in hamradio te komen. Ik werd verleid door het zelfredzaamheidsaspect van de hobby, mensen een manier geven om te communiceren wanneer andere methoden worden verstoord. Maar het is ook de moeite waard om
Aan de slag met de M5StickV AI + IOT-camera: 6 stappen (met afbeeldingen)
Aan de slag met de M5StickV AI + IOT-camera: kort overzicht De M5StickV is een kleine AI + IOT-camera met een diameter van bijna 2 munten. degelijke specificaties. De camera wordt aangedreven door ongelooflijke
Aan de slag met Python: 7 stappen (met afbeeldingen)
Aan de slag met Python: programmeren is geweldig! Het is creatief, leuk en het geeft je hersenen een mentale training. Velen van ons willen meer leren over programmeren, maar overtuigen onszelf ervan dat dat niet kan. Misschien heeft het te veel wiskunde, misschien schrikt het jargon dat eromheen wordt gegooid
Aan de slag met La COOL Board: 4 stappen (met afbeeldingen)
Aan de slag met La COOL Board: Inleiding"Toen we op het idee kwamen voor La COOL Board, stelde ik me een mix voor tussen een Arduino met wifi en een modulair agronomisch weerstation. Het moest heel weinig energie verbruiken voor autonome werking en ik wilde in staat zijn om de
Aan de slag met Arduino: wat u moet weten: 4 stappen (met afbeeldingen)
Aan de slag met Arduino: wat u moet weten: Ik werk al vele jaren met Arduino en elektronica en ben nog steeds aan het leren. In deze steeds groter wordende wereld van microcontrollers is het gemakkelijk om te verdwalen en rondjes te rennen om informatie te vinden. In deze Instructable