Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Demande aide pour projet de bts


Sujet :

Raspberry Pi

  1. #1
    Candidat au Club
    Demande aide pour projet de bts
    Bonjour a tous,

    Je suis actuellement en Bts électronique et dans le cadre de ma formation je dois créer un système électronique automatisé qui doit servir à mon entreprise d'alternance. Mon idée (qui à été validée) est de créer avec une carte Rasbery pi 3 model a+, un relais ainsi q'un capteur de température un système de refroidissement automatisé avec des ventilateurs de pc 12v. Le système refroidira la baie de brassage de mon entreprise. Mais maintenant le problème posé c'est que je sais pas trop quoi mettre en programme dans le Rasbery pour déclencher le relais une fois la température de seuil atteinte.
    Pourriez vous me renseigner ?
    Merci d'avance

  2. #2
    Modérateur

    Le RPi aura-t-il d'autres usages que juste surveiller le capteur pour déclencher le relais ?
    Sinon un Arduino serait largement suffisant...
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  3. #3
    Membre éprouvé
    Perso, je resterais tout de même sur un Raspberry Pi.
    Pour un "truc" tout simple, je choisirais un ESP8266 ou un ESP32, mais pas forcément pour un brevet et suivant ton bagage informatique.

    Avec le Raspberry Pi, même avec peu de connaissances en programmation, il y a Python, facile pour débuter et plein d'exemples sur le Web.
    Attention au capteur de température. Il n'y a pas d'entrée analogique sur le Pi et il faudra utiliser par exemple un DS18B20.

    Moi-même je ferais tout en Java, mais cela risque d'être trop compliqué pour un débutant.

    Pour un brevet solide, car l'application risque de n'être que quelques lignes de code Python et quelques heures de travail, je lui rajouterais un serveur Web Flask (Python), aussi quelques lignes de code: c'est trop facile et trop cool.
    Le serveur Web permettrait de vérifier et de visionner l'état de ton système, la température, le relais, et ceci pendant le développement et après la mise en service.

    Bonne recherche et bon travail.
    Cordialement

  4. #4
    Expert éminent sénior
    Salut à tous.

    Je suis du même avis que boijea.
    Un ESP8266 ou un ESP32 peut remplir la tâche que demande aurel010616, même en étant débutant.
    L'avantage est la connexion wifi que l'arduino ne possède pas.

    Il y a des tas de didacticiels sur le net qui peuvent répondre à ces questions :

    1) créer une page web qui va lire les informations des capteurs :
    -->

    2) un capteur de température :
    --> http://www.boichat.ch/joomla/index.p...amp;Itemid=503

    3) un relais :
    --> https://bsfrance.fr/modules-relais-o...i-BS00520.html

    Cela doit se pilote comme un interrupteur.

    La question principale concerne la façon dont vous allez gérer votre capteur par rapport à votre relais.
    Dois-je comprendre qu'au delà d'un seuil, vous ouvrez le relais (position on) et en deça, vous fermez le relais (position off) ?

    Dans la boucle principale, vous devez lire le capteur de température.
    Cette boucle doit se faire durant un intervalle fixe.
    Ce n'est qu'une idée de base, mais il existe d'autre solution comme gérer des interruptions.

    Si vous utilisez un seuil, vous passerez votre temps à ouvrir ou fermer le relais, ce qui n'est pas correcte.
    Vous devez détecter la température au travers d'un intervalle [min ; max].
    Au démarrage, la température sera comprise dans l'intervalle [min ; max], donc aucune action.
    Si la température est > max vous ouvrez le relais, et par voie de conséquence, le système de refroidissement va faire baisser cette température.
    Si la temparéture est < min vous fermez le relais, et par voie de conséquence, la température va augmenter, puisque le système de refroidissement ne fonctionne pas.

    Si vous avez la possibilité de contrôler la vitesse de votre système de refroidissement, on peut utiliser plusieurs intervalles.
    ]T0; T1] & ]T1; T2] & ]T2; T3] & ]T3; T4] & ...
    avec vitesse : V4 > V3 > V2 > V1. V0 étant l'arrêt complet du système de refroidissement.

    Dans une phase ascendante :
    Si température > T1 alors mettre vitesse à V1.
    Si température > T2 alors mettre vitesse à V2.
    Si température > T3 alors mettre vitesse à V3.
    Si température > T4 alors mettre vitesse à V4.

    Dans une phase descendante :
    Si température < T4 alors mettre vitesse à V3.
    Si température < T3 alors mettre vitesse à V2.
    Si température < T2 alors mettre vitesse à V1.
    Si température < T1 alors mettre vitesse à V0.

    Ce ne sont que des idées.

    Comme le président de la république, M. Emanuel Macron a décrété que nous sommes à partir de demain 12H00 en confinement total, vous avez largement du temps pour peaufiner votre projet.
    Une recherche sur le net sera indispensable pour trouver les didacticiels dont vous aurez besoin.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Membre éprouvé
    Citation Envoyé par Artemus24 Voir le message

    2) un capteur de température :
    --> http://www.boichat.ch/joomla/index.p...amp;Itemid=503
    @+
    Cool, merci pour la référence à mon article, mais attention de ne pas faire toi-même le brevet avec tout le matos publié, même si on a tous les deux 40 ou 50 ans de plus (voir la photo de profil d' al1_24 )

    Je reste avec mon idée sur le Raspberry Pi.
    C'est plus pour le langage Python et le côté "système" du Pi: avec ce type de connaissances, ce sera plus facile de trouvé un job pour le breveté "tout neuf" (et après le confinement dû au coronavirus).

    Mon livre cité ci-dessous contient toutes les références de code en Python, pour les accès GPIO, comme un relais par exemple, avant de passer au code Java.
    Un DS18B20 sur le Pi se fait au travers du système d'exploitation (/sys/bus/w1/devices/*/w1_slave).
    Il n'y a donc pas d'exemple montré en Python ... et je vais le faire rapidement sur le site de mon livre où j'y ai mis des extensions.
    Cordialement

  6. #6
    Expert éminent sénior
    Salut boijea.

    Citation Envoyé par boijea
    Cool, merci pour la référence à mon article,
    Je ne l'ai pas fait exprès. J'ai trouvé que l'article était bien documenté.

    Citation Envoyé par boijea
    mais attention de ne pas faire toi-même le brevet avec tout le matos publié,
    Euh ? Je ne comprends pas ce que tu entends par "le brevet" ? Ce n'est pas clair du tout.

    Citation Envoyé par boijea
    même si on a tous les deux 40 ou 50 ans de plus (voir la photo de profil d' al1_24 )
    Est-ce toi le petit jeune ? A bon, ton papa, c'est al1_24.
    Je suis à la retraite et donc je n'ai pas 50 ans mais bien plus.

    Citation Envoyé par boijea
    Je reste avec mon idée sur le Raspberry Pi.
    Je ne suis pas contre cette idée de tout faire avec la raspberry pi.
    Je me pose la question concernant l'ESP8266.
    A savoir si utiliser un microcontrôleur suffit pour faire le job.
    Après tout, il a le wifi, et beaucoup de broches offrant des possibilités pour des applications électroniques.
    Le prix est intéressant mais je pense que cela ne doit pas être le seul critère pour choisir l'ESP8266.
    Je ne me suis pas suffisant documenté sur ce microcontrôleur, mais en quoi est-il mieux que le raspberry Pi Zéro WH ?

    Citation Envoyé par boijea
    C'est plus pour le langage Python et le côté "système" du Pi: avec ce type de connaissances, ce sera plus facile de trouvé un job pour le breveté "tout neuf" (et après le confinement dû au coronavirus).
    Je ne comprends toujours pas pourquoi parles-tu d'un brevet ?
    La demande concerne juste un stage, enfin je crois.

    Le langage python, c'est le langage par excellence des débutants.
    Si l'on veut approfondir la programmation système, le 'C/C++' est indispensable.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  7. #7
    Membre éprouvé
    Ouais .... un peu trop compliqué!

    Citation Envoyé par aurel010616 Voir le message
    Bonjour a tous,
    Je suis actuellement en Bts électronique et dans le cadre de ma formation je dois créer un système électronique automatisé ....
    Je ne sais pas ce que veux dire Bts, j'ai interprété cela comme:
    - Brevet de technicien supérieur
    - Et il y a un travail à présenter (donc un projet de brevet), j'espère!

    Donc, corrigeons mes "brevet" en "projet de brevet".

    Citation Envoyé par Artemus24 Voir le message

    Est-ce toi le petit jeune ? A bon, ton papa, c'est al1_24.
    Je suis à la retraite et donc je n'ai pas 50 ans mais bien plus.
    J'ai parlé de différence, car je connais déjà ton âge!

    Citation Envoyé par boijea Voir le message
    ... même si on a tous les deux 40 ou 50 ans de plus (voir la photo de profil d' al1_24 )
    al1_24 est un des participants de cette discussion et j'aime bien son image de profil qui me fait dire que aurel010616 est sans doute aussi bien plus jeune que nous deux (donc toi (Artemus24) et moi)!

    S'il y a vraiment un document de projet à présenter, mes suggestions à partir d'un Pi sont plus solides!
    Et comment c'est un peu trop facile ... j'y ai ajouté Flask (article en préparation par moi-même, presque terminé, pour developpez.net).


    Ok!
    Il nous reste à trouver l'âge du capitaine.
    Non, non, je n'ai pas de fièvre!
    Ce genre de discussion va faire exploser les petites piques qui entourent la couronne du Covid-19!

  8. #8
    Candidat au Club
    Bonsoir , je vous remercie pour vos réponses effectivement je suis en brevet de technicien supérieur et j’ai 19 ans. Mon projet à été validé avec le rasbery je ne peux donc pas changer pour un arduino. J’aimerais aussi faire une page web ou je peux consulte la vitesse dès ventilateurs , températures mais aussi avoir une alerte sonore avec un petit haut parleur et une notification sur un des ordinateurs de l’entreprise. Merci en tout cas pour toutes ces informations précieuses.
    Bonne soirée

  9. #9
    Membre éprouvé
    Bonjour,

    Citation Envoyé par aurel010616 Voir le message
    Mon projet à été validé avec le rasbery je ne peux donc pas changer pour un arduino.
    En lisant ton premier message, j'avais déjà pensé que la validation était avec le Raspberry Pi.

    Citation Envoyé par aurel010616 Voir le message
    J’aimerais aussi faire une page web ou je peux consulte la vitesse dès ventilateurs , températures mais aussi avoir une alerte sonore avec un petit haut parleur et une notification sur un des ordinateurs de l’entreprise. Merci en tout cas pour toutes ces informations précieuses.
    Bonne soirée
    Vraiment excellent le sujet et toutes ces options: bon travail.
    Il y a plein de choses à faire avec pas mal de variantes possibles.
    N'hésites-pas à poser des questions ici, il y a plein de gens formidables.
    f-leb par exemple, qui a passé ces deux derniers jours à corriger mon article sur Flask et le Raspberry Pi (39 pages !?!?) qui devrait être rapidement validé pour developpez.net.
    Dès que j'aurai terminé avec les corrections de mon article, j'en ferai un autre (quelques heures seulement) sur mon site pour traiter le DS18B20 en Flask (i.e. Python) sur le Pi.
    Cela te donnera une idée .... et c'est tellement simple!
    Laisses ouvert cette discussion et j'y déposerai le code rapidement (quelques lignes).

    Cordialement
    A+

  10. #10
    Membre éprouvé
    Citation Envoyé par boijea Voir le message

    Laisses ouvert cette discussion et j'y déposerai le code rapidement (quelques lignes).
    Ouais ... après le repas ce midi, une petite pause, un café, et :

    Fichier Python (Flask): latemperature.py

    Code Python :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    from flask import Flask, render_template
    app = Flask(__name__)
     
    @app.route("/latemperature")
    def latemperature():
       latemperature = 0.000
       f = open('/sys/bus/w1/devices/28-021318ab83aa/w1_slave', 'r')
       lines = f.readlines()
       f.close()
       equals_pos = lines[1].find('t=')
       if equals_pos != -1:
         temp_string = lines[1][equals_pos+2:]
         print temp_string
         latemperature = float(temp_string) / 1000.0
     
       templateData = {
          'title' : 'Notre temperature',
          'relaystate': latemperature
          }
       return render_template('latemperature.html', **templateData)
     
    if __name__ == "__main__":
       app.run(host='0.0.0.0', port=80, debug=True)


    et son template latemperature.html dans le répertoire templates:

    Code HTML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!DOCTYPE html>
       <head>
          <title>{{ title }}</title>
       </head>
     
       <body>
          <h3>La temp&eacute;rature: {{ relaystate }}</h3>
       </body>
    </html>


    Je touche avec deux doigts un capteur DS18B20 de mon Raspberry Pi, pour y monter la température, et un http://192.168.1.135/latemperature dans Firefox de mon PC (192.168.1.135: le Pi):
    La température: 26.687

    Dès que possible j'écrirai les détails dans un article (ici j'ai fait le plus simple et court possible ... sans cas d'erreur ... etc).
    Je dois expliquer ce qu'est ce /sys/bus/w1/devices/28-021318ab83aa/w1_slave (copier/coller de mon livre)!
    Tout fait dans une fenêtre PuTTY de mon PC Windows et vi
    Flask est cool!

  11. #11
    Candidat au Club
    Bonjour, merci beaucoup d’avoir consacré du temps pour moi et de m’avoir donné toutes ces informations précieuses je vais pouvoir commencer à coder convenablement.
    Bonne soirée

  12. #12
    Membre éprouvé
    Citation Envoyé par boijea Voir le message

    N'hésites-pas à poser des questions ici, il y a plein de gens formidables.
    f-leb par exemple, qui a passé ces deux derniers jours à corriger mon article sur Flask et le Raspberry Pi qui devrait être rapidement validé pour developpez.net.
    C'est fait: Python Flask et SQLite pour le Raspberry Pi 3 ou 4 - exemples de communication avec des ESP32 ou ESP8266