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 :

Capteurs sur pi


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 Capteurs sur pi
    Bonsoir,

    J'ai mis à jour la dernière version de Buster, et j'ai vu passer sur l'écran ce qui ressemblerait à des librairies pour capteurs.

    Est-il possible de connaitre la liste des capteurs facilement utilisables pour le pi 4, si possible avec une bibliothèque python ?

  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
    Je ne sais pas si une telle liste existe.
    Ensuite tu as indiqué "facilement"!

    Je ne sais pas si c'est la bonne démarche.
    En général, on va dans l'autre sens.
    Par exemple, on est intéressé par développer une application pour vérifier l'humidité, donc on cherchera un capteur d'humidité pour le Raspberry Pi.
    Pas besoin d'indiquer le Raspberry Pi 4: il y aura beaucoup plus d'articles sur d'anciens RPi.
    Le RPi possède des broches GPIO où l'on branche ces capteurs qui sont bien documentés sur le Web avec presque toujours un exemple en Python et sa librairie GPIO.

    Parfois on peut se retrouver avec un capteur analogique.
    Le RPi n'a pas d'entrée analogique et il faudra trouver un convertisseur.

    Certains capteurs digitals, comme le Dallas DS18B20, pour la température, sont assez compliqués. Ils sont traités par un protocole implémenté dans le système d'exploitation. Mais il y a une pléthore d'articles et d'exemple en Python.
    Un des équivalents du DS18B20 en analogique, c'est le lm35. Il est trop facile et retourne juste une tension à convertir en Celsius. Mais il faut un convertisseur.
    Si on veut jouer avec un lm35, sur un RPi, cela ne fait pas vraiment de sens.
    J'ai un convertisseur pour le RPi, mais je ne l'ai pas encore utilisé, car je dépose mes lm35 (ou DS18B20) sur des ESP8266 (vers 10 fois moins chèr qu'un RPi 4), ESP32 ou Arduino WiFi (un peu trop cher).

    Tous les bricoleurs GPIO du RPi devrait aussi visiter https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino (où je suis aussi très actif).
    Cela donnera des idées de projet.

    Cordialement

  3. #3
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par boijea Voir le message
    ... Certains capteurs digitaux, comme le Dallas DS18B20, pour la température, sont assez compliqués. Ils sont traités par un protocole implémenté dans le système d'exploitation. ...
    Pouvez-vous nous en dire plus ...

    Cordialement.

    Pierre.

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    Bonjour,

    le composant DS18B20 utilise le protocole de communication 1-Wire ou encore appelé protocole Dallas, du nom du fabricant du composant. C'est un protocole similaire à l'I2C.
    La datasheet du composant indique comment le brancher sur un microcontrôleur et les détails du protocole.
    Voici un tutoriel avec Arduino.

  5. #5
    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 ChPr Voir le message
    Pouvez-vous nous en dire plus ...
    Pour le RPi: https://thepihut.com/blogs/raspberry-pi-tutorials/ds18b20-one-wire-digital-temperature-sensor-and-the-raspberry-pi

    Il n'y a pas d'interface GPIO dans ce cas.
    Il suffit d'identifier où se trouve le fichier w1_slave, dans un sous-répertoire de /sys/bus/w1/devices/, sous-répertoire qu'il faudra identifier après avoir branché le capteur.
    Ensuite on peut lire ce fichier et le traiter pour ressortir la température, avec n'importe quel langage de programmation.

  6. #6
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Merci "boijea" pour ces infos. Je vais essayer de mettre cela en œuvre, puis d'intégrer cela dans un programme écrit en Free-Pascal et Lazarus (pour le visuel).

    @ "Auteur" : j'ai plusieurs fois utilisé le DS18B20 avec un Arduino en utilisant sa bibliothèque écrite en C.

    Cordialement.

    Pierre.

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 579
    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 579
    Points : 56 602
    Points
    56 602
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    Pour le ds18b20 sur Raspberry Pi, on peut en effet passer par un module Linux chargé à la demande (commande modprobe), voir Utiliser des capteurs avec le port GPIO - Partie 2, Capteur de température 1-Wire.

    Ce capteur communique avec des "1" et des "0" sur une seule broche DATA selon un protocole précis, donc on peut très bien se passer du module Linux et trouver une bibliothèque en C, C++,... qui lit ou écrit ces "1" et "0" sur une entrée/sortie GPIO (comme avec les bibliothèques onewire d'Arduino).

    Autres capteurs amusants pour débuter : Détection de mouvement, télémètre à ultrasons

  8. #8
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Merci pour cette traduction du lien que "boijea" avait donné. Ça m'évitera les erreurs d'interprétation liées à mon super "english" !

    Citation Envoyé par f-leb Voir le message
    trouver une bibliothèque en C, C++,... qui lit ou écrit ces "1" et "0" sur une entrée/sortie GPIO (comme avec les bibliothèques onewire d'Arduino). ...
    Le problème est que, comme je programme en Free-Pascal, il faudrait que je trouve (ou fasse) un Wrapper pour ces fonctions en C ou que je transforme en Free-Pascal ces fonctions (peut-être plus dans mes cordes).

    Cordialement.

    Pierre.

  9. #9
    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
    .... et j'ai vu passer sur l'écran ce qui ressemblerait à des librairies pour capteurs.
    Est-il possible de connaitre la liste des capteurs facilement utilisables pour le pi 4, si possible avec une bibliothèque python ?
    Citation Envoyé par ChPr Voir le message
    Le problème est que, comme je programme en Free-Pascal, il faudrait que je trouve (ou fasse) un Wrapper pour ces fonctions en C ou que je transforme en Free-Pascal ces fonctions (peut-être plus dans mes cordes).
    J'adore cette discussion!
    On touche en fait à tous les questions que je rencontre chaque fois que j'écris un article (juste maintenant sur l'UDP et qui viendra sur developpez.net).

    Je suis d'abord informaticien, donc pour moi, les langages, c'est essentiel.
    Oui, j'ai fait du Pascal, il y a 20 ans, voire plus. Je le connais suffisamment pour pouvoir, disons, le critiquer ou argumenter.

    Si on est sur une plateforme du type Raspberry Pi, qu'on veut jouer avec le GPIO, il n'y a pas photo, c'est Python.
    Si on ne le maîtrise pas trop, comme moi, il faut s'y mettre. Python comme Java ou le C/C++ sont LES langages à montrer dans son CV.

    Maintenant, si on touche à des capteurs sur le RPi, qui n'est pas un "truc" très bon marché, on devrait vite se rendre compte que des solutions ESP8266 ou ESP32 pourrait être plus intéressantes.
    En passant sur des ESP ou Arduino WiFi, on va "tomber" sur des outils comme l'IDE de l'Arduino ou des centaines d'exemples en C/C++ vont nous permettre de passer en C/C++ en quelques minutes avec un bagage Pascal.

    Le titre de la discussion est "capteur sur pi".
    Mais un capteur tout seul ... il faudrait un peu plus, comme un relais par exemple, pour faire quelque chose de concret avec ce qui sort de ce capteur.

    J'ai effectivement fait du Pascal et écrire une belle application en Pascal, bien documenté, cela doit donner autant de plaisir que pour moi en Java, avec de jolies classes.

    Je ne sais pas ce qui existe sur le Raspberry Pi en Pascal.
    Mais un langage comme Pascal devrait pouvoir exécuter un programme écrit en Python et récupérer une température d'un capteur.
    C'est pareil avec d'autres composants comme une caméra sur un RPi pour prendre une photo ou une vidéo.
    Je le fais moi-même en Java: je prends ma photo avec la commande raspistill et je joue avec son résultat.

    Cordialement

  10. #10
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par boijea Voir le message
    ... Je ne sais pas ce qui existe sur le Raspberry Pi en Pascal. ...
    Il y a l'EDI "Lazarus" et la bibliothèque "rpi-hal" qui permet de s'interfacer avec les GPIO et les divers bus.

    Ca permet de créer des applications telle que celle que je développe (gestion de GPS, compas électronique et cartographie en OpenGL) sur écran tactile de 7 " :

    Nom : GPS_Nav_01.jpg
Affichages : 335
Taille : 338,3 Ko

    Nom : GPS_Nav_02.jpg
Affichages : 349
Taille : 218,4 Ko

    Cordialement.

    Pierre.

  11. #11
    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
    Cool cette application et la carte. T'es un chef!
    Il faudrait que j'essaie Lazarus. J'ai fait du Delphi à l'époque de Borland!

    Peut-on développer sur Windows, tester sur Windows, cross-compiler sous Windows pour le RPi et transférer le code compilé?
    Si oui: où puis-je trouver de la doc?

    Merci encore pour l'info.

  12. #12
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par boijea Voir le message
    ... Peut-on développer sur Windows, tester sur Windows, cross-compiler sous Windows pour le RPi et transférer le code compilé? ...
    Ce que je fais : j'ai installé Lazarus 2.0.6 et les composants nécessaires sur Windows 10. J'ai fait la même installation sur mon Raspberry Pi 3B+ sous Buster (je l'avais aussi fait sous Stretch).

    Je développe sur mon PC (Windows 10), c'est plus facile visuellement (écran 17" contre écran 7"), je compile et j’exécute. Si c'est bon, je transfert tous les fichiers sources (via Filezilla) sur mon Raspberry et je recompile sur mon Raspberry. Je n'ai jamais fait de cross-compilation. Ma méthode me permet de corriger, déboguer sur mon Raspberry au cas où.

    Citation Envoyé par boijea Voir le message
    ... où puis-je trouver de la doc? ...
    Quelle doc ? Lazarus est très proche de Delphi.

    Pour l'aide, le même site, mais le forum Lazarus ; il s'y trouve des cracs .

    Cordialement.

    Pierre.

  13. #13
    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
    Merci infiniment.

    Citation Envoyé par ChPr Voir le message
    Quelle doc ? Lazarus est très proche de Delphi.
    Je pensais plus à la partie cross compilation et j'imaginais que l'outil Lazarus sous Windows le faisait et avec le transfert autrement, sans Filezilla ou WinSCP.
    Peut-on recompiler sur un RPi sans écran, en ligne de commande (donc sans IDE)?
    A+

  14. #14
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par boijea Voir le message
    ... Je pensais plus à la partie cross compilation et j'imaginais que l'outil Lazarus sous Windows le faisait et avec le transfert autrement, sans Filezilla ou WinSCP.
    Peut-on recompiler sur un RPi sans écran, en ligne de commande (donc sans IDE)?
    A+
    N'ayant jamais fait de cross-compilation, je ne saurais te répondre. Mais tu trouveras certainement réponses sur le forum Lazarus.

    Cordialement.

    Pierre.

  15. #15
    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
    Mais ma question principale restait: Peut-on recompiler avec Lazarus sur un RPi sans écran, donc en ligne de commande et sans IDE?

    Sans cross-compilation, ce n'est pas trop important.
    Un Makefile ou équivalent ne me déplairait pas.
    Merci

  16. #16
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par boijea Voir le message
    Mais ma question principale restait: Peut-on recompiler avec Lazarus sur un RPi sans écran, donc en ligne de commande et sans IDE? ...
    On peut compiler avec cet utilitaire en ligne de commande.

    Je ne m'en suis jamais servi. Je viens de l'essayer sous Windows et j'ai compilé sans problème un programme (pour WIndows).

    Pour autant, je ne sais pas quels fichiers il utilise (gcc sans doute). Le mieux est de poser la question sur le forum Lazarus.

    Cordialement.

    Pierre.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/01/2019, 17h52
  2. Branchement d'un capteur sur un module NI9401
    Par ptit_knard dans le forum LabVIEW
    Réponses: 0
    Dernier message: 25/06/2010, 15h13
  3. [Labview 8.6] Tare sur acquisition capteurs FSR
    Par Nicoroots dans le forum LabVIEW
    Réponses: 4
    Dernier message: 30/09/2009, 20h12
  4. Capteur InfraRouge sur port com
    Par PoOky dans le forum Composants VCL
    Réponses: 12
    Dernier message: 12/01/2006, 16h31

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