通过以太网将Raspberry Pi连接到没有路由器的笔记本电脑?

use*_*780 96 ssh ethernet raspberry-pi

我正在做一个覆盆子pi的气球项目.当我们有可能恢复树莓派时,它很可能会在农村地区,我想安全地关闭pi.如果没有附近的路由器或网络,我想知道是否有办法将带有以太网电缆的树莓派直接连接到笔记本电脑上?

Nic*_*nie 74

这是Ubuntu的解决方案(这个想法也适用于Windows或Mac)我今天刚尝试过,它就像一个魅力.

材料

  1. 一条交叉以太网电缆(名称很花哨,但它只是普通的以太网电缆)
  2. 一台笔记本电脑(ubuntu)
  3. Raspberry Pi(我有Pi2)

ubuntu的先决条件

  1. 安装网络管理员

    $sudo apt-get install network-manager

  2. 安装nmap

    $sudo apt-get install nmap

编辑笔记本电脑上的有线连接(Ubuntu)

  1. 将IpV4设置更改为"共享到其他计算机"
  2. 保存设置
  3. 重启笔记本电脑

通过以太网交叉电缆共享笔记本电脑的WiFi连接

  1. 使用以太网电缆连接笔记本电脑连接RPi

  2. 查找以太网连接(笔记本电脑)的广播地址,

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

  1. 使用这个地址找出你的RPi的IP地址,在我的情况下它是10.42.0.96因为10.42.0.1是我的笔记本电脑

    $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
Run Code Online (Sandbox Code Playgroud)
  1. 从笔记本电脑登录您的RPi(-Y带X-forwarding)

    $ssh -Y pi@10.42.0.96

  2. 瞧,看哪!现在您的RPi已连接到您的笔记本电脑,RPi可以共享WiFi连接.

    pi@raspberrypi ~ $

使用RPi共享笔记本电脑的显示屏和键盘

  1. 在Raspberry Pi上安装vncserver

    $ sudo apt-get update

    $ sudo apt-get install tightvncserver

  2. 通过下载RealVNC(它支持多个平台)在您的笔记本电脑上 安装vncviewer http://www.realvnc.com/download/vnc/

  3. 为了能够从VNC服务器< - > VNC查看器进行复制和粘贴,您需要在RPi上安装自动切换器.

$sudo apt-get install autocutsel

如果此站点不起作用,请尝试直接从镜像站点下载.deb,例如mirror.hmc.edu/debian/pool/main/a/autocutsel/autocutsel_0.10.0-1_armhf.deb
并安装它

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

  1. 在RPi上启动vncserver(安装autocutsel后必须重新启动vncserver,你可以发出$vncserver -kill :1)

    $vncserver :1

  2. 将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
Run Code Online (Sandbox Code Playgroud)
  1. 在笔记本电脑上启动vncviewer

    $vncviewer

  2. 将弹出一个vncviewer窗口并输入您的RPi的IP地址(由您的笔记本电脑提供),然后输入端口1,即您的VNC服务器.例如:在我的情况下为10.42.0.96:1.

  3. 通过输入密码(自己设置密码)将其连接到RPi上托管的vncserver

    12.现在您可以在笔记本电脑上看到RPi的桌面,我打开浏览器以显示共享的WiFi连接正在运行.

请参阅ubuntu上的Raspberry Pi桌面

  • 你确定交叉电缆是正常的吗?我想不是,请参阅:https://en.wikipedia.org/wiki/Ethernet_crossover_cable正常的工作正如您在Ubuntu 16.04,RPI 2 Raspbian 2016.05上所说的那样.在16.04,无需安装`network-manager`,只需使用默认的"网络设置"GUI.你可能应该点击"添加"而不是"编辑".不需要`nmap`,只需要`cat/var/lib/misc/dnsmasq.leases`.见:http://www.interlockroc.org/2012/12/06/raspberry-pi-macgyver/ (3认同)

小智 20

您不需要交叉电缆.您可以使用普通网络电缆,因为Raspberry Pi LAN芯片足够智能,可以重新配置自身以进行直接网络连接.干杯


Cir*_*四事件 18

没有路由器+没有屏幕+常规以太网线+ RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

首先,我们必须在Pi上启用SSH服务器,默认情况下禁用该服务器以确保安全性.

如果您已通过非SSH方法(如屏幕+键盘或UART(见下文))在Pi上安装了shell,则只需运行:

sudo systemctl enable ssh
sudo service sshd start
Run Code Online (Sandbox Code Playgroud)

如下所述:https://raspberrypi.stackexchange.com/questions/58478/ssh-not-working-with-fresh-install这在靴子中持续存在.

否则,在主机上插入SD卡,并sshboot/分区中创建一个名为file 的魔术空文件.

在Ubuntu主机上,它会自动挂载,你可以这样做:

sudo touch /media/$USER/boot/ssh
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式确认:

lsblk
Run Code Online (Sandbox Code Playgroud)

其中包含:

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
Run Code Online (Sandbox Code Playgroud)

如果您未在Pi上启用SSHD守护程序,则SSH连接将失败,并显示:

