Добавляем WiFi к Raspberry Pi всего за $2

в 18:32, , рубрики: diy или сделай сам, Raspberry Pi, беспроводная связь, Железо, малинка, Электроника для начинающих

Добавляем WiFi к Raspberry Pi всего за $2 - 1

Разного рода хаков для мини-ПК Raspberry Pi Zero, вышедшего в тираж пару недель назад довольно много. Правда, пока что большая часть — простенькие приемы, типа впайки WiFi модуля, что и хаком особо назвать нельзя. Сейчас начинают появляться более интересные вещи, среди которых — использование SDIO для добавления WiFi модуля. Причем USB при этом не используется, порт остается функциональным.

Пользователь Hackaday.io с ником ajlitt некоторое время задумался о возможности добавления WiFi модуля к таким платам, как Raspberry Pi A+ и Raspberry Pi Zero. Дело в том, что у Raspberry Pi B+, например, несколько USB портов, и один из них можно без проблем занять соотвествующим WiFi модулем. Но у Zero и A+ портов минимум, и подключать к ним WiFi модуль не всегда представляется возможным. Решение умельца оказалось довольно оригинальным. Дело в том, что у Raspberry Pi есть специальный GPIO-разъем с пинами, и к этому разъему можно подключать различные устройства, в том числе, и SDIO-девайсы. Эту особенность «малинки» и было решено использовать.

SDIO — это специальное расширение SPI-подобного протокола, который используется для работы с SD картами памяти. Идея SDIO — подключение совместимого устройства к разъему, для получения дополнительной функциональности гаджета. Этот способ активно использовался, например, в наладонниках (КПК). К такому разъему можно было подключить GPS-модуль, или что-то другое, получив новую функцию в своем устройстве.

Добавляем WiFi к Raspberry Pi всего за $2 - 2
Пример подключения GPS-модуля к КПК

Ajlitt попробовал найти драйвер для чипа ESP8089, и нашел спецификации самого чипа, где говорилось о том, что шину ESP8266 SPI можно освободить, убрав чип флеш-памяти. Оставалось только подключить SPI-контакты ESP8266 к SDIO Raspberry Pi, и остальную работу по подключению уже доделывал драйвер.

Для того, чтобы WiFi заработал, необходимо в самом начале отпаять SPI-память от модуля ESP-03.

Распиновка следующая:

Добавляем WiFi к Raspberry Pi всего за $2 - 3

Далее соединяем 3.3V и GND. Подключаем CH_PD (CH_EN на ESP8266 чипе) к любому свободному GPIO. Можно использовать, к примеру GPIO4. Это позволит подключить питание к модулю, а драйвер правильно активирует чип. Другие GPIO после подключения уже не стоит использовать. В противном случае ESP8266 захочет загрузиться из флеш-памяти, которая уже удалена, и ничего не получится.

После этого качаем 4.2 kernel из Raspberry Pi Github. Лучше всего https://github.com/raspberrypi/linux.git, ветка rpi-4.2.y.

После создаем esp8089 модуль:
git clone github.com/al177/esp8089.git
cd esp8089
make

И загружаем модуль:
modprobe mac80211
insmod esp8089.ko

Результат — WiFi модуль без использования USB. Вся работа довольно простая, нужны минимальные навыки пайки. При этом стоимость модификации составляет всего $2. А вот такие способы уже не нужны. Канал в случае работы со SDIO не такой быстрый, как в случае использования выделенного модуля, но вполне приемлемо.

Добавляем WiFi к Raspberry Pi всего за $2 - 4

Добавляем WiFi к Raspberry Pi всего за $2 - 5

Страничка проекта с техническими подробностями.

Автор: marks

Источник

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


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