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 :

Contrôler un Raspberry depuis une application sur PC


Sujet :

Raspberry Pi

  1. #1
    Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Contrôler un Raspberry depuis une application sur PC
    Bonjour,

    J’aimerais avoir de l’aide concernant mon projet de stage.

    Je reprends le travail d’une précédente stagiaire. Le système consiste en un robot qui a un moteur sur raspirobot, un capteur VL53LOX et une camera. J’ai réussi à tout connecter au raspberry et il marche plus ou moins bien indépendamment. Le truc doit tourner, détecter un certain truc et prendre des photos. Ces photos doivent être envoyées en temps réel vers un pc qui fait un traitement d’image sur ces photo.

    Mon problème est qu’il faut nécessairement que la connexion soit sans fils ===> WIFI.

    Donc j’aimerais savoir comment contrôler mon robot depuis une application programmée obligatoirement en C sur windows 10 avec le wifi (ou autre techno sans fils facile d’usage).

    J’ai vu des infos sur les connexion point a point, reseau ad-Hoc … ainsi que comment utiliser le SSH depuis Putty mais je ne sais pas trop quoi utiliser. SSH n’etant pas vraiment bien dans mon projet puisque je voudrais que l’appli en C donne l’ordre direct au robot de se mettre en route et prendre des photos.

    Les TCP/IP marche quand je relis les deux avec un ethernet mais la finalité est d'enlever le cable et utilise la wifi.

    L’algorithme dans le raspberry fera en sorte que le robot fera ce qu'il a à faire automatiquement une fois l'ordre recu. En claire l'operateur depuis l'appli sur Windows 10 clique sur un bouton et le raspberry suit l’algorithme. L'operateur a un bouton "suivant" pour dire au raspi de stopper la prise de photo et aller cherche le nouvelle objet a prendre en photo.


    Donc la connexion doit permettre d'envoyer cet ordre "suivant" et aussi d'envoyer les images en temps réel.

  2. #2
    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 346
    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 346
    Points : 18 958
    Points
    18 958
    Par défaut
    Salut PERSONNE_LAMBDA.

    Citation Envoyé par PERSONNE_LAMBDA
    Mon problème est qu’il faut nécessairement que la connexion soit sans fils ===> WIFI.
    Il existe déjà des tas de sujets pour configurer la raspberry en wifi.

    Quelques questions :

    1) quel est le modèle de raspberry que vous utilisez ?
    --> Rpi2 / Rpi3 B+ / Rpi 3A+ / autre

    2) quel distribution utilisez-vous ?
    --> raspbian je suppose.

    3) et si c'est raspbian, quelle version ?
    --> wheezy / Jessie / Stretch

    4) si vous n'avez pas de wifi, est ce que votre dongle wifi est reconnu par le raspberry ?
    Que donne l'exécution de la commande "lsusb" ?
    Et la commande "ifconfig -a" ?

    5) j'utilise raspbian / Stretch sur un Rpi 3A+
    Pour configurer le wifi, j'utilise le fichier "/etc/wpa_supplicant/wpa_supplicant.conf", dont voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    country=FR
    
    network={
      ssid="Your SSID"
      psk="Your password"
      key_mgmt=WPA-PSK
    }
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    J'utilise une Rpi 3B avec Raspbian GNU/LINUX 9.4 Stretch avec wifi intégré. J'avais une Rpi2 sur laquelle la précédente stagiaire a travaillé mais elle avait arrêté d'afficher à l'écran, du coup j'ai changé pour une nouvelle Rpi3.

    J'ai vu les tutos pour les wifi. Sauf que je n'ai pas réussi à trouver un tutos sur comment connecter mon ordi windows 10 (avec l'appli en C) avec la Rpi3. Je ne veux pas utiliser le wifi comme on l'utilise tous les jours pour se connecter à internet mais pour contrôler le raspi.

    J'ai trouvé un tutos qui fait changer le fichier etc/network/interface. Cela créé un réseau ad-hoc mais ensuite je sais pas trop comment me connecté dessus et envoyer mes ordre depuis mono appli sur windows10. Voila ce tuto que j'ai trouvé sur un forum anglais:



    I have setup Ad-Hoc mode on my Pi3.

    This involves modification to network configuration file /etc/network/interfaces so you should first make a backup e.g. sudo cp /etc/network/interfaces /etc/network/interfaces.orig.

    Replace the interfaces file with the following:-

    # interfaces(5) file used by ifup(8) and ifdown(8)

    # Please note that this file is written to be used with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d

    auto lo
    iface lo inet loopback

    iface eth0 inet dhcp

    auto wlan0
    iface wlan0 inet static
    address 10.2.1.1
    netmask 255.25

    5.255.0
    wireless-channel 1
    wireless-essid PiAdHocNetwork
    wireless-mode ad-hoc

    You can choose your own address, SSID and wireless-channel, but all machines should have the same settings.

    Strictly you should should disable dhcpcd as this will try to automatically configure networks. sudo systemctl stop dhcpcd.service will stop (deactivate) dhcpcd.

    If /etc/network/interfaces calls dhcp it will automatically be disabled

  4. #4
    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 346
    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 346
    Points : 18 958
    Points
    18 958
    Par défaut
    Salut PERSONNE_LAMBDA.

    Citation Envoyé par PERSONNE_LAMBDA
    J'utilise une Rpi 3B avec Raspbian GNU/LINUX 9.4 Stretch avec wifi intégré.
    C'est encore plus simple. Tout ce que vous devez faire, c'est modifier le fichier "wpa_supplicant.conf" et c'est tout.

    Pour attribuer une adresse IPv4 et/ou IPv6, le mieux est de déléguer cela à votre box, dans la partie DHCP.
    C'est ce que j'utilise chez moi, au travers de ma box SFR NB6v2.

    Citation Envoyé par PERSONNE_LAMBDA
    Je ne veux pas utiliser le wifi comme on l'utilise tous les jours pour se connecter à internet mais pour contrôler le raspi.
    Dans ce cas, vous n'avez pas bien compris comment vous devez travailler.
    Vous devez avoir une connexion en wifi pour accéder à votre raspberry à partir d'un pc.
    Donc, les didacticiels qui sont sur le net peuvent vous servir pour obtenir le wifi. C'est indispensable !

    Pour piloter votre raspberry à distance, dans une application, vous devez utiliser un socket.
    Là, je peux difficilement vous aider car je ne l'ai jamais fait.

    Citation Envoyé par PERSONNE_LAMBDA
    J'ai trouvé un tutos qui fait changer le fichier etc/network/interface.
    Vous n'avez plus besoin d'utiliser ce fichier car avec la dernière version de stretch, il est devenu obsolète.
    Si vous utilisez encore jessie, voire wheezy, il est encore d'actualité.

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

  5. #5
    Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Dans ce cas, vous n'avez pas bien compris comment vous devez travailler.
    Vous devez avoir une connexion en wifi pour accéder à votre raspberry à partir d'un pc.
    Donc, les didacticiels qui sont sur le net peuvent vous servir pour obtenir le wifi. C'est indispensable !

    Pour piloter votre raspberry à distance, dans une application, vous devez utiliser un socket.
    Là, je peux difficilement vous aider car je ne l'ai jamais fait
    Oui je veux une connexion wifi en local. Il n'y a pas d'acces internet dans le projet. L'appli utilise la wifi pour envoyer directement les infos au raspberry et vice versa sans passer par internet. Un peu comme deux talki-wakli.

    Je pense que vous n'avez pas compris mon but. Je veux utiliser la wifi entre le raspberry et l'ordi directement. Y a pas internet qui intervient. Et pour ca je n'ai pas réussi à trouver quelconque tuto à par celui que je vous ai transmis.

    C'est encore plus simple. Tout ce que vous devez faire, c'est modifier le fichier "wpa_supplicant.conf" et c'est tout.

    Pour attribuer une adresse IPv4 et/ou IPv6, le mieux est de déléguer cela à votre box, dans la partie DHCP.
    C'est ce que j'utilise chez moi, au travers de ma box SFR NB6v2.
    C'est ca le truc ! Y'a pas de box ni d'internet dans mon projet.

    C'est la raspberry qui utilise sa wifi pour se connecter sur la carte réseau de l'ordi directement. Ou vice versa.

    est-il possible de le faire avec ce fichier ?

    Pour piloter votre raspberry à distance, dans une application, vous devez utiliser un socket.
    Là, je peux difficilement vous aider car je ne l'ai jamais fait.
    Oui j'ai utilisé cela et ca marche plus ou moins il faut juste que j’améliore le code.

    Vous n'avez plus besoin d'utiliser ce fichier car avec la dernière version de stretch, il est devenu obsolète.
    Si vous utilisez encore jessie, voire wheezy, il est encore d'actualité.
    Pourtant ca a marché et j'ai réussi a créé un réseau adhoc avec. J'avais même détecté le réseau et réussi à me connecter dessus avec mon ordi. Mais je n'arriver pas utiliser le SSH avec. Donc je suppose que la connexion n’était pas complète ou bien c'était un semblant de connexion.

Discussions similaires

  1. Lancer une application locale (sur un poste client) depuis une application web
    Par Dev95VV dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 24/10/2014, 10h53
  2. Réponses: 3
    Dernier message: 17/08/2011, 13h12
  3. Déploiement d'une application sur Tomcat depuis Eclipse
    Par khaigo dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 05/04/2011, 14h43
  4. Réponses: 6
    Dernier message: 09/04/2008, 23h49
  5. Réponses: 0
    Dernier message: 27/11/2007, 15h37

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