Je viens de me rendre compte qu’une des premières choses que je fais sur mes Raspberry Pi n’avais jamais été expliqué ici dans un sujet dédié : l’accès via Bonjour.
La technologie Bonjour date de Mac OS X Jaguar et permet à un périphérique de s’annoncer sur un réseau TCP/IP, donc il est possible de se connecter à un appareil sans connaître son IP. C’est très utilisé dans le monde des imprimantes, avec les caméras, etc. Avec le Raspberry Pi, l’intérêt vient surtout de l’accès en SSH : au lieu de chercher l’IP de la carte (ou de la fixer), il suffit de faire Shell -> Nouvelle connexion distante dans le Terminal pour voir le Raspberry Pi.
C’est plutôt simple à mettre en place. Première chose, se connecter en SSH (via l’IP…) ou en direct sur le Raspberry Pi et lancer la commande de configuration.
sudo raspi-config
Dans Advanced Options, il faut modifier le hostname pour un truc simple à identifier.
Maintenant, il faut installer Avahi (implémentation open source de Bonjour) et l’activer.
sudo apt-get install avahi-daemon libavahi-client-dev
sudo update-rc.d avahi-daemon defaults
Pour l’accès en SSH, il faut simplement créer le fichier qui indique au Raspberry Pi de s’annoncer.
sudo nano /etc/avahi/services/ssh.service
Avec le contenu suivant.
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h SSH</name>
<service>
<type>_ssh._tcp</type>
<port>22</port>
</service>
</service-group>
Ensuite, un simple reboot et le Raspbbery Pi s’annoncera sur le réseau.
Nickel, et pas besoin de rebooter si le hostname était deja le bon.
Il suffit de faire
sudo /etc/init.d/avahi-daemon reload
Foctionne parfaitement. Je peux me coonecter à raspberry pi à partir d’une machine Linux en invoquant le nom rpi.local en SSH et également en http. En revanche à partir d’une machine Android alors que rpi.local fonctionne en SSH, je ne parviens pas à me connecter en http au serveur nginx installé sur mon raspberry. Que faire ?
Merci.