Какой самый дешевый способ получить сетевое подключение к Pi Zero?

50

Поскольку Pi Zero не имеет порта Ethernet, мне интересно, какой самый дешевый способ получить достаточно быстрое сетевое подключение к устройству?

ОБНОВИТЬ

Под «сетевым подключением» я подразумеваю подключение к LAN / WLAN, чтобы устройства могли общаться друг с другом, общаться с другими устройствами и выходить в Интернет. Например, после установки я должен быть в состоянии wget stackexchange.com. На самом деле мне все равно, Wi-Fi или Ethernet, но я предполагаю, что Ethernet должен быть быстрее и надежнее (только предположение).

Кто-то только что спросил , можно ли это сделать с помощью HDMI , поэтому я знаю, что другие люди ищут решение той же (или похожей) проблемы.

Логическая ошибка
источник
К тому времени, когда вы добавили SD-карту и сетевой адаптер, вы не только почти утроили стоимость, но и, скорее всего, потеряли свой единственный USB-порт.
Крис Страттон
1
Какой смысл, @ChrisStratton? Вы должны добавить SD-карту к любому Пи. И могут быть случаи использования, которые не требуют дополнительного USB-порта. Но, во всяком случае, я думаю, что мы доживем до Пи с WiFi на борту ^^
Ганима

Ответы:

33

Два варианта:

а) Купить адаптер Micro USB RJ45 за 2,15 $

б) USB-адаптер RJ45 за 1,50 долл. и адаптер Micro USB OTG за 0,23 долл. (общая стоимость - 1,73 долл.)

Некоторые статьи могут быть дешевле, если вы покупаете их с помощью мобильного приложения.

Neuhaus
источник
1
Вариант (а) выглядит так, как будто он лучше всего соответствует моим потребностям, но я буду отслеживать этот вопрос для других идей. Я чувствую, что должна быть возможность интегрировать RJ45, микросхему контроллера Ethernet и микросхему USB таким же образом, как это делают большие пи. Вчера я пытался просмотреть схемы Pi 2 модели B, но без схемы Pi Zero я как-то застрял.
Логическая ошибка
5 долларов США за пи ноль и + - 2 доллара США за сеть. Полностью рабочая 1ГГц 512MB, супер маленький Linux-компьютер .. Я потерял дар речи ... Отличный ответ
Петр Кула
5
Пожалуйста, не покупайте адаптер b) (JP1082), он не будет работать с ядром без кэширования, и вам придется перекомпилировать ядро ​​после каждого обновления.
Гайдипайти
@neuhaus Если я куплю опцию а, могу ли я использовать ее и для питания компьютера?
Рикардо
RD-9700, похоже, не работает на Raspbian вообще. и хуже всего, видимо, его единственный USB 1.1
Петр Кула
24

Ethernet через SPI

Один из самых дешевых способов - подключить контроллер Ethernet по шине SPI. Таким контроллером может быть, например, ENC28J60, который часто используется для подключения Ethernet для Arduino. Последние версии Linux для Raspberry Pi имеют драйвер с наложением на дерево устройств. Смотрите, например, https://github.com/raspberrypi/linux/issues/795

Преимущество этого решения в том, что порт USB останется доступным. Недостатком является то, что микросхема (и скорость SPI) поддерживает только Ethernet 10BASE-T (10 Мбит / с).

Полные модули с самыми низкими ценами (несколько долларов США), вероятно, можно найти на AliExpress: http://www.aliexpress.com/wholesale?SearchText=ENC28J60

pabouk
источник
1
Это очень интересная альтернатива, где вы можете использовать GPIO для подключения Ethernet. Хорошо, это не очень хорошо для потоковой передачи мультимедиа HD ... но если все, что он делает, это метеостанция или маршрутизатор с ЧПУ ... отлично!
Петр Кула
где бы вы положили этот чип на ноль?
Патоши シ ト シ
1
@duckx: Вот пример подключения и использования наложения дерева устройств: gajdicookbook.wordpress.com/2015/02/25/… Вот несколько изображений с использованием той же проводки: elektroda.pl/rtvforum/topic2950919.html (используется контакты заголовка GPIO одинаковы от первой версии Raspberry Pi до Pi Zero).
Пабук
1
Обычно 300Kbyte / sec может быть достигнуто с помощью модуля ENC28J60. Я думаю, что лично это лучшее решение. (Я связал его с A +, который запускает munin-узел для датчиков DB18B20 .)
gajdipajti
1
@gajdipajti: с увеличенной тактовой частотой SPI: spi-max-frequency = 20000000средняя пропускная способность должна быть около 540 кБ / с: github.com/raspberrypi/linux/issues/795#issuecomment-87255295 К сожалению, если вы, например, рассматриваете видео 1080p24, этого недостаточно для потоковой передачи приемлемое качество. ------ Как уже упоминалось в выпуске GitHub, в будущем должна быть возможность еще больше увеличить частоту - ближе к максимуму ENC28J60 в 20 МГц.
Пабук
9

