Accueil > Robotique et Internet des Objets > Programmation Python en IoT pour Raspberry
Formation #RIS11

Formation Programmation Python en IoT pour Raspberry

Durée : 5 jours

Code : RIS11


Prochaines dates programmées :

Du 20 au 24 Mai 2024

Du 08 au 12 Juil. 2024

Du 16 au 20 Sept. 2024

Du 11 au 15 Nov. 2024

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.
Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)

Objectifs

  • Savoir différencier les différents besoins en IoT, les différents types de capteurs
  • Apprendre à programmer efficacement en Python des applications IoT pour Raspberry Pi
Programme
1/ Introduction à l'IoT
  • Définition
  • Historique
  • Les nano-ordinateurs
  • Le Raspberry Pi
  • Les microcontrôleurs
  • L'Arduino
  • Les différentes approches en fonction du besoin
  • Les communications sans fils (XAN, LAN, PAN, HAM, IoT…)
2/ Présentation de Raspberry
  • Les différents ports Hardware (GPIO, USB…)
  • Les différents modèles
  • Les extensions et capteurs (via HAT, GPIO…)
  • L'OS Raspbian, Debian...
  • Périphériques et montages électroniques externes pour Raspberry Pi
  • IDE pour Python : PyDev, Thonny...
3/ Administrer Raspberry
  • Gérer les sessions
  • Gérer les fichiers
  • Gérer les processus et logs
  • Installer les logiciels
  • Image et boot : Berryboot, Noobs et IMG
  • Gérer les périphériques /dev et USB
  • Système de fichiers : mount, /dev , /var, /home...
  • Paramétrer le réseau et gérer les services
4/ Langage de programmation Pyhton
  • Présentation de Python
  • Organiser un script ou module
  • Exécuter et passer un argument en ligne de commande
  • Accéder à une aide
  • Head et GC (Garbage Collector)
  • Variables
  • int, str, float...
  • List, tableaux, set, queue, list, dict, chaine...
  • Opérateurs
  • if / else, while, for...
  • Fonctions
  • Try / except / final
  • Créer et utiliser les modules en Python
  • Les expressions régulières en Python
  • Gestion de modules (pip)
  • OS, sys, random, string...
  • Gestion de I/O
  • Programmation des GPIO
  • L'instruction "with" en Python
  • Les arguments *args, **kargs
5/ Programmation du Raspberry en python
  • Mise en place des librairies de programmation Python 3 (via apt-get et PIP)
  • Installation de l'environnement de développement
  • Programmation de traitements simples
  • Débogage
  • Communication via Wifi et HTTP
  • Mise en place d'un serveur HTTP REST avec Flask
  • Communication via Bluetooth
  • Mise en place d'un client Bluetooth Android avec PyBluez
6/ Aspect avancés du développement 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 et UDP
  • Les WebSockets en Python et avantage des messages non sollicités
7/ 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 classes d'exceptions
  • La persistance avec pickle et json
8/ Concevoir les interfaces graphiques
  • Présentation de l'API de gestion graphique Tkinter
  • Problématique dite graphique et multi-thread
9/ Implémentation de Raspberry
  • Rappels sur GPIO
  • Affichage sur Raspberry
  • Présentation de PWM (Pulse Width Modulation)
  • Présentation de MQTT (Message Queuing Telemetry Transport)
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public Cible

Personnes Visées

  • Développeurs
  • Chefs de projets
Dates

Dates

  • Du 20 au 24 Mai 2024
  • Du 08 au 12 Juil. 2024
  • Du 16 au 20 Sept. 2024
  • Du 11 au 15 Nov. 2024
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.