SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
MicroPython ve
světě IoT zařízení
Vladan Laxa
@naPyvo 25.10.2018
• Vladan Laxa
• Systems Engineer / Consultant
• Latraxa.cz
• VMware VCP 2,3,4,5,6,6.5 (2006 – 2019)
• 15 years in IT
• vlaxa@latraxa.cz
• @latraxa
• #automateitall
• https://github.com/vlaxa
Informace o mě
latraxa.cz
• Kompletní reimplementace Python3
• Designed pro efektivní využití prostředků
• Designed to run bare metal
• Obsahuje:
• Compiler, runtime a REPL (Read Evaluate Print Loop)
• Podporuje základní knihovny (moduly)
• Obvykle začínají na „u“ help(‘modules‘)
• https://github.com/micropython/micropython-lib
• Extra moduly pro ovládání hardware
• Damien George
• http://micropython.org/unicorn/
MicroPython je
latraxa.cz
MicroPython Unicorn
latraxa.cz
MicroPython vývojové desky
latraxa.cz
• PyCom WiPy 3.0
• Pyboard
• BBC Micro:bit
• NodeMCU ESP8266
• OpenMV Cam H7
• Sparkfun ESP32 Thing
• Teensy 3.2
• Adafruit Trinket M0
• Espressif ESP32
• https://pycom.io/product/wipy-3-0/
• Wi-Fi a Bluetooth
• https://docs.pycom.io/datasheets/develo
pment/wipy3
• Deep sleep 19.7 µA
• 4MB RAM
• 8MB Flash
• 3.5 – 5.5V
• Varianty s LoRa, Sigfox, LTE
• $25
PyCom WiPy 3.0
latraxa.cz
PyCom WiPy 3.0
latraxa.cz
• STM32F405RG
• https://micropython.org
• 168 MHz Cortex M4 with HW FP
• http://docs.micropython.org/en/lates
t/pyboard/quickref.html
• 1024 KiB flash ROM a 192 KiB RAM
• Micro SD card slot
• 3-axis accelerometer (MMA7660)
• http://micropython.org/live/
• 3.6 – 16V
• $37
Pyboard
latraxa.cz
Pyboard
latraxa.cz
• Nordic nRF51822
• https://microbit.org
• 32bit Cortex M0
https://microbit.org/code/
• 256kB flash a 16 kB RAM
• Magnetometr + Akcelerometr
• 5x5 LED
• $15
BBC Micro:bit
latraxa.cz
BBC Micro:bit
latraxa.cz
• STM32H743V
• https://www.kickstarter.com/projects
/1798207217/openmv-cam-h7-
machine-vision-w-micropython
• ARM Cortex M7 400 MHz
https://openmv.io/products/openmv-
cam-h7
• 1 MB RAM a 2 MB flash
• Micro SD
• $49
OpenMV Cam H7
latraxa.cz
OpenMV Cam H7
latraxa.cz
• ESP8266
• http://nodemcu.com/index_en.html
• ESP-12E
• WiFi
• 5V > 3.3V převodník
• CH340G
• $2.5
NodeMCU ESP8266
latraxa.cz
• Nainstalujeme nástroj esptool:
• pip install esptool
• Stáhneme firmware MicroPython z http://micropython.org/download#esp8266
• Instalaci firmware provedeme následovně:
• sudo esptool.py --port /dev/tty.wchusbserial1420 erase_flash
• sudo esptool.py --port /dev/tty.wchusbserial1420 --baud 460800 write_flash --flash_size=detect --
flash-mode dio 0 esp8266-20180511-v1.9.4.bin
• Kontrola
• import esp
• esp.check_fw()
NodeMCU – flash MicroPythonu
latraxa.cz
• Další užitečné je zjištění velikosti flash a MAC adresy:
• sudo esptool.py --port /dev/tty.wchusbserial1420 flash_id
• sudo esptool.py --port /dev/tty.wchusbserial1420 read_mac
• Připojení provedeme skrz sériovou konzoli:
• picocom --b 115200 --flow n /dev/tty.wchusbserial1410
• Nebo alternativa:
• screen /dev/tty.wchusbserial1410 115200
Připojení na NodeMCU
latraxa.cz
• Import knihovny Výstup
pin.value(0)
• Vstup Blikání LED
• Pin.IN – konfiguruje pro čtení
• Pin.OUT – pro zápis PWM (Pulse Width Modulation) frekvence (freq) v Hz, střída (duty) 0-1024
NodeMCU – hrátky s MicroPython
latraxa.cz
• MicroPython
• https://github.com/frenzymadness/p
yconcz18_workshop/blob/master/W
orkshop.md
• DS18B20
NodeMCU ESP8266
latraxa.cz
Programování kódu – import a config
latraxa.cz
Programování kódu – funkce
latraxa.cz
Programování kódu – hlavní program
latraxa.cz
• Nainstalujeme nástroje Ampy (Adafruit Micro Python tool)
• pip install adafruit-ampy
• Soubor nahrajeme
• ampy –p /dev/tty.wchusbserial1410 put scripts/DS18B20.py main.py
• Při bootu spouští boot.py následně se vykoná obsah souboru main.py
• Pozor, nelze nahrávat souboru, pokud máme aktivní připojení skrz
sériovou konzoli
• http://docs.micropython.org/en/v1.9/micropython-esp8266.pdf
NodeMCU – nahrání kódu na desku
latraxa.cz
• upip on bare metal upip.install(…)
• Moduly pro IoT: uasyncio, umqtt
• ujson.load, uzlib.DecompIO
• Xtensa (ESP8266) native emitter a inline assembler
• Soft IRQ handlers skrze micropython.schedule()
• https://forum.micropython.org
MicroPython tips
latraxa.cz
• Používat krátké názvy proměnných
• Upřednostňovat lokální proměnné (uvnitř funkce)
před globálními
• Snažit se vyhnout alokaci paměti a používat stack
• Používat funkce + preload a cache module
• Nepoužívat * a ** argumenty
• Dekorátor @micropython.native
• Dekorátor @micropython.viper (přímý zápis do
GPIO registrů)
• Dekorátor @micropython.asm_thumb (in-line
assembler in python syntax)
MicroPython optimalizace
latraxa.cz
Užitečné publikace
latraxa.cz
Relax a dejte si pyvo!
latraxa.cz
Děkuji za pozornost
latraxa.cz
• Užijte si zbytek večera
• #pyvo #pivo @naPyvo
• Děkuji
Vladan Laxa
Systems Engineer / Consultant
Latraxa.cz
vlaxa@latraxa.cz
@latraxa
latraxa.cz

