Atelier T1.A06

PORTEURS et INTERVENANTS :

TITRE :

Python : communications capteurs/RaspberryPi/ordinateur

OBJECTIF :

En utilisant le langage Python :

  1. Sur le Raspberry pi “Server” :
    • récupérer des données issues d'un capteur I2C
    • enregistrer les données de manière locale (sur fichier ou bdd sqLite)
    • réaliser un script socket tcp server plus envoyer les données
  2. Sur le Raspberry pi “Client” , sur la base d'un terminal série pré-développé :
    • réaliser un script socket tcp client pour envoyer des commandes au server
    • ajouter une option moniteur (affichage graphique)
    • afficher les données du capteur I2C sur le moniteur série (tracer la courbe ;) )

MOTS CLES :

python, raspberry pi, i2c, socket, moniteur

DESCRIPTION :

Deux Raspberry Pi3 (Rpi3) vous seront mis à disposition lors de cet atelier ainsi qu'un capteur i2c pour la mesure de la température et gestion du temps réel (miniRTC).

Vous pouvez venir avec votre propre ordinateur peu importe votre OS. Le mieux serait de disposer d'une version d'anaconda (python3.5) sur votre ordinateur.

L'ensemble des Rpi3 seront mis sur un réseau local “2017jdev” géré par un autre Rpi3. A partir de la modification d'exemples de scripts socket tcp Server et Client, réalisez un script côté server gérant en provenance d'un script côté client les commandes suivantes :

  CMD CLIENT       DESCRIPTIF                                     RETURN AU CLIENT
  >help            -> renvoie au client la liste des commandes    -> list:
  >getDate         -> renvoie au client l'heure du module miniRTC -> date:
  >getTemp         -> renvoie au client la température du miniRTC -> temp:
  >setDate fromRpi -> maj l'heure du miniRTC via l'heure du Rpi   -> date:
  >setDate DD/MM/YYYY hh:mm:ss -> maj de l'heure du miniRTC       -> date:
  >endClient       -> déconnexion du client au serveur            ->
  >endServer       -> déconnexion des clients et termine le script serveur

PREREQUIS :

Etre en capacité de lire un script écrit en langage python Connaitre les bases du langage python Etre à l'aise avec la programmation orientée objet

Connaitre le framework Qt est un plus

CORRECTION :

Vous trouverez sous ce lien une solution possible ;)

 
jdev2017/t1.a06.txt · Dernière modification: 2017/07/06 11:56 par eric.duvieilbourg@univ-brest.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki