IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Quelle déception !


Sujet :

Raspberry Pi

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    Par défaut Quelle déception !
    Bonjour,

    Je voulais créer un projet où un raspberry pi 4 faisait les choses suivantes :
    Affichage de mesures sur un afficheur liquide I2C
    Mesure de la température et affichage sur afficheur
    Mesure luminosité et affichage
    Stockage dans base de données des différentes mesures

    Vu la difficulté en Python, à manager différents types de bibliothèques, certaines en python2
    d'autres en python 3 pour les capteurs de la gamme Grove, j'en suis arrivé à la conclusion suivante :

    Le pi n'est pas vraiment fait pour l'acquisition de mesures.
    L'Arduino, lui est fait pour cela.

    Je vais donc piloter les échanges entre les deux machines par bluetooth.

    Est-ce une bonne idée ?

  2. #2
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2006
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2006
    Messages : 503
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonjour,

    Je ne sais pas si bluetooth est une bonne idée.

    Moi-même j'ai utilisé les petits afficheurs sur des ESP8266 et ESP32 (je n'utilise plus d'Arduino, mais reste avec son IDE pour les ESP).
    Sur un Raspberry Pi, pour faire des applications plus compliquées, je le ferais avec Le Raspberry Pi 7″ Touch Screen.

    Citation Envoyé par frederic13870 Voir le message
    Le pi n'est pas vraiment fait pour l'acquisition de mesures.
    L'Arduino, lui est fait pour cela.
    Je dirais que le Pi n'est pas vraiment fait pour certaines acquisitions.
    Par contre, pour les conserver dans une base de données, c'est mieux qu'un Arduino ou un ESP.

    Regardes mon article Python Flask et SQLite pour le Raspberry Pi 3 ou 4 - exemples de communication avec des ESP32 ou ESP8266!

    Suivant ce qu'on veut faire, c'est joli de mettre un ESP dans une pièce avec un petit display et de montrer ce qu'on veut.
    Ensuite on pourrait envoyer ces mesures sur le Pi pour les stocker et les montrer sur une page Web toute simple avec Flask.

    En ce moment je teste Flask sur mon NAS (Synology) pour accéder mes deux Pi et ESPs.
    Comme mon NAS est ouvert de l'extérieur ....

    C'est bien de distribuer et de faire simple ou on peut faire simple suivant ses connaissances!
    Mes deux Pi font de l'acquisition de températures, de lumières et de mouvements: ce sont des simulateurs de présences saisonniers, très compliqués, et ce serait trop complexes pour moi en Python, car je maîtrise plutôt bien Java.
    Cordialement

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 862
    Points
    56 862
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    Citation Envoyé par frederic13870 Voir le message
    Le pi n'est pas vraiment fait pour l'acquisition de mesures.
    L'Arduino, lui est fait pour cela.
    Alors là, il va falloir apporter quelques arguments pour me convaincre que le Rpi "n'est pas vraiment fait pour l'acquisition de mesures"

  4. #4
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2006
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2006
    Messages : 503
    Points : 1 332
    Points
    1 332
    Par défaut
    Citation Envoyé par f-leb Voir le message

    Alors là, il va falloir apporter quelques arguments pour me convaincre que le Rpi "n'est pas vraiment fait pour l'acquisition de mesures"
    Ah ... ça bouge! Oui, c'est vraiment "mort" ces groupes de discussions, ces temps-ci, en ces jours difficiles!
    J'ai donc essayé d'activer un peu du monde, de faire bouger, par cette phrase volontairement tronquée.
    C'est ma manière sarcastique!
    Mais, en même temps, comme tu es une des personnes les plus actives et expertes des sujets autour des RPi, ESP, ou autres ... c'est un peu triché de répondre si vite.

    Ma réponse est plutôt complète et sans entrer dans les détails.
    Et c'est convaincant:
    Citation Envoyé par boijea Voir le message
    Mes deux Pi font de l'acquisition de températures, de lumières et de mouvements: ce sont des simulateurs de présences saisonniers, très compliqués, et ce serait trop complexes pour moi en Python, car je maîtrise plutôt bien Java.
    Bon, je vais rajouter quelques mots, quand même. Je suis auteur et bavard!

    Dans cet article que je n'ai jamais vraiment terminé: Un tutoriel pour débutant pour l'ESP32: un thermomètre digital (en travail continuel)
    je montre l'utilisation d'un écran OLED sur un ESP32.
    Avant cela, je n'avais jamais imaginé mettre un petit écran sur un RPi!

    L'acquisition de mesures sur un ESP peut s'avérer beaucoup plus simple que sur un RPi, si le bricoleur a l'habitude de l'IDE de l'Arduino et ne maîtrise pas trop le langage Python et ses librairies.
    Pour le stockage de données sur le RPi j'ai choisi et continuerai d'utiliser SQLite, c'est vraiment facile.
    Bien sûr que mySQL est une alternative, mieux encore sur un NAS car déjà installé.

    Chacun doit utiliser ces connaissances actuelles, pour être rapide dans son développement, mais il faut aussi toucher à d'autres technologies.
    J'aime bien les ESP grâce à l'IDE de l'Arduino et évidemment leur Wifi (facile de faire une mesure rapide avec un capteur, de la mettre à disposition sur un petit Web intégré, et d'envoyer un POST de sa valeur en Flask).

    Citation Envoyé par frederic13870 Voir le message
    Stockage dans base de données des différentes mesures
    Là il faut considérer tes connaissances.
    Tu pourras toujours utiliser des fichiers délimités, voire les importer ensuite sur ton PC avec Excel.
    Si tu as déjà fait du SQL, mais pas de SQLite, vas-y, lances-toi, c'est trop facile.
    Moi j'ai passé de Sybase (serveur HP), à Oracle (8 ans) et ensuite à mySQL sur PC qui générait des bases de données SQLite pour de petits systèmes embarqués pour les transports!
    Si tu n'as jamais fait de SQL .... commences avec SQLite sur ton RPi en y collectionnant des données de mesures
    Donc le RPi peut être un outil d'apprentissage du langage SQL en collectionnant des mesures depuis son port GPIO (Python incontournable).

    Cordialement

  5. #5
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    Par défaut Quelques arguments ...
    Citation Envoyé par f-leb Voir le message
    Bonsoir,



    Alors là, il va falloir apporter quelques arguments pour me convaincre que le Rpi "n'est pas vraiment fait pour l'acquisition de mesures"
    Bon, tout d'abord, quelques considérations fondamentales ...

    Dans l'industrie, quand on achète un capteur, on a la documentation technique et deux logiciels :
    Le driver, qui assure la reconnaissance du matériel par l'OS.
    Il est généralement écrit en assembleur.
    Il exige une parfaite connaissance de la notice constructeur ( hic !)
    D'autre part, on a la bibliothèque, qui contient un ensemble de routines que l'on peut appeler dans un programme, afin de
    faciliter la vie du programmeur .

    1> Avec Arduino
    On a en général un fichier entête en .h spécifique du capteur.
    Une bibliothèque et un autre include qui assure des fonctionnalités générales ( wire.c spi.c ....)
    Avec un connaissance modérée du C, on arrive à se débrouiller.

    2> Avec le Pi
    Suivant les constructeur de capteurs, on a la quasi-obligation d'acheter un shield pour avec une compatibilité open-hardware !
    D'autre part, il n'y a pas comme le justifirait un but didactique, le driver et la bibliothèque séparés.
    A grands coups de git clone http ..., on avance comme on peut dans un chaos logiciel !
    Il n'y pas de méthode, driver, bibliothèque, du moins pour ce que j'ai entrepris.

    D'autre part quand on utilise plusieurs capteurs simultanément, et même d'un seul constructeur,
    certains couples ( driver, bibliothèque) fonctionne soit en python2 soit en python3 mais pas les deux à la fois.

    Bref, faire fonctionner plusieurs capteurs à la fois sur un raspberry pi est une aventure dont on ne voulait pas ! ( Serge Lama " L'Algérie" )

    C'est pour cela que je me tourne vers une solution où l'Arduino et le Pi communique, à savoir
    l'Arduino fait les mesures, et le Pi les archive et les rends accessible à un utilisateur.

    Je préfère passer du temps sur la création d'un système logique proche de l'utilisateur , qu'à me
    ballader dans les fins fonds d'internet à la recherche d'un hypothétique driver en Python !

    Je suppose que la difficultée des programmeurs open-source réside dans le fait qu'il n'on pas accès
    à la notice constructeur et doivent faire du " rétro-ingénierie" pour construire un couple driver bibliothèque correct.
    Je comprends cela et ne leur jette pas la pierre.

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Salut à tous.

    Citation Envoyé par frederic13870
    Le pi n'est pas vraiment fait pour l'acquisition de mesures. L'Arduino, lui est fait pour cela.
    N'importe quoi !

    La première chose a faire est de choisir le bon langage de programmation pour faire ce que vous cherchez à faire.
    Dans mon cas, j'utilise le langage 'C/C++' et selon ce que je fais, j'utilise l'un ('C') ou l'autre ('C++').

    Ensuite, il y a la maîtrise du langage qui demande un minimum d'expérience.
    Sans cette maîtrise, vous n'arriverez à rien.
    si ce n'est pas le cas, commencez par apprendre le langage de votre choix, en faisant des exercices.

    Puis, vous devez décomposer votre projet en chacune des parties que vous devez piloter :
    --> l'afficheur LCD en mode I2C.
    --> mesure de la température à partir d'un capteur, je suppose aussi en i2C.
    Chaque partie doit être testé indépendamment l'une de l'autre et quand tout fonctionne, vous rassemblez le tout.

    Il existe une application python qui vous permet de piloter un afficheur LCD sous la raspberry.
    Vous n'avez preque rien à faire puisque le driver est déjà développé. Vous avez juste à l'utiliser.

    Pour le capteur de température, vous n'avez rien dit du matériel que vous utilisez.

    Pour ce genre de projet, vous allez vous compliquer l'existence avec l'arduino, car vous allez devoir gérer en plus les échanges vers la raspberry.
    A moins, que vous désirez faire votre projet uniquement avec l'arduino.

    Citation Envoyé par frederic13870
    Est-ce une bonne idée ?
    Il n'y a que vous qui pouvez répondre à cette question car nous ignorons votre niveau de compétence, le matériel que vous avez à votre disposition et surtout votre motivation.

    Citation Envoyé par frederic13870
    Il est généralement écrit en assembleur.
    Pas nécessairement. Le 'C' est aussi utilisé.

    Citation Envoyé par frederic13870
    Il exige une parfaite connaissance de la notice constructeur ( hic !)
    Je reconnais que c'est ce qui me manque la plupart du temps. C'est indispensable !

    Citation Envoyé par frederic13870
    D'autre part, on a la bibliothèque, qui contient un ensemble de routines que l'on peut appeler dans un programme, afin de faciliter la vie du programmeur.
    Et vous faites comment si vous n'avez pas cette bibliothèque ?
    Ce n'est pas si compliqué que cela de reconstituer le driver.
    Dernièrement, j'ai travaillé sur l'afficheur LCD 20X04 de chez Joy-It.
    D'une part, depuis la raspberry, en recréant le driver avec une petite démonstration d'affichage, avec caractères spéciaux.
    D'autre part, je l'ai fait aussi aau travers de mon bus pirate, ce qui est tout aussi compliqué à faire.

    Je travaille actuellement sur le pimoroni unicorn Hat HD pour gérer les 256 leds, toujours au travers d'un programme écrit en 'C'.

    Citation Envoyé par frederic13870
    Bref, faire fonctionner plusieurs capteurs à la fois sur un raspberry pi est une aventure dont on ne voulait pas ! ( Serge Lama " L'Algérie" )
    J'ai l'impression que vous découvrez les plaisir de la programmation.
    Au lieu de jongler avec différence versions de python, afin de faire coexister plusieurs capteurs, je vous conseille de tout réécrire !
    C'est ce que je fais à chaque fois et ce n'est pas si difficile que ça à entreprendre.
    A vrai dire, j'utilise un DDL à moi, que je complète à chaque nouveau test (GPIO, I2C, SPI, ...).

    Citation Envoyé par frederic13870
    Je préfère passer du temps sur la création d'un système logique proche de l'utilisateur , qu'à me balader dans les fins fonds d'internet à la recherche d'un hypothétique driver en Python !
    Dans 99% des cas, je fais une recherche sur le net afin d'obtenir des informations sur ce qui existe déjà et sur des exemples pouvant se rapprocher de mes tests.
    Le reste (les 1%), je développe et je fais la mise au point de mon programme.
    Vous avez compris, la recherche d'information est la partie la plus chiante et la plus longue avec de démarrer un projet.
    Je peux vous assurer que je suis loin de tout maîtriser dans les aspects électroniques de mes projets.

    Citation Envoyé par frederic13870
    Je comprends cela et ne leur jette pas la pierre.
    Vous vous trompez. Il n'y a pas de rétro-ingénierie à faire.
    Il y a juste une connaissance métier (celle en électronique), autre que celle de simple programmeur.

    Quand vous avez utilisé le mode I2C, une première fois, les autres fois seront pareils.
    Il y a de légères différences, mais le modèle d'utilisation est identique.

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

  7. #7
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2006
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2006
    Messages : 503
    Points : 1 332
    Points
    1 332
    Par défaut
    Citation Envoyé par frederic13870 Voir le message
    Bref, faire fonctionner plusieurs capteurs à la fois sur un raspberry pi est une aventure dont on ne voulait pas ! ( Serge Lama " L'Algérie" )
    Merci Frederic, très bonne dissertation cohérente.
    T'es un peu poète, comme moi. Je suis en train de l'écouter, ton Algérie!
    En ce moment j'écoute plutôt le tout récent
    Bob Dylan - Murder Most Foul (Official Audio) - YouTube


    Tu as raison, ce n'est pas facile du tout de gérer plusieurs capteurs sur un Raspberry Pi.
    Moi, je n'ai pas vraiment de souci de gérer plusieurs capteurs. Je t'explique avec un exemple, un capteur de lumière.
    Sans utiliser un convertisseur analogique/digital, je suis obligé de charger une capacité et cela prend du temps en basse lumière et je dois savoir s'il y en a assez pour allumer mon luminaire lors d'une détection de mouvement en soirée par exemple.

    J'ai de la chance d'être un peu un crac en Java (plus de 20 ans d'expérience)!
    La lecture de mon capteur de température Dallas, celui de la lumière, ainsi que mon serveur Web, sont dans des threads de mes applications Java.
    Mais ce n'est pas facile du tout.
    Il est par exemple nécessaire de stopper le thread de la détection de la lumière au moment où on allume le luminaire au travers du relais.

    Bref je m'amuse beaucoup.
    Et je pense aussi qu'il y a des gens qui joue avec un RPi sans utiliser du tout le port GPIO, et juste pour jouer et apprendre, comme Linux par exemple.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Développement jeux vidéo : quelles bases à avoir absolument ?
    Par Ezechiel dans le forum Développement 2D, 3D et Jeux
    Réponses: 175
    Dernier message: 20/02/2018, 16h14
  2. Débat : quelle distribution Linux choisir pour débuter ?
    Par Anonymous dans le forum Distributions
    Réponses: 227
    Dernier message: 18/02/2015, 10h09
  3. Quelle est la fiabilité du protocole SSL ?
    Par Anonymous dans le forum Développement
    Réponses: 5
    Dernier message: 05/09/2002, 13h31
  4. [CR][Jetform] Quelles sont les différences ?
    Par littlecow dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/07/2002, 11h40
  5. [Choix] Quelles attentes par rapport aux SGBD ?
    Par thierry34 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 13/07/2002, 20h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo