Obsah:

Začínáme s MicroPythonem na ESP8266: 10 kroků (s obrázky)
Začínáme s MicroPythonem na ESP8266: 10 kroků (s obrázky)

Video: Začínáme s MicroPythonem na ESP8266: 10 kroků (s obrázky)

Video: Začínáme s MicroPythonem na ESP8266: 10 kroků (s obrázky)
Video: Pražské PyVo #33: Topení v Pythonu - Aleš Zoulek 2024, Listopad
Anonim
Začínáme s MicroPythonem na ESP8266
Začínáme s MicroPythonem na ESP8266

Chcete jiný způsob programování desek založených na ESP8266 než běžnou metodu pomocí Arduino IDE spolu s programovacím jazykem C/C ++?

V tomto tutoriálu se naučíme, kdo konfigurovat a ovládat desku ESP8266 pomocí MicroPython.

STAVEBNÝ ČAS: 60 MINUT OBTÍŽNOST: HODNOCENÍ: Snadné

Krok 1: Co je MicroPython?

MicorPython je jedním z mnoha programovacích jazyků, které můžeme použít k programování modulu ESP8266. Je to štíhlá a rychlá verze programovacího jazyka Python 3 a má několik výhod oproti tradičním programovacím jazykům, jako je C a C ++.

MicroPython je navržen tak, aby byl co nejvíce kompatibilní s normálním Pythonem. Má kompletní kompilátor a runtime Pythonu a poskytuje interaktivní výzvu známou jako REPL (Read-Eval-Print Loop).

MicorPython je navržen tak, aby podporoval několik různých typů mikrokontrolérů. Ale pro tento tutoriál budu pracovat pouze s jedním modelem: deskou založenou na ESP8266 (NodeMCU). Všimněte si toho, že existuje několik různých desek, které si můžete koupit se stejným čipem.

Čtení a zdroje:

MicroPython

NodeMCU

Krok 2: Požadavky

Požadavky
Požadavky
Požadavky
Požadavky
Požadavky
Požadavky
Požadavky
Požadavky

Abyste mohli tento tutoriál sledovat, stačí mít základní zkušenosti s kódováním v Pythonu. Nemusíte mít žádné předchozí znalosti o mikrokontrolérech, elektronice nebo dokonce o MicroPythonu.

Budete také potřebovat počítač se systémem Windows, Mac nebo Linux s volným portem USB, protože k počítači připojíte mikrokontrolér, abyste jej naprogramovali.

Požadované díly:

1 x NodeMCU (nebo jiná deska na bázi ESP8266)

1 x červená 5mm LED

1 x 220Ω odpor 1/4W

1 x 10KΩ otočný potenciometr

1 x prkénko

1 x kabel USB na MicroUSB

Propojovací dráty.

Krok 3: Proč základní deska ESP8266?

Proč základní deska ESP8266?
Proč základní deska ESP8266?

Jedním ze způsobů, jak ze svého ESP8266 vytěžit maximum, je použití MicroPythonu. Modul ESP8266 je také jednou z nejlepších platforem, na kterých se můžete naučit používat MicroPython. Důvodem je, že ESP8266 poskytuje jednoduché funkce ovládání pinů GPIO i bezdrátové funkce, což vám umožňuje otestovat všechny aspekty programovacího jazyka MicroPython.

Čip ESP8266 je populární v odvětví vývoje open source. Existuje mnoho vývojových desek od různých výrobců, které používají čip ESP8266. MicroPython byl navržen tak, aby poskytoval obecný port, který může běžet na většině těchto desek, s co nejmenším omezením. Port je založen na desce Adafruit Feather HUZZAH Při použití jiných desek ESP8266 nezapomeňte zkontrolovat jejich schémata a datové listy, abyste mohli identifikovat rozdíly mezi nimi a deskou Adafruit Feather HUZZAH. Tímto způsobem můžete přizpůsobit rozdíly ve vašem kódu.

Čtení a zdroje:

ESP8266

Adafruitové peří HUZZAH

Krok 4: Nastavení počítače

Nastavení počítače
Nastavení počítače
Nastavení počítače
Nastavení počítače
Nastavení počítače
Nastavení počítače
Nastavení počítače
Nastavení počítače

Před použitím MicroPythonu k programování desky ESP8266 musíte nastavit několik věcí. V tomto kroku projdeme procesem nastavení. Tímto způsobem budete vědět, jak nakonfigurovat desku ESP8266 pro použití s MicroPython.

Připravovat se

Od tohoto kroku ke kroku 6 potřebujete pouze svůj ESP8266 a kabel USB. Připojte desku ESP8266 k počítači.

Jak to udělat…

KROK 1: Nainstalujte ovladače zařízení

