fff

Combien de stagiaires suivront cette formation ?


Valider Annuler

Accueil    Formations    Informatique    Langages et développement    Développeur Python    Programmation Python en IoT pour Raspberry

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Objectifs pédagogiques

  • Programmer efficacement en Python des applications IoT pour Raspberry Pi.

Niveau requis

Etre initié à la programmation structurée et avoir des connaissances sur l'architecture matérielle d'un PC et de Linux souhaitées.

Public concerné

Programmateurs et chefs de projets.

Programme

Jour 1

Présentation de Raspberry

  • Architecture interne : RAM, CPU, Socket, Ethernet , GPIO (General Purpose Input/Output)...
  • Système d'exploitation Linux : Raspbian, Debian...
  • Périphériques et montages électroniques externes pour Raspberry Pi
  • IDE (Integrated Development Environment) pour Python : PyDev, Thonny...
Exemples de travaux pratiques (à titre indicatif)
  • Prise en main de Raspberry
  • Installation et configuration de l'IDE Python

Administration de Raspberry

  • Gestion de sessions
  • Gestion de fichiers
  • Gestion de processus et logs
  • Installation de logiciels
  • Image et boot : Berryboot, Noobs et IMG
  • Gestion de périphériques /dev et USB
  • Système de fichiers : mount, /dev , /var, /home...
  • Configuration réseau et gestion de services
Exemples de travaux pratiques (à titre indicatif)
  • Manipulation de fichiers : commandes de base
  • Manipulation de processus : commandes de base
  • Démarrage et arrêt du système : init, shutdown...
  • Installation de logiciels
  • Configuration réseaux et installation de services

Jour 2

Langage de programmation Pyhton

  • Langage interprété
  • Organisation d'un script ou module
  • Exécution et passage d'argument en ligne de commande
  • Accéder à une aide
  • Commentaires et indentations
  • Modèle mémoire : head et GC (Garbage Collector)
  • Variables : déclarations et portée
  • Types de données scalaires : int, str, float...
  • Types agrégés : List, tableaux, set, queue, list, dict, chaine...
  • Opérateurs : arithmétiques, logiques, relationnels, spéciaux...
  • Instructions de contrôle : if / else, while, for...
  • Notions des fonctions et passage d'arguments
  • Gestion des exceptions : try / except / final
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un premier programme Python, avec passages d'arguments
  • Utilisation des variables et de ses types
  • Exploitation des tableaux
  • Utilisation des structures de contrôle principales de Python
  • Création de fonctions et appel de celles-ci
  • Ajout de la gestion des exceptions aux programmes réalisés durant la journée

Jour 3

Langage de programmation Python - Suite

  • Création et utilisation de modules en Python
  • Les expressions régulières en Python
  • Gestion de modules (pip) : installation, création et importation
  • Modules standards : OS, sys, random, string...
  • Gestion de I/O : entrées / sorties standards, accès aux fichiers et redirections
  • Particularités de la programmation Python sur Raspberry
  • Programmation des GPIO (General Purpose Input/Output) Rasberry
  • L'instruction "with" en Python
  • Les arguments *args, **kargs
Exemples de travaux pratiques (à titre indicatif)
  • Création et utilisation de modules
  • Utilisation des modules standards
  • Accès aux fichiers depuis Python
  • Pilotage par Python de montage électronique via GPIO

Aspect avancés du developpement Python sur Raspberry

  • Traitements parallèles et concurrents en Python : les différences
  • Traitements parallèles avec les threads en Python
  • La programmation concurrente en Python
  • Communication réseaux avec les sockets : TCP (Transmission Control Protocol) et UDP (User Datagram Protocol)
  • Les WebSockets en Python et avantage des messages non sollicités
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre du multi-threads en Python
  • Mise en oeuvre de la communication via Sockets

Jour 4

La programmation orientée objet (POO)

  • Les classes en Python
  • Attributs et méthodes
  • Les constructeurs
  • Les instances
  • Le paramètre self
  • Héritage en Python
  • Utilisation de super en Python
  • Mise en œuvre du polymorphisme
  • Les annotations
  • Les classe d'exceptions
  • La persistance avec pickle et json
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre de la programmation objet en Python
  • Création de classes, propriétés et méthodes
  • Ajout de constructeurs
  • Développement de l'héritage
  • Exploitation du polymorphisme
  • Ajout du traitement d'exception dans les classes

Conception d'interfaces graphiques

  • Présentation de l'API de gestion graphique Tkinter
  • Gestion
    • Fenêtres
    • Evènements souris / clavier
    • Gadgets visuels
    • Menus
    • Boîtes de dialogues
    • Texte
    • Graphique vectoriel
  • Problématique dite graphique et multi-thread
Exemples de travaux pratiques (à titre indicatif)
  • Réalisation d'une interface graphique avec Tkinter
  • Intégration à l'interface des différents contrôles visuels et gestion programmatique de ceux-ci

Jour 5

Mise en oeuvre de Raspberry

  • Rappels sur GPIO
  • Affichage sur Raspberry
  • Présentation de PWM (Pulse Width Modulation)
  • Présentation de MQTT (Message Queuing Telemetry Transport)
Exemples de travaux pratiques (à titre indicatif)
  • Projet développé d'accès au GPIO depuis un programme Python
  • Projet d'affichage de nombres aléatoires sur Raspberry
  • Projet de contrôle de moteurs connectés à Raspberry, via PWM (Pulse Width Modulation)
  • Projet d'échanges entre deux Raspberry, via le protocole MQTT (Message Queuing Telemetry Transport)

Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.

Modalités d’évaluation des acquis

  • En cours de formation, par des études de cas ou des travaux pratiques
  • Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vous souhaitez suivre cette formation ?

Cette formation est disponible en présentiel ou en classe à distance, avec un programme et une qualité pédagogique identiques.

Choisissez la modalité souhaitée pour vous inscrire :

Formation disponible en intra-entreprise

Votre société a besoin d'une offre personnalisée ? Contactez-nous

Faites-nous part de votre projet de formation, nous sommes là pour vous guider.

Contactez-nous