




Jednofarebný LED pás

Viacfarebný (RGB) LED pás

Individuálne adresovateľný LED pás
(NeoPixel)


WS2812B
WS2811




ESP32

- Frekvencia 240 MHz
- 32 bit architektúra
-
512 KB SRAM
-
802.11 b/g/n + BLE
-
3 x UART, 3 x SPI, 12 x ADC, 2 x DAC, 2 x I2C
-
5 μA v sleep móde
MicroPython
Čo je to?
MicroPython je implementácia Python3 optimalizovaná pre mikroprocesory
Čo robí?
Prepája jednoduchosť a krásy Pythonu
s "komplikovaným" svetom hardvéru
Prečo je cool?
Prináša jednoduchý no pritom rýchly vývoj elektronických komponentov. Vhodný aj pre začiatočníkov.


MicroPython firmvér


Komunikácia ESP32 s PC


REPL

"Ahoj Svet!"
>>> 1+1
2>>> import math
>>> math.pi
3.141592>>> from os import urandom
>>> urandom(1)[0]
61>>> print('Ahoj Svet!')
Ahoj Svet!>>> class TriedaHadov:
... def __init__(self):
... self.odpoved = "Ahoj Python!"
... def pozdrav(self):
... return self.odpoved

Breadboard


Nepájivé kontaktné polia

NeoPixel
>>> from machine import Pin
>>> from neopixel import NeoPixel>>> pin = Pin(0, Pin.OUT) # nastaví pin ako digitálny výstup>>> np = NeoPixel(pin, 8) # Vytvorí NeoPixel driver pre 8 pixelov>>> np[0] = (255, 0, 0) # nastaví prvý pixel na červenú farbu>>> np.write() # odošle hodnoty, LEDky zmenia farby>>> np[1] = (255, 255, 255) # nastaví druhý pixel na bielu farbu>>> np[7] = (128, 0, 128) # nastaví ôsmy pixel na fialovú farbuNeoPixel

WiFi
>>> import network>>> wlan = network.WLAN(network.STA_IF) # vytvorí interface
>>> wlan.active(True) # aktivuje interface>>> wlan.connect('nazov_siete', 'heslo') # pripojí sa k sieti>>> wlan.ifconfig() # vráti IP adresu/masku/gateway/DNSMQTT

MQTT
from umqttsimple import MQTTClientdef mqtt_msg_handler(topic, msg):
pass # handlemqtt_client = MQTTClient("client_id", "mqtt_broker_ip")
mqtt_client.set_callback(mqtt_msg_handler)
mqtt_client.connect()mqtt_client.subscribe(b"room/tree")mqtt_client.publish(b"room/tree_status", "1")








Odkazy
- MicroPython
- MicroPython NeoPixel dokumentácia
- Simulátor
- Nauč se MicroPython
- Mu Editor
- Thonny
- uPyCraft
- PyCharm / VS Code
- ESPHome NeoPixelBus
Otázky ?
linkedin.com/in/marekmansell
www.marekmansell.sk
marek.mansell@gmail.com
Kontakt:
Naprogramujte si smart vianočné svetlá
By Marek Mansell
Naprogramujte si smart vianočné svetlá
Robime.it prezentácia
- 231