Для меня самый дешевый и простой способ получить Ethernet до нуля - через USB к моему хосту. Я обнаружил, что ссылка здесь была самой простой и быстрой, установил статический IP-адрес для сетевого подключения USB0, и он отлично работает для SSH на ноль при подключении к USB на моем ноутбуке и настольном компьютере. В Windows 10 он выглядит как последовательный порт USB, вам нужно указать драйвер Acer RDNIS, но после этого он отлично работает и под Windows. Windows 7 и 8 просто видели это, даже не спрашивая. Надеюсь, это поможет. :)

http://pi.gbaman.info/?p=699

Клинтон Джонсон
источник
2
Обновленное и упрощенное руководство здесь: gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a
shrx
7

Если самый дешевый был единственным требованием , я бы с модулем Wi - Fi ESP8266-01 , как этот один . Общая стоимость $ 3,50 США, включая доставку. Есть несколько уроков, в которых рассказывается, как использовать их с Pi:

Возможно, вы захотите потратить еще несколько долларов и пойти с одной из более дорогих моделей ESP8266. Эти высокопроизводительные модули имеют несколько дополнительных преимуществ, хотя они по-прежнему стоят менее 10 долларов, они содержат АЦП, чего нет у Pi, а также отсоединяют все выводы от чипа ESP.

Стив Робиллард
источник
Есть ли подобная стратегия, которая может быть использована для Ethernet? Для Arduino есть похожий инструктаж .
Логическая ошибка
Та же самая упомянутая часть (адаптер последовательного интерфейса к Ethernet также будет работать с Pi) Проверьте эту ветку raspberrypi.org/forums/viewtopic.php?f=44&t=18397 . Обратите внимание, что ваш вопрос не упоминает, что вы хотите Ethernet-решение.
Стив Робиллард
Я вижу Pi Zero + на горизонте! Что ж, я уверен, что понимаю причину минимализма и подхода к снижению затрат, который Фонд использовал с Нулем. Но в ближайшее время на борту должен быть Pi с WiFi. Подумайте об Интернете вещей.
Ганима
Я думаю, что все, что связано через последовательный порт UART, не соответствует «достаточно быстрой» части списка требований.
Питер Грин
1
@neuhaus, конечно, это медленнее, если вы используете UART. Но в режиме SDIO сообщалось о ~ 40 Мбит / с. Смотрите мой ответ
Джон Ла Рой
6

Лучшее решение ESP8266 - подключить его как устройство SDIO к порту GPIO.
Это недорого и может дать вам ~ 40 Мбит / с по Wi-Fi

http://oshlab.com/esp8266-raspberry-pi-gpio-wifi/

Немного истории Микросхема ESP8266 (если вы о ней не слышали) - это чрезвычайно популярный микроконтроллер Wifi с множеством дешевых модулей на рынке. Первоначально он использовался в качестве последовательного интерфейса UART для микроконтроллеров, но с тех пор был перенесен на работу в качестве автономного микроконтроллера с использованием LUA или Arduino. Это очень быстрый микроконтроллер, работающий на частоте 80 МГц. Это один из моих любимых микроконтроллеров для проектов, потому что он быстрый, дешевый и имеет Wi-Fi.

Выпущено несколько версий модуля, в том числе ESP-12E и ESP-12F (обе модели стоят около 2-3 долларов), которые отличают интерфейс SDIO. Это было в значительной степени бессмысленно, потому что интерфейс SDIO используется для флэш-памяти.

Однако оказывается, что ESP8266 на самом деле представляет собой микросхему ESP8089, только что переименованную. ESP8089 - это беспроводной чип SDIO для небольших планшетов. Если вы не отключите GPIO 15 при загрузке, как при работе в качестве микроконтроллера, он будет работать в режиме SDIO и на этом этапе представляет собой микросхему ESP8089.

Этот проект основан на проекте Hackaday.io RPi WiFi . Я сделал несколько модификаций для работы с новым ядром Linux в новом Raspbian и написал скрипт для полной автоматизации процесса. Для этого вам понадобится модуль ESP-12E или ESP-12F. ESP-12F рекомендуется.

Сначала подключите ESP-12F следующим образом.

введите описание изображения здесь

33-омные резисторы необходимы для достижения требуемых скоростей SDIO, поэтому, пожалуйста, не пропускайте их. Также лучше вытащить из шины 5 В и иметь отдельный LDO для модуля ESP8266, но тяга непосредственно из шины 3.3 В на Raspberry pi должна работать нормально.

