SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
PYCONFR 2015
Marre de faire du C++ avec Arduino?
Marre de faire du C++ avec Arduino?
FAITES DU MICROPYTHON SUR UNE PYBOARD!
QUI SUIS-JE ?
Arthur Lutz
Plutôt software que hardware
Apprenti en éléctronique
@arthurlutz
Logilab
QU'EST-CE MICROPYTHON ?
Réécriture en C de python 3.4 pour (ou
systèmes contraints)
sous-ensemble de la librairie standard (sys, time,
struct)
le reste de la libraire standard est implémenté sous forme
de modules indépendants ( )
microcontrôlleur
micropython-lib
QU'EST-CE QUE LA PYBOARD?
Carte de référence avec micropython qui tourne
directement sur le microcontrôlleur
Open Hardware
MOTIVATION
Language haut niveau avec accès materiel bas niveau
Basse consommation
Matériel entre l'arduino et la raspberry pi
HISTORIQUE PROJET
novembre 2013 kickstarter par Damien George
Objectif : 15'000 £
Atteint : 100'000 £
Début 2014: production de 3'000 cartes
Fin 2014 : production d'une nouvelle serie de 3'000 cartes
SPECS
STM32F405RG: 192k RAM, 1M ROM, 168MHz, Cortex
M4F
USB micro connecteur
Lecteur Micro carte SD
Accéléromètre 3-axes (MMA7660)
Horloge temps réel, 4 LEDs, 2 interrupteurs
30 GPIO
Filesystème interne ”/flash” et ”/sd”
UTILISATION
shell python - (screen /dev/ttyACM0)
système de fichier sur la flash (115k !!)
carte SD avec boot.pypour "distribuer" son programme
plusieurs modes possible (port serie + disque, port serie +
souris)
REPL
PYTHON ?
toute la syntaxe python 3.4 (y compris classes, exceptions,
"with", "yield from", etc.)
optimisations inspirées de PyPy
module pybpour acceder au matériel
inline assembler
EXEMPLES DE CODE
f r o m p y b i m p o r t L E D
l e d = L E D ( 1 ) # r e d l e d
l e d . t o g g l e ( )
l e d . o n ( )
l e d . o f f ( )
DÉMO
TOURNE AUSSI SUR ...
unix !
ESP8266
teensy 3.1
etc
ESP8266
EXEMPLE DE CODE
> > i m p o r t e s p
> > # C o n n e c t t o a W i F i n e t w o r k .
> > e s p . c o n n e c t ( ' Y O U R W I F I S S I D N A M E ' , ' Y O U R W I F I S S I D P A S S W O R D ' )
> > # D e f i n e f u n c t i o n t o p r i n t d a t a r e c e i v e d f r o m s o c k e t .
> > d e f s o c k e t _ p r i n t e r ( s o c k e t , d a t a ) :
. . p r i n t ( d a t a )
> > # C r e a t e a s o c k e t a n d s e t u p t h e p r i n t f u n c t i o n .
> > s o c = e s p . s o c k e t ( )
> > s o c . o n r e c v ( s o c k e t _ p r i n t e r )
> > s o c . c o n n e c t ( ( ' 1 9 2 . 1 6 8 . 0 . 1 2 ' , 8 0 ) )
> > s o c . s e n d ( ' G E T / t e s t w i f i / i n d e x . h t m l H T T P / 1 . 0  r  n  r  n ' )
b ' H T T P / 1 . 1 2 0 0 O K  r  n . . . '
MONDE RÉEL
communauté bien plus petite que Arduino
"drivers" pour quelques periphériques
projets de robots
projets pédagogiques
voir aussi les projets de javascript sur microcontroller
( )espruino
WIPY
micropython + wifi : wipy
FIN
Questions ?
Plus de démos ?
Plus de temps ?
Contact : @arthurlutz

Contenu connexe

En vedette

Impulse für die weitere Förderung der Kraft-Wärme-Kopplung
Impulse für die weitere Förderung der Kraft-Wärme-KopplungImpulse für die weitere Förderung der Kraft-Wärme-Kopplung
Impulse für die weitere Förderung der Kraft-Wärme-KopplungOeko-Institut
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130reyarturo16
 
Casodestudio 110216152612-phpapp02
Casodestudio 110216152612-phpapp02Casodestudio 110216152612-phpapp02
Casodestudio 110216152612-phpapp02Omar Hernandez
 