Más contenido relacionado

Similar a MicroPython IoT vlaxa

eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan s.r.o.
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední Sobota
Patrik Votoček
 
Python v PostgreSQL pohledem PHP programátora
Python v PostgreSQL pohledem PHP programátoraPython v PostgreSQL pohledem PHP programátora
Python v PostgreSQL pohledem PHP programátora
Michal Špaček
 

Similar a MicroPython IoT vlaxa (20)

Cheat sheet python_vlaxa
Cheat sheet python_vlaxaCheat sheet python_vlaxa
Cheat sheet python_vlaxa
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop python
 
IoT Hackathon
IoT HackathonIoT Hackathon
IoT Hackathon
 
Slovak Sun Training Day 2010 - OpenSolaris
Slovak Sun Training Day 2010 - OpenSolarisSlovak Sun Training Day 2010 - OpenSolaris
Slovak Sun Training Day 2010 - OpenSolaris
 
Product API in MallGroup
Product API in MallGroupProduct API in MallGroup
Product API in MallGroup
 
Bitcoin Trezor - hardware bitcoin wallet
Bitcoin Trezor - hardware bitcoin walletBitcoin Trezor - hardware bitcoin wallet
Bitcoin Trezor - hardware bitcoin wallet
 
Red hat virtualization
Red hat virtualizationRed hat virtualization
Red hat virtualization
 
Asynchronně v PHP
Asynchronně v PHPAsynchronně v PHP
Asynchronně v PHP
 
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
eMan Dev Meetup: Postavte si chytrou domácnost (2.8.2016, Hradec Králové)
 
Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední Sobota
 
Ondřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featuryOndřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featury
 
