Подтвердить что ты не робот

Подключите Raspberry Pi через Ethernet к ноутбуку без роутера?

Я работаю над проектом воздушного шара с Raspberry Pi. Когда мы потенциально вернем Raspberry Pi, он, скорее всего, будет в сельской местности, и я хотел бы безопасно отключить Pi в этом месте.

Без роутера или сети поблизости мне было интересно, есть ли способ подключить Raspberry Pi с помощью кабеля Ethernet непосредственно к ноутбуку?

4b9b3361

Ответ 1

Это решение для Ubuntu (идея также работает для Windows или Mac). Я просто пробовал сегодня и работает как шарм.

Материал

  • перекрестный Ethernet-кабель (это название, но это обычный кабель Ethernet).
  • ноутбук (ubuntu)
  • Малина Pi (у меня есть Pi2)

Предпосылки на вашем ubuntu

  1. Установить сетевой менеджер

    $sudo apt-get install network-manager

  2. Установите nmap

    $sudo apt-get install nmap

Изменить проводное подключение на вашем ноутбуке (Ubuntu)

  1. Измените настройки IpV4 на "Поделиться на других компьютерах"
  2. Сохранить настройку
  3. Перезагрузите ноутбук.

Поделиться подключением WiFi вашего ноутбука через кроссовер Ethernet

  1. Подключите свой RPi к ноутбуку с помощью кабеля Ethernet

  2. Найдите широковещательный адрес Ethernet-соединения (ноутбук),

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

  • Используйте этот адрес, чтобы узнать IP-адрес вашего RPi, это 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-переадресацией)

    $ssh -Y [email protected]

  2. Вот и вот! Теперь ваш RPi подключен к вашему ноутбуку, а RPi может совместно использовать Wi-Fi-соединение.

    [email protected] ~ $

