Подключение к PiZeroW с Raspbian Stretch Lite, без дополнительных переходников и монитора

в 11:52, , рубрики: Raspberry Pi, Разработка на Raspberry Pi

В общем на днях попал мне в руки Raspberry Pi Zero W. Но сложность заключалась в том, что он имеет только микро порты для подключения, а переходников для них у меня не было.
image
И это затрудняло его настройку в отличии от того же Raspbery Pi 3+

Если не прибегать к паяльнику, и платам расширения, то на борту у малины имеется два microUSB и один microHDMI. При наличии двух переходников (microHDMI(M)-HDMI(F) и microUSB(M)-USB(F)) можно было бы подключить его к монитору и клавиатуре, ну а дальше в консольном режиме все настроить. Но как уже я сказал, таких переходников у меня не было, ближайший магазин с такими находился довольно далеко, а ждать доставки просто не было терпения.

Конечно же некоторые адаптеры нам все таки понадобятся, но их просто достать. В частности microUSB шнур можно взять от телефона a SD адаптер на microSD карты от фотоаппарата.

Для того чтоб подключиться я нашел два способа. Первый это по WiFi. Все что нужно это настроить на нем WiFi и SSH. Но сделать это нужно только с помощью SD карты. И так как из компьютеров у меня был только MacBook, доступа к linux разделу у меня не было (вариант с установкой ext4fuse я не рассматривал). Оставался только раздел /boot который был в FAT32 и чудесно работал с MacOS. Поэтому все что мы будем делать будет происходить в этом разделе.

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

touch /Volumes/boot/ssh

Во вторых нам нужно как-то настроить WiFi подключение при запуске
Для этого нужно вначале получить хеш пароля для WiFi. И тут я столкнулся с новой проблемой, как это сделать в MacOS. Так как до этого приходилось настраивать подключение за наличием какой-то Linux машины. Там это делается так

wpa_passphrase ИМЯ_ТОЧКИ_ДОСТУПА ПАРОЛЬ

Результат команды, выглядел так

network={
    ssid="ИМЯ_ТОЧКИ_ДОСТУПА"
    psk=656c4700f528aced39b853b3c51b3fdcfc55409faa83a6402e936842237ac6f3
}

Ну а для MacOs сгенерировать psk я не нашел как. Поэтому пришлось временно указать пароль в открытом виде. Либо настроить WiFi позже(об этом в конце статьи)

network={
    ssid="ИМЯ_ТОЧКИ_ДОСТУПА"
    psk="ПАРОЛЬ"
}

Таким образом мы настраиваем все WiFi сети и результат сохраняем в файл wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=UK
## Первые три строчки необходимы для версий Raspbian >= Stretch
network={
    ssid="ИМЯ_ТОЧКИ_ДОСТУПА"
    psk=656c4700f528aced39b853b3c51b3fdcfc55409faa83a6402e936842237ac6f3
}
network={
    ssid="ИМЯ_ТОЧКИ_ДОСТУПА2"
    psk="ПАРОЛЬ"
}

Ну вот собственно и все. Осталось вставить карточку в RaspberryPi, подключить питание и подождать в среднем ~90 секунд пока он загрузится и поднимет WiFi соединение.

Чтоб найти IP малинки в локальной сети, можно воспользоваться командой

arp -na | grep -i b8:27:eb

либо посмотреть подключенных клиентов у WiFi роутера.
Дальше остается только подключиться через SSH к найденному IP. (По умолчанию если кто вдруг не знал то для raspbian логин и пароль pi:raspberry)

Но существует еще один способ подключиться к Raspberry. Как многие заметили на плате есть еще один USB разъем помимо питания, вот он нам и понадобится. Единственное на что обращу внимание так это то что USB кабель должен быть полностью распаян (а не как у меня было, только крайние два контакта с питанием, почему я вначале и прибегнул к WiFi подключению).
Суть второго способа заключается в том чтоб подключить USB кабель к другому разъему (на плате они подписаны USB и PWR_IN), кстати в таком случае плата будет запитана от него.

Но прежде нужно дописать несколько параметров в два файла в том же /boot разделе
Первый это в cmdline.txtдобавить после rootwait подключение Ethernet модулей

modules-load=dwc2,g_ether

А второй в config.txt добавить в конец файла

dtoverlay=dwc2

Все. Вставляем карточку, дожидаемся загрузки и подключаемся по SSH к малинке по адресу raspberrypi.local

После получения доступа через SSH настроить WiFi через wpa_supplicant.conf можно уже через саму малинку воспользовавшись wpa_passphrase, только учтите что файл из /boot раздела копируется в /etc

Автор: Ромчик

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js