micropython&electronics prezentācija
TRANSCRIPT
My experience in Python
● First project – parsing RigasSatiksme data● Various optimisations, school projects● Webmin-like interface● Some Linux utilities● Electronics
Why Python?
● Ease to use – get started in a matter of minutes● Ease to experiment - console&forgiveness● Just code, don't care about low-level● When you need low-level, it's there for you● Great for prototyping● … It's dynamic – you learn how to debug
My experience in electronics
● Simple circuits● PC repairs● Microcontroller-enabled circuits● User-friendly electronics
What one could use electronics for?
● Assistance in everyday tasks● Work optimization● Entertainment●
●
●
● Space exploration
20% Python, 80% electronics
● LLL (low-level language) on MCU● Python on PC● PC and MCU communicate using serial or
parallel ports● Most of the behaviour is controlled by LLL, PC
sends commands to execute functions but has no access to MCU hardware
● High entry level needed for MCU code
Low-level code on MCU + Python on PC
Summary:● More capabilities, but harder to reach them● Fast
Suitable projects:● Speed-related tasks ● Projects requiring to work without PC
50% Python, 50% electronics
● Python + Arduino, using Firmata firmware for Arduino side and pyFirmata library on PC side
● All the behaviour is defined by script on PC side● LLL on MCU but you don't need to write any
Python + Firmata for Arduino
Summary:● Is fastest&cheapest base for simple projects● Might hit the limits when developing something more
complicated
Suitable projects:● Minimalistic projects● Cheap&fast projects, prototypes
Find out more: http://slidesha.re/1zB1Rw4
80% Python, 80% electronics
● Raspberry Pi – ARM MCU with Linux● Has tons of processing power● Runs Python, as well as a lot of other languages● Can easily interface with electronics● Has Linux layer between Python and electronics
which annoys me sometimes
● http://www.raspberrypi.org/
Some great advantages
● All the advantages of Linux PC● USB, HDMI, RCA, Ethernet ports, audio output● A lot of RPi-dedicated hardware - “shields”,
extending functionality● Huge user base
Raspberry Pi
Summary● Universal and powerful● Is great for really advanced projects● Might be an expensive overkill for other
Suitable projects:● All kinds of projects
What projects exactly?
● Computers for education● Home media servers&HTPCs● Print/webcam/web/file/torrent/game servers● Robots&controllers&other awesome stuff● DIY smart house systems&security systems● Development-related projects● Wearable technology & car PCs● http://pingbin.com/2012/12/30-cool-ideas-raspberry-pi-
project/
100% Python, 100% electronics
● MicroPython project● Embeds Python interpreter on a MCU ● Rewrite of CPython to be less memory-hungry● Not as powerful as Raspberry Pi, but more powerful
than Arduino● Compatible with Arduino and some RPi shields ● Awesome● https://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers
MicroPython advantages
● Is already usable and still in active development● Has a growing community● Completely open-source● Assembler bindings for speed-related tasks● The interpreter runs on Unix
MicroPython disadvantages
● Has a limited set of modules implemented● Has some memory limitations● https://github.com/micropython/micropython/wiki/Differences
What a beginner can do with MicroPython?
● Start experimenting with electronics● Make your first simple project● Make your first useful project● Make your first usable project
MicroPython
Summary● Is pure Python● Good for beginners in electonics
Suitable projects:● From simple to complicated projects
Python-powered machine vision
● Has MicroPython firmware, so all the advantages
● Face/object detection● Object tracking● Thermal vision● http://hackaday.io/project/1313-openmv
Videos
● http://youtu.be/To-KUylzmOM● http://youtu.be/T0ZxvSrkm58● http://youtu.be/9zFYHiPbdQI● http://youtu.be/AuMY1aiAN4k● http://youtu.be/s8KxrKeUsDU● http://youtu.be/AuMY1aiAN4k● http://youtu.be/Fk3Op-CsmFA