Нет маршрутизатора + нет экрана + обычный кабель 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
как объяснено в: SSH не работает с новой установкой Это сохраняется при загрузке.
В противном случае, вставьте 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:
В Ubuntu 17.04, чтобы обойти эту ошибку, как указано в этом ответе, вам сначала нужно:
sudo apt-get install dnsmasq-base
На хосте откройте диспетчер сети:
nm-connection-editor
И иди:
+
подписать (добавить новое соединение)
- Ethernet
- Создайте
- Настройки IPv4
- Метод: Общий для других компьютеров
- Установите хорошее имя для этого
- Сохранить
Найти 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 он может нормально выходить в Интернет через другие интерфейсы вашего хоста:
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 как:
Вам нужно только подключить 3 кабеля:
- Земля на землю
- Tx от Pi до Rx от USB до последовательного порта
- Rx на Pi на Tx на USB к последовательному порту
Это также задокументировано по адресу: https://www.raspberrypi.org/documentation/usage/gpio/README.md.
Будьте осторожны, чтобы не связать землю с 5 В, я уже записал 2 UART на USB-чипы!
Вам не нужно подключать 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
Смотрите также
Аналогичный вопрос о переполнении стека: https://stackoverflow.com/questions/16040128/hook-up-raspberry-pi-via-ethernet-to-laptop-without-router