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?
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
Prérequis sur votre ubuntu
Installer le gestionnaire de réseau
$Sudo apt-get install network-manager
Installer nmap
$Sudo apt-get install nmap
Edit Connexion filaire sur votre ordinateur portable (Ubuntu)
Partager la connexion WiFi de votre ordinateur portable via un câble Ethernet croisé
Connectez votre RPi à votre ordinateur portable à l'aide du câble Ethernet
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
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
Connectez-vous à votre RPi depuis votre ordinateur portable (-Y avec X-forwarding)
$ssh -Y [email protected]
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
Installez vncserver sur Raspberry Pi
$ Sudo apt-get update
$ Sudo apt-get install tightvncserver
Installez vncviewer sur votre ordinateur portable en téléchargeant RealVNC (il prend en charge plusieurs plateformes) http://www.realvnc.com/download/vnc/
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
Démarrez vncserver sur votre RPi (vous devez redémarrer vncserver après avoir installé autocutsel, vous pouvez émettre $vncserver -kill :1
)
$vncserver :1
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
Démarrer vncviewer sur votre ordinateur portable
$vncviewer
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.
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.
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 .
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:
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:
+
sign (Ajouter une nouvelle connexion)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:
Il vous suffit de connecter 3 câbles:
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.
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
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]
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é.
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.
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!
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.
Nous devrons faire deux choses: activer ssh sur le pi et configurer le pi pour qu’il utilise une adresse IP statique.
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.
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
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 [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!