ssh: connect to host 10.42.0.160 port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)

当我们稍后再试.

启用S​​SH服务器后

接下来,启动Pi,并将笔记本电脑中的以太网电缆直接连接到Pi:

在此输入图像描述

在Ubuntu 17.04来解决这个bug提到这个答案,你首先需要:

sudo apt-get install dnsmasq-base
Run Code Online (Sandbox Code Playgroud)

在主机上,打开网络管理器:

nm-connection-editor
Run Code Online (Sandbox Code Playgroud)

去:

  1. + 签名(添加新连接)
  2. 以太网络
  3. 创建
  4. IPv4设置
  5. 方法:共享给其他计算机
  6. 为它设置一个好名字
  7. 保存

在此输入图像描述

在主机上找到Pi的IP:

cat /var/lib/misc/dnsmasq.leases
Run Code Online (Sandbox Code Playgroud)

输出如下:

1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69
Run Code Online (Sandbox Code Playgroud)

10.42.0.160 是IP,然后像往常一样:

ssh pi@10.42.0.160
Run Code Online (Sandbox Code Playgroud)

我也有以下内容.bashrc:

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

从Pi内部,注意它可以通过主机的其他接口正常访问互联网:

ping google.com
Run Code Online (Sandbox Code Playgroud)

例如,在我的笔记本电脑上,Pi占用以太网,但主机也通过WiFi连接到互联网.

是交叉线并非如果主机网卡需要支持自动MDI-X .这是最新硬件的情况,包括我测试的2012年联想T430,它具有 "英特尔®82579LM千兆网络连接",其中记录了对Auto MDI-X的支持.

现在您还可以:

UART串行USB转换器

如果您只想在Pi上获取shell,这是SSH的替代方法:https://en.wikipedia.org/wiki/Serial_port

这不是使用SSH或网络本身,而是使用更旧,更简单,更直接,更可靠,带宽更低,距离更短的串行接口.Pi将无法使用此方法访问Internet.

台式电脑仍然有一个串口,你可以直接连接到线与线,但这些隐藏在大多数笔记本电脑中,所以我们需要买一个便宜的USB适配器.我在这里使用过:https://www.amazon.co.uk/gp/product/B072K3Z3TL参见:https://unix.stackexchange.com/questions/307390/what-is-the-difference-between-/ttyS0来-ttyusb0-和ttyama0,在Linux的367882#367882

首先在主机上插入SD卡,然后编辑config.txt第一个分区中的文件以添加:

enable_uart=1
Run Code Online (Sandbox Code Playgroud)

如下所述:https://www.raspberrypi.org/forums/viewtopic.php?f = 28&t = 141195

第一个分区包含引导加载程序,其配置文件和(Linux /您的)内核,config.txt它们就是其中之一.第二个分区包含实际的Linux根文件系统.

现在将您的计算机连接到Pi:

在此输入图像描述

您只需要连接3根电缆:

  • 接地
  • 在USB到串行端口上的Pi到Rx上的Tx
  • Rx on Pi to Tx on tye USB to serial port

这也记录在:https://www.raspberrypi.org/documentation/usage/gpio/README.md

注意不要将地线连接到5V,我已经烧掉了2个UART到USB芯片!

您根本不需要将5V连接到5V.我认为你可以像这样为你的Pi供电,但我已经读到这是一个坏主意,只需使用通常的USB电源.

最后,将连接器的USB端插入主机,并获得一个shell:

sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200
Run Code Online (Sandbox Code Playgroud)

退出Ctrl-A \.

以下是Adafruit的视频展示:https://www.youtube.com/watch?v = zUBPeoLW16Q


小智 8

我刚刚成功实施并测试了这个.与我的项目相同的情况,想要连接到没有路由器或wifi的Raspberry Pi.只需一根简单的以太网线.

使用ssh putty程序将地址设为

raspberrypi.local

登录并进入,您可以访问终端.

或者,如果设置了VNC服务器,请使用VNC服务器并放置

raspberrypi.local:1

在服务器地址中.输入您的VNC服务器密码,您现在可以通过GUI访问来执行您想要的操作.

在可能的情况下,它是在远程位置运行脚本.在海报情况下,安全关闭Pi.简单的粉刺.


Don*_*Don 7

为您的笔记本电脑和覆盆子pi配置静态IP.在rapberryPI上配置如下.

pi@rpi>sudo nano /etc/network/interfaces
Run Code Online (Sandbox Code Playgroud)

然后根据需要配置以下连接到您的笔记本电脑.

iface eth0 inet static

address 192.168.1.81

netmask 255.255.255.0

broadcast 192.168.1.255
Run Code Online (Sandbox Code Playgroud)


MrD*_*rDB 2

您可以使用交叉以太网电缆 - http://en.wikipedia.org/wiki/Ethernet_crossover_cable

假设您的 RPi 是 DCHP 客户端,那么最好在笔记本电脑上运行简单的 DHCP 服务器来为 RPi 分配 IP 地址。

  • 您不需要交叉电缆,因为 RPi 具有可与普通以太网电缆配合使用的软件。 (3认同)