Giter Site home page Giter Site logo

a3-projet-c's Introduction

Projet A3 - C

Ce projet concerne la partie C du projet de 3ème année de l'ISEN Ouest. Il a pour but de simuler la supervision et la regulation de la temperature d'une habitation.

Table des matières

Prérequis

Pour pouvoir utiliser ce projet, il est nécessaire d'avoir les outils suivants:

  • make
  • gcc
  • python3
  • tkinter

De plus, l'interface graphique python gestiontemp.py nécessite les dependances indiquées dans le fichier Pipfile. Il est possible de les installer avec la commande:

pipenv install
pipenv shell # Pour activer l'environnement virtuel

Il est également possible d'installer les dependances python manuellement avec pip en lisant la section [packages] du fichier Pipfile.

Utilisation

Le projet est composé de 3 modes:

  • Simples autotests
  • Simulation de l'habitation
  • Communication avec une STM32

Les parties simulation et communication nécessitent l'utilisation de l'interface graphique python gestiontemp.py.

La partie autotests permet de tester les fonctions de bases du projet.

make autotests
./build/test_autotests

La partie simulation permet de simuler l'habitation et de tester les fonctions de supervision et de regulation.

make simulation
./build/test_sim

La partie communication permet de communiquer avec une STM32 pour tester les fonctions de supervision et de regulation.

make usb
./build/test_usb

Il est également possible de supprimer les fichiers temporaires et les fichiers objets générés par la compilation avec la commande:

make clean

Problèmes connus

Sous Linux, il est possible que la communication USB ne fonctionne pas (erreur 3 lors de l'ouverture du port). Le problème est lié au fait que lors de la connexion d'un périphérique FTDI, la plupart du temps, le driver ftdi_sio est chargé. Mais ce driver ne permet pas à la librairie D2XX de communiquer avec le périphérique.

Une solution est d'ajouter les règles udev suivantes:

# /etc/udev/rules.d/98-ftdi.rules
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{product}=="PRODUCT_NAME", \
RUN+="/bin/sh -c 'echo $kernel > /sys/bus/usb/drivers/ftdi_sio/unbind'"
# /etc/udev/rules.d/99-ftdi.rules
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", MODE="0666"

En modifiant les valeurs idVendor, idProduct et product en fonction du périphérique utilisé. Il est possible de trouver ces valeurs avec la commande:

lsusb -v 2> /dev/null | grep -a "Bus ... Device ...:\|idVendor\|idProduct\|iProduct"

Pour recharger les règles udev, il faut exécuter la commande:

sudo udevadm trigger

Sources:

a3-projet-c's People

Contributors

sehnryr avatar meywast avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.