Connecter Raspberry Pi via Ethernet à un ordinateur portable sans routeur? [fermé]


99

Je travaille sur un projet de ballon avec un Raspberry Pi. Lorsque nous récupérerons potentiellement le Raspberry Pi, ce sera très probablement dans un endroit rural et j'aimerais éteindre le Pi à ce stade en toute sécurité.

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


Avez-vous envisagé de le configurer comme point d'accès? C'est ce que j'ai fait dans le passé.
Spencer

Réponses:


75

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

Matériel

  1. un câble Ethernet croisé (le nom est sophistiqué mais c'est juste 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. Installez nmap

    $sudo apt-get install nmap

Modifier la connexion filaire sur votre ordinateur portable (Ubuntu)

  1. Modifiez les paramètres IpV4 sur "Partager avec d'autres ordinateurs"
  2. Enregistrer le paramètre
  3. Redémarrez votre ordinateur portable

Partagez 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 connaître 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 depuis votre ordinateur portable (-Y avec X-forwarding)

    $ssh -Y pi@10.42.0.96

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

    pi@raspberrypi ~ $

Partagez l'écran 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 plates-formes) http://www.realvnc.com/download/vnc/

  3. Pour pouvoir copier et coller depuis le serveur VNC <--> visionneuse VNC, vous devez installer autocutsel sur votre RPi.

$sudo apt-get install autocutsel

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

$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émarrez 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 vncserver hébergé sur votre RPi en saisissant un mot de passe (définissez vous-même un mot de passe)

    12.Maintenant, vous pouvez 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 Raspberry Pi sur votre ubuntu


désolé, je ne peux pas publier plus de deux liens car je suis un débutant sur Stackoverflow, cependant, ce sont mes références: Partager le Wifi via ethernet sur ubuntu Partager l'affichage en installant VNC sur Raspberry pour Linux Partager l'affichage en installant VNC sur Raspberry pour Windows
Nicole Finnie

La référence de la résolution du problème de copier-coller entre le serveur VNC et le client VNC Copier / coller TightVNC entre le système d'exploitation local et Raspberry Pi
Nicole Finnie

Merci, j'avais mis votre réponse en favori pour ma future référence!
Mohd Shahril

Je vous remercie! C'est une excellente réponse, je cherchais une procédure aussi claire partout sur Internet! Un commentaire mineur - pour certaines personnes, vous voudrez peut-être vérifier eth0, au lieu de eth1 (dans l'une des commandes de la réponse).
Nishant Kelkar

3
Êtes-vous sûr que les câbles croisés sont les câbles normaux? Je ne pense pas, voir: en.wikipedia.org/wiki/Ethernet_crossover_cable Les normaux fonctionnent comme vous l'avez dit sur Ubuntu 16.04, RPI 2 Raspbian 2016.05. Le 16.04, pas besoin d'installer network-manager, il suffit d'utiliser l'interface graphique par défaut "Paramètres réseau". Et vous devriez probablement cliquer sur "Ajouter" au lieu de "Modifier". Pas besoin de nmap, juste cat /var/lib/misc/dnsmasq.leases. Voir: interlockroc.org/2012/12/06/raspberry-pi-macgyver
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

21

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


21

Pas de routeur + pas d'écran + câble Ethernet standard + RPI 2 + Raspbian Lite 13/11/2018 + 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 : /raspberrypi/58478/ssh-not-working-with-fresh-install Cela persiste à travers les démarrages.

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

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 nous l'essayons plus tard.

Après avoir activé le serveur SSH

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

entrez la description de l'image ici

Sur Ubuntu 17.04, pour contourner ce bogue comme mentionné dans 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. + signe (Ajouter une nouvelle connexion)
  2. Ethernet
  3. Créer
  4. Paramètres IPv4
  5. Méthode: partagée avec d'autres ordinateurs
  6. Donnez-lui un bon nom
  7. sauver

entrez la description de l'image ici

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

cat /var/lib/misc/dnsmasq.leases

produit 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'adresse IP, alors comme d'habitude:

ssh pi@10.42.0.160