SSH в Raspberry Pi и введите следующие команды. Возможно, вы захотите сначала расширить файловую систему, используя raspi-config.

cd ~
git clone https://github.com/oshlab/esp8089.git
cd esp8089
sudo sh install

Это займет некоторое время. Так что просто сиди и жди, или иди кофе.

Когда это будет сделано, перезагрузите свой Pi.

sudo reboot

После перезагрузки модуль ESP8266 должен активироваться. Вы можете сделать быстрое сканирование, чтобы убедиться, что оно работает.

sudo iwlist scan

Он должен сканировать беспроводные сети и показать вам, что доступно.

Теперь он будет работать так же, как и любой другой модуль WIFI. Приветствия.

Джон Ла Рой
источник
4

Оформить заказ HubPiWi - дополнительная плата для Pi Zero с 3 портами USB и встроенным Wi-Fi со встроенной антенной. Плата имеет антенну PCB и не требует и кабеля или разъема.

введите описание изображения здесь

Типичным использованием HubPiWi будет добавление клавиатуры, мыши и камеры на три USB-порта. Это в дополнение к Wifi, конечно.

Викас Шукла
источник
1
Интересно, однако, что цена в 13 долларов едва ли «самый дешевый способ получить сетевое подключение», что было первоначальным вопросом.
Нейгауз
3

(Сейчас) несколько очевидный ответ заключается в том, чтобы получить Raspberry Zero W (Wireless), который в настоящее время продается по цене примерно на 5 фунтов стерлингов больше, чем нормальный ноль (от 9 до 10 фунтов в настоящее время в большинстве британских ритейлеров - без выводов заголовка). и другие аксессуары)

Это имеет различные преимущества перед другими решениями, в том числе:

  • Находится на борту, поэтому доступен из коробки легко
  • Очень компактен и может быть более энергоэффективным, чем другие решения
  • Включает Bluetooth.
  • Не использует GPIO, USB или другие разъемы на Pi
Уилф
источник
2

Я отвечаю на свой собственный вопрос двумя идеями, которые у меня есть, но оба решения липкие (IMO) и не такие дешевые (10-30 долларов). Я надеюсь, что есть лучший способ.

Подключите адаптер micro-USB-USB , затем либо:

  1. Цепь с адаптером USB-Ethernet или

  2. Вставьте в дешевый USB WiFi ключ.

Первый, вероятно, будет самым надежным; Мне не повезло с WiFi ключами.

Логическая ошибка
источник
Если вам нужен список WiFi-адаптеров, которые должны работать, попробуйте здесь
Wilf
Я не вижу, как залипание дешевого USB WiFi ключа добавит Ethernet :-P
neuhaus
2

Я опаздываю на вечеринку, и у вас уже есть несколько очень дешевых вариантов, но я считаю, что вы сможете сделать это за меньшие деньги - всего пару резисторов - если у вас есть компьютер с запасным последовательным портом поблизости. Аппаратная сторона немного хакерская, и соединение будет МЕДЛЕННЫМ, и вы говорите, что хотите достаточно быстро, но я все равно подумал, что это стоит упомянуть.

Предпосылка: Вы можете создать сеть через последовательный порт, используя PPP (какие модемы используются для подключения к провайдеру). Так что, если мы сможем заставить Tx и RX Pi взаимодействовать с последовательным портом ПК, мы сможем подключиться к сети через это.

Как мы можем подключить Tx / Rx Pi к порту RS232? Напряжения разные, поэтому вы можете

  1. Используйте переключатель уровня, такой как MAX3232, который, вероятно, будет стоить вам столько же, сколько сетевой адаптер, или ...
  2. Перейдите непосредственно от линии Tx Пи к линии Rx ПК; ПК должен быть в порядке с более низким напряжением. Измерьте напряжение, которое ПК генерирует на своей линии RS232 Tx, и используйте резисторный делитель, чтобы получить его до 3,3 В, и подключите его к линии Rx Пи. Спецификация RS232 допускает широкий диапазон напряжений, поэтому вы не хотели бы полагаться на то, что это одинаково для разных ПК.

Там в учебнике здесь , который объясняет , как сделать программную часть.

Марк Смит
источник
Почему бы не использовать порт USB и не работать в сети через USB? Это быстрее, чем серийный и доступен везде.
neuhaus
2. Не думайте, что он полетит - уровни RS232 равномерно распределены вокруг напряжения земли, и имеется гистерезис, поэтому переключение входного напряжения между положительным уровнем и землей действительно не соответствует спецификации: приемник такого сигнала полностью находится в пределах спецификации. игнорировать его (а RS232 - это инвертированная полярность IIRC - т.е. напряжение более отрицательное, чем -3,0 В = знак; напряжение более положительное, чем 3,0 В = пробел). По этой причине для старых ПК требовалось напряжение -12 В - исключительно для последовательных портов, хотя в настоящее время это удовлетворяется цепями подкачки заряда, как в микросхемах серии MAX.
SlySven
2

