Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Elec/Linux/Prog] Projet TSIN cafetière pilotable

    31 janvier 2015 à 14:12:31

    Bonjour à tous,

    J'ouvre un topic dans cette partie mais je ne sais pas si c'est la plus appropriée car mes questions concernent la programmation/Linux/Electronique (Raspberry).

    Donc comme l'indique j'ai des questions à poser sur mon projet de TSIN (coef 12) qui est donc la réalisation d'une cafetière pilotable via Raspberry (Ethernet) & module gsm.

     -----

    Avant de vous posez quoi que ce soit comme question, je vous drop une liste du cahier des charges à respecter :

    - La cafetière doit être de préférence une Senseo (et ne pas excéder 60€)

    - Le achats mis à part la cafetière ne doivent pas dépasser 100€ (cafetière non incluse)

    - La cafetière doit communiquer par tablette/smartphone via une application android, par interface web (en local, depuis un pc) via une interface web & par SMS via un portable et le shield GSM branché au Raspberry

    - La cafetière doit faire couler du café (lol)

    - La cafetière doit disposer d'un serveur web sur le Raspberry

    - La cafetière pourra aussi fonctionner de manière normal (sans l'aspect domotique quoi)

    (Ceci est une tâche ajoutée par moi même qui sera réalisé en dernier : - Le Rpi doit faire un test pour vérifier qu'il est une tasse ou/et de l'eau ou/et une dosette)

    ----

    Maintenant que vous connaissez un peu la globalité du projet, je vais vous montrez sur quoi j'ai déjà plancher de mon côté + les question que je me pose :

     ----

     * Pour ce qui est du côté SMS, j'ai trouvé un tool bien sympa sur le net (pour le matos utilisé, voir matos en bas de la page) qui permettrait de piloté la cafetière à distance depuis le Rpi : http://raspbian-france.fr/envoyer-sms-raspberry-pi/ .

    Maintenant j'ai quelques questions à poser à propos de cet interface + du module GSM :

    - Est ce que cette interface & ce module sont potentiellement utilisable pour piloter la cafetière via l'envoi & la réception de SMS ?

     ----

    * Pour ce qui est du côté électrique/électronique, c'est la où je me pose le plus de questions. Pour ce qui est du modèle de la cafetière je pense partir sur une Senseo basique, mais si ce n'est pas vraiment faisable je peu utiliser une cafetière banale (bien que je préférerais une Senseo).

    Voici mes questions à propos de l'électrique/électronique :

    - Est ce qui serait assez simple de trouver une documentation très détaillé  de la carte électronique d'une Senseo ?

    - Avez vous une idée de comment connecter le Rpi à la Senseo ? Faut il juste souder les broches depuis le Rpi à la Senseo ?

    - Comment est il possible d'utiliser le Rpi pour envoyé des signaux électriques sur les point de la carte électronique ?

    - Comment vérifier la présence de eau/dosette/tasse ? Via ultrason ?

    - Comment fournir des courants électriques depuis le rpi, faut il ajouter une carte à relais ?

    (Voici un exemple de la tronche qu'a la carte électronique : http://goo.gl/wouNsR , merci Iooner)

     ----

    * Pour ce qui est du côté programmation système, je n'ai non plus pas trop d'idée sur quel langage utilisé pour réaliser les actions entre sms-rpi-senso & app_web-rpi-senseo.

    - Pour vous, quel langage serait il préférable d'utilisé pour pour faire la liaison rpi-senseo ? Sachant que cette liaison ce fera avec des courants électriques du rpi vers le carte électronique.

     ----

    * Et pour finir, l'application web/smartphone, je pense partir sur un framework web du genre Symfony 2 pour l'application web & ensuite utiliser un tool du genre http://phonegap.com/ pour convertir mon application en application mobile.

    - Symfony est il le FW le plus adapté à l'interaction avec un rpi ?

    - Comment interagir depuis une interface web avec un rpi ?

    - Peut on utiliser un tool tel que phonegap pour convertir son interface en mobile pour ce genre de projet ?

     ----

    Matos que je veux commander (on peut le faire qu'une fois donc autant ne pas me tromper !) :

    Raspberry b+ http://kubii.fr/raspberry-pi-b-plus/384-raspberry-pi-b-plus-3272496001152.html

    Module GSM http://goo.gl/KXVENI

    ----

    Voilà je pense que j'ai maintenant assez détailler le projet & les points ou j'avais besoin d'un petit coupe de pouce !

    Merci d'avance pour votre aide <3

     ----

    PS : Une fois le projet achevé, TOUT les codes sources seront à disposition de tous sur GitHub.

    -
    Edité par Wstroot 31 janvier 2015 à 14:15:34

    • Partager sur Facebook
    • Partager sur Twitter
      Staff 31 janvier 2015 à 16:09:15

      Alors, je vais prendre tes questions une à une :


      - Est ce qui serait assez simple de trouver une documentation très détaillé  de la carte électronique d'une Senseo ?

      Absolument pas ! Et ce sera le cas pour toutes les autres cafetière de commerce.

      Pourquoi le fabriquant s'emmerderait-il a faire une telle doc ?

      D'ailleurs, le fabriquant aura plutôt tendance à faire l'inverse en empêchant que sa carte puisse facilement être comprise afin qu'elle ne soit pas copiée.


      - Avez vous une idée de comment connecter le Rpi à la Senseo ? Faut il juste souder les broches depuis le Rpi à la Senseo ?

      Très mauvaise idée ! Tu ne sais pas comment le fabriquant gère ses signaux ni les niveaux de tension qu'il utilise.

      Connecter la RPI un peu n'importe comment, c'est cramer la RPi et la cafetière à tous les coups.


       - Comment est il possible d'utiliser le Rpi pour envoyé des signaux électriques sur les point de la carte électronique ?

      Sur une cafetière normal, il y a des boutons pour contrôler celle-ci.

      Hors, un bouton, c'est juste un contact mécanique qui fait un court-circuit entre 2 fils.

      Ce que je te propose donc, c'est de souder 2 petits fils sur les boutons qui t’intéressent et de relier ces 2 fils à un relais.

      Lorsque la RPi fermera le relais, c'est comme si l'utilisateur appuyait sur le relais.

      Attention: je parle bien d'un relais et non d'un transistor ou tout autre contact électronique !

      En effet, un relais est quelque chose de complètement isolé donc les signaux de la RPi ne pourront pas interféré avec les signaux de la cafetière et vise versa.

      Pas besoin d'un énorme relais, un petit relais REED suffira largement (il sert juste à simuler l’appuie sur un bouton donc il n'y a pas beaucoup de courant que le traverse).


      - Comment vérifier la présence de eau/dosette/tasse ? Via ultrason ?

      En ultrason, c'est surement possible mais pas forcément le plus simple.

      Tu peux aussi utiliser 2 petits fils et un transistor.

      Lorsque qu'il y a suffisamment d'eau, les fils sont dans l'eau donc un tout petit courant peu circuler (l'eau est conductrice).

      Du coup, le transistor amplifiant ce courant permet à la RPi de détecter qu'il y a bien de l'eau.


      - Comment fournir des courants électriques depuis le rpi, faut il ajouter une carte à relais ?

      Sur ta photo, on voit clairement comment brancher ton relais pour simuler le bouton :)

      Si je prends pas exemple la zone petit café, on vois 2 pad de soudure pour le bouton qui doit être de l'autre coté.

      Du coup, il te suffit de souder 2 fils là dessus et de les relier à un relais.

      A noter que la Rpi ne peut pas piloter directement un relais, il te faut forcément un shield relais (ou un transistor, une diode et une résistance).


      - Pour vous, quel langage serait il préférable d'utilisé pour pour faire la liaison rpi-senseo ?

      Comme dit précédemment, il s'agit simplement de piloter un relais pendant une fraction de seconde pour simuler l’appuie sur un bouton.

      Il te faut donc simplement un langage capable de contrôler les GPIO de la RPi.

      A noter que sur Linux, tous les périphériques sont commandable par un système de fichier.

      Du coup, n'importe quel langage capable d'écrire dans un fichier peu piloter les boutons.

      Bref, tu peux faire ça en C, en C++, en python, en Java, en PHP ... en tout ce que tu veux.


      - Symfony est il le FW le plus adapté à l'interaction avec un rpi ?

      Symphonie permet de développer un site WEB, pas de faire une interface matérielle.

      Ce sera à toi de développer cette interface.

      Par exemple, tu peux faire une petite application C++ ou python qui tourne en tache de fond qui lance un petit serveur local et écoute les ordres.

      Coté PHP avec Symphony ou autre, il te faudra alors utiliser un socket pour te connecter à ce programme de fond et lui transmettre un ordre.


      - Comment interagir depuis une interface web avec un rpi ?

      C'est à toi de coder tes scripts PHP comme tu le veux.

      Comme je te l'ai dis, les GPIO de la RPi sont accessible par fichier.

      Du coup, si ton script PHP écrit sur ce fichier, il commande l'état d'une pin, et donc du relais qui simule l’appuie sur un bouton.

      Cependant, comme je l'ai dis, tu ferais mieux de développer un programme qui tourne en tache de fond et qui gère le hardware.

      En effet, si l'utilisateur charge 2 fois la page pour faire un café, il ne faut surtout pas simuler 2 fois l'appuie sur le bouton.

      Ce petit programme de fond servirait alors d'arbitre afin de prendre les bonnes décisions en fonction des ordres qu'il reçoit depuis tes scripts PHP.


      - Peut on utiliser un tool tel que phonegap pour convertir son interface en mobile pour ce genre de projet ?

      J'en sais rien mais si tu codes une interface WEB en PHP avec Symphonie, tu n'as pas besoin d'app mobile.

      Il te suffira d'utiliser le navigateur de ton téléphone et de naviguer sur le site WEB qu'héberge la RPi pour commander un café.


      - Matos que je veux commander

      Tu oublies 2 ou 3 choses importantes là ...

      - des relais et shield relais pour simuler l'appuie sur les boutons

      - le détecteur de niveau d'eau

      - un cable RJ45 ou une clef USB Wifi pour relier la Rpi à la box internet

      - une petite alimentation 5V (genre un chargeur USB) pour alimenter la RPi

      ...

      -
      Edité par lorrio 31 janvier 2015 à 16:13:50

      • Partager sur Facebook
      • Partager sur Twitter
        31 janvier 2015 à 19:10:25

        le GSM c'est vraiment utile et intéressant dans ton projet? enfin j'veux dire... ton prof a pas trop pété les plombs quand il a écrit les sujets?

        non parce que ça amène plein de problemes, du coup... vu que ça servirait à personne, ça embeterait pas de l'enlever. (je dis que ça servirait à personne parce qu'en général quand je me fais un café, je suis pas très loin de la cafetiere --c'est dégueu le café froid--, du coup consulter une page web oui, mais taper un sms, non autant me lever et aller appuyer sur le bouton de la cafetiere)

        sinon, l'application que tu montre semble pas du tout prévue pour fonctionner avec un shield gsm d'arduino.

        -
        Edité par remace 31 janvier 2015 à 19:38:27

        • Partager sur Facebook
        • Partager sur Twitter
        oui. non. enfin je regarde et je te dis.
          2 février 2015 à 11:12:38

          Merci pour vos réponses ! :D

          Je vais vous répondre à mon tour !

          - Oui c'est vrai que de ce point de vue c'est assez compréhensible, je vais essayer de contacter un électronicien dans mon entourage pour voir ce qui est possible de faire de ce côté.

          - Donc si j'ai bien suivi, pour palier à ce problème il faut utiliser un relais ?

          - J'ai pas trop compris de quelle manière tu voulais procéder & comment le mettre en place. En gros ce serait le relais connecté au bouton qui envoie des signaux électriques c'est ça ?

          - De même, je ne vois pas trop comment mettre en place ceci, du côté physique comme du côté code.

          - Ouep je note ça à la liste de course.

          - D'accord donc dans mon cas il faudrait plutôt utiliser le PHP vu que je dois faire une interface web du moins pour l'application. Ensuite pour la partie SMS, peut elle se piloter de la même manière ?

          - Il existe des FW qui permettent de gérer plus facilement une interface web avec une interface machine ? Ou on doit vraiment tout faire soit même ?

          - Okep je vois ce que tu veux dire, mais je vois beaucoup moins comment dev ce programme x)

          - Oui mais il est stipulé qu'on doit faire un app mobile donc je vais juste faire un viewer dirigé sur l'url.

          - Tu as un modèle de shield relais & un détecteur de niveau d'eau à me conseiller pas très chère ?

          -----------------------------------------

          Oui mais c'est le rectorat qui a fait le cahier des charges, même pas le prof mais de toute manière j'ai pas le choix :(

          Ben le GSM est aussi prévu pour Rpi d'après les tutos que j'ai trouvé ;)

          -----

          Encore merci à vous :)

          • Partager sur Facebook
          • Partager sur Twitter
            2 février 2015 à 11:16:09

            Double post sorry.

            -
            Edité par Wstroot 2 février 2015 à 11:17:44

            • Partager sur Facebook
            • Partager sur Twitter
              Staff 2 février 2015 à 12:50:29

              Quand tu fais une liste de réponse comme ça, ce serait bien que tu copies/colles aussi les questions ou affirmation pour qu'on s'y retrouve.


              Petit exemple avec une de tes réponses : Okep je vois ce que tu veux dire, mais je vois beaucoup moins comment dev ce programme x)

              Franchement, c'est impossible de savoir à quoi tu fais référence là...

              Donc ok, tu vois ce qu'on veut dire (mais on ne sait pas quoi) mais tu ne sais pas comment le coder => on n'est pas vraiment plus avancé là...


              Pourquoi un relais ?

              Pour bien comprendre pourquoi je te parle de relais, voici ce que tu dois te poser comme question :

              Un bouton, c'est quoi ? => C'est juste un contact manuel entre 2 fils : quand tu appuis dessus, le bouton ferme le contact, ce qui laisse passer le courant entre les deux fils

              Un relais, c'est quoi ? => C'est juste un contact pilotable entre 2 fils : quand tu fais circuler un courant dans la bobine, le relais ferme le contact, ce qui laisse passer le courant entre les 2 fils du contact

              Bref, avec un pin GPIO de ta RPi, tu vas pouvoir piloter le relais (faire circuler ou non un courant dans la bobine du relais) et donc fermer ou non le contact.

              En mettant la pin GPIO à l'état LOW, la bobine ne recevra pas de courant => il ne se passe rien

              En mettant la pin GPIO à l'état HIGH, la bobine reçoit du courant => le contact de relais se ferme, ce qui revient au même que d'appuyer sur le bouton

              Du coup, pour commander un café, il faut simplement passer la pin de la RPi à l'état HIGH pendant quelques centaines de ms, ce qui va simuler un appuie court sur le bouton.

              Si tu veux simuler un appuis long sur le bouton, il faut juste laisser la pin HIGH plus longtemps.


              Comment contrôler les GPIO ?

              Cela se fait par un système de fichier.

              Si tu branches ton relais sur la pin 4, il faut que tu commences par écrire un 4 dans le fichier /sys/class/gpio/export

              Cela devrait te faire apparaitre 2 fichiers supplémentaires : /sys/class/gpio/gpio4/direction et /sys/class/gpio/gpio4/value

              Tu peux ensuite écrire out dans /sys/class/gpio/gpio4/direction

              Cela va passer la pin 4 en mode OUTPUT (sortie).

              Reste enfin le contrôle de l'état de cette pin.

              En écrivant 0 ou 1 dans /sys/class/gpio/gpio4/value, cela permet de mettre la pin HIGH ou LOW.

              - Écrire un 1 : passe la pin à HIGH => commande du relais => simule l'enfoncement du bouton

              - Écrire un 0 : passe la pin à LOW => décommande du relais => simule le relâchement du bouton

              A l'initialisation de ta RPi, il faut donc que tu fasse tes export et tes out une seule fois.

              Ensuite, tu dois simplement faire des accès aux fichier /sys/class/gpio/gpioX/value de façon à piloter tes relais.


              Un framwork pour gérer un interface machine ?

              Je doute fort que ça existe puisque chaque machine est différente.

              Dans le cas d'une cafetière, tu dois juste simuler l'appuie sur un bouton mais pour un autre appareil, ce sera complètement différent.

              Du coup, c'est forcément quelque chose de très spécifique, que tu devras développer toi même.


              Shield et détecteur ?

              Des shields relais, tu as trouveras pleins sur internet, à toi d'en trouver un dont la description annonce qu'il est compatible avec le 3.3v de la RPi.

              Pour le détecteur d'eau, cela se fait simplement avec un transistor et 2 résistances.

              -
              Edité par lorrio 2 février 2015 à 12:53:02

              • Partager sur Facebook
              • Partager sur Twitter
                2 février 2015 à 15:31:24

                pour le shield GSM, il fonctionne sur arduino autant que sur RPi, mais pas avec ton programme, qui lui ne prend en compte que les dongle GSM/3G qui se connectent en USB et qui sont reconnus par un certain daemon qui se chargera de faire couche d'abstraction.
                • Partager sur Facebook
                • Partager sur Twitter
                oui. non. enfin je regarde et je te dis.
                  2 février 2015 à 17:58:06

                  Et les capsules, on fait comment pour les changer à distance ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    Staff 2 février 2015 à 18:46:52

                    michelbillaud a écrit:

                    Et les capsules, on fait comment pour les changer à distance ?

                    Ahah, pas faux.

                    Tu viens de briser tout un projet en 30 secondes.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 février 2015 à 10:38:53

                      Bonjour à tous !

                      Désolé pour le temps de réponse j'ai été pas mal occupé ces derniers temps.

                      J'ai une bonne nouvelle, j'ai réussi à faire changer mon prof d'avis, maintenant la cafetière sera uniquement pilotable via application web & application smartphone (qui devront être bien distincte malgré tout) mais on doit rajouter la détection de la tasse. Adieu le GSM !!!!!

                      -------

                      Merci à tous encore pour vos réponses, vous m'avez bien dépanner pour démarrer mon projet.

                      Pour ce qui est de la capsule, osef, on ne doit pas s'occuper de cette partie :D

                      -------

                      Juste encore au niveau de matos j'ai quelques questions :

                      Il est plus simple de prendre une carte Raspberry B+ ou Raspberry 2 (la nouvelle qui vient de sortir) ?

                      Pour ce qui est du relais, je galère vraiment à faire un choix, tu aurais pas une ref pas trop chère (en dessous de 20€) qui est sûr d'être compatible avec ma carte & avec la tension d'une Senseo ?

                      On doit aussi ajouter une détection pour le tasse, qu'est ce que vous utiliseriez pour faire ça ? Avec une référence du matos si possible ? (inférieur à 15€ )

                      -------

                      Merci à tous encore pour votre aide,

                      Bonne journée !

                      -
                      Edité par Wstroot 6 février 2015 à 10:39:16

                      • Partager sur Facebook
                      • Partager sur Twitter
                        Staff 6 février 2015 à 10:56:31

                        Normalement, la RPI 2 est entièrement compatible avec la RPI B+ tout en étant 6 fois plus puissante.

                        Cependant, pour une cafetière, tu n'as pas vraiment besoin d'un processeur cuad core à 1 GHz (aussi puissant d'un mini PC) donc je te conseillerais plutôt la RPI B+.

                        En effet, même si les 2 sont sensé être compatible, je te conseillerais quand même la RPI B+ qui dispose de beaucoup d'articles et tutoriels (mieux vaut jouer la carte de la sécurité puisque tu n'as pas besoin de la puissance de la RPI 2).


                        Pour le choix des relais et des composants, on ne va pas non plus tout faire à ta place.

                        Réfléchir et choisir les bons composants fait surement aussi parti du projet.

                        Si tu veux faire dans la simplicité pour ne pas avoir à câbler le relais et son système de commande (transistor, diode, résistance), tu peux acheter un shield relais.

                        On trouve des shield de 4 relais à moins de 10€, il n'y a qu'à se servir.

                        Vérifie quand même que le shield accepte des niveaux logiques 3.3V car contrairement à l'arduino, la RPi est en 3.3V et non en 5V.


                        Pour ce qui est du capteur de présence de la tasse, je te proposerais bien un petit bouton à contact tout simplement.

                        Lorsque la tasse est présente, celle-ci appuis sur le contact qui en informe alors la RPi.

                        Tu peux aussi utiliser des détecteurs d'ouverture à aimant.

                        Pour cela, tu dois coller un petit aimant puissant sous la tasse et mettre le détecteur de façon à ce qu'il soit en face de l'aimant.

                        Ou alors, une barrière infrarouge avec l'émetteur et le récepteur de part et d'autre de la tasse.

                        Lorsque celle-ci est présente, elle coupe le faisceau infrarouge et la RPi le détecte.

                        Bref, pleins de solutions possible ;)

                        Là encore, ce genre de chose coute moins de 10€.

                        -
                        Edité par lorrio 6 février 2015 à 10:58:02

                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 février 2015 à 11:49:51

                          Ouep c'est vrai que dans ce sens c'est plus simple de prendre une B+ vu le nombre de doc qu'il existe sur le net.

                          --------

                          C'était juste pour avoir une image du truc, car on a presque aucune formation électronique donc je suis un peu perdu parfois :(

                          Mais c'est bon j'ai trouvé mon bonheur niveau relais !

                          --------

                          J'aime bien l'idée du faisceau lumineux, je vais regarder ça car l'ultrason me parrait pas mal aussi, je vais poser le pour & le contre !

                          Merci encore pour ton aide Lorrio :)

                          • Partager sur Facebook
                          • Partager sur Twitter

                          [Elec/Linux/Prog] Projet TSIN cafetière pilotable

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown