IMA4 2018/2019 EC5 : Différence entre versions

De Wiki d'activités IMA
(Description du projet)
Ligne 12 : Ligne 12 :
  
 
Vous devez utiliser une plateforme <code>stm32f4-discovery</code>. Les tâches à accomplir sur cette plateforme sont :
 
Vous devez utiliser une plateforme <code>stm32f4-discovery</code>. Les tâches à accomplir sur cette plateforme sont :
 +
* mettre à jour la plateforme pour vérifier que la programmation via système de fichiers est possible ;
 
* installer micro-python sur la plateforme ;
 
* installer micro-python sur la plateforme ;
 
* écrire un programme python <code>main.py</code> pour :
 
* écrire un programme python <code>main.py</code> pour :

Version du 15 février 2019 à 12:13

Présentation du projet

Contexte

L'élève continue son semestre S8 à l'école.

Objectif

L'objectif de l'épreuve complémentaire est de programmer un dispositif de type système embarqué en micro-python pour utilisation dans des travaux pratiques en GIS3.

Description du projet

Vous devez utiliser une plateforme stm32f4-discovery. Les tâches à accomplir sur cette plateforme sont :

  • mettre à jour la plateforme pour vérifier que la programmation via système de fichiers est possible ;
  • installer micro-python sur la plateforme ;
  • écrire un programme python main.py pour :
    • implanter SLIP sur la plateforme ;
    • gérer les 4 LEDs programmables sur réception de datagrammes UDP ;
    • gérer le bouton programmable et envoyer des datagrammes UDP sur changement d'état de ce bouton ;
    • gérer l'accéléromètre de la plateforme et envoyer des datagrammes UDP sur changement notable des valeurs d'accélération.

Comme adresse de destination des paquets de changement d'état des paquets vous utiliserez l'adresse source du dernier datagramme de gestion des LEDs. En cas d'absence de paquets UDP reçus vous pouvez utiliser 255.255.255.255 comme adresse destination.

Dans le code main.py vous devrez créer l'objet connexion série/USB avec ces quelques lignes :

import pyb
usb=pyb.USB_VCP()

Une difficulté pour implanter SLIP en micro-python est d'arriver à détourner l'interruption du CTRL-C. Le plus simple est d'utiliser la méthode setinterrupt de pyb.USB_VCP avec l'argument -1.

Matériel nécessaire

Description Fabricant Référence Fabricant Fournisseur Quantité Lien fournisseur

Planning prévisionnel

Travail effectué

Documents