J'ai également 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é n'est pas nécessaire si la carte réseau hôte prend en charge Auto MDI-X . C'est le cas pour les matériels les plus récents, y compris par exemple le Lenovo T430 2012 avec lequel j'ai testé, qui dispose d' une «Intel® 82579LM Gigabit Network Connection» qui documente la prise en charge de l'Auto MDI-X .

Désormais, vous pouvez également:

Convertisseur USB série UART

Ceci est une alternative à SSH si vous souhaitez simplement obtenir un shell sur le Pi: https://en.wikipedia.org/wiki/Serial_port

Cela 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, à bande passante inférieure et à distance inférieure. 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, et nous devons donc acheter un adaptateur USB bon marché. Ici, j'ai utilisé: https://www.amazon.co.uk/gp/product/B072K3Z3TL Voir aussi: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-et-ttyama0-sous-linux / 367882 # 367882

Branchez d'abord la carte SD sur l'hôte, et éditez le config.txtfichier présent dans la première partition à ajouter:

enable_uart=1

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

Cette première partition contient le bootloader, 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 Linux réel.

Connectez maintenant votre ordinateur au Pi en tant que:

entrez la description de l'image ici

Il vous suffit de connecter 3 câbles:

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

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

Attention à ne pas relier le Ground au 5V, j'ai déjà gravé 2 UART vers des puces USB et un RPI UART en faisant ça!

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'est 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 le montrant: https://www.youtube.com/watch?v=zUBPeoLW16Q

Voir également

Question similaire sur RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection


1
La seule méthode (essayé une douzaine de stratégies différentes) qui fonctionne pour moi (je suis sur Fedora 29). Merci!
Daniel Schütte

Dans mon cas, le fichier /var/lib/misc/dnsmasq.leases est vide ...
borizzzzz

@Kirjain merci pour le rapport. Votre configuration est-elle absolument identique à la mienne (hôte, invité, matériel)? Sinon, quelles différences avez-vous?
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

1
@CiroSantilli 新疆 改造 中心 996ICU 六四 事件 réservoirs pour tendre la main. J'ai le même matériel mais mon PI exécute la dernière version (juin 2019) de raspbian buster, et mon hôte est ubuntu 18.04. Après avoir donné à mon hôte et à mes adresses IP statiques PI, je suis arrivé à envoyer un ping au PI de l'hôte. Mais lorsque j'essaye ssh, j'obtiens l'erreur de refus de connexion que vous avez mentionnée dans votre réponse. Et oui, j'ai créé le fichier ssh vide dans la partition de démarrage de mon PI. Selon les notes de publication downloads.raspberrypi.org/raspbian/release_notes.txt, cela devrait néanmoins être une approche valable.
borizzzzz

@AlexeyGy hmm, n'est-ce pas la première chose que je dis dans la réponse? :-)
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

8

Je viens de l'implémenter et de le tester 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 comme

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. entrez votre mot de passe de serveur VNC et vous avez maintenant accès à l'interface graphique pour faire ce que vous voulez.

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


1
"ssh pi@raspberrypi.local" fonctionne pour une nouvelle installation simple de rasberrian sur le terminal Linux Mint.
Elliot Robert

il convient de noter que cela dépend du nom d'hôte. Donc, si vous avez changé le nom d'hôte du pi, il se peut que ce soit maintenantelderberryphi.local
lucidbrot

7

Configurez l'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 ce qui 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

4

configurer l'adresse 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 pi@169.254.0.2

3

Voici les instructions destinées aux utilisateurs Windows pour se connecter à un RPi en utilisant uniquement un câble Ethernet et un serveur DHCP. Aucun câble croisé n'est nécessaire, 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

Appuyez sur 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.0et son état 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 devienne169.254.*.* . S'il s'agit d'autre chose, 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érifier HTTP (Web Server) . Cela facilite la localisation de l'adresse IP du RPi. Appuyez sur Suivant.

Prenez les valeurs par défaut et appuyez sur Suivant jusqu'à ce que vous arriviez à l' Writing the INI fileécran. Vérifiez Overwrite existing fileet appuyez sur leWrite INI file bouton. Puis appuyez sur Suivant.

