В общем на днях попал мне в руки 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

Комментарии (6)


  1. Maxlinus
    12.08.2018 20:23

    про USB не понял, куда и как мы подключаем его и как потом попасть на raspberry?


    1. POS_troi
      12.08.2018 20:37
      +1

      В этом случае малинка на компе определится как USB сетевоя карта.
      Можете почитать подробнее wiki.virt2real.ru/w/USB_gadget


    1. Ninazu Автор
      12.08.2018 21:56

      Cюда подключаемся)
      image
      А попасть на raspberry можно через

      ssh pi@raspberrypi.local


  1. geisha
    13.08.2018 00:36

    Более полная информация на эту тему находится гуглением «raspberry pi setup headless». Там и про serial console есть и ещё.


    1. Ninazu Автор
      13.08.2018 09:19

      Про Serial console не рассказывал ибо там еще нужно распаять ноги, которые мало того что нужно отдельно купить, так еще и чтоб руки не дрожали с бодуна. И это помимо USB шнурка который цепляется на GPIO


  1. Maxlinus
    13.08.2018 03:51

    спасибо!