web-dev-qa-db-fra.com

Connecter 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 potentiellement le Raspberry Pi, ce sera probablement dans une zone rurale et j'aimerais désactiver le pi à ce stade en toute sécurité. Sans routeur ou réseau à proximité, je me demandais s'il était possible de connecter un Raspberry Pi avec un câble Ethernet directement à un ordinateur portable?

90
user2170780

C'est une solution pour Ubuntu (l'idée fonctionne aussi pour Windows ou Mac), je viens d'essayer aujourd'hui et cela fonctionne comme un charme.

Matériel

  1. un câble Ethernet croisé (son nom est élégant mais ce n'est qu'un câble Ethernet normal)
  2. un ordinateur portable (Ubuntu) 
  3. un Raspberry Pi (j'ai le Pi2)

Prérequis sur votre ubuntu

  1. Installer le gestionnaire de réseau 

    $Sudo apt-get install network-manager

  2. Installer nmap

    $Sudo apt-get install nmap

Edit Connexion filaire sur votre ordinateur portable (Ubuntu)

  1. Modifier les paramètres d'IpV4 en "Partager sur d'autres ordinateurs" 
  2. Enregistrer le réglage
  3. Redémarrez votre ordinateur portable

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

  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 connaître l'adresse IP de votre RPi, il s'agit de 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 depuis votre ordinateur portable (-Y avec X-forwarding) 

    $ssh -Y [email protected] 

  2. Et voilà! Maintenant, votre RPi est connecté à votre ordinateur portable et RPi peut partager la connexion WiFi.

    pi@raspberrypi ~ $

Partagez l'affichage et le clavier de votre ordinateur portable avec RPi

  1. Installez vncserver sur Raspberry Pi 

    $ Sudo apt-get update

    $ Sudo apt-get install tightvncserver 

  2. Installez 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 copier et coller à partir du serveur VNC <-> 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 à partir d'un site miroir, par exemple, . 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 avoir installé autocutsel, vous pouvez émettre $vncserver -kill :1)

    $vncserver :1

  2. Ajoutez 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. Démarrer vncviewer sur votre ordinateur portable

    $vncviewer

  2. Une fenêtre vncviewer apparaîtra et saisira l'adresse IP de votre RPi (fournie 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 vncserver hébergé sur votre RPi en saisissant un mot de passe (configurez vous-même un mot de passe).

    12.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 fonctionnait également.

Voir le bureau Raspberry Pi sur votre ubuntu

71
Nicole Finnie

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

21
Vas

Pas de routeur + pas d'écran + câble Ethernet standard + 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 la sécurité.

Si vous avez déjà un shell sur le Pi via 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é à l’adresse: https://raspberrypi.stackexchange.com/questions/58478/ssh-not-working-with-fresh-install Ceci persiste après chaque démarrage.

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

Sur les hôtes Ubuntu, il est monté automatiquement et vous pouvez simplement 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 avec:

ssh: connect to Host 10.42.0.160 port 22: Connection refused

quand on essaie plus tard.

Après avoir activé le serveur SSH

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

 enter image description here

Sur Ubuntu 17.04 pour contourner ce bogue comme mentionné sur cette réponse vous devez d’abord:

Sudo apt-get install dnsmasq-base

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

nm-connection-editor

Et aller:

  1. + sign (Ajouter une nouvelle connexion)
  2. Ethernet
  3. Créer
  4. Paramètres IPv4
  5. Méthode: partagée avec d'autres ordinateurs
  6. Définir un bon nom pour cela
  7. Sauvegarder

 enter image description here

Trouver l'adresse 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 [email protected]

J'ai aussi les éléments suivants dans mon .bashrc:

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

Depuis l'intérieur du Pi, notez qu'il peut accéder à Internet normalement via les autres interfaces de votre hôte:

ping google.com

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

Le câble croisé est non requis si la carte réseau de l'hôte prend en charge Auto MDI-X . C'est le cas du matériel le plus récent, y compris par exemple le Lenovo T430 2012 avec lequel j'ai testé, qui dispose d'une "connexion réseau Intel® 82579LM Gigabit" qui documente la prise en charge d'Auto MDI-X .

Maintenant vous pouvez aussi:

UART convertisseur série USB

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

Cela n'utilise pas SSH ou la mise en réseau elle-même, mais plutôt l'interface série la plus ancienne, la plus simple, la plus directe, la plus fiable, la plus faible bande passante et les distances plus basses. Le Pi n'aura pas accès à 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. Nous devons donc acheter un adaptateur USB bon marché. J'ai utilisé ici: https://www.Amazon.co.uk/gp/product/B072K3Z3TL Voir aussi: https://unix.stackexchange.com/questions/307390/what-is- la-différence-entre-ttys0-ttyusb0-et-ttyama0-in-linux/367882 # 367882

Commencez par brancher la carte SD sur l'hôte et éditez le fichier config.txt présent dans la première partition pour 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 seconde partition contient le système de fichiers racine Linux actuel.

Maintenant, connectez votre ordinateur au Pi en tant que:

 enter image description here

Il vous suffit de connecter 3 câbles:

  • Terre à terre
  • Tx sur Pi à Rx sur USB au port série
  • Rx sur Pi à Tx sur tye USB sur port série

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

Faites attention à ne pas relier la Terre au 5V, j'ai déjà gravé 2 UART sur des puces USB en faisant cela!

Vous n'avez pas besoin de connecter le 5V au 5V du tout. 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 sur votre ordinateur hôte et obtenez un shell avec:

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

Quittez avec Ctrl-A \.

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

Je viens de mettre en œuvre et de tester cela avec succès. Même situation avec mon projet, je souhaite me connecter à un Raspberry Pi sans routeur ni wifi. Juste un simple câble Ethernet.

En utilisant le programme ssh PuTTY, indiquez l’adresse

raspberrypi.local

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

Sinon, si le serveur VNC est configuré, utilisez le serveur VNC et mettez

raspberrypi.local: 1

Dans l'adresse du serveur. saisissez le mot de passe de votre serveur VNC et vous avez maintenant accès à une interface graphique pour faire ce que vous voulez. 

Dans certains cas, il a été exécuté des scripts dans un emplacement distant. Dans la situation des affiches, arrêtez le Pi en toute sécurité. Boutons Simples.

8
Stuart Llewellyn

Configurez l'adresse IP statique pour votre ordinateur portable et votre Raspberry Pi. Sur le rapberryPI, configurez-le comme suit. 

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

Ensuite, configurez comme suit 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
7
Don

configurez l'ip statique sur le Raspberry Pi:

Sudo nano /etc/network/interfaces

puis ajoutez:

iface eth0 inet static
     address 169.254.0.2
     netmask 255.255.255.0
     broadcast 169.254.0.255

alors vous pouvez accéder à votre framboise via ssh

ssh [email protected]
4
Queky

Voici les instructions pour les utilisateurs Windows sur la connexion à un RPi en utilisant simplement un câble Ethernet et un serveur DHCP. Il n’ya pas besoin de câble croisé, car le RPi peut le gérer. J'ai un article de blog qui documente cela avec des images ici qui peuvent être plus faciles à suivre.

Téléchargements

Téléchargez le serveur DHCP pour Windows } _ (le lien de téléchargement est ici ). Décompressez le fichier Zip et ouvrez l'application dhcpwiz, qui configurera le serveur DHCP.

