Developpez.com - Rubrique Systèmes

Le Club des Développeurs et IT Pro

Apprendre à intégrer Cpcdos, Raspberry Pi, Arduino,

Une proposition de Estylos

Le 2016-04-14 19:18:55, par Estylos, Membre habitué
Bonjour !

Aujourd’hui, je vais vous présenter la communication entre Cpcdos un Raspberry Pi et un Arduino !

Le but :

Le but est de contrôler un écran LCD et des LEDS avec Cpcdos en passant par un Raspberry Pi et un Arduino...

Fonctionnement :

Le fonctionnement est assez simple : Cpcdos télécharge une page PHP sur le Raspberry Pi avec un ou plusieurs arguments, selon le ou les arguments envoyés par Cpcdos, PHP va exécuter en tant que root un script Python avec un argument (du style : "##..." pour une commande (allumer une LED, effacer l'écran LCD...) ou du texte pour l'afficher sur l'écran LCD). Ensuite dans le fichier Python, on va établir la communication entre le Raspberry Pi et l'Arduino, puis on va envoyer l'argument à l'Arduino. Selon ce que l'Arduino va recevoir, il va afficher du texte sur l'écran LCD, effacer l'écran LCD, allumer une LED ou encore, changer de ligne.

Un petit schéma pour illustrer ça (avec en plus, le câblage) : (ne m'en voulez pas )



Inconvénient :

Et oui, ce projet n'est pas parfaitement au point .

  • Premièrement, il ne gère pas les espaces tout seul (ça, c'est la faute à Cpcdos ). Il faut tous les remplacer par \\%20 si on veut afficher du texte avec des espaces sur l'écran LCD.
  • Deuxièmement, il ne gère pas non plus les accents et les lettres accentuées (franchement, je ne sais pas trop d'où ça vient... Je reste assez perplexe ).


Photos et vidéo :







Liens :

Sources : https://github.com/Estylos/CPCDOS-RA...RRY-PI-ARDUINO

N'hésitez pas à répondre à la suite de cette discussion si vous avez besoin d'aide ou d'avoir une information .

Les meilleurs cours et tutoriels pour apprendre les systèmes embarqués
Les meilleurs cours et tutoriels pour apprendre Raspberry Pi
Les meilleurs cours et tutoriels pour apprendre les systèmes informatiques
  Discussion forum
10 commentaires
  • f-leb
    Responsable Arduino et Systèmes Embarqués
    Bravo pour ce projet

    Par contre, ne laissez pas cette image avec les 3 led reliées à l'Arduino sans les résistances, vous ne voudriez pas que vos lecteurs crament leur joujou
  • Estylos
    Membre habitué
    Envoyé par MINEOSX
    Salut!

    Bravo pour ton projet!

    Je suis impréssionné par ton travail, et je te felicite!

    Cordialement
    Merci

    Envoyé par f-leb
    Très bien, on les distingue aussi sur la vidéo, c'est juste sur le premier schéma du montage qui est dangereux pour le matériel.

    Bonne continuation
    Ah oui zut, j'ai complètement oublié de mettre les résistances sur le schéma ! Merci de me l'avoir signalé !

    [EDIT] : C'est bon, je viens de modifier le schéma .
  • MINEOSX
    Membre habitué
    Salut!

    Bravo pour ton projet!

    Je suis impréssionné par ton travail, et je te felicite!

    Cordialement
  • f-leb
    Responsable Arduino et Systèmes Embarqués
    Envoyé par Estylos
    Je ne sais pas si vous avez fait attention, mais il y a des résistances de 220 ohms dans les deux photos
    Très bien, on les distingue aussi sur la vidéo, c'est juste sur le premier schéma du montage qui est dangereux pour le matériel.

    Bonne continuation
  • cpcdos
    Membre chevronné
    Encore bravo a toi Esteban!
    Au départ je pensais pas que Cpcdos serai capable d'aller jusqu’à là, tu m'as fais plaisir!
    J'essaierai de trouver le problème pour les espaces et accents pour la prochaine mise à jour du noyau, mais ça ne pourrai être que le problème ASCII<-->UTF8, cpcdos affiche l'UTF8 sur la console, mais ne l'écrit pas encore, j'essaierai de corriger cela

    Bonne continuation

    Cordialement
  • Estylos
    Membre habitué
    Merci
    Je ne sais pas si vous avez fait attention, mais il y a des résistances de 220 ohms dans les deux photos
  • Estylos
    Membre habitué
    Envoyé par cpcdos
    Encore bravo a toi Esteban!
    Au départ je pensais pas que Cpcdos serai capable d'aller jusqu’à là, tu m'as fais plaisir!
    J'essaierai de trouver le problème pour les espaces et accents pour la prochaine mise à jour du noyau, mais ça ne pourrai être que le problème ASCII<-->UTF8, cpcdos affiche l'UTF8 sur la console, mais ne l'écrit pas encore, j'essaierai de corriger cela

    Bonne continuation

    Cordialement
    Merci beaucoup, à moi aussi ça me fait plaisir

    Pour les accents, je ne pense pas que c'est Cpcdos qui soit totalement la source du problème, car même dans le moniteur série de l'Arduino, quand je le branche à mon PC, et que j'affiche du texte avec des caractères accentués sur l'écran LCD, il affiche un caractère bizard....
  • fandeonepiece2
    Nouveau membre du Club
    Tu pourrais améliorer ton programme en supprimant la couche du script python

    Par exemple utiliser des commandes du SHELL UNIX directement dans le script PHP, pour intéragir avec le port série depuis PHP
  • Estylos
    Membre habitué
    Envoyé par fandeonepiece2
    Tu pourrais améliorer ton programme en supprimant la couche du script python

    Par exemple utiliser des commandes du SHELL UNIX directement dans le script PHP, pour intéragir avec le port série depuis PHP
    Oui, je pense que c'est faisable ! Mais il faut trouver une bibliothèque qui permet la communication série
  • Evaka
    Membre à l'essai
    Brovo pour le travail, j'aimerai avoir une precision, est ce qu'il y aura moyen de mesure la consommation des leds puis stocker cela dans une base de données loger sur raspberry puis donner l'ordre depuis le raspberry a l'arduino pour alimenter ou eteindre les leds selon le cas