Який найдешевший спосіб отримати мережеве підключення до Pi Zero?


49

Оскільки Pi Zero не постачається з портом Ethernet, мені цікаво, який найдешевший спосіб отримати досить швидке підключення до пристрою?

ОНОВЛЕННЯ

Під "мережевим підключенням" я маю на увазі підключення до локальної мережі / бездротової мережі, тому пристрої можуть спілкуватися один з одним, спілкуватися з іншими пристроями та переходити в Інтернет. Наприклад, після установки я повинен мати можливість wget stackexchange.com. Мені насправді все одно, чи це WiFi чи Ethernet, але я здогадуюсь, що Ethernet повинен бути швидшим та надійнішим (лише здогадка).

Хтось просто запитав, чи можна це зробити за допомогою HDMI , тому я знаю, що інші люди шукають рішення тієї ж (або подібної) проблеми.


На той момент, коли ви додали SDCard та мережевий адаптер, ви не лише зросли майже втричі, але й, ймовірно, втратили свій єдиний порт USB.
Кріс Страттон

1
Який сенс, @ChrisStratton? Вам доведеться додати SD-карту до будь-якого Pi. І можуть бути випадки використання, які не потребують додаткового порту USB. Але так чи інакше, я думаю, що ми будемо жити, щоб побачити Pi з WiFi на борту ^^
Ghanima

Відповіді:


33

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

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

b) USB-адаптер RJ45 за 1,50 доларів та адаптер Micro USB OTG за 0,23 долара (загальна ціна 1,73 долара)

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


1
Варіант (а) виглядає так, що найкращим чином відповідає моїм потребам, але я буду відстежувати питання щодо інших ідей. Я відчуваю, що має бути можливість інтегрувати RJ45, мікросхему контролера Ethernet і USB-чіп таким чином, як у великих Pi. Я вчора спробував перейти схему моделі B 2, але без схеми Pi Zero я начебто застряг.
Логічна помилка

USD5 за Pi Zero та + - USD2 для мережі. Повна робоча потужність 512 Мб 1 ГГц, супер маленька машина Linux .. Я без мови ... Чудова відповідь
Пьотр Кула

5
Будь ласка, не купуйте b) адаптер (JP1082), він не працюватиме з непакетованим ядром, і вам доведеться перекомпілювати ядро ​​після кожного оновлення.
gajdipajti

@neuhaus Якщо я купую опцію a, чи можу я її використовувати для подачі електроенергії на комп'ютер?
Рікардо

Здається, RD-9700 взагалі не працює на Raspbian. і найгірше, мабуть, єдиний його USB 1.1
Piotr Kula

24

Ethernet через SPI

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

Перевага цього рішення полягає в тому, що USB-порт залишатиметься доступним. Недоліком є ​​те, що чіп (і швидкість SPI) підтримує лише Ethernet 10BASE-T (10 Mbps).

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


1
Це дуже цікава альтернатива, де ви могли використовувати GPIO для підключення до Ethernet. Гаразд, це не чудово для передачі HD-медіа ... але якщо все це - метеостанція або маршрутизатор з ЧПУ ... відмінно!
Пьотр Кула

де ти поставив би цю фішку на нуль?
Патоші パ ト シ

1
@duckx: Ось приклад проводки та використання накладки на дерево пристрою: gajdicookbook.wordpress.com/2015/02/25/… Ось кілька зображень із використанням тієї ж електропроводки: elektroda.pl/rtvforum/topic2950919.html (використовується штифти заголовка GPIO однакові від першої версії Raspberry Pi до Pi Zero).
пабук