Festival de Bougival 2010
Festival de Bougival 2010Festival de Bougival 2010
Festival de Bougival 2010coteaux2seine
 
C:\Fakepath\Bienvenue Sur Ucp Services PréSentation Audio
C:\Fakepath\Bienvenue Sur Ucp Services PréSentation AudioC:\Fakepath\Bienvenue Sur Ucp Services PréSentation Audio
C:\Fakepath\Bienvenue Sur Ucp Services PréSentation AudioUCP Services
 
Einlaufen TSV Kronshagen
Einlaufen TSV KronshagenEinlaufen TSV Kronshagen
Einlaufen TSV KronshagenTSVKronshagen
 
Grecia clase 5 guerras medicas séptimo basico
Grecia clase 5 guerras medicas séptimo basicoGrecia clase 5 guerras medicas séptimo basico
Grecia clase 5 guerras medicas séptimo basicoSan Sebastián University
 
Ausdruecken
AusdrueckenAusdruecken
Ausdrueckenurmel801
 
Propriété intellectuelle et sites internet
Propriété intellectuelle et sites internetPropriété intellectuelle et sites internet
Propriété intellectuelle et sites internetmariejura
 
80 herramientas para_el_desarrollo_participativo
80 herramientas para_el_desarrollo_participativo80 herramientas para_el_desarrollo_participativo
80 herramientas para_el_desarrollo_participativoRicardo Soto Nolazco
 
Aftm regionale strasbourg octobre 2013 vf
Aftm regionale strasbourg octobre 2013 vfAftm regionale strasbourg octobre 2013 vf
Aftm regionale strasbourg octobre 2013 vfKey Corporate Solutions
 
Et le français dans tout ça #25
Et le français dans tout ça #25Et le français dans tout ça #25
Et le français dans tout ça #25Florence Augustine
 

En vedette (20)

Impulse für die weitere Förderung der Kraft-Wärme-Kopplung
Impulse für die weitere Förderung der Kraft-Wärme-KopplungImpulse für die weitere Förderung der Kraft-Wärme-Kopplung
Impulse für die weitere Förderung der Kraft-Wärme-Kopplung
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130
 
Casodestudio 110216152612-phpapp02
Casodestudio 110216152612-phpapp02Casodestudio 110216152612-phpapp02
Casodestudio 110216152612-phpapp02
 
Blogue
BlogueBlogue
Blogue
 
Pfb
PfbPfb
Pfb
 
Animaciones
AnimacionesAnimaciones
Animaciones
 
Presentation
PresentationPresentation
Presentation
 
Festival de Bougival 2010
Festival de Bougival 2010Festival de Bougival 2010
Festival de Bougival 2010
 
Best Memories- Emily
Best Memories- EmilyBest Memories- Emily
Best Memories- Emily
 
1000jobboersen.de
1000jobboersen.de1000jobboersen.de
1000jobboersen.de
 
C:\Fakepath\Bienvenue Sur Ucp Services PréSentation Audio
C:\Fakepath\Bienvenue Sur Ucp Services PréSentation AudioC:\Fakepath\Bienvenue Sur Ucp Services PréSentation Audio
C:\Fakepath\Bienvenue Sur Ucp Services PréSentation Audio
 
Einlaufen TSV Kronshagen
Einlaufen TSV KronshagenEinlaufen TSV Kronshagen
Einlaufen TSV Kronshagen
 
Grecia clase 5 guerras medicas séptimo basico
Grecia clase 5 guerras medicas séptimo basicoGrecia clase 5 guerras medicas séptimo basico
Grecia clase 5 guerras medicas séptimo basico
 
Dj19
Dj19Dj19
Dj19
 
Ausdruecken
AusdrueckenAusdruecken
Ausdruecken
 
Propriété intellectuelle et sites internet
Propriété intellectuelle et sites internetPropriété intellectuelle et sites internet
Propriété intellectuelle et sites internet
 
80 herramientas para_el_desarrollo_participativo
80 herramientas para_el_desarrollo_participativo80 herramientas para_el_desarrollo_participativo
80 herramientas para_el_desarrollo_participativo
 
Aftm regionale strasbourg octobre 2013 vf
Aftm regionale strasbourg octobre 2013 vfAftm regionale strasbourg octobre 2013 vf
Aftm regionale strasbourg octobre 2013 vf
 
Virtuelle projekte
Virtuelle projekteVirtuelle projekte
Virtuelle projekte
 
Et le français dans tout ça #25
Et le français dans tout ça #25Et le français dans tout ça #25
Et le français dans tout ça #25
 

