105 votes

Connecter un Raspberry Pi via Ethernet à un ordinateur portable sans routeur ?

Je travaille sur un projet de ballon avec un Raspberry Pi. Lorsque nous récupérerons éventuellement le Raspberry Pi, il se trouvera très probablement dans un endroit rural et j'aimerais pouvoir éteindre le Pi à ce moment-là en toute sécurité.

Sans routeur ou réseau à proximité, je me demandais s'il y avait un moyen de connecter un Raspberry Pi avec un câble Ethernet directement à un ordinateur portable ?

81voto

Nicole Finnie Points 941

Il s'agit d'une solution pour Ubuntu (l'idée fonctionne également pour Windows ou Mac) que je viens d'essayer aujourd'hui et qui fonctionne comme un charme.

Matériau

  1. un câble Ethernet croisé (le nom est fantaisiste mais c'est juste un câble Ethernet normal)
  2. un ordinateur portable (ubuntu)
  3. un Raspberry Pi (j'ai le Pi2)

Conditions préalables sur votre ubuntu

  1. Installer network-manager

    $sudo apt-get install network-manager

  2. Installer nmap

    $sudo apt-get install nmap

Modifier la connexion filaire sur votre ordinateur portable (Ubuntu)

  1. Changez les paramètres IpV4 pour "Partager vers d'autres ordinateurs".
  2. Sauvegarder le réglage
  3. Redémarrez votre ordinateur portable

Partager la connexion WiFi de votre ordinateur portable via un câble croisé Ethernet

  1. Connectez votre RPi à votre ordinateur portable à l'aide du câble Ethernet.

  2. Recherchez l'adresse de diffusion de la connexion Ethernet (ordinateur portable),

$/sbin/ifconfig eth1 | grep "Bcast" | awk -F: '{print $3}' | awk '{print $1}' 10.42.0.255

  1. Utilisez cette adresse pour trouver l'adresse IP de votre RPi, c'est 10.42.0.96 dans mon cas car 10.42.0.1 est mon ordinateur portable.

    $nmap -n -sP 10.42.0.255/24

  Starting Nmap 6.40 ( http://nmap.org ) at 2016-02-20 23:07 CET
  Nmap scan report for 10.42.0.1
  Host is up (0.00031s latency).
  Nmap scan report for 10.42.0.96
  Host is up (0.0023s latency).
  Nmap done: 256 IP addresses (2 hosts up) scanned in 2.71 seconds
  1. Connectez-vous à votre RPi à partir de votre ordinateur portable (-Y avec X-forwarding)

    $ssh -Y pi@10.42.0.96

  2. Regardez-moi ça ! Maintenant votre RPi est connectée à votre ordinateur portable et RPi peut partager la connexion WiFi.

    pi@raspberrypi ~ $

Partager l'écran et le clavier de votre ordinateur portable avec RPi

  1. Installer vncserver sur Raspberry Pi

    $ sudo apt-get update

    $ sudo apt-get install tightvncserver

  2. Installer vncviewer sur votre ordinateur portable en téléchargeant RealVNC (il prend en charge plusieurs plateformes) http://www.realvnc.com/download/vnc/

  3. Pour pouvoir faire un copier/coller de VNC server <--> VNC viewer, vous devez installer autocutsel sur votre RPi.

$sudo apt-get install autocutsel

Si ce site ne fonctionne pas, essayez de télécharger le fichier .deb directement depuis un site miroir, par ex. mirror.hmc.edu/debian/pool/main/a/autocutsel/autocutsel_0.10.0-1_armhf.deb
et l'installer

$sudo dpkg -i autocutsel_0.10.0-1_armhf.deb

  1. Démarrez vncserver sur votre RPi (Vous devez redémarrer vncserver après l'installation d'autocutsel, vous pouvez faire la commande suivante $vncserver -kill :1 )

    $vncserver :1

  2. Ajouter autocutsel -fork à /home/pi/.vnc/xstartup

 #!/bin/sh
 xrdb $HOME/.Xresources xsetroot -solid grey 
 autocutsel -fork
 #x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 #x-window-manager &
 # Fix to make GNOME work 
 export XKL_XMODMAP_DISABLE=1 
 /etc/X11/Xsession
  1. Lancez vncviewer sur votre ordinateur portable.

    $vncviewer

  2. Une fenêtre vncviewer apparaîtra et tapez l'adresse IP de votre RPi (donnée par votre ordinateur portable) suivie du port 1, qui est votre serveur VNC. par exemple : 10.42.0.96:1 dans mon cas.

  3. Connectez-le au serveur vnc hébergé sur votre RPi en entrant un mot de passe (créez vous-même un mot de passe).

    Vous pouvez maintenant voir le bureau de RPi sur votre ordinateur portable, et j'ai ouvert mon navigateur pour montrer que la connexion WiFi partagée fonctionne également.

Voir le bureau du Raspberry Pi sur votre ubuntu

23voto

Ciro Santilli Points 3341

Pas de routeur + pas d'écran + câble Ethernet ordinaire + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

Nous devons d'abord activer le serveur SSH sur le Pi, qui est désactivé par défaut pour des raisons de sécurité.

Si vous avez déjà un shell sur le Pi par une méthode non-SSH telle que écran + clavier ou UART (voir ci-dessous), exécutez simplement :

sudo systemctl enable ssh
sudo service sshd start

comme expliqué à : https://raspberrypi.stackexchange.com/questions/58478/ssh-not-working-with-fresh-install Ce phénomène persiste dans toutes les bottes.

Sinon, insérez la carte SD sur votre hôte, et créez un fichier vide magique nommé ssh dans le fichier boot/ partition.

Sur les hôtes Ubuntu, il est monté automatiquement et vous pouvez le faire :

sudo touch /media/$USER/boot/ssh

que vous pouvez confirmer avec :

lsblk

qui contient :

mmcblk0     179:0    0  14.4G  0 disk
mmcblk0p1 179:1    0  43.9M  0 part /media/ciro/boot
mmcblk0p2 179:2    0  14.4G  0 part /media/ciro/rootfs

Si vous n'activez pas le démon SSHD sur le Pi, la connexion SSH échouera :

ssh: connect to host 10.42.0.160 port 22: Connection refused

quand nous l'essayerons plus tard.

Après avoir activé le serveur SSH

Ensuite, démarrez le Pi, et reliez un câble Ethernet de votre ordinateur portable directement au Pi :

enter image description here

Sur Ubuntu 17.04 pour contourner le problème ce bug comme indiqué sur cette réponse dont vous avez besoin en premier lieu :

sudo apt-get install dnsmasq-base

Sur l'hôte, ouvrez le gestionnaire de réseau :

nm-connection-editor

Et allez-y :

  1. + signer (Ajouter une nouvelle connexion)
  2. Ethernet
  3. Créer
  4. Paramètres IPv4
  5. Méthode : Partagé avec d'autres ordinateurs
  6. Donnez-lui un bon nom
  7. Sauvez

enter image description here

Trouvez l'IP du Pi sur l'hôte :

cat /var/lib/misc/dnsmasq.leases

sort quelque chose comme :

1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69

10.42.0.160 est l'IP, alors comme d'habitude :

ssh pi@10.42.0.160

Je dispose également des éléments suivants dans mon .bashrc :

piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )

De l'intérieur du Pi, remarquez qu'il peut accéder à l'internet normalement par les autres interfaces de votre hôte :

ping google.com

Par exemple, sur mon ordinateur portable, le Pi occupe l'Ethernet, mais l'hôte est également connecté à l'Internet par WiFi.

Le câble croisé est no nécessaire si la carte réseau hôte prend en charge Auto MDI-X . C'est le cas pour la plupart des matériels récents, y compris par exemple le Lenovo T430 de 2012 avec lequel j'ai effectué mes tests, qui a une "connexion réseau Gigabit Intel® 82579LM" qui documents supportant l'Auto MDI-X .

Maintenant, vous le pouvez aussi :

Convertisseur UART série USB

C'est une alternative à SSH si vous voulez simplement avoir un shell sur le Pi : https://en.wikipedia.org/wiki/Serial_port

Cette méthode n'utilise pas SSH ou le réseau lui-même, mais plutôt l'interface série plus ancienne, plus simple, plus directe, plus fiable, à plus faible bande passante et à plus faible distance. Le Pi n'aura pas accès à l'Internet avec cette méthode.

Les ordinateurs de bureau ont toujours un port série que vous pouvez connecter directement fil à fil avec le Pi, mais ceux-ci sont cachés dans la plupart des ordinateurs portables, et nous devons donc acheter un adaptateur USB bon marché. Ici, j'ai utilisé : https://www.amazon.co.uk/gp/product/B072K3Z3TL Voir aussi : https://unix.stackexchange.com/questions/307390/what-is-the-difference-between-ttys0-ttyusb0-and-ttyama0-in-linux/367882#367882

Commencez par brancher la carte SD sur l'hôte, et modifiez le fichier config.txt présent dans la première partition à ajouter :

enable_uart=1

comme expliqué à : https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

Cette première partition contient le chargeur de démarrage, ses fichiers de configuration et le noyau (Linux / votre), config.txt étant l'un d'entre eux. La deuxième partition contient le système de fichiers racine de Linux.

Maintenant, connectez votre ordinateur au Pi comme :

enter image description here

Vous n'avez besoin de fixer que 3 câbles :

  • De la terre à la terre
  • Tx sur Pi vers Rx sur l'USB vers port série
  • Rx sur Pi vers Tx sur Tye USB vers port série

Ceci est également documenté sur le site : https://www.raspberrypi.org/documentation/usage/gpio/README.md

Faites attention à ne pas relier la masse au 5V, j'ai déjà brûlé 2 UART vers USB et un UART RPI en faisant cela !

Vous n'avez pas du tout besoin de connecter le 5V au 5V. Je pense que vous pouvez alimenter votre Pi comme ça, mais j'ai lu que c'était une mauvaise idée, utilisez simplement la source d'alimentation USB habituelle.

Enfin, branchez le côté USB du connecteur à votre ordinateur hôte, et obtenez une coquille avec :

sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200

Sortir avec Ctrl-A \ .

Voici une vidéo d'Adafruit qui le montre : https://www.youtube.com/watch?v=zUBPeoLW16Q

Voir aussi

Question similaire sur RPI SE : https://raspberrypi.stackexchange.com/questions/3867/ssh-to-rpi-without-a-network-connection

22voto

Vas Points 237

Vous n'avez pas besoin d'un câble croisé. Vous pouvez utiliser un câble réseau normal puisque la puce LAN du Raspberry Pi est suffisamment intelligente pour se reconfigurer pour les connexions réseau directes. Salutations

8voto

Stuart Llewellyn Points 101

Je viens d'implémenter et de tester ceci avec succès. Même situation avec mon projet, je veux me connecter à un Raspberry Pi sans routeur ni wifi. Juste un simple câble ethernet.

En utilisant le programme ssh putty, mettez l'adresse en tant que

raspberrypi.local

Connectez-vous et vous pourrez accéder au terminal.

Alternativement, si le serveur VNC est installé, utilisez le serveur VNC et mettez

raspberrypi.local:1

Dans l'adresse du serveur, entrez le mot de passe de votre serveur VNC et vous avez maintenant un accès GUI pour faire ce que vous voulez.

Dans ce cas, il a été exécuté scripts dans un emplacement distant. Dans la situation des affiches, éteignez le Pi en toute sécurité. Des boutons simples.

7voto

Don Points 345

Configurez un ip statique pour votre ordinateur portable et votre raspberry pi. Sur le rapberryPI, configurez-le comme suit.

pi@rpi>sudo nano /etc/network/interfaces

Configurez ensuite les éléments suivants pour vous connecter à votre ordinateur portable.

iface eth0 inet static

address 192.168.1.81

netmask 255.255.255.0

broadcast 192.168.1.255

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X