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ú farbu

NeoPixel

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/DNS

MQTT

MQTT

from umqttsimple import MQTTClient
def mqtt_msg_handler(topic, msg):
    pass # handle
mqtt_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

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

  • 131