Similaire à Pyconfr2015 : Marre de faire du C++ sur une Arduino ? Faites du Python avec MicroPython sur une PyBoard

Newsletter février 2017 - Transtech
Newsletter février 2017 - TranstechNewsletter février 2017 - Transtech
Newsletter février 2017 - TranstechTranstech Aquitaine
 
Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Frank Nielsen
 
Le grand livre d'Arduino pdf
Le grand livre d'Arduino pdfLe grand livre d'Arduino pdf
Le grand livre d'Arduino pdfkinziramtane
 
Petit guide des possibilités d'utilisation du logiciel scratch en technologie
Petit guide des possibilités d'utilisation du logiciel scratch en technologiePetit guide des possibilités d'utilisation du logiciel scratch en technologie
Petit guide des possibilités d'utilisation du logiciel scratch en technologieخالد المشكوري
 
Éclipse by minimal disruption
Éclipse by minimal disruptionÉclipse by minimal disruption
Éclipse by minimal disruptionMicka Touillaud
 
Easy Hard(ware) with Arduino
Easy Hard(ware) with ArduinoEasy Hard(ware) with Arduino
Easy Hard(ware) with ArduinoYannick CHIRON
 
Olympe de Gouges 2.0
Olympe de Gouges 2.0Olympe de Gouges 2.0
Olympe de Gouges 2.0Knowtex
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduinoSinGuy
 
Cours16 ressources pour arduino
Cours16   ressources pour arduinoCours16   ressources pour arduino
Cours16 ressources pour arduinolabsud
 
Beyond F5 - windbg et .Net
Beyond F5 - windbg et .NetBeyond F5 - windbg et .Net
Beyond F5 - windbg et .NetYann Schwartz
 
Lettre information - decembre 2017
Lettre information - decembre 2017Lettre information - decembre 2017
Lettre information - decembre 2017Transtech Aquitaine
 
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdfProgrammez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdflaminemhamed
 
Newsletter Août 2017 - Transtech
Newsletter Août 2017 - TranstechNewsletter Août 2017 - Transtech
Newsletter Août 2017 - TranstechTranstech Aquitaine
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.iolaurenthuet
 
My trafficlights - Mets le feu avec ton Ruby
My trafficlights - Mets le feu avec  ton RubyMy trafficlights - Mets le feu avec  ton Ruby
My trafficlights - Mets le feu avec ton RubyNicolas Ledez
 
Lettre information Transtech - juillet 2018
Lettre information Transtech - juillet 2018Lettre information Transtech - juillet 2018
Lettre information Transtech - juillet 2018Transtech Aquitaine
 
La programmation par contraintes avec Choco3 (Java)
La programmation par contraintes avec Choco3 (Java)La programmation par contraintes avec Choco3 (Java)
La programmation par contraintes avec Choco3 (Java)Aline Figoureux
 
presentation_arduino.pdf
presentation_arduino.pdfpresentation_arduino.pdf
presentation_arduino.pdfMajidAmmar
 

Similaire à Pyconfr2015 : Marre de faire du C++ sur une Arduino ? Faites du Python avec MicroPython sur une PyBoard (20)

Auto formation *WinDev
Auto formation *WinDev Auto formation *WinDev
Auto formation *WinDev
 
Newsletter février 2017 - Transtech
Newsletter février 2017 - TranstechNewsletter février 2017 - Transtech
Newsletter février 2017 - Transtech
 
Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)
 
Le grand livre d'Arduino pdf
Le grand livre d'Arduino pdfLe grand livre d'Arduino pdf
Le grand livre d'Arduino pdf
 
ppt.pptx
ppt.pptxppt.pptx
ppt.pptx
 
Petit guide des possibilités d'utilisation du logiciel scratch en technologie
Petit guide des possibilités d'utilisation du logiciel scratch en technologiePetit guide des possibilités d'utilisation du logiciel scratch en technologie
Petit guide des possibilités d'utilisation du logiciel scratch en technologie
 
Éclipse by minimal disruption
Éclipse by minimal disruptionÉclipse by minimal disruption
Éclipse by minimal disruption
 
Easy Hard(ware) with Arduino
Easy Hard(ware) with ArduinoEasy Hard(ware) with Arduino
Easy Hard(ware) with Arduino
 
Olympe de Gouges 2.0
Olympe de Gouges 2.0Olympe de Gouges 2.0
Olympe de Gouges 2.0
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
Cours16 ressources pour arduino
Cours16   ressources pour arduinoCours16   ressources pour arduino
Cours16 ressources pour arduino
 
