Bonjour je voudrai faire une liaison wifi entre 2 rpi mais je ne trouve rien de vraiment concret sur internet donc je demande votre aide. Est-il possible de lier 2 rpi en wifi pour qu’ils s’envoient des info? par exemple j’appuie sur un bouton qui est relier sur une rpi et une led s’allume sur l’autre rpi. (je suis nouveau sur rpi donc essayer de détailler un peu svp)
Le plus simple est de connecter chaque RPI sur un routeur wifi (une box d’un opérateur). Ceci fait partie de la configuration courante du RPI, tu trouveras plein d’info là-dessus sur le web, c’est assez simple pour qui à l’habitude de connecter un PC. Une fois les deux RPI connectés, il y a beaucoup de moyens différents d’établir une connexion. Le plus courant est ssh et tu trouveras des quantités de tutos sur le web. Si tu veux programmer, là aussi pas mal de possibilités. En python par exemple, tu peux utiliser les sockets, ou le module wsgi qui te permet de créer un serveur web très simple.
Si tu ne veux pas de routeur, et restreindre ton réseau à seulement deux RPI, il faut configurer le réseau des RPI en mode adhoc, ou en hotspot. C’est un peu complexe si l’on est pas à l’aise avec la configuration linux. Voir par exemple ici : RPI-Wireless-Hotspot - eLinux.org ; ceci fait, l’utilisation du réseau est la même que précédemment, ssh ou autre.
C’est bien la dernière partie que je cherchais je vais le lien et je reviens si j’ai des problème merci.
EDIT: je pense avoir compris un peu ce qu’il faut faire pour connecter les 2 rpi mais… comment faire pour que (par exemple) quand on appuie sur un bouton à partir d’une rpi, la LED sur l’autre rpi s’allume?
En codant…
Soit a travers un serveur Web, soit en ssh.
Tu peux lancer un script par ssh depuis le rpi1 vers le rpi2.
Il faut :
- détecter la fermeture d’un port GPIO sur le rpi1 (facile : voir par exemple Raspberry Pi Documentation - Raspberry Pi OS)
- lancer par ssh un script distant sur le rpi2 (depuis un script python, ceci peut être fait avec le module subprocess ou même os.system, voir doc)
- ce script allume la led sur le rpi2 (facile : voir exemple du point sur le site déjà mentionné)
Ou alors le faire avec un web service programmé en python sur le rpi2 et lancé par un script client sur le rpi1 ; c’est moins évident si tu débutes.
Bonjour,
Autre approche utiliser un échange « client serveur TCP » avec Python par exemple
On trouve facilement des exemples sur le net.
A+
jmbc merci je vais essayer de comprendre tout ça (je suis encore nouveau sur rpi j’ai un peu de mal x) )
Jelopo merci je verrai si ça m’a l’air plus interressant je me dirigerai vers ça et je reviens si j’ai des difficultés
Bonjour, j’ai du mal désolé mais j’ai besoin d’aide je suis nul…
je comprends pas ce que je dois envoyer au deuxième rpi, est-ce que je dois mettre ce qu’il y a après le « while true » ou je dois mettre 2x le même code dans les 2 rpi?
import RPI.GPIO as GPIO
import time
bouton = (A REMPLIR)
led = (A REMPLIR)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(bouton_IN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(led, GPIO.out)
while true:
if bouton == 1
GPIO.output(led, false)
else
GPIO.output(led, true)
GPIO.cleanup()
Ne pas comprendre, et débuter, ce N’EST PAS être nul. C’est tout simplement légitime et normal.
Tu t’attaques à du compliqué pour commencer.
Je te suggère de réaliser les choses séparément :
- facile : 1 détecter le bouton sur le rpi n° 1, et afficher un message : print(‹ salut, ici rpi1 ›)
- un peu ardu : en ligne de commande, lancer un script sur le rpi2 depuis le rpi1 :
Exemple: ssh pi@raspberrypi /tmp/hellorpi2.py
Il faut comprendre comment fonctionne la commande ssh ; comment copier un fichier depuis le rpi1 vers le rpi2 ; comment automatiser la connexion sans avoir à saisir un mot de passe ; comment rendre exécutable en ligne de commande un script python.
Dans l’exemple, j’ai préalablement copié le script hellorpi2.py dans le répertoire /tmp du rpi2. - facile : un script qui allume la led sur le rpi2. Pour ces parties consistant à gérer les IO du rapsberry, il y a plein de tutos sur le web
-Enfin, la combinaison de tout ça. remplacer le message du script rpi1 par le lancement de la commande ssh. À la place de print(‹ hello… ›), tu peux utiliser :
import os
os.system(‹ ssh pi@raspberrypi /tmp/hellorpi2.py ›)
La partie délicate est la maîtrise de la commande ssh. Cela vaut le coup d’y passer un peu de temps, car une fois maîtrisé, c’est facile à utiliser, très sécurisé, et cela fonctionne sur n’importe quel système linux.
Bon courage
Salut @klak
Tout le monde est « nul » au sens « ensemble vide » lors de la rencontre d’une vraie nouveauté.
C’est le principe de la découverte.
Se qualifier de nul dans le sens d’un jugement de valeur, c’est différent.
(Tout comme dire que ton travail est nul (au sens « naze ») n’implique pas que l’autre personne trouve que tu sois « nul » ; c’est important de ne pas mélanger la « production » et le « producteur ».
Des trucs nuls = j’en ai fait plein ; mais, je ne suis pas nul )
Ne pas comprendre, c’est juste normal.
Encore une fois, qui a appris à marcher sans chuter ?
Comme le dit @jmbc tu débutes avec du compliqué d’emblée.
Comme si tu voulais apprendre à nager en sautant au milieu de l’atlantique.
Essaye plutôt un petit bassin où tu as pied, où il n’y a pas de vague et où tu as un rebord
Là aussi, je dis +1
Je n’ai que des postes Linux et 1 mac (base unix) ; je commande tous mes PC et Rpi par SSH.
De mon Mac, je peux dire au Rpi3B+ de balancer toutes les photos TimeLapse dans le PC LinuxMint de ma fille ainée en une seule ligne de commande.
Je vais reprendre une phrase courte et efficace de @Glou : « courage »
Berf, ce message est juste un encouragement et je t’encourage à suivre les conseils de @jmbc
Merci beaucoup à vous 2 ça encourage x)
Je vais faire de mon mieux merci je vais travailler le SSH et essayer des choses merci ^^
Salut les gars, j’ai le même problème mais moi j’essaye d’utiliser le protocole MQTT mais je suis ultra débutant et je fais ça au dernier moment ( il me reste 1 jour et demi pour les connecter ( plutôt synchroniser)). J’ai besoin de prendre en compte le temps pour qu’ils fassent des actions en même temps et le temps du protocole dépend de la rapidité de l’information qui change en fonction de l’information et de la connexion au moment de l’envoie. Comment je pourrais faire pour qu’il commence l’action simultanément ?
Bonjour @Ciel_Phantomhive
Merci d’ouvrir un sujet propre à votre problème en expliquant plus précisément votre problème.
A+