MicroPython&electronics prezentācija

359 views

Published on

MicroPython&electronics prezentācija 05.11.14 @TheMill

Published in: Engineering
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
359
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

MicroPython&electronics prezentācija

  1. 1. Python and electronics
  2. 2. My experience in Python ● First project – parsing RigasSatiksme data ● Various optimisations, school projects ● Webmin-like interface ● Some Linux utilities ● Electronics
  3. 3. 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
  4. 4. My experience in electronics ● Simple circuits ● PC repairs ● Microcontroller-enabled circuits ● User-friendly electronics
  5. 5. What electronics are about? ● Getting data from sensors ● Processing data ● Sending data to actuators
  6. 6. Why electronics Because it's cool!
  7. 7. What one could use electronics for? ● Assistance in everyday tasks ● Work optimization ● Entertainment ● ● ● ● Space exploration
  8. 8. Blending it together
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. Python + Firmata for Arduino
  13. 13. 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
  14. 14. 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/
  15. 15. Raspberry Pi
  16. 16. Raspberry Pi
  17. 17. 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
  18. 18. 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
  19. 19. 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/
  20. 20. 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-
  21. 21. 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
  22. 22. MicroPython disadvantages ● Has a limited set of modules implemented ● Has some memory limitations ● https://github.com/micropython/micropython/wiki/Differences
  23. 23. 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
  24. 24. MicroPython Summary ● Is pure Python ● Good for beginners in electonics Suitable projects: ● From simple to complicated projects
  25. 25. OpenMV
  26. 26. Python-powered machine vision ● Has MicroPython firmware, so all the advantages ● Face/object detection ● Object tracking ● Thermal vision ● http://hackaday.io/project/1313-openmv
  27. 27. 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
  28. 28. Docs ● http://docs.micropython.org/en/latest/index.html

×