Sur l'écran final, vérifiez Run DHCP server immediatelyet appuyez 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 Continue as tray appbouton et le serveur DHCP sera réduit dans votre barre d'état système.

De 1 seconde à 5 minutes, vous verrez une alerte dans la barre d'état système avec votre ordinateur portable et la nouvelle adresse IP de votre RPi. Cette alerte est vraiment rapide et vous la manquerez probablement. Normalement, l'adresse IP de votre RPi l'est 169.254.0.2, mais cela pourrait être *.01ou même autre chose. 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 comme "raspberrypi" avec son adresse IP.

Vous pouvez maintenant insérer ou installer un bureau à distance dans votre RPi et configurer ses paramètres sans fil ou tout ce que vous voulez faire.

Dépannage

Cela peut être quelque peu capricieux. Ma connexion semble s'être interrompue et je n'ai pas pu revenir en SSH en utilisant l'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 donné, alors que je n'obtenais 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é.


1
Les électeurs en bas, s'il vous plaît, commentez ou votre vote est inutile pour la plupart des gens.
byronyasgur

2

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

En supposant que votre RPi est 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.


3
Vous n'avez pas besoin d'un câble croisé, car le RPi dispose d'un logiciel qui peut fonctionner avec un câble Ethernet normal.
Matthew Moisen

1

Oui, vous pouvez connecter la 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 aient tous les deux une adresse IP statique configurée (et 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 SubNet 255.255.255.0

Pour définir une adresse IP manuelle sur la 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, et la procédure dépend de votre système d'exploitation.

Une fois que vous avez configuré les deux adresses IP statiques, vous pouvez vous connecter à la framboise via SSH en utilisant l'ensemble IP (192.168.1.10).

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


1

Ce qui a fonctionné pour moi, c'est une combinaison des réponses de Nicole Finnie et Ciro Santilli avec des réponses d'ailleurs.

Configurer le pi

Nous devrons faire deux choses: activer ssh sur le pi et configurer le pi pour utiliser une adresse IP statique.

Activation de ssh

Ajoutez un fichier appelé sshdans la partition de démarrage de la carte SD (pas dans le /bootdossier de la partition racine). Ceci est bien documenté à d'autres endroits.

I.P statique

Ouvrez /etc/dhcpcd.confsur la carte SD du pi et décommentez l'exemple d'une adresse IP statique (commence vers 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

Configurer votre ordinateur portable

Tout d'abord, assurez-vous que vous avez networkmanager(avec GUI) installé sur votre ordinateur portable. Ensuite, assurez - vous dnsmasqest pas en cours d' exécution en tant que service:
systemctl status dnsmasq
Si cette commande affiche que le service est arrêté, alors vous êtes bon.

Ensuite, nous devons config networkmanager. Ouvrez /etc/NetworkManager/NetworkManager.confet 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 NetworkManagerservice. Allez maintenant dans l' NetworkManagerinterface graphique (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 Ethernetle type et appuyez sur Create.... Allez dans l' IPv4 Settingsonglet et sélectionnez la méthode Shared to other computers. Donnez un bon nom à la connexion et enregistrez-la.

Connectez le Raspberry Pi et assurez-vous que votre ordinateur portable utilise votre nouvelle connexion comme connexion Ethernet. Si c'est le cas, votre pi devrait maintenant avoir une adresse IP donnée par votre PC. Vous pouvez trouver cela 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 enp0s25ou eth0. Il devrait avoir une ligne qui lit quelque chose de similaire pour
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
regarder 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 changer le static ip_addressen quelque chose où les trois premiers chiffres sont les mêmes que dans votre adresse de diffusion. Modifiez également le static routerset le premier de l' adresse. Remettez le pi sous tension et connectez-le. Courirdomain_name_servers de votre ordinateur portableinetifconfig à nouveau pour voir que les adresses n'ont pas changé.

ssh dans le pi

ssh pi@10.42.0.182
Si vous obtenez connection refused, le pi n'exécute pas de sshserveur. Si vous obtenez host unreachable, je suis désolé.

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.