Pokud máte počítač s operačním systémem Linux, nemusíte instalovat žádné ovladače zařízení pro rozpoznávání ovladačů mikrokontroléru. Ale pokud máte počítač Mac nebo Windows, je zapotřebí ovladač, který umožní počítači rozpoznat mikrokontrolér jako sériové zařízení.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

KROK 2: Nainstalujte Python

Nástroje, které budete používat ke komunikaci s ESP8266, jsou napsány v Pythonu, takže si musíte Python nainstalovat do počítače.

Pokud váš operační systém neposkytuje předem zabalený Python, můžete přejít na https://python.org a stáhnout si oficiální sestavení pro kterýkoli z podporovaných operačních systémů.

KROK 3: Nainstalujte esptool a rshell

Nainstalujte dva balíčky, které vám pomohou spravovat vaši desku pomocí pip. Chcete -li to provést, otevřete terminál a spusťte

pip install esptool rshell

KROK 4: Stáhněte si MicroPython

Stáhněte si nejnovější firmware.bin firmwaru MicroPython z následujícího odkazu:

V době, kdy to píšu, je aktuální verze 1.11 a soubor firmwaru se nazývá esp8266-20190529-v1.11.bin

Než to uděláte, můžete najít novější verzi.

Krok 5: Bliká MicroPython s Esptool.py

Bliká MicroPython s Esptool.py
Bliká MicroPython s Esptool.py
Bliká MicroPython s Esptool.py
Bliká MicroPython s Esptool.py

Před nahráním nového firmwaru na desku je dobré vymazat všechna předchozí data. To je něco, co byste měli vždy udělat, aby nový firmware běžel z čistého stavu.

Přejděte tam, kam jste umístili soubor.bin. K vymazání blesku použijte esptool.py.

Pro Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

Pro Windows:

esptool.py --port COM3 erase_flash

Možná budete muset ve svém příkazu změnit sériový port na sériový port, ke kterému je připojena vaše deska ESP8266. Pokud neznáte číslo sériového portu vašeho ESP8266, můžete se přihlásit do Arduino IDE. Stačí otevřít IDE a poté kliknout na Nástroje | Porty. Měli byste zde vidět sériový port desky ESP8266. Nahraďte sériový port v příkazu (/dev/ttyUSB0) sériovým portem vaší desky.

Nyní, když je deska zcela vymazána, můžete flashovat sestavení MicroPython, které jste si právě stáhli. To se provádí také pomocí příkazu esptool.py:

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Tento příkaz zapíše obsah souboru.bin MicroPython na desku na adrese 0.

Ujistěte se, že jste v příkazu (esp82688-2019-080529-v1.11.bin) změnili název souboru.bin firmwaru na název staženého firmwaru.

Jakmile je firmware úspěšně nainstalován na vaši desku ESP8266, můžete získat přístup k REPL na vaší desce prostřednictvím kabelového připojení (sériový port UART) nebo pomocí WiFi.

Krok 6: Použití MicroPython REPL s Rshell

Použití MicroPython REPL With Rshell
Použití MicroPython REPL With Rshell
Použití MicroPython REPL With Rshell
Použití MicroPython REPL With Rshell

Nyní jste připraveni spustit MicroPython na desce ESP8266.

Co vám ukážu, jak se připojit k výzvě Pythonu spuštěné na vaší desce. Toto se nazývá REPL, což znamená „Read-Eval-Print-Loop“. Toto je standardní výzva Pythonu, kterou pravděpodobně používáte při práci s běžným překladačem Pythonu, ale tentokrát bude spuštěna na vaší desce a pro interakci s ní použijete sériové připojení k počítači.. Připraveni?

Chcete -li se připojit k vaší desce a otevřít relaci REPL, zadejte následující příkaz:

rshell --port

Tento příkaz vás přenese do výzvy rshell. Viz foto výše.

Pokud tento tutoriál sledujete v systému Windows, všimněte si, že rshell má historii problémů při spuštění v systému Windows.

Chcete -li tento typ opravit:

rshell -a --port COM3

Z této výzvy můžete provádět úkoly správy související s deskou mikrokontroléru a také spustit Python REPL, který můžete použít k interakci s deskou v reálném čase. Stačí tedy zadat následující příkaz:

dopl

Abyste se ujistili, že vše funguje, zadejte jednoduchou větu Pythonu:

tisk („Hello World“)

Krok 7: Ovládání pinů pomocí MicroPythonu

Ovládání pinů pomocí MicroPythonu
Ovládání pinů pomocí MicroPythonu
Ovládání pinů pomocí MicroPythonu
Ovládání pinů pomocí MicroPythonu

