Raspberry Pi 3B / Développement
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Raspberry Pi 3B / Développement



  1. #1
    HAYAC

    Raspberry Pi 3B / Développement


    ------

    Bonjour à toutes et tous,
    J’ai pour projet d’utiliser mes Raspberry PI 3 B pour un montage avec différents capteurs Wire
    L’idée étant de stocker des valeurs lues dans un table MySQL tout les X temps (en boucle).
    (Voir diagramme fonctionnel ci-dessous)

    Mon problème actuel est de l’ordre du choix de :
    • OS.
    • IDE développement.
    • Langage.
    • Librairie.
    Après une semaine (à temps perdu) je n’ai aucun résultat probant.
    Le développement direct sur Raspi toute IDE est super lourd et il manque toujours une librairie ou autre.
    Visual studio Code ou normal sur PC est une galère du même type,
    L’idée étant (il me semble), dans cette fonctionnalité, extrêmement simple je suis surpris de ne trouver aucune solution aussi simple.
    Merci d’avance pour vos conseils et avis divers

    -----
    Images attachées Images attachées  

  2. #2
    Jack
    Modérateur

    Re : Raspberry Pi 3B / Développement

    Bonjour,
    question langage, ça dépend de ceux que tu maitrises.

    Pour ma part, j'aime bien le C++. J'utilise généralement le framework Qt (que j'installe sur la raspi) s'il y a une IHM graphique, mais sinon je compile en ligne de commande pour de petites appli, ou j'utilise Visual Studio en développement distant.
    Visual studio Code ou normal sur PC est une galère du même type,
    En quoi Visual studio est une galère? Il y a des projets tout faits qui sont prévus. J'ai par exemple repris un projet que j'utilisais en ligne de commande et dont j'ai juste copié les fichiers source dans le dossier du projet. J'ai juste eu à spécifier les chemins des bibliothèques et fichiers d'entête correspondant dans le projet et ça a compilé du premier coup. L'avantage avec VS, c'est de disposer d'un bon débogueur.

    Le développement direct sur Raspi toute IDE est super lourd et il manque toujours une librairie ou autre.
    Lesquelles par exemple?

    Tu ne dis pas si la base de données est distante ou locale à la raspi.

  3. #3
    HAYAC

    Re : Raspberry Pi 3B / Développement

    Bonsoir et merci Jack pour ta réponse,
    -Pour le langage, mes préférences C,C++,C#
    -Pour les IDE VSC, Geany, QT (sur le raspberry Pi 3B+ avec SD 32Go Class10).
    A l'instant de viens de retenter mon dev en C++ (application console), juste pour faire un simple insert de test dans ma base MariaDb, la couche driver mysql ne semble pas fonctionner et oracle ne support que "Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7" pour l'ARM.
    Je viens de préparer un carte avec l'image CentOS-Userland-7-armv7hl-RaspberryPI-GNOME-2009-sda (à suivre)

    Pour le moment je m'oriente sur une solution tout local, suivant les résultats l'idée va évoluer vers de l’hébergement web (soit par synchro, réplication ou autre).

    Ce serait déjà bien que cela fonctionne en local

  4. #4
    Jack
    Modérateur

    Re : Raspberry Pi 3B / Développement

    Citation Envoyé par HAYAC Voir le message
    juste pour faire un simple insert de test dans ma base MariaDb, la couche driver mysql ne semble pas fonctionner et oracle ne support que "Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7" pour l'ARM.
    J'avais rencontrer beaucoup de difficultés pour faire fonctionner MariaDB avec Qt.
    Voici les paquets que j'ai installés pour la version client de MariaDB sous RaspberryPi OS:
    - Qt5 d'après les dépots (5.11.3)
    - Qt Creator
    - MariaDB client
    - libmariadb-dev
    - libmariadb-dev-compat
    - libqt5sql5-mysql
    Si ça peut t'aider ...

  5. A voir en vidéo sur Futura
  6. #5
    HAYAC

    Re : Raspberry Pi 3B / Développement

    Voici ma config d'installation :### Installer ou verifier les outils de developpement
    sudo apt-get install build-essential
    sudo apt-get install code

    ### Install Apache2 & PHP:
    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo apt install libapache2-mod-php
    cd /var/www
    sudo chown pi: html

    ### Install MySQL:
    sudo apt install mariadb-server php-mysql -y
    sudo mysql
    CREATE OR REPLACE USER admin@localhost IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* to admin@localhost WITH GRANT OPTION;
    exit

    ### Install PHPMyAdmin:
    sudo apt-get install phpmyadmin

    sudo apt-get update && sudo apt-get upgrade

    sudo apt-get install mariadb-client-10.5 mariadb-plugin-connect
    sudo apt-get install libmysql++-dev libmysql++-doc libmysql++3v5


    ### Installation de WiringPi
    cd /tmp
    wget https://unicorn.drogon.net/wiringpi-2.46-1.deb
    sudo dpkg -i wiringpi-2.46-1.deb

    Normalement avec tout cela ça devrait fonctionner, mais, NON

    (même Arduino sur MS VSCommunity 2022 est moins galère)

  7. #6
    Jack
    Modérateur

    Re : Raspberry Pi 3B / Développement

    Quels sont tes messages d'erreur?

  8. #7
    HAYAC

    Re : Raspberry Pi 3B / Développement

    Je viens de réinstaller en arm64
    mes librairies d'origines n'existe plus :
    Code:
    #include <mysql_driver.h>
    #include <mysql_connection.h>
    #include <cppconn/build_config.h>
    #include <cppconn/config.h>
    #include <cppconn/connection.h>
    #include <cppconn/datatype.h>
    #include <cppconn/driver.h>
    #include <cppconn/exception.h>
    #include <cppconn/metadata.h>
    #include <cppconn/parameter_metadata.h>
    #include <cppconn/prepared_statement.h>
    #include <cppconn/resultset.h>
    #include <cppconn/resultset_metadata.h>
    #include <cppconn/sqlstring.h>
    #include <cppconn/statement.h>
    #include <cppconn/variant.h>
    #include <cppconn/version_info.h>
    #include <cppconn/warning.h>
    remplacé par :
    Code:
    #include <mariadb/mysql.h>
    J'ai donc changé d'exemple et de ce fait d'erreur

  9. #8
    HAYAC

    Re : Raspberry Pi 3B / Développement

    Code en pièce jointe car l’éditeur du forum n'en veut pas en post
    et les erreurs de compilation :

    Code:
    gcc -o mysql2 mysql2.cpp
    Code:
    /usr/bin/ld : /tmp/ccbv0Pys.o : dans la fonction « main » :
    mysql2.cpp:(.text+0xb4) : référence indéfinie vers « mysql_init »
    /usr/bin/ld : mysql2.cpp:(.text+0xf0) : référence indéfinie vers « mysql_real_connect »
    /usr/bin/ld : mysql2.cpp:(.text+0x10c) : référence indéfinie vers « mysql_error »
    /usr/bin/ld : mysql2.cpp:(.text+0x11c) : référence indéfinie vers « mysql_query »
    /usr/bin/ld : mysql2.cpp:(.text+0x138) : référence indéfinie vers « mysql_error »
    /usr/bin/ld : mysql2.cpp:(.text+0x148) : référence indéfinie vers « mysql_query »
    /usr/bin/ld : mysql2.cpp:(.text+0x164) : référence indéfinie vers « mysql_error »
    /usr/bin/ld : mysql2.cpp:(.text+0x16c) : référence indéfinie vers « mysql_stmt_init »
    /usr/bin/ld : mysql2.cpp:(.text+0x184) : référence indéfinie vers « mysql_stmt_prepare »
    /usr/bin/ld : mysql2.cpp:(.text+0x1a0) : référence indéfinie vers « mysql_stmt_error »
    /usr/bin/ld : mysql2.cpp:(.text+0x1f4) : référence indéfinie vers « mysql_stmt_attr_set »
    /usr/bin/ld : mysql2.cpp:(.text+0x204) : référence indéfinie vers « mysql_stmt_bind_param »
    /usr/bin/ld : mysql2.cpp:(.text+0x20c) : référence indéfinie vers « mysql_stmt_execute »
    /usr/bin/ld : mysql2.cpp:(.text+0x228) : référence indéfinie vers « mysql_stmt_error »
    /usr/bin/ld : mysql2.cpp:(.text+0x230) : référence indéfinie vers « mysql_stmt_close »
    /usr/bin/ld : mysql2.cpp:(.text+0x238) : référence indéfinie vers « mysql_close »
    collect2: error: ld returned 1 exit status
    Fichiers attachés Fichiers attachés

  10. #9
    JPL
    Responsable des forums

    Re : Raspberry Pi 3B / Développement

    Foutu système de sécurité à la con par lequel passe le forum. Il confond du code avec une tentative d’action illégale ! Ce n’est pas la première fois que ça arrive depuis que le forum a changé de prestataire !
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  11. #10
    Jack
    Modérateur

    Re : Raspberry Pi 3B / Développement

    Il me semble que "référence indéfinie vers" indique une erreur d'édition de liens.
    En principe tu devrais spécifier la bibliothèque dans les arguments de gcc, du style
    Code:
    gcc -o mysql2 mysql2.cpp -lmariadbclient

  12. #11
    HAYAC

    Re : Raspberry Pi 3B / Développement

    Citation Envoyé par JPL Voir le message
    Foutu système de sécurité à la con par lequel passe le forum. Il confond du code avec une tentative d’action illégale ! Ce n’est pas la première fois que ça arrive depuis que le forum a changé de prestataire !
    Rien de grave, il y à toujours une solution,
    Bien à toi

  13. #12
    HAYAC

    Re : Raspberry Pi 3B / Développement

    Bonjour Jack,
    Effectivement ça avance,
    La compilation, suite à tes conseils fonction sans erreur.
    Mais mon programme ne fait toujours rien;
    Il se lance et se termine sans aucune modification ni ajout dans ma base.

  14. #13
    umfred

    Re : Raspberry Pi 3B / Développement

    tu devrais faire afficher les erreurs mariadb; la fonction mysql_stmt_error ne fait pas l'affichage mais renvoie juste une chaine contenant l'erreur. Tu devrais voir ainsi où ça ne fonctionne pas.

  15. #14
    HAYAC

    Re : Raspberry Pi 3B / Développement

    Bon, je confirme, je vous adore...
    Merci Umfred pour ton conseil, effectivement une erreur de débutant…
    Je précise que cela faisait bien des années que je n’avais pas remis le nez dans le codage, je suis bien plus coté hardware.
    Voici donc la correction apportée, le chemin du fichier sock du serveur MariaDb
    /var/run/mysqld/mysqld.sock
    Merci encore a tous, je vais enfin avancer après livraison de mes capteurs
    Cordialement,

  16. #15
    HAYAC

    Re : Raspberry Pi 3B / Développement

    Bonsoir,
    Juste pour les nouvelles;
    Je suis de nouveau repassé sur la version officiel ARM32, avec une installation propre de IDE Visual studio communauty 2022 et le remote debug SSH Linux.
    avec simplement ses librairies mariadb-client-10.5 mariadb-plugin-connect libmysql++-dev libmysql++-doc libmysql++3v5
    Encore merci a tous

Discussions similaires

  1. PC 4: Raspberry PI
    Par inviteea771bfd dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 2
    Dernier message: 19/04/2019, 13h23
  2. Réponses: 29
    Dernier message: 29/10/2014, 08h39
  3. Raspberry pi
    Par invite2ce1e5bb dans le forum Électronique
    Réponses: 9
    Dernier message: 27/02/2014, 17h53
  4. Raspberry Pi
    Par invite17b3def6 dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 04/02/2013, 10h38
  5. [Divers] [biologie du developpement] développement des membres
    Par piwi dans le forum Biologie
    Réponses: 14
    Dernier message: 29/05/2009, 19h17