Я пытался подключиться к Интернету на моем RPI ноль и нашел этот список адаптеров для USB http://elinux.org/RPi_USB_Ethernet_adapters один из адаптеров сделан Plugable http://plugable.com/2015/12/10 / Ethernet-для-малина-пи-нуль /

Я установил SD-карту на Raspberry Pi 1, потому что это было проще настроить таким образом (я дал ему статический ip, отредактировав /etc/dhcpcd.conf). Затем адаптер Plugable работает без лишних усилий, вы просто подключаете его и власть и все работает.

Не могу прокомментировать, является ли это хорошим решением, но я могу использовать SSH и работать в командной строке без заметных проблем с производительностью.

ThetaSinner
источник
2

Еще один вариант будет следующим: https://www.kickstarter.com/projects/755102253/pijack-add-ethernet-to-raspberry-pi-zero

Не самый дешевый способ, но гарантированно работающий и поддерживаемый - как и любой другой модуль на основе ENC28J60.

Это не было профинансировано, но доступно здесь: http://www.pijack.net

Я являюсь частью команды разработчиков, поэтому я могу быть предвзятым!

ма
источник
1
Это не особенно полезный ответ. Это ссылка на Kickstarter, которая еще не была полностью профинансирована. Это может также даже не существовать, поскольку этот вопрос затронут.
Jacobm001
1
Хотя это осуществимый проект, дизайн EXISTS и прототипы кажутся функциональными - плата расширения подключается к разъему GPIO40 и обеспечивает ТОЛЬКО 10 Мбит / с (не 100 Мбит / с, не гигабит!) Проводное соединение Ethernet. С учетом сроков на момент написания этой статьи (через 2 месяца после выпуска Pi Zero) можно было бы достичь поставленной цели в размере около 4,5 тыс. Фунтов стерлингов к 20160302 гг., Но обещание получить полностью построенную доску (17 фунтов стерлингов на июль 2016 г., другое залоги доступны) меньше 40-контактный заголовок может быть больше, чем некоторые пошли бы. OTOH, если это то, что вы хотели бы, я благодарю постер за то, что он привлек наше внимание ...
SlySven
Обновление: они не получили все финансирование от Kickstarter, но с помощью других источников им удалось получить его с нуля, и теперь он доступен, произведенный от них PiJack, которая является компанией из ЕС (НЕ Дальневосточная) за £ 11,49, по-видимому .. .!
SlySven
Это не означает , конечно , что вы могли бы использовать его в качестве второго соединения Ethernet и теоретически использовать RPI B + или 2 / модель 3B как проводная аппаратный межсетевой экран - хотя пропускная способность не будет , что высоко, насколько я могу видеть.
SlySven
1

Я использую переадресацию портов. Я подключил Pi к своему ноутбуку как сетевое устройство и получаю к нему доступ через SSH.

ssh -R 1234:182.254.218.141:80 pi@raspberrypi.local

Это создает удаленный порт для пересылки на прокси-сервер (найдите его на http://proxylist.hidemyass.com/ или аналогичном сайте) через порт 1234. Следующим шагом является добавление прокси-сервера APT в файл / etc / apt / apt. conf (создайте, если не найден) и напишите следующую строку:

Acquire::http::Proxy "http://localhost:1234";

Прибыль!

Shmarkus
источник
Мне нравится это предложение. Ноутбук не дешевый, но у многих людей они лежат без дела.
Логическая ошибка
как ты подключил пи к ноутбуку как сетевое устройство (они разными способами !!)
Уилф
Я использовал USB-кабель
Shmarkus
1

Конечно, не дешевая версия, но определенно самая элегантная - особенно если вам нужно добавить дополнительные экраны через заголовок GPIO. И включает в себя 2 порта USB HUB.

Я могу быть немного предвзятым, так как это, вероятно, мой продукт, который я продаю, но это потенциально правильное решение:

https://www.tindie.com/products/marcel/raspberry-pi-zero-ethernet-rj45-and-usb-hub-shield/

Это мой продукт, поэтому я могу быть предвзятым!

MarcelH
источник
Привет и добро пожаловать. Обратите внимание, что полное раскрытие вашей принадлежности не требуется. (Ваше имя пользователя несколько предполагает связь). Пожалуйста, отредактируйте свой ответ.
Ганима