Výkon WordPress
Výkon WordPressVýkon WordPress
Výkon WordPress
 
Prezentace pro Učitel In 2016
Prezentace pro Učitel In 2016Prezentace pro Učitel In 2016
Prezentace pro Učitel In 2016
 
Michal Konečný - Systém Archivematica z pohledu uživatele
Michal Konečný - Systém Archivematica z pohledu uživateleMichal Konečný - Systém Archivematica z pohledu uživatele
Michal Konečný - Systém Archivematica z pohledu uživatele
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devu
 
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
 
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
 
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
 
Python v PostgreSQL pohledem PHP programátora
Python v PostgreSQL pohledem PHP programátoraPython v PostgreSQL pohledem PHP programátora
Python v PostgreSQL pohledem PHP programátora
 

Más de Vladan Laxa (12)

Veeam Agent v4
Veeam Agent v4Veeam Agent v4
Veeam Agent v4
 
Veeam v10 jak na to
Veeam v10 jak na toVeeam v10 jak na to
Veeam v10 jak na to
 
Veeam Best Practices
Veeam Best PracticesVeeam Best Practices
Veeam Best Practices
 
V sphere automation_vlaxa_2017
V sphere automation_vlaxa_2017V sphere automation_vlaxa_2017
V sphere automation_vlaxa_2017
 
Backup ransomware prevention_2017
Backup ransomware prevention_2017Backup ransomware prevention_2017
Backup ransomware prevention_2017
 
Veeam availability suite_v9_2016
Veeam availability suite_v9_2016Veeam availability suite_v9_2016
Veeam availability suite_v9_2016
 
View 6 2015
View 6 2015View 6 2015
View 6 2015
 
V sphere 55_2013
V sphere 55_2013V sphere 55_2013
V sphere 55_2013
 
View5 technicka 2011
View5 technicka 2011View5 technicka 2011
View5 technicka 2011
 
V mworld 2011
V mworld 2011V mworld 2011
V mworld 2011
 
V mware v_sphere_5_2011
V mware v_sphere_5_2011V mware v_sphere_5_2011
V mware v_sphere_5_2011
 
V mware vi3_2006
V mware vi3_2006V mware vi3_2006
V mware vi3_2006
 

