Разного рода хаков для мини-ПК 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-модуль, или что-то другое, получив новую функцию в своем устройстве.


Пример подключения GPS-модуля к КПК

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

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

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



Далее соединяем 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 не такой быстрый, как в случае использования выделенного модуля, но вполне приемлемо.





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

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


  1. dkukushkin
    10.12.2015 22:13
    +1

    Где то уже можно купить Zero?


  1. Arceny
    11.12.2015 00:22
    +1

    Интересно, но почему-бы не использовать USB-хаб и всё?


    1. Ocelot
      11.12.2015 09:43
      +2

      Это будет уже не за два доллара.


      1. DarkByte
        11.12.2015 11:16

        USB хаб за $1 и bluetooth донгл за $1. Наверняка на ali можно купить ещё дешевле. Плюсом получаем дополнительные USB порты, пусть и не шибко быстрые, но для клавы\мышки хватит.


      1. DarkByte
        11.12.2015 11:22
        +1

        Не знаю, почему написал про блутуз, с wifi донглом за $2 действительно получается дороже. Правда вариант модуля esp8266, как в статье, стоит на том же ebay $3.30.


    1. kAIST
      11.12.2015 11:20

      Компактность. Сейчас жду когда можно наконец купить raspberry zero, не хочется чтоб хаб был больше чем весь девайс, который планирую собрать.


      1. nitro80
        14.12.2015 00:51

        Но ведь хабы тоже бывают маленькие, особенно если разъёмы выпаять и тот же wifi припаять к хабу.


  1. Bekannter
    11.12.2015 00:50

    «Raspberry Pi Zero, вышедшего в тираж пару недель назад»
    Любопытное использование выражения, имеющего несколько другой смысл.


    1. anticyclope
      11.12.2015 05:31
      +1

      Учитывая способ распространения первых экземпляров — прекрасная игра слов.


      1. ssneg
        15.12.2015 01:25

        Да просто банальная неграмотность самого популярного автора ресурса.


  1. dimonfofr
    11.12.2015 13:30

    Похоже что сейчас проходит конкурс на самое страшное припаивание чего-либо к Raspberry.
    Да и керамическая антенна, находясь над металлизированной платой, будет плохо работать.