Configuration du serveur DHCP

Hit suivant sur le premier écran.

Sur le deuxième écran, recherchez une ligne "Connexion au réseau local" et vérifiez que son adresse IP est 0.0.0.0 et que son statut est enabled. Connectez le câble Ethernet du RPi à votre ordinateur portable et allumez le Pi. Appuyez sur Actualiser sur cet écran jusqu'à ce que l'adresse IP change en 169.254.*.*. S'il s'agit de quelque chose d'autre, vous devez modifier vos paramètres réseau pour la connexion au réseau local (assurez-vous qu'il ne s'agit pas d'une adresse IP/DNS statique). Cliquez sur cette ligne de connexion au réseau local et cliquez sur Suivant.

Vérifiez HTTP (Web Server). Cela facilite beaucoup la recherche de l'adresse IP du RPi. Hit suivant.

Prenez les valeurs par défaut et appuyez sur Suivant jusqu'à atteindre l'écran Writing the INI file. Cochez Overwrite existing file et cliquez sur le bouton Write INI file. Puis cliquez sur Suivant.

Sur l'écran final, cochez Run DHCP server immediately et cliquez sur `Terminer.

Serveur DHCP et obtention de l'adresse IP de votre Raspberry Pi

Cela lance le serveur DHCP réel, en utilisant la configuration que vous venez de créer dans l'assistant précédent. Cliquez sur le bouton Continue as tray app et le serveur DHCP sera réduit dans la barre d'état système.