MicroPython IoT vlaxa

  • 1. MicroPython ve světě IoT zařízení Vladan Laxa @naPyvo 25.10.2018
  • 2. • Vladan Laxa • Systems Engineer / Consultant • Latraxa.cz • VMware VCP 2,3,4,5,6,6.5 (2006 – 2019) • 15 years in IT • vlaxa@latraxa.cz • @latraxa • #automateitall • https://github.com/vlaxa Informace o mě latraxa.cz
  • 3. • Kompletní reimplementace Python3 • Designed pro efektivní využití prostředků • Designed to run bare metal • Obsahuje: • Compiler, runtime a REPL (Read Evaluate Print Loop) • Podporuje základní knihovny (moduly) • Obvykle začínají na „u“ help(‘modules‘) • https://github.com/micropython/micropython-lib • Extra moduly pro ovládání hardware • Damien George • http://micropython.org/unicorn/ MicroPython je latraxa.cz
  • 5. MicroPython vývojové desky latraxa.cz • PyCom WiPy 3.0 • Pyboard • BBC Micro:bit • NodeMCU ESP8266 • OpenMV Cam H7 • Sparkfun ESP32 Thing • Teensy 3.2 • Adafruit Trinket M0
  • 6. • Espressif ESP32 • https://pycom.io/product/wipy-3-0/ • Wi-Fi a Bluetooth • https://docs.pycom.io/datasheets/develo pment/wipy3 • Deep sleep 19.7 µA • 4MB RAM • 8MB Flash • 3.5 – 5.5V • Varianty s LoRa, Sigfox, LTE • $25 PyCom WiPy 3.0 latraxa.cz
  • 8. • STM32F405RG • https://micropython.org • 168 MHz Cortex M4 with HW FP • http://docs.micropython.org/en/lates t/pyboard/quickref.html • 1024 KiB flash ROM a 192 KiB RAM • Micro SD card slot • 3-axis accelerometer (MMA7660) • http://micropython.org/live/ • 3.6 – 16V • $37 Pyboard latraxa.cz
  • 10. • Nordic nRF51822 • https://microbit.org • 32bit Cortex M0 https://microbit.org/code/ • 256kB flash a 16 kB RAM • Magnetometr + Akcelerometr • 5x5 LED • $15 BBC Micro:bit latraxa.cz
  • 12. • STM32H743V • https://www.kickstarter.com/projects /1798207217/openmv-cam-h7- machine-vision-w-micropython • ARM Cortex M7 400 MHz https://openmv.io/products/openmv- cam-h7 • 1 MB RAM a 2 MB flash • Micro SD • $49 OpenMV Cam H7 latraxa.cz
  • 14. • ESP8266 • http://nodemcu.com/index_en.html • ESP-12E • WiFi • 5V > 3.3V převodník • CH340G • $2.5 NodeMCU ESP8266 latraxa.cz
  • 15. • Nainstalujeme nástroj esptool: • pip install esptool • Stáhneme firmware MicroPython z http://micropython.org/download#esp8266 • Instalaci firmware provedeme následovně: • sudo esptool.py --port /dev/tty.wchusbserial1420 erase_flash • sudo esptool.py --port /dev/tty.wchusbserial1420 --baud 460800 write_flash --flash_size=detect -- flash-mode dio 0 esp8266-20180511-v1.9.4.bin • Kontrola • import esp • esp.check_fw() NodeMCU – flash MicroPythonu latraxa.cz
  • 16. • Další užitečné je zjištění velikosti flash a MAC adresy: • sudo esptool.py --port /dev/tty.wchusbserial1420 flash_id • sudo esptool.py --port /dev/tty.wchusbserial1420 read_mac • Připojení provedeme skrz sériovou konzoli: • picocom --b 115200 --flow n /dev/tty.wchusbserial1410 • Nebo alternativa: • screen /dev/tty.wchusbserial1410 115200 Připojení na NodeMCU latraxa.cz
  • 17. • Import knihovny Výstup pin.value(0) • Vstup Blikání LED • Pin.IN – konfiguruje pro čtení • Pin.OUT – pro zápis PWM (Pulse Width Modulation) frekvence (freq) v Hz, střída (duty) 0-1024 NodeMCU – hrátky s MicroPython latraxa.cz
  • 19. Programování kódu – import a config latraxa.cz
  • 20. Programování kódu – funkce latraxa.cz
  • 21. Programování kódu – hlavní program latraxa.cz
  • 22. • Nainstalujeme nástroje Ampy (Adafruit Micro Python tool) • pip install adafruit-ampy • Soubor nahrajeme • ampy –p /dev/tty.wchusbserial1410 put scripts/DS18B20.py main.py • Při bootu spouští boot.py následně se vykoná obsah souboru main.py • Pozor, nelze nahrávat souboru, pokud máme aktivní připojení skrz sériovou konzoli • http://docs.micropython.org/en/v1.9/micropython-esp8266.pdf NodeMCU – nahrání kódu na desku latraxa.cz
  • 23. • upip on bare metal upip.install(…) • Moduly pro IoT: uasyncio, umqtt • ujson.load, uzlib.DecompIO • Xtensa (ESP8266) native emitter a inline assembler • Soft IRQ handlers skrze micropython.schedule() • https://forum.micropython.org MicroPython tips latraxa.cz
  • 24. • Používat krátké názvy proměnných • Upřednostňovat lokální proměnné (uvnitř funkce) před globálními • Snažit se vyhnout alokaci paměti a používat stack • Používat funkce + preload a cache module • Nepoužívat * a ** argumenty • Dekorátor @micropython.native • Dekorátor @micropython.viper (přímý zápis do GPIO registrů) • Dekorátor @micropython.asm_thumb (in-line assembler in python syntax) MicroPython optimalizace latraxa.cz
  • 26. Relax a dejte si pyvo! latraxa.cz
  • 27. Děkuji za pozornost latraxa.cz • Užijte si zbytek večera • #pyvo #pivo @naPyvo • Děkuji
  • 28. Vladan Laxa Systems Engineer / Consultant Latraxa.cz vlaxa@latraxa.cz @latraxa latraxa.cz