Beyond F5 - windbg et .Net
Beyond F5 - windbg et .NetBeyond F5 - windbg et .Net
Beyond F5 - windbg et .Net
 
Lettre information - decembre 2017
Lettre information - decembre 2017Lettre information - decembre 2017
Lettre information - decembre 2017
 
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdfProgrammez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
 
Newsletter Août 2017 - Transtech
Newsletter Août 2017 - TranstechNewsletter Août 2017 - Transtech
Newsletter Août 2017 - Transtech
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.io
 
My trafficlights - Mets le feu avec ton Ruby
My trafficlights - Mets le feu avec  ton RubyMy trafficlights - Mets le feu avec  ton Ruby
My trafficlights - Mets le feu avec ton Ruby
 
Lettre information Transtech - juillet 2018
Lettre information Transtech - juillet 2018Lettre information Transtech - juillet 2018
Lettre information Transtech - juillet 2018
 
La programmation par contraintes avec Choco3 (Java)
La programmation par contraintes avec Choco3 (Java)La programmation par contraintes avec Choco3 (Java)
La programmation par contraintes avec Choco3 (Java)
 
presentation_arduino.pdf
presentation_arduino.pdfpresentation_arduino.pdf
presentation_arduino.pdf
 

Plus de Arthur Lutz

Donnez des couleurs a votre terminal
Donnez des couleurs a votre terminalDonnez des couleurs a votre terminal
Donnez des couleurs a votre terminalArthur Lutz
 
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Arthur Lutz
 
PyParis2018 - Python tooling for continuous deployment
PyParis2018 - Python tooling for continuous deploymentPyParis2018 - Python tooling for continuous deployment
PyParis2018 - Python tooling for continuous deploymentArthur Lutz
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftArthur Lutz
 
Meetup Nantes Monitoring - janvier 2018 - netdata & sensu
Meetup Nantes Monitoring - janvier 2018 - netdata & sensuMeetup Nantes Monitoring - janvier 2018 - netdata & sensu
Meetup Nantes Monitoring - janvier 2018 - netdata & sensuArthur Lutz
 
Salt Paris Meetup - septembre 2017 - formulas and salt-cloud
Salt Paris Meetup  - septembre 2017 - formulas and salt-cloudSalt Paris Meetup  - septembre 2017 - formulas and salt-cloud
Salt Paris Meetup - septembre 2017 - formulas and salt-cloudArthur Lutz
 
