104

我正在使用 Raspberry Pi 进行气球项目。当我们有可能恢复 Raspberry Pi 时,它很可能会在农村地区,我想在那时安全地关闭 Pi。

如果附近没有路由器或网络,我想知道是否有办法将带有以太网电缆的 Raspberry Pi 直接连接到笔记本电脑?

4

10 回答 10

81

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

材料

  1. 交叉以太网电缆(名称很花哨,但它只是普通的以太网电缆)
  2. 笔记本电脑(ubuntu)
  3. 一个树莓派(我有 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
  1. 从您的笔记本电脑登录到您的 RPi(-Y 与 X-forwarding)

    $ssh -Y pi@10.42.0.96

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

    pi@raspberrypi ~ $

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

  1. 在树莓派上安装vncserver

    $ sudo apt-get update

    $ sudo apt-get install tightvncserver

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

  3. 为了能够从 VNC 服务器 <--> VNC 查看器复制和粘贴,您需要在 RPi 上安装 autocutsel。

$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
  1. 在笔记本电脑上启动 vncviewer

    $vncviewer

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

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

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

在 ubuntu 上查看 Raspberry Pi 桌面

于 2016-02-20T22:39:48.643 回答
23

无路由器 + 无屏幕 + 普通以太网线 + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

首先,我们必须在 Pi 上启用 SSH 服务器,为了安全起见,默认情况下它是禁用的。

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

sudo systemctl enable ssh
sudo service sshd start

正如在:https ://raspberrypi.stackexchange.com/questions/58478/ssh-not-working-with-fresh-install 中解释的那样,这在引导过程中仍然存在。

否则,在您的主机上插入 SD 卡,并在分区中创建一个名为sshfile的神奇空文件。boot/

在 Ubuntu 主机上,它会自动挂载,您可以执行以下操作:

sudo touch /media/$USER/boot/ssh

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

lsblk

其中包含:

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

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

ssh: connect to host 10.42.0.160 port 22: Connection refused

当我们稍后尝试时。

启用 SSH 服务器后

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

在此处输入图像描述

在 Ubuntu 17.04 上,要解决此答案中提到的此错误,您首先需要:

sudo apt-get install dnsmasq-base

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

nm-connection-editor

去:

  1. +签名(添加新连接)
  2. 以太网
  3. 创造
  4. IPv4 设置
  5. 方法:共享到其他电脑
  6. 给它起个好名字
  7. 节省

在此处输入图像描述

在主机上查找 Pi 的 IP:

cat /var/lib/misc/dnsmasq.leases

输出类似:

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

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

ssh pi@10.42.0.160

我的还有以下内容.bashrc

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

在 Pi 内部,请注意它可以通过主机的其他接口正常访问 Internet:

ping google.com

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

如果主机网卡支持Auto MDI-X ,则不需要交叉线。最近的硬件就是这种情况,例如我测试过的 2012 Lenovo T430,它有一个“Intel® 82579LM Gigabit Network Connection”,它记录了对 Auto MDI-X 的支持

现在您还可以:

UART串口USB转换器

如果您只想在 Pi 上获得外壳,这是 SSH 的替代方案:https ://en.wikipedia.org/wiki/Serial_port

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

台式电脑仍然有一个串行端口,您可以直接将其与 Pi 线对线连接,但是这些端口隐藏在大多数笔记本电脑中,因此我们需要购买便宜的 USB 适配器。我在这里使用过:https ://www.amazon.co.uk/gp/product/B072K3Z3TL另见:https ://unix.stackexchange.com/questions/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux/367882#367882

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

enable_uart=1

如解释:https ://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

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

现在将您的计算机连接到 Pi,如下所示:

在此处输入图像描述

您只需要连接 3 根电缆:

  • 地对地
  • Pi 上的 Tx 到 USB 上的 Rx 到串行端口
  • Rx on Pi 到 Tx on tye USB 到串口

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

小心不要将接地连接到 5V,我已经通过这样做烧掉了 2 个 UART 到 USB 芯片和一个 RPI UART!

您根本不需要将 5V 连接到 5V。我认为你可以像那样为你的 Pi 供电,但我听说这是个坏主意,只需使用通常的 USB 电源即可。

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

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

退出Ctrl-A \

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

也可以看看

RPI SE 上的类似问题:https ://raspberrypi.stackexchange.com/questions/3867/ssh-to-rpi-without-a-network-connection

于 2016-08-22T18:39:04.160 回答
22

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

于 2014-01-19T07:26:42.447 回答
8

我刚刚成功实施并测试了它。我的项目也有同样的情况,想连接到没有路由器或 wifi 的 Raspberry Pi。只是一根简单的以太网电缆。

使用 ssh putty 程序将地址设置为

树莓派.local

登录并登录,您可以访问终端。

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

树莓派.local:1

在服务器地址中。输入您的 VNC 服务器密码,您现在可以访问 GUI 来做您想做的事。

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

于 2016-11-15T19:43:42.940 回答
7

为您的笔记本电脑和树莓派配置静态 IP。在 rapberryPI 上进行如下配置。

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

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

iface eth0 inet static

address 192.168.1.81

netmask 255.255.255.0

broadcast 192.168.1.255
于 2015-04-19T01:02:36.063 回答
4

在树莓派上配置静态 IP:

sudo nano /etc/network/interfaces

然后添加:

iface eth0 inet static
     address 169.254.0.2
     netmask 255.255.255.0
     broadcast 169.254.0.255

然后你可以通过 ssh 访问你的树莓派

ssh pi@169.254.0.2
于 2015-11-01T18:16:53.860 回答
3

以下是 Windows 用户仅使用以太网电缆和 DHCP 服务器连接到 RPi 的说明。不需要交叉电缆,因为 RPi 可以处理它。我有一篇博客文章,用图片在这里记录了这一点,这可能更容易理解。

下载

下载适用于 Windows 的 DHCP 服务器(下载链接在此处)。解压缩 zip 文件并打开 dhcpwiz 应用程序,该应用程序将配置 DHCP 服务器。

DHCP 服务器配置

在第一个屏幕上点击下一步。

在第二个屏幕上,查找“本地连接”行并确认其 IP 地址为0.0.0.0且其状态为enabled。将以太网电缆从 RPi 连接到您的笔记本电脑,然后打开 Pi。在此屏幕上点击刷新,直到 IP 地址变为169.254.*.*。如果是其他任何东西,那么您应该更改本地连接的网络设置(确保它不是静态 IP/DNS)。单击此本地连接行,然后单击下一步。

检查HTTP (Web Server)。这使得定位 RPi 的 IP 地址变得更加容易。点击下一步。

采用默认设置并点击下一步,直到您进入Writing the INI file屏幕。检查Overwrite existing file并按下Write INI file按钮。然后点击下一步。

在最后一个屏幕上,检查Run DHCP server immediately并点击“完成”。

DHCP 服务器和获取树莓派的 IP 地址

这将使用您刚刚在上一个向导中创建的配置启动实际的 DHCP 服务器。单击该Continue as tray app按钮,DHCP 服务器将最小化到您的系统托盘。

从现在起 1 秒到 5 分钟的任何时间,您都会在系统托盘上看到一条警报,其中包含您的笔记本电脑和您的 RPi 的新 IP 地址。此警报非常快,您可能会错过它。通常您的 RPi 的 IP 是169.254.0.2,但也可能是*.01,甚至是其他的。在http://localhost/dhcpstatus.xml访问 DHCP 服务器的 Web UI 更容易。这会将主机名列为“raspberrypi”及其 IP 地址。

现在您可以将腻子或远程桌面放入您的 RPi,并配置其无线设置或任何您想做的事情。

故障排除

这可能有点挑剔。我的连接似乎断开了,并且无法使用该 IP 地址通过 SSH 重新连接。通常,我可以重新启动 Pi 并再次获取 IP 地址。有时我必须重新启动 RPi 和 DHCP 服务器。有时我必须多次这样做。有一次,当我 15 分钟没有连接时,我将 dhcpsrv2.5.1 文件夹中的所有文件复制到一个新文件夹并再次尝试;它立即起作用了。

于 2016-04-16T21:10:40.057 回答
2

You could use a cross-over ethernet cable - http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Assuming your RPi is a DCHP Client, then best to run a simple DHCP server on your notebook to assign the RPi an IP address.

于 2013-04-17T06:46:14.110 回答
2

对我有用的是 Nicole Finnie 和 Ciro Santilli 的答案以及其他地方的一些答案的组合。

设置 pi

我们需要做两件事:在 pi 上激活 ssh,并将 pi 配置为使用静态 ip。

激活 ssh

ssh在 sd 卡的引导分区(不是/boot根分区中的文件夹)中添加一个名为的文件。这是有据可查的其他地方。

静态IP

在 pi 的 SD 卡上打开/etc/dhcpcd.conf,取消对静态 ip 示例的注释(从第 40 行开始)。将地址设置为

# 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

设置您的笔记本电脑

首先,确保您networkmanager的笔记本电脑上安装了(带有 GUI)。然后,确保dnsmasq没有作为服务运行:如果
systemctl status dnsmasq
此命令显示服务已停止,那么你很好。

接下来我们要配置networkmanager。打开/etc/NetworkManager/NetworkManager.conf并在顶部添加以下两行:

[main]
DNS=dnsmasq

然后重新启动。此步骤可能不是必需的。重新启动服务可能就足够了NetworkManager。现在转到NetworkManagerGUI(通常通过屏幕角落的图标访问)并选择Edit Connections...在弹出的窗口中,单击+图标以创建新连接。选择Ethernet类型并按Create...。转到IPv4 Settings选项卡并选择方法Shared to other computers。给连接起一个好名字并保存。

连接 Raspberry Pi 并确保您的笔记本电脑使用新连接作为其以太网连接。如果是的话,你的 pi 现在应该有你的电脑给它的 ip。你可以通过第一次运行找到它ifconfig。这应该给你几个文本块,一个用于每个网络接口。您对类似enp0s25or的内容感兴趣eth0。它应该有一行读取类似于
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
查看广播地址的内容(在本例中10.42.0.255)。如果它与我的不同,请关闭 pi 并将 SD 卡放回笔记本电脑,以static ip_address将前三个数字与广播地址中的相同。static routers还将 the和 first更改domain_name_servers为您的笔记本电脑的inet地址。重新打开 pi 并连接它。再次运行ifconfig以查看地址没有更改。

ssh 进入 pi

ssh pi@10.42.0.182
如果得到connection refused,则 pi 没有运行ssh服务器。如果你得到了host unreachable,我很抱歉。

希望这对某人有帮助!

于 2019-01-26T01:21:42.230 回答
1

是的,您可以将覆盆子直接连接到您的 PC,而无需路由器。为此,覆盆子和您的计算机必须位于同一子网中,并且它们都配置了静态 ip(以及两个设备之间连接的以太网电缆)。

理想的配置如下:

eth0 上的树莓派:IP:192.168.1.10 子网:255.255.255.0

您的 PC: IP:192.168.1.11 子网 255.255.255.0

要在覆盆子上设置手动 IP,您可以按照本指南进行操作

在您的 PC 中,您可以在网络适配器设置中手动设置 IP,具体步骤取决于您的操作系统。

当您配置了两个静态 IP 后,您可以使用 IP 集 (192.168.1.10) 通过 SSH 连接到树莓派。

另一种更简单的方法是在 GPIO 上附加一个按钮来关闭树莓派!看看这里!

于 2016-08-10T19:40:19.357 回答