Micropython - Python para microcontroladores

FabioSouza9 1,331 views 25 slides Dec 08, 2018
Slide 1
Slide 1 of 25
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25

About This Presentation

Nessa palestra será apresentado o MicroPython, uma implementação de Python com o foco em microcontroladores. Serão apresentados os detalhes do MicroPython e aplicações em IoT e em educação usando pacas com ESP8266 e também com BBC micro:bit


Slide Content

MicroPython
Python paramicrocontroladores

Apresentadores
Diana Santos
Técnicaeminformática. Atuacomoinstrutorade informáticabásicae também
com ensinode programaçãopara criançasatravésdo Scratch. Colaboracom o
projetoFranzininho, levandoworkshops de eletronicae programaçãopara
diversaspessoasdo Brasil. Adeptado software livre, possuitreinamentos
online de inkscape.
FábioSouza
Engenheiro com experiênciano desenvolvimentode projetoseletrônicos
embarcados. Hojeé diretor de operações do portal Embarcados, onde trabalha
para levar conteúdos de eletrônica, sistemas embarcados e IoT para oBrasil.
Tambématuano ensino eletrônica e programação pelo Brasil. É entusiastas do
movimento maker, da cultura DIY e do compartilhamento de conhecimento,
publica diversos artigos sobre eletrônica e projetos open hardware, como o
projeto Franzininho Participou da residência hacker 2018 no Redbull Basement.
Quando não está ministrando palestras, cursosouworkshops, dedicaseu
tempo “escovandobits” ouprojetandoplacaseletrônicas

eBook
Gratuito
http://bit.ly/ebookESP8266

Agenda
•IoT -"Coisa"
•Programaçãodemicrocontroladores
•MicroPython
•Demos

Internet das
coisas

IoT
Éumarededeobjetosfísicosque
possuemtecnologiaembarcadapara
comunicar,captarsinaiseinteragir
consigomesmosoucomoambiente
externo.
Gartner

Estrutura de
IoT

Hardware
Sensores + MCU/MPU + Conectividade

Programaçãode
microcontroladores
http://microcontrollerslab.com/pic-microcontroller-programming-c/

Arduino

Python
https://www.embarcados.com.br/linguagens-
ieee-spectrum-2018/

MicroPython
OMicroPythonéumaimplementaçãoenxutae
eficientedalinguagemdeprogramaçãoPython
3,incluindoumsubconjuntodabiblioteca
padrãodoPython,eéotimizadapararodarem
microcontroladoreseemambientesrestritos.
OMicroPythonfoioriginalmentecriadopelo
programadoraustralianoefísicoDamienGeorge,
lançadoemumacampanhadesucessono
Kickstarterjuntocomapyboard.
https://micropython.org/

MicroPython
•Feitopara dispositivoscom256 KB de flash e
16 KB de RAM
•Nãoprecisade Sistema operacional
•Grande gamade bibliotecas
•Fácilpara iniciantes
•Abstraçãode Hardware
•Teste rapidoatravésde prompt
•Portabilidade
•Acessoa Funçõesde baixonívelemC/C++ e
atémesmoAssembly

MicroPython
•O MicroPythoné escritoemC99 e todoo núcleodo
MicroPythonestádisponívelpara usogeralsob a licença
MIT. A maioriadas bibliotecase módulosde extensão
(algunsdos quaissãode terceiros) tambémestão
disponíveiscom licençaMIT ousemelhantes.
•Vocêpodeusare adaptarlivrementeo MicroPythonpara
usopessoal, emeducaçãoe emprodutoscomerciais.
https://github.com/micropython/micropython

Placas
suportadas
https://learn.adafruit.com/micropython-basics-what-is-micropython

pyboard
•STM32F405RG microcontroller
•168 MHz Cortex M4 CPU with hardware floating point
•1024KiB flash ROM and 192KiB RAM
•Micro USB connector for power and serial communication
•Micro SD card slot, supporting standard and high capacity SD cards
•3-axis accelerometer (MMA7660)
•Real time clock with optional battery backup
•24 GPIO on left and right edges and 5 GPIO on bottom row, plus LED and switch GPIO
available on bottom row
•3x 12-bit analog to digital converters, available on 16 pins, 4 with analog ground
shielding
•2x 12-bit digital to analog (DAC) converters, available on pins X5 and X6
•4 LEDs (red, green, yellow and blue)
•1 reset and 1 user switch

Testar online
http://micropython.org/live https://micropython.org/unicorn

Demo: micro:bit

O que é a micro:bit
•A BBC micro:bité umapequenae
poderosaplacaque estárevolucionandoo
ensinode programaçãono mundo. Foi
lançadacom o apoiode 31 organizações,
atravésde umainiciativaque deuuma
placapara cadacriançado 7º anono Reino
Unido.
•O seuhardware foidesenvolvidobaseado
no chip Nordic nRF51822, que possui16 KB
de RAM, 256 KB de Flash e BLE. Além
disso, elapossuiumamatrizde 25 LEDs, 2
chavestácteis, acelerômetro,
magnetômetroe diversospinosde I/O.
Com essaconfiguraçãoelapermiteo
desenvolvimentode diversasaplicações.
https://microbit.org/

Editor MU
https://codewith.mu/

Demo: ESP8266

ESP8266
●Processor: L106 32-
bitRISCmicroprocessorcorebasedontheTensilicaXtensaDia
mond Standard 106Microrunningat80 MHz†
●64KiBofinstructionRAM, 96KiBofdata RAM
●ExternalQSPI
flash:upto16MiBissupported(512KiBto4MiBtypicallyinclu
ded)
●IEEE 802.11b/g/nWi-Fi
●IntegratedTR switch,balun,
LNA,poweramplifierandmatchingnetwork
●WEPorWPA/WPA2authentication,oropennetworks
●16 GPIO pins
●SPI
●I²C(softwareimplementation)
●I²SinterfaceswithDMA (sharingpinswithGPIO)
●UARTondedicatedpins,plusatransmit-
onlyUARTcanbeenabledonGPIO2
●10-bit ADC (successiveapproximationADC)

nodeMCU
A nodeMCUcriadacom base no
móduloESP 12E, facilitao processo
de programaçãodo ESP8266 por já
possuironboard, o conversorUSB
serial, reguladorde tensãoe pinode
I/O para conexãoemprotoboard.

uPyCraft
https://github.com/DFRobot/uPyCraft

CONTATO
[email protected]
about.me/fabio.souza