Connexion automatque entre raspberry

Bonjour à tous,

J’a comme projet de réaliser une connexion Bluetooth entre 2 Raspberry. Je voudrais de l’aide pour savoir si on peut effectuer cette connexion Bluetooth automatiquement lors du démarrage des 2 appareils. Si oui, aidez moi.
Pour le moment j’arrive à établir la connexion mais manuellement depuis le terminal de chaque Raspberry.

Merci bien.

Salut,

Je pense que c’est possible puisque tu le fais déjà en manuel.
J’espère donc qu’il suffit de basculer la chose en automatique par un mode console dès l’allumage.

L’idée est de réaliser le lancement automatique d’un script lors du démarrage du Raspberry Pi

@+

Bonjour,
Je te remercie, j’essaye ça.

Salut,
J’ai pris le temps de regarder ce que tu m’as envoyé, c’est un lien très utile. Malheureusement mon problème n’est pas résolu.
Je sais pas comment interagir avec l’invite de commande via le programme python.
Pour établir la connexion bluetooth, il faut entrer une suite de commande sur l’invite.
-sudo bluetoothctl
-discoverable on
-pairable on
-agent on
-default-agent
Ces lignes de commandes permettent d’activer le bluetooth.
Dans mon programme, je cherche à intégrer ces lignes de commandes pour quel s’exécute sur l’invite de commande au moment où l’invite les attend.

Salut,

Si tu dois faire une suite de commandes, tu devrais pouvoir faire :
sudo bluetoothctl && discoverable on && pairable on && agent on && default-agent

Déjà tester cette ligne en ligne de commande pour voir si ça fonctionne.

Ensuite, un truc du style :

sudo nano /home/pi/script.sh

#!/bin/sh

sudo bluetoothctl && discoverable on && pairable on && agent on && default-agent

Puis l’automatiser avec sudo nano /etc/rc.local
et mettre

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

sudo bash /home/pi/script.sh

exit 0

(enfin, là, j’écris en prenant une mini pause alors que je suis en train de réfléchir à des soucis physique pour finir mon BarTop donc à tester/affiner).

++

Bonjour,
J’ai pris le temps d’essayer ton idée qui me paraissait vraiment intéressante mais malheureusement les ‹ && › ne sont pas pris en compte. De ce fait seul la première commande est exécutée, le ‹ sudo bluetoothctl ›. Si vous avez d’autres idées, n’hésitez pas.

Je suis désolé pour ma réponse assez tardive, je suis sur une autre partie du projet qui me prend beaucoup de temps.

Merci.

Salut @Pierre.etu

ATTENTION : & ; && ; … sont des caractères de contrôle et répondent donc à une grammaire stricte.
Un ordi est comme un scientifique ou un pur littéraire = il est plus strict qu’un individu lamba.

Exemples :

  • En Français, tu écris « gilet sans manches » avec un « s » à manches car un gilet à toujours 2 manches (ou pas)
  • En Médecine, tu dois avoir l’info et ne pas la déduire ; « le patient a perdu 2 kg » → Heu, je m’en fiche ; quel est le poids à telle date et quel était le poids à 4 semaines. Je n’ai pas à « déduire que » ; à me dire que.
  • En Math, je ne dois jamais noté « car » mais « donc » ou « alors ». Si je note « car », c’est que j’ai pris le problème à l’envers. Ainsi : Dans un triangle, la somme des angles est égale à 180°. Ce triangle dispose de 2 côtés égaux donc il est dit isocèle. Ce triangle dispose d’un angle A de 70° et un angle B de 40°.
    Alors, ce triangle est isocèle en B et l’angle C sera de 180-70-40 soit 70°

Bref :
Creuser du côté des règles d’écriture ; ça pourrait être « | » ou « || » ; tu dois apprendre la grammaire (je ne la connais pas, mais je sais qu’elle existe)
Comme dirait @jelopo : RTFM :smiley:

(j’ai trouvé ça : http://igm.univ-mlv.fr/~masson/Teaching/PIM-INF3/shell.pdf)

(oui, oui, je suis un LMM ou Littéraire Médecin Mathématicien … Enfin … si on veut :crazy_face: )
(à moins que je ne sois un « Elle, elle m’aime » pour celles et ceux qui me suivent :stuck_out_tongue_winking_eye: )

Bonjour,
pour simuler l’entrée de commandes en shell, on utilise la redirection d’entrée avec <<.

Dans ton cas, ça donne :


sudo bluetoothctl <<!
discoverable on
pairable on
agent on
default-agent
quit
!

explication : <<! signale que la commande va lire son entrée sur ce qui suit jusqu’à la ligne qui contient !
ensuite on met ce qu’on veut envoyer à la commande, et enfin la ligne qui signale que c’est fini.