Meetup Nantes Monitoring - Supervision d'une application web (et de son archi...
Meetup Nantes Monitoring - Supervision d'une application web (et de son archi...Meetup Nantes Monitoring - Supervision d'une application web (et de son archi...
Meetup Nantes Monitoring - Supervision d'une application web (et de son archi...Arthur Lutz
 
Meetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en pythonMeetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en pythonArthur Lutz
 
Python Nantes Meetup - Collecter les erreurs avec Sentry
Python Nantes Meetup -  Collecter les erreurs avec SentryPython Nantes Meetup -  Collecter les erreurs avec Sentry
Python Nantes Meetup - Collecter les erreurs avec SentryArthur Lutz
 
Collecter les erreurs de description d'infrastructure avec Salt et Sentry
Collecter les erreurs de description d'infrastructure avec Salt et SentryCollecter les erreurs de description d'infrastructure avec Salt et Sentry
Collecter les erreurs de description d'infrastructure avec Salt et SentryArthur Lutz
 
cfgmgmtcamp 2016 - Roll out active Supervision with Salt, Graphite and Grafana
cfgmgmtcamp 2016 - Roll out active Supervision with Salt, Graphite and Grafanacfgmgmtcamp 2016 - Roll out active Supervision with Salt, Graphite and Grafana
cfgmgmtcamp 2016 - Roll out active Supervision with Salt, Graphite and GrafanaArthur Lutz
 
FOSDEM 2016 - After describing your infrastructure as code, reuse that to mon...
FOSDEM 2016 - After describing your infrastructure as code, reuse that to mon...FOSDEM 2016 - After describing your infrastructure as code, reuse that to mon...
FOSDEM 2016 - After describing your infrastructure as code, reuse that to mon...Arthur Lutz
 
Salt Paris meetup - décembre 2015 - La supervision pilotée par Salt avec carb...
Salt Paris meetup - décembre 2015 - La supervision pilotée par Salt avec carb...Salt Paris meetup - décembre 2015 - La supervision pilotée par Salt avec carb...
Salt Paris meetup - décembre 2015 - La supervision pilotée par Salt avec carb...Arthur Lutz
 
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debian
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debianDebian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debian
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debianArthur Lutz
 
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...Arthur Lutz
 
Générer des stats sur son infra salt
Générer des stats sur son infra saltGénérer des stats sur son infra salt
Générer des stats sur son infra saltArthur Lutz
 
Présentation "Outils agiles : revue de code & publication continue"
Présentation "Outils agiles : revue de code & publication continue"Présentation "Outils agiles : revue de code & publication continue"
Présentation "Outils agiles : revue de code & publication continue"Arthur Lutz
 
Présentation éclair "Retours d'experience data.bnf.fr" - datapride Nantes
Présentation éclair "Retours d'experience data.bnf.fr" - datapride NantesPrésentation éclair "Retours d'experience data.bnf.fr" - datapride Nantes
Présentation éclair "Retours d'experience data.bnf.fr" - datapride NantesArthur Lutz
 

Plus de Arthur Lutz (18)

Donnez des couleurs a votre terminal
Donnez des couleurs a votre terminalDonnez des couleurs a votre terminal
Donnez des couleurs a votre terminal
 
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
 
PyParis2018 - Python tooling for continuous deployment
PyParis2018 - Python tooling for continuous deploymentPyParis2018 - Python tooling for continuous deployment
PyParis2018 - Python tooling for continuous deployment
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shift
 
Meetup Nantes Monitoring - janvier 2018 - netdata & sensu
Meetup Nantes Monitoring - janvier 2018 - netdata & sensuMeetup Nantes Monitoring - janvier 2018 - netdata & sensu
Meetup Nantes Monitoring - janvier 2018 - netdata & sensu
 
Salt Paris Meetup - septembre 2017 - formulas and salt-cloud
Salt Paris Meetup  - septembre 2017 - formulas and salt-cloudSalt Paris Meetup  - septembre 2017 - formulas and salt-cloud
Salt Paris Meetup - septembre 2017 - formulas and salt-cloud
 
Meetup Nantes Monitoring - Supervision d'une application web (et de son archi...
Meetup Nantes Monitoring - Supervision d'une application web (et de son archi...Meetup Nantes Monitoring - Supervision d'une application web (et de son archi...
Meetup Nantes Monitoring - Supervision d'une application web (et de son archi...
 
Meetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en pythonMeetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en python
 
Python Nantes Meetup - Collecter les erreurs avec Sentry
Python Nantes Meetup -  Collecter les erreurs avec SentryPython Nantes Meetup -  Collecter les erreurs avec Sentry
Python Nantes Meetup - Collecter les erreurs avec Sentry
 
Collecter les erreurs de description d'infrastructure avec Salt et Sentry
Collecter les erreurs de description d'infrastructure avec Salt et SentryCollecter les erreurs de description d'infrastructure avec Salt et Sentry
Collecter les erreurs de description d'infrastructure avec Salt et Sentry
 
cfgmgmtcamp 2016 - Roll out active Supervision with Salt, Graphite and Grafana
cfgmgmtcamp 2016 - Roll out active Supervision with Salt, Graphite and Grafanacfgmgmtcamp 2016 - Roll out active Supervision with Salt, Graphite and Grafana
cfgmgmtcamp 2016 - Roll out active Supervision with Salt, Graphite and Grafana
 
FOSDEM 2016 - After describing your infrastructure as code, reuse that to mon...
FOSDEM 2016 - After describing your infrastructure as code, reuse that to mon...FOSDEM 2016 - After describing your infrastructure as code, reuse that to mon...
FOSDEM 2016 - After describing your infrastructure as code, reuse that to mon...
 
Salt Paris meetup - décembre 2015 - La supervision pilotée par Salt avec carb...
Salt Paris meetup - décembre 2015 - La supervision pilotée par Salt avec carb...Salt Paris meetup - décembre 2015 - La supervision pilotée par Salt avec carb...
Salt Paris meetup - décembre 2015 - La supervision pilotée par Salt avec carb...
 
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debian
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debianDebian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debian
Debian meetup nantes 2015 : Salt pour gérer de nombreux serveurs debian
 
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou...
 
Générer des stats sur son infra salt
Générer des stats sur son infra saltGénérer des stats sur son infra salt
Générer des stats sur son infra salt
 
Présentation "Outils agiles : revue de code & publication continue"
Présentation "Outils agiles : revue de code & publication continue"Présentation "Outils agiles : revue de code & publication continue"
Présentation "Outils agiles : revue de code & publication continue"
 
Présentation éclair "Retours d'experience data.bnf.fr" - datapride Nantes
Présentation éclair "Retours d'experience data.bnf.fr" - datapride NantesPrésentation éclair "Retours d'experience data.bnf.fr" - datapride Nantes
Présentation éclair "Retours d'experience data.bnf.fr" - datapride Nantes
 

Pyconfr2015 : Marre de faire du C++ sur une Arduino ? Faites du Python avec MicroPython sur une PyBoard

  • 2. Marre de faire du C++ avec Arduino?
  • 3. Marre de faire du C++ avec Arduino?
  • 4. FAITES DU MICROPYTHON SUR UNE PYBOARD!
  • 5. QUI SUIS-JE ? Arthur Lutz Plutôt software que hardware Apprenti en éléctronique @arthurlutz Logilab
  • 6. QU'EST-CE MICROPYTHON ? Réécriture en C de python 3.4 pour (ou systèmes contraints) sous-ensemble de la librairie standard (sys, time, struct) le reste de la libraire standard est implémenté sous forme de modules indépendants ( ) microcontrôlleur micropython-lib
  • 7. QU'EST-CE QUE LA PYBOARD? Carte de référence avec micropython qui tourne directement sur le microcontrôlleur Open Hardware
  • 8.
  • 9. MOTIVATION Language haut niveau avec accès materiel bas niveau Basse consommation Matériel entre l'arduino et la raspberry pi
  • 10. HISTORIQUE PROJET novembre 2013 kickstarter par Damien George Objectif : 15'000 £ Atteint : 100'000 £ Début 2014: production de 3'000 cartes Fin 2014 : production d'une nouvelle serie de 3'000 cartes
  • 11. SPECS STM32F405RG: 192k RAM, 1M ROM, 168MHz, Cortex M4F USB micro connecteur Lecteur Micro carte SD Accéléromètre 3-axes (MMA7660) Horloge temps réel, 4 LEDs, 2 interrupteurs 30 GPIO Filesystème interne ”/flash” et ”/sd”
  • 12. UTILISATION shell python - (screen /dev/ttyACM0) système de fichier sur la flash (115k !!) carte SD avec boot.pypour "distribuer" son programme plusieurs modes possible (port serie + disque, port serie + souris) REPL
  • 13. PYTHON ? toute la syntaxe python 3.4 (y compris classes, exceptions, "with", "yield from", etc.) optimisations inspirées de PyPy module pybpour acceder au matériel inline assembler
  • 14. EXEMPLES DE CODE f r o m p y b i m p o r t L E D l e d = L E D ( 1 ) # r e d l e d l e d . t o g g l e ( ) l e d . o n ( ) l e d . o f f ( )
  • 15. DÉMO
  • 16. TOURNE AUSSI SUR ... unix ! ESP8266 teensy 3.1 etc
  • 18. EXEMPLE DE CODE > > i m p o r t e s p > > # C o n n e c t t o a W i F i n e t w o r k . > > e s p . c o n n e c t ( ' Y O U R W I F I S S I D N A M E ' , ' Y O U R W I F I S S I D P A S S W O R D ' ) > > # D e f i n e f u n c t i o n t o p r i n t d a t a r e c e i v e d f r o m s o c k e t . > > d e f s o c k e t _ p r i n t e r ( s o c k e t , d a t a ) : . . p r i n t ( d a t a ) > > # C r e a t e a s o c k e t a n d s e t u p t h e p r i n t f u n c t i o n . > > s o c = e s p . s o c k e t ( ) > > s o c . o n r e c v ( s o c k e t _ p r i n t e r ) > > s o c . c o n n e c t ( ( ' 1 9 2 . 1 6 8 . 0 . 1 2 ' , 8 0 ) ) > > s o c . s e n d ( ' G E T / t e s t w i f i / i n d e x . h t m l H T T P / 1 . 0 r n r n ' ) b ' H T T P / 1 . 1 2 0 0 O K r n . . . '
  • 19. MONDE RÉEL communauté bien plus petite que Arduino "drivers" pour quelques periphériques projets de robots projets pédagogiques voir aussi les projets de javascript sur microcontroller ( )espruino
  • 21. FIN Questions ? Plus de démos ? Plus de temps ? Contact : @arthurlutz