D'ici 1 à 5 minutes, vous verrez une alerte dans la barre d'état système indiquant votre ordinateur portable et la nouvelle adresse IP de votre RPi. Cette alerte est très rapide et vous le manquerez probablement. Normalement, l'adresse IP de votre RPi est 169.254.0.2, mais il pourrait s'agir de *.01 ou même de quelque chose d'autre. Il est plus facile d'accéder à l'interface utilisateur Web du serveur DHCP à l'adresse (http: //localhost/dhcpstatus.xml }. Cela listera le nom d'hôte "raspberrypi" avec son adresse IP.

Vous pouvez maintenant utiliser PuTTY ou le bureau à distance dans votre RPi et configurer ses paramètres sans fil ou ce que vous souhaitez.

Dépannage

Cela peut être un peu capricieux. Ma connexion semble avoir été interrompue et SSH n'a pas pu utiliser son adresse IP. Normalement, je peux redémarrer le Pi et obtenir à nouveau l'adresse IP. Parfois, je dois redémarrer le RPi et le serveur DHCP. Parfois, je dois le faire plusieurs fois. À un moment où je n'avais pas de connexion pendant 15 minutes, j'ai copié tous les fichiers du dossier dhcpsrv2.5.1 dans un nouveau dossier et essayé à nouveau. cela a immédiatement fonctionné.

3
Matthew Moisen

Vous pouvez utiliser un câble Ethernet croisé - http://en.wikipedia.org/wiki/Ethernet_crossover_cable

En supposant que votre RPi soit un client DCHP, il est préférable d’exécuter un simple serveur DHCP sur votre ordinateur portable pour attribuer une adresse IP au RPi.

2
MrDB

Oui, vous pouvez connecter le framboise directement à votre PC sans routeur. Pour cela, il est nécessaire que la framboise et votre ordinateur soient sur le même sous-réseau et qu’ils disposent tous deux d’une adresse IP statique configurée (et d’un câble Ethernet connecté entre les deux appareils).

Une configuration idéale serait la suivante:

Raspberry sur eth0: IP: 192.168.1.10 Sous-réseau: 255.255.255.0

Votre PC: IP: 192.168.1.11 Sous-réseau 255.255.255.0

Pour définir une adresse IP manuelle sur framboise, vous pouvez suivre ce guide

Sur votre PC, vous pouvez définir une adresse IP manuelle dans les paramètres de la carte réseau. La procédure dépend de votre système d'exploitation.

Lorsque vous avez configuré les deux adresses IP statiques, vous pouvez vous connecter à framboise via SSH à l'aide de l'ensemble IP (192.168.1.10).

Une autre méthode plus simple consiste à attacher à GPIO un bouton pour éteindre la framboise! Jetez un coup d'oeil ici!

1
grausof

Ce qui a fonctionné pour moi a été une combinaison des réponses de Nicole Finnie et Ciro Santilli avec quelques réponses venues d’ailleurs.

Mise en place du pi

Nous devrons faire deux choses: activer ssh sur le pi et configurer le pi pour qu’il utilise une adresse IP statique.

Activer ssh

Ajoutez un fichier appelé ssh dans le répertoire de démarrage partition de la carte sd (pas le dossier /boot dans la partition racine). Ceci est bien documenté d'autres endroits.

I.P statique

Ouvrez /etc/dhcpcd.conf sur la carte SD du pi et décommentez l'exemple pour une adresse IP statique (commence autour de la ligne 40). Définissez les adresses sur

# Example static IP configuration:
interface eth0
static ip_address=10.42.0.182/24
static routers=10.42.0.1
static domain_name_servers=10.42.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

Mise en place de votre ordinateur portable

Tout d’abord, assurez-vous que vous avez installé networkmanager (avec une interface graphique) sur votre ordinateur portable. Ensuite, assurez-vous que dnsmasq est not exécuté en tant que service:
systemctl status dnsmasq
Si cette commande indique que le service est arrêté, alors tout va bien.

Ensuite, nous devons configurer networkmanager. Ouvrez /etc/NetworkManager/NetworkManager.conf et ajoutez les deux lignes suivantes en haut: 

[main]
DNS=dnsmasq

Puis redémarrez. Cette étape peut ne pas être nécessaire. Il peut suffire de redémarrer le service NetworkManager. Maintenant, allez dans l'interface graphique NetworkManager (généralement accessible par une icône dans le coin de l'écran) et choisissez Edit Connections... Dans la fenêtre qui apparaît, cliquez sur l'icône + pour créer une nouvelle connexion. Choisissez le type Ethernet et appuyez sur Create.... Accédez à l'onglet IPv4 Settings et sélectionnez la méthode Shared to other computers. Donnez un bon nom à la connexion et enregistrez.

Connectez le Raspberry Pi et assurez-vous que votre ordinateur portable utilise votre nouvelle connexion en tant que connexion Ethernet. Si c'est le cas, votre ordinateur devrait maintenant avoir une adresse IP. Vous pouvez trouver ceci en exécutant d'abord ifconfig. Cela devrait vous donner plusieurs blocs de texte, un pour chaque interface réseau. Vous êtes intéressé par celui qui est quelque chose comme enp0s25 ou eth0. Il devrait avoir une ligne qui lit quelque chose de similaire à
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
Regardez l’adresse de diffusion (dans ce cas, 10.42.0.255). S'il est différent du mien, éteignez le pi et remettez la carte SD dans votre ordinateur portable pour remplacer le static ip_address par un nom dont les trois premiers chiffres sont identiques à ceux de votre adresse de diffusion. Modifiez également le static routers et le premier du domain_name_servers par l'adresse inet de votre ordinateur portable. Remettez le pi sous tension et connectez-le. Exécutez à nouveau ifconfig pour vérifier que les adresses n'ont pas changé.

ssh dans le pi

ssh [email protected]
Si vous obtenez connection refused, pi ne fonctionne pas sur un serveur ssh. Si vous obtenez Host unreachable, je suis désolé.

J'espère que cela aide quelqu'un!

0
Froff