V tomto kroku se naučíme, jak ovládat piny ESP8266 pomocí MicroPython. K tomu přijdeme s nastavením, kde budeme přepínat stav LED diody připojené na pin GPIO desky ESP8266. To vám pomůže pochopit, jak ovládat digitální výstupy pomocí MicoPythonu.

Připravovat se

K provedení tohoto KROKU budete potřebovat následující věci:

1 x NodeMCU

1 x červená 5mm LED

1 x 220 Ω odpor

1 x prkénko

Propojovací dráty

Stavba

Začněte montáží LED na prkénko. Připojte jeden konec rezistoru 220 Ω ke kladnému ramenu LED (kladné rameno LED je obvykle vyšší ze dvou ramen). Druhý konec rezistoru připojte ke kolíku D1 desky ESP8266. Poté připojte zápornou nohu LED k pinu GND desky ESP8266. Připojení je znázorněno na výše uvedeném schématu.

Jakmile je nastavení dokončeno, připojte desku ESP8266 k počítači pomocí kabelu USB.

Jak to udělat…

Do REPL zadejte následující kód:

# blikající LED každou 1 sekundu

def blikání (pin = 5, čas = 1) # funkce blikání ve výchozím nastavení pin = 5, čas = 1 s import stroje # modul stroje uchovává konfigurace a režimy pinů od času importu spánku # import spánku po nějakou dobu LED = stroj. Pin (led_pin, machine. PIN. OUT) # konfigurovat LED jako VÝSTUP, zatímco True: # běžet navždy LED.value (1) # nastavit LED na HIGH sleep (čas) # čekat 1 sekundu ve výchozím nastavení LED.value (0) # set LED na NÍZKÝ spánek (čas) # počkejte ve výchozím nastavení 1 sekundu

Chcete -li tento kód otestovat, zadejte do relace RPEL blink (). LED dioda připojená k GPIO5 bude blikat každou 1 sekundu.

Pin a/nebo čas můžete změnit zavoláním:

mrknutí (pin =, čas =)

Stisknutím ctrl+c ukončíte běžící kód.

MicroPython můžete použít ke čtení vstupu z připojeného k ESP8266. Pokračujte dalším krokem, abyste se dozvěděli, jak to udělat.

Pokud se zaseknete, zkontrolujte video.

Krok 8: Vyblednutí LED

Vyblednutí LED
Vyblednutí LED
Vyblednutí LED
Vyblednutí LED

V tomto kroku se naučíme, jak nastavit jas LED pomocí otočného potenciometru. Použijeme techniku zvanou Pulse Width Modulation (PWM), která nám umožňuje ztlumit LED s až 256 nastaveními.

Upozornění: Všechny piny ESP8266 lze použít jako pin PWM kromě GPIO16 (D0).

Připravovat se:

K provedení tohoto KROKU budete potřebovat následující věci:

1 x NodeMCU

1 x červená 5mm LED

1 x 50 KΩ otočný potenciometr.

1 x prkénko

Propojovací dráty

Stavba

Připojení je znázorněno na výše uvedeném schématu: Jakmile je nastavení dokončeno, připojte desku ESP8266 k počítači pomocí kabelu USB.

Jak to udělat…

Do REPL zadejte následující kód:

# Fading LED every 0.5 by reading data from the Poteniometer

import stroje z času import spánku led_pin = 5 # LED pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # create LED object LED_pwm = machine. PWM (LED, freq = 500) # create LED_pwm objekt a nastavte frekvenci na 500 Hz, zatímco True: LED_pwm.duty (POT.read ()) # získejte hodnotu z potu a nastavte ji na režim spánku (0,5) # čekejte 0,5

To změní jas LED připojené k GPIO 5 změnou hodnoty potenciometru.

Stisknutím ctrl+c ukončíte běžící kód.

Pokud se zaseknete, zkontrolujte video.

Krok 9: Kam odsud?

Doposud jsme viděli, jak konfigurovat a spouštět MicroPython na deskách založených na ESP8266. naučili jsme se ovládat piny tak, aby blikaly LED, poté jsme přidali potenciometr, abychom mohli ovládat jas LED pomocí techniky modulace šířky impulzů.

Nyní můžeme číst data ze senzoru a odesílat je do cloudu, můžeme také vytvořit server HTTP, kde můžete vytisknout naše data na jednoduché webové stránce atd …

To nám dává mnoho představ o internetu věcí (IoT).

Krok 10: Závěr

Tady to máš! Vydejte se a ovládněte svět MicroPythonu.

pokud máte nějaké otázky, samozřejmě můžete zanechat komentář.

Chcete -li zobrazit více o mých dílech, navštivte můj kanál YouTube:

myYouTube

myGitHub

myLinkedin

Děkujeme, že jste si přečetli tento návod ^^ a přejeme pěkný den.

Uvidíme se.

Ahmed Nouira.

Doporučuje: