В общем на днях попал мне в руки Raspberry Pi Zero W. Но сложность заключалась в том, что он имеет только микро порты для подключения, а переходников для них у меня не было.
И это затрудняло его настройку в отличии от того же 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
Автор: Ромчик