1
Зазвичай 300 Кбайт / сек можна досягти за допомогою модуля ENC28J60. Я думаю, що особисто це найкраще рішення. (Я з'єднав його з A +, який запускає munin-вузол для датчиків DB18B20 .)
gajdipajti

1
@gajdipajti: При збільшенні тактової частоти SPI: spi-max-frequency = 20000000середня пропускна здатність повинна становити близько 540 кБ / с: github.com/raspberrypi/linux/isissue/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 доларів, вони містять ADC, що Pi не має, вони також розбивають усі штирі з чіпа ESP.


Чи існує подібна стратегія, яку можна використовувати для Ethernet? Є аналогічний інструктаж для Ардуїно .
Логічна помилка

Ця ж згадана частина (послідовний адаптер для Ethernet також буде працювати з Pi) Перевірте цю тему raspberrypi.org/forums/viewtopic.php?f=44&t=18397 . Зверніть увагу, що ваше запитання не вказує на те, що ви хочете вирішити Ethernet.
Стів Робіллард

Я бачу на горизонті Pi Zero +! Ну, я впевнений, що я розумію обґрунтування мінімалістичного та економічного підходу, який Фонд застосував до нуля. Але незабаром має бути Pi з WiFi на борту. Подумайте Інтернет-речі.
Ghanima

Я думаю, що все, що пов'язано через серію UART, не відповідає "досить швидко" частині списку вимог.
Пітер Грін

1
@neuhaus, звичайно, це повільніше, якщо ви використовуєте UART. Але повідомлялося про ~ 40Mb / s у режимі SDIO. Дивіться мою відповідь
Джон Ла Руй

6

Краще рішення ESP8266 - підключити його як пристрій SDIO на порту GPIO.
Це недорого і може отримати ~ 40Mb / s через Wi-Fi

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

Трохи історії. IC ESP8266 (якщо ви про нього ще не чули) - надзвичайно популярний мікроконтролер Wifi з багатьма дешевими модулями на ринку. Спочатку він використовувався як послідовний інтерфейс UART для мікроконтролерів, але з тих пір був перенесений для роботи в якості окремого мікроконтролера за допомогою LUA або Arduino. Це дуже швидкий мікроконтролер, який працює на швидкості 80 МГц. Це один з моїх улюблених мікроконтролерів, який можна використовувати для проектів, оскільки він швидкий, дешевий і має wifi.

Вийшло кілька версій модуля, включаючи ESP-12E та ESP-12F (обидві близько $ 2 - 3 $), які вибивають інтерфейс SDIO. Це було багато в чому безглуздим, оскільки для флеш-пам’яті використовується інтерфейс SDIO.

Однак виявляється, що ESP8266 насправді ESP8089 IC щойно ребрендований. ESP8089 - це мікросхема WiFi для маленьких планшетів. Якщо ви не знімаєте GPIO 15 під час завантаження, як це було б під час роботи в якості мікроконтролера, він працює в режимі SDIO і, в основному, є ESP8089 IC на той момент.

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

Спочатку підключіть ESP-12F так.

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

Резистори 33 Ом необхідні для досягнення необхідних швидкостей SDIO, тому, будь ласка, не залишайте їх. Також краще витягнути з 5V-рейки і мати окремий 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

Checkout HubPiWi - додаток на борту для Pi Zero з 3-ма портами USB та інтегрованим Wi-Fi з антеною на борту. На платі є антена друкованої плати і не потрібен ні кабель, ні роз'єм.

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

Типовим використанням HubPiWi буде додавання клавіатури, миші та камери на три порти USB. Це, крім Wifi, звичайно.


1
Цікаво, однак 13 доларів навряд чи "найдешевший спосіб отримати підключення до мережі", який був первісним питанням.
neuhaus

3

Дещо очевидна відповідь - отримати Raspberry Zero W (Wireless), який наразі здається в роздріб на приблизно 5 фунтів більше, ніж звичайний нульовий (9 - 10 фунтів стерлінгів зараз у більшості торгових мереж Великобританії - без шпильок для заголовків та інші аксесуари)

Це має різні переваги перед іншими рішеннями, включаючи:

  • Є на борту, тому доступний поза коробкою легко
  • Є дуже компактним і може бути більш енергоефективним, ніж інші рішення
  • Включає Bluetooth.
  • Не використовує GPIO, USB або інші роз'єми на Pi

2

Я відповідаю на власне запитання двома ідеями, які в мене є, але обидва рішення є липкими (IMO) і не такими дешевими ($ 10-30). Я сподіваюся, що є кращий спосіб.

Підключіть мікро-USB-USB-адаптер , а потім:

  1. Ланцюжок a за допомогою адаптера USB-до-Ethernet або

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

Перший, ймовірно, буде найнадійнішим; Мені пощастило з WiFi-ключами.


Якщо вам потрібен список адаптерів WiFi, які повинні працювати, спробуйте тут
Вільф

Я не бачу, як стикання з дешевим USB-Wi-Fi додатиме Ethernet :-P
neuhaus

2

Я намагався отримати Інтернет на нульовій RPi і знайшов цей список адаптерів для usb http://elinux.org/RPi_USB_Ethernet_adapters, один з адаптерів зроблений Plugable http://plugable.com/2015/12/10 / ethernet-for-the-malberry-pi-zero /

Я встановив sd-карту на малину pi 1, тому що це було простіше в налаштуванні таким чином (я дав їй статичний ip, редагуючи /etc/dhcpcd.conf) Потім адаптер Plugable працює без зайвих робіт, просто підключіть його та потужність і все працює.

Не можу коментувати, чи це хороше рішення, але я вмію SSH і працювати в командному рядку без помітних проблем з продуктивністю.


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,5K до 20160302 міг бути досягнутий - але застава за повністю побудовану дошку (£ 17 за липень 2016 року, інше обіцянки доступні) менше 40-контактних заголовків може бути більше, ніж потрібно. ОТО, якщо це те, що ви хотіли б, я дякую плакату за те, що ми
донесли

Оновлення: вони не отримали всього фінансування від kickstarter, але за допомогою інших джерел їм вдалося отримати його з місця, і тепер він доступний, виготовлений з них PiJack, який, очевидно, є компанією, що базується в ЄС (не далекосхідній) за £ 11,49. .!
SlySven

Це, звичайно, означає, що ви можете також використовувати його як друге з'єднання Ethernet і теоретично використовувати модель RPi B + або 2 / 3B як дротовий брандмауер апаратного забезпечення - хоча пропускна здатність НЕ буде такою високою, наскільки я бачу.
SlySven

1

Я спізнююсь на вечірку, і у вас вже є дуже дешеві варіанти, але я вважаю, що ви можете це зробити за менший - лише пару резисторів - якщо у вас поруч є ПК із запасним серійним портом. Сторона апаратури трохи хитра, і з'єднання буде низьким, і ти кажеш, що хочеш досить швидко, але я подумав, що це все одно варто згадати.

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

Як ми можемо підключити піксельний Tx / Rx до порту RS232? Напруги різні, тому ви могли б і будь-яке

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

Там в підручнику тут , який пояснює , як зробити програмну частину.


Чому б не використовувати порт USB і не здійснювати мережу через USB? Це швидше, ніж серійні та доступні скрізь.
neuhaus

2. Не думайте, що він пролетить - рівні RS232 однаково розташовані між напругою на землю, і існує гістерезис, тому вхідна напруга, що перемикається між позитивним рівнем і землею, дійсно не відповідає специфікації: приймач такого сигналу повністю знаходиться в межах технічні характеристики ігнорувати його (а RS232 - це перевернута полярність IIRC - тобто напруга більше негативної -3,0 В = позначка; напруга більше позитивного 3,0 В = простір). Оскільки це трапляється, саме тому для старих ПК - тільки для послідовних портів, була потреба в джерелі живлення -12V, хоча сьогодні це відповідає схемам зарядного насоса, як у ІС серії MAX.
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";

Прибуток!


Мені подобається ця пропозиція. Ноутбук не з дешевих, але багато людей мають їх лежати.
Логічна помилка

як ви підключили Pi до ноутбука як мережевий пристрій (це різні способи !!)
Вільф

Я використав USB-кабель
Шмаркус

1

Безумовно, не найдешевша версія, але, безумовно, найелегантніша - особливо якщо вам потрібно додати додаткові екрани через заголовок GPIO. І включає 2 порти USB HUB.

Я, можливо, трохи упереджений, оскільки це, мабуть, мій товар, який я продаю, але це потенційно вірне рішення:

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

Це мій продукт, тому я можу бути конкурентоспроможним!


Привіт і ласкаво просимо. Зверніть увагу, що необхідне повне розкриття вашої належності . (Ваше ім'я користувача дещо говорить про відношення). Відредагуйте свою відповідь.
Ghanima
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.