Поделиться дисплеем и клавиатурой вашего ноутбука с помощью RPi

  1. Установите vncserver на малину Pi

    $ sudo apt-get update

    $ sudo apt-get install tightvncserver

  2. Установите vncviewer на свой ноутбук, загрузив RealVNC (он поддерживает несколько платформ) http://www.realvnc.com/download/vnc/

  3. Чтобы иметь возможность копировать и вставлять файлы из VNC-сервера ↔ VNC, вам необходимо установить autocutsel на ваш 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. Запустите vncserver на своем RPi (вы должны перезапустить vncserver после установки autocutsel, вы можете выпустить $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 и введите IP-адрес вашего RPi (предоставленный вашим ноутбуком), а затем порт 1, который является вашим VNC-сервером. например: 10.42.0.96:1 в моем случае.

  3. Подключите его к vncserver, размещенному на вашем RPi, введя пароль (самостоятельно настройте пароль)

    12. Теперь вы можете увидеть рабочий стол RPi на своем ноутбуке, и я открыл свой браузер, чтобы показать, что общее WiFi-соединение также работает.

Посмотрите рабочий стол Raspberry Pi на своем ubuntu

Ответ 2

Вам не нужен перекрестный кабель. Вы можете использовать обычный сетевой кабель, поскольку микросхема Raspberry Pi LAN достаточно умна, чтобы перенастраиваться для прямых сетевых подключений. Приветствия

Ответ 3

Нет маршрутизатора + нет экрана + обычный кабель Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

Сначала мы должны включить SSH-сервер на Pi, который по умолчанию отключен для безопасности.

Если у вас уже есть оболочка для Pi через не-SSH метод, такой как screen + клавиатура или UART (см. Ниже), просто запустите:

sudo systemctl enable ssh
sudo service sshd start

как объяснено по адресу: https://raspberrypi.stackexchange.com/questions/58478/ssh-not-working-with-fresh-install Это сохраняется при загрузке.

В противном случае, вставьте SD-карту на свой хост и создайте волшебный пустой файл с именем ssh file в разделе 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

Если вы не включите демон SSHD на Pi, то соединение SSH не будет выполнено с:

ssh: connect to host 10.42.0.160 port 22: Connection refused

когда мы попробуем это позже.

После включения сервера SSH

Затем загрузите Pi и подключите кабель Ethernet от вашего ноутбука напрямую к Pi:

enter image description here

В Ubuntu 17.04, чтобы обойти эту ошибку, как указано в этом ответе, вам сначала нужно:

sudo apt-get install dnsmasq-base

На хосте откройте диспетчер сети:

nm-connection-editor

И идти:

  1. + подписать (добавить новое соединение)
  2. Ethernet
  3. Создайте
  4. Настройки IPv4
  5. Метод: Общий для других компьютеров
  6. Установите хорошее имя для этого
  7. Сохранить

enter image description here

Найти 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 [email protected]

У меня также есть следующее в моем .bashrc:

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

Обратите внимание, что внутри Pi он может нормально выходить в Интернет через другие интерфейсы вашего хоста:

ping google.com

Например, на моем ноутбуке Pi использует Ethernet, но хост также подключен к Интернету через WiFi.

Пересекающийся кабель не требуется, если сетевая карта хоста поддерживает Auto MDI-X. Это относится к самому последнему аппаратному обеспечению, включая, например, Lenovo T430 2012 года, на котором я тестировал, который имеет "Intel® 82579LM Gigabit Network Connection", который документирует поддержку Auto MDI-X.

Теперь вы также можете:

UART последовательный USB-конвертер

Это альтернатива SSH, если вы просто хотите получить оболочку для Pi: https://en.wikipedia.org/wiki/Serial_port

При этом используется не SSH или сама сеть, а более старый, более простой, более прямой, более надежный, с более низкой пропускной способностью и с меньшим расстоянием последовательного интерфейса. Пи не будет иметь доступа к Интернету с этим методом.

Настольные компьютеры по-прежнему имеют последовательный порт, который можно подключать напрямую к сети с Pi, но они скрыты в большинстве ноутбуков, поэтому нам нужно купить дешевый 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

как объяснено по адресу: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

Этот первый раздел содержит загрузчик, его файлы конфигурации и (Linux/your) ядро, config.txt является одним из них. Второй раздел содержит актуальную корневую файловую систему Linux.

Теперь подключите ваш компьютер к Pi как:

enter image description here

Вам нужно только подключить 3 кабеля:

  • Земля на землю
  • Tx от Pi до Rx от USB до последовательного порта
  • Rx на Pi на Tx на USB к последовательному порту

Это также задокументировано по адресу: https://www.raspberrypi.org/documentation/usage/gpio/README.md.

Будьте осторожны, чтобы не связать Землю с 5 В, я уже записал 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

Ответ 4

Я только что реализовал и проверил это успешно. В той же ситуации с моим проектом, вы хотите подключиться к малине Pi без маршрутизатора или Wi-Fi. Просто простой Ethernet-кабель.

Используя программу ssh putty, поместите адрес как

raspberrypi.local

Войдите в систему, и вы можете получить доступ к терминалу.

В качестве альтернативы, если сервер VNC настроен, используйте сервер VNC и поместите

raspberrypi.local: 1

В адресе сервера. введите пароль своего сервера VNC, и теперь у вас есть доступ к GUI, чтобы делать то, что вы хотите.

В этом случае скрипты запускались в удаленном месте. В плакатной ситуации безопасно выключите Pi. Симптом Прыщи.

Ответ 5

Настройте статический ip для вашего ноутбука и малины pi. На rapberryPI настройте его следующим образом.

[email protected]>sudo nano /etc/network/interfaces

Затем выполните следующие настройки для подключения к ноутбуку.

iface eth0 inet static

address 192.168.1.81

netmask 255.255.255.0

broadcast 192.168.1.255

Ответ 6

настроить статический ip на малине pi:

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 [email protected]

Ответ 7

Ниже приведены инструкции для пользователей Windows при подключении к RPi с использованием только кабеля Ethernet и DHCP-сервера. Нет необходимости в перекрестном кабеле, так как RPi может справиться с этим. У меня есть сообщение в блоге, которое документирует это с фотографиями здесь, что может быть проще выполнить.

Загрузки

Загрузите DHCP-сервер для Windows (ссылка для скачивания здесь). Разархивируйте zip файл и откройте приложение dhcpwiz, которое настроит DHCP-сервер.

Конфигурация DHCP-сервера

Нажмите далее на первом экране.

На втором экране найдите строку "Подключение по локальной сети" и убедитесь, что ее IP-адрес равен 0.0.0.0, а его статус enabled. Подключите кабель Ethernet от RPi к ноутбуку и включите Pi. Нажмите Обновить на этом экране, пока IP-адрес не изменится на 169.254.*.*. Если это что-то еще, вы должны изменить свои сетевые настройки для подключения по локальной сети (убедитесь, что это не статический IP/DNS). Нажмите на эту строку подключения к локальной сети и нажмите далее.

Проверьте HTTP (Web Server). Это значительно упрощает поиск IP-адреса RPi. Нажмите Далее.

Возьмите значения по умолчанию и нажмите "Далее", пока не дойдете до экрана Writing the INI file. Проверьте Overwrite existing file и нажмите кнопку Write INI file. Затем нажмите Далее.

На последнем экране отметьте Run DHCP server immediately и нажмите "Готово".

Сервер DHCP и получение IP-адреса вашего малинового PI

Это запускает фактический DHCP-сервер, используя конфигурацию, только что созданную в предыдущем мастере. Нажмите кнопку Continue as tray app, и DHCP-сервер будет сведен к минимуму на панели задач.

В любом месте от 1 секунды до 5 минут вы увидите предупреждение на панели задач с ноутбуком и новым IP-адресом RPi. Это предупреждение очень быстро, и вы, вероятно, пропустите его. Обычно ваш IP-адрес RPi 169.254.0.2, но может быть *.01 или даже что-то еще. Легче получить доступ к веб-интерфейсу веб-сервера DHCP по адресу http://localhost/dhcpstatus.xml. Это будет указывать имя хоста как "raspberrypi" с его IP-адресом.

Теперь вы можете замаскировать или удаленный рабочий стол в свой RPi, а также настроить его настройки беспроводной сети или все, что вы хотите сделать.

Устранение неисправностей

Это может быть несколько утомительно. Я обнаружил, что мое соединение упало и не удалось восстановить SSH с использованием IP-адреса. Обычно я могу перезапустить Pi и снова получить IP-адрес. Иногда мне приходится перезапускать RPI и DHCP-сервер. Иногда мне приходится делать это несколько раз. В какой-то момент, когда я не получал соединение в течение 15 минут, я скопировал все файлы в папке dhcpsrv2.5.1 в новую папку и снова попытался; он сразу же работал.

Ответ 8

Вы можете использовать кросс-кабель ethernet - http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Предполагая, что ваш RPi является клиентом DCHP, лучше всего запустить простой DHCP-сервер на вашем ноутбуке, чтобы назначить RPi IP-адрес.

Ответ 9

Да, вы можете подключить малину прямо к компьютеру без маршрутизатора. Для этого необходимо, чтобы малина и ваш компьютер находились в одной подсети, и оба они имеют статический ip-настроенный (и Ethernet-кабель, подключенный между двумя устройствами).

Идеальная конфигурация будет следующей:

Малина на eth0: IP: 192.168.1.10 SubNet: 255.255.255.0

Ваш ПК: IP: 192.168.1.11 SubNet 255.255.255.0

Чтобы установить ручной IP-адрес на малине, вы можете следовать это руководство

На вашем ПК вы можете установить ручной IP-адрес в настройках сетевого адаптера, и процедура зависит от вашей операционной системы.

Когда вы настроили два статических IP-адреса, вы можете подключиться к малине через SSH, используя набор IP (192.168.1.10).

Еще один простой способ - подключить на GPIO кнопку, чтобы выключить малину! Посмотрите здесь!

Ответ 10

Для меня сработало сочетание ответов Николь Финни и Сиро Сантилли, а также ответов из других источников.

Настройка пи

Нам нужно будет сделать две вещи: активировать ssh на пи и настроить пи на использование статического ip.

Активация SSH

Добавьте файл с именем ssh в загрузочный раздел карты sd (не в папку /boot в корневом разделе). Это хорошо задокументировано в других местах.

Статический IP

Откройте /etc/dhcpcd.conf на пи SD-карте и раскомментируйте пример для статического 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 (с графическим интерфейсом). Затем убедитесь, что dnsmasq не работает как служба:
systemctl status dnsmasq
Если эта команда выводит, что служба остановлена, значит, все в порядке.

Далее мы должны networkmanager. Откройте /etc/NetworkManager/NetworkManager.conf и добавьте следующие две строки вверху:

[main]
DNS=dnsmasq

Затем перезагрузите компьютер. Этот шаг не может быть необходимым. Возможно, будет достаточно перезапустить службу NetworkManager. Теперь перейдите к графическому интерфейсу NetworkManager (доступ к которому обычно осуществляется по значку в углу экрана) и выберите " Edit Connections... В появившемся окне нажмите значок + чтобы создать новое соединение. Выберите Ethernet в качестве типа и нажмите Create... Перейдите на вкладку " IPv4 Settings " и выберите метод " Shared to other computers. Дайте соединению хорошее имя и сохраните.

Подключите Raspberry Pi и убедитесь, что ваш ноутбук использует новое подключение в качестве подключения к Ethernet. Если это так, у вашего пи теперь должен быть IP, данный ему вашим компьютером. Вы можете найти это, сначала запустив ifconfig. Это должно дать вам несколько блоков текста, по одному для каждого сетевого интерфейса. Вы заинтересованы в том, что-то вроде enp0s25 или eth0. Он должен иметь строку, которая читает что-то похожее на
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
посмотрите на широковещательный адрес (в данном случае 10.42.0.255). Если он отличается от моего, выключите пи и вставьте SD-карту в ноутбук, чтобы изменить static ip_address адрес static ip_address на то, что первые три числа совпадают с адресом широковещания. Также замените static routers и первый из domain_name_servers на адрес inet вашего ноутбука. Снова включите пи и подключите его. Запустите ifconfig раз, чтобы увидеть, что адреса не изменились.

Ssh в пи

ssh [email protected]
Если вы получили connection refused, пи не работает ssh сервер. Если вы получаете host unreachable, извините.

Надеюсь, это поможет кому-то!