¿Cuál es la forma más económica de obtener conectividad de red con Pi Zero?


50

Dado que el Pi Zero no viene con un puerto Ethernet, me pregunto cuál es la forma más económica de obtener una conectividad de red razonablemente rápida al dispositivo.

ACTUALIZAR

Por "conectividad de red" me refiero a conectarse a una LAN / WLAN, para que los dispositivos puedan comunicarse entre sí, hablar con otros dispositivos e ir a Internet. Por ejemplo, después de la configuración debería poder hacerlo wget stackexchange.com. En realidad no me importa si es WiFi o Ethernet, pero supongo que Ethernet debería ser más rápido y más confiable (solo una suposición).

Alguien acaba de preguntar si esto podría hacerse con HDMI , así que sé que otras personas están buscando una solución para el mismo problema (o similar).


Para cuando haya agregado una tarjeta sd y un adaptador de red, no solo el costo casi se ha triplicado, sino que probablemente haya perdido su único puerto USB.
Chris Stratton el

1
¿Cuál es el punto, @ChrisStratton? Tendría que agregar una tarjeta SD a cualquier Pi. Y puede haber casos de uso que no requieran un puerto USB adicional. Pero de todos modos creo que viviremos para ver un Pi con WiFi a bordo ^^
Ghanima

Respuestas:


33

Dos opciones:

a) Compre el adaptador Micro USB RJ45 por $ 2.15

b) Adaptador USB RJ45 por $ 1.50 y un adaptador Micro USB OTG por $ 0.23 (precio total $ 1.73)

Algunos de los artículos pueden ser más baratos si los compra utilizando la aplicación móvil.


1
Parece que la opción (a) se adaptará mejor a mis necesidades, pero supervisaré la pregunta para otras ideas. Siento que debería ser posible integrar un RJ45, un chip controlador Ethernet y un chip USB de manera similar a lo que hacen los Pi más grandes. Intenté revisar los esquemas del modelo B de Pi 2 ayer, pero sin los esquemas del Pi Zero, estoy un poco atascado.
Falacia lógica

USD5 para Pi Zero y + - USD2 para red. Una máquina Linux súper pequeña que funciona a 1 Ghz y 512 MB. Estoy sin palabras ... Gran respuesta
Piotr Kula

55
No compre el adaptador b) (JP1082), no funcionará con un kernel sin pachear y deberá volver a compilar el kernel después de cada actualización.
gajdipajti

@neuhaus Si compro la opción a, ¿puedo usarla para suministrar electricidad a la computadora también?
Ricardo

El RD-9700 no parece funcionar en Raspbian en absoluto. y lo peor de todo, aparentemente su único USB 1.1
Piotr Kula

24

Ethernet sobre SPI

Una de las formas más económicas es conectar un controlador Ethernet a través del bus SPI. Tal controlador podría ser, por ejemplo, ENC28J60, que a menudo se usa para la conectividad Ethernet para Arduino. Los últimos núcleos de Linux para Raspberry Pi tienen un controlador con una superposición de árbol de dispositivos. Ver por ejemplo https://github.com/raspberrypi/linux/issues/795

La ventaja de esta solución es que el puerto USB permanecerá disponible. Una desventaja es que el chip (y la velocidad de SPI) solo admite Ethernet 10BASE-T (10 Mbps).

Los módulos completos con precios más bajos (pocos USD) probablemente se pueden encontrar en AliExpress: http://www.aliexpress.com/wholesale?SearchText=ENC28J60


1
Esta es una alternativa muy interesante, donde podría usar el GPIO para tener conexión Ethernet. OK, no es genial para transmitir medios HD ... pero si todo lo que hace es una estación meteorológica o un enrutador CNC ... ¡excelente!
Piotr Kula

¿Dónde pondrías este chip en el cero?
Patoshi パ ト シ

1
@duckx: Aquí hay un ejemplo de cableado y uso de la superposición del árbol de dispositivos: gajdicookbook.wordpress.com/2015/02/25/… Aquí hay algunas fotos que usan el mismo cableado: elektroda.pl/rtvforum/topic2950919.html (el usado los pines del encabezado GPIO son los mismos desde la primera versión de Raspberry Pi hasta Pi Zero).
pabouk

1
Normalmente se pueden alcanzar 300Kbyte / seg usando un módulo ENC28J60. Personalmente, creo que es la mejor solución. (Lo emparejé con un A + que ejecuta munin-node para los sensores DB18B20 .)
gajdipajti

1
@gajdipajti: con una frecuencia de reloj SPI aumentada: spi-max-frequency = 20000000el ancho de banda promedio debe ser de alrededor de 540 kB / s: github.com/raspberrypi/linux/issues/795#issuecomment-87255295 Lamentablemente, si considera, por ejemplo, el video 1080p24, esto no es suficiente para la transmisión de Calidad aceptable. ------ Como se menciona más adelante en el tema de GitHub, debería ser posible en el futuro aumentar aún más la frecuencia, más cerca del máximo ENC28J60 de 20 MHz.
pabouk

9

Para mí, la forma más barata y fácil de llevar Ethernet al Zero fue a través de USB a mi host. Encontré que el enlace aquí era el más fácil y rápido, establecí una IP estática para la conexión de red USB0 y funciona perfectamente para SSH al cero cuando está conectado a USB en mi computadora portátil y de escritorio. En Windows 10 aparece como un puerto serie USB, debe especificar el controlador Acer RDNIS, pero después de eso también funciona muy bien en Windows. Windows 7 y 8 lo vieron sin siquiera preguntar. Espero que esto ayude. :)

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


2
Guía actualizada y simplificada aquí: gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a
shrx

7

Si más barato era el único requisito Me gustaría ir con un módulo WiFi ESP8266-01 como éste uno . Costo total $ 3.50 US incluyendo envío. Hay algunos tutoriales que cubren cómo usarlos con Pi:

Es posible que desee gastar algunos dólares más y optar por uno de los modelos ESP8266 de gama alta. Estos módulos de gama alta tienen un par de beneficios adicionales, aunque todavía cuestan menos de $ 10, contienen un ADC, algo que el Pi no tiene, también rompen todos los pines del chip ESP.


¿Existe una estrategia similar que se pueda usar para Ethernet? Hay un Instructable similar para Arduino .
Falacia lógica

Esa misma parte mencionada (un adaptador de serie a Ethernet también funcionará con el Pi) Verifique este hilo raspberrypi.org/forums/viewtopic.php?f=44&t=18397 . Tenga en cuenta que su pregunta no menciona que desea una solución Ethernet.
Steve Robillard

¡Veo un Pi Zero + en el horizonte! Bueno, entiendo la lógica detrás del enfoque minimalista y de bajo costo que la Fundación adoptó con el Zero. Pero debería haber un Pi con WiFi a bordo en el corto plazo. Piensa en Internet de las cosas.
Ghanima

Creo que cualquier cosa conectada a través de la serie UART falla la parte "razonablemente rápida" de la lista de requisitos.
Peter Green

1
@neuhaus, por supuesto, es más lento si está utilizando el UART. Pero ~ 40Mb / s ha sido reportado usando el modo SDIO. Ver mi respuesta
John La Rooy

6

Una mejor solución ESP8266 es conectarlo como un dispositivo SDIO en el puerto GPIO.
Esto es económico y puede obtener ~ 40Mb / s a ​​través de wifi

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

Una pequeña historia. El ESP8266 IC (si no ha oído hablar de él) es un microcontrolador Wifi extremadamente popular con muchos módulos baratos en el mercado. Originalmente se usó como una interfaz serie UART para microcontroladores, pero desde entonces se ha transferido para funcionar como un microcontrolador independiente con LUA o Arduino. Es un microcontrolador muy rápido que funciona a 80mhz. Este es uno de mis microcontroladores favoritos para usar en proyectos porque es rápido, barato y tiene wifi.

Han salido algunas versiones del módulo, incluidos ESP-12E y ESP-12F (ambos alrededor de $ 2- $ 3) que separan la interfaz SDIO. Esto fue en gran medida inútil, porque la interfaz SDIO se utiliza para la memoria flash.

Sin embargo, resulta que el ESP8266 es en realidad un IC ESP8089 recién renombrado. El ESP8089 es un chip SDIO wifi para tabletas pequeñas. Si no tira GPIO 15 en el arranque, como lo haría cuando lo ejecuta como un microcontrolador, se ejecuta en modo SDIO y es básicamente un IC ESP8089 en ese punto.

Este proyecto se basa en el proyecto Hackaday.io RPi WiFi . He realizado algunas modificaciones para trabajar con el nuevo kernel de Linux en el nuevo Raspbian y he escrito un script para automatizar completamente el proceso. Para usar esto, necesita un módulo ESP-12E o ESP-12F. Se recomienda el ESP-12F.

Primero, conecte el ESP-12F de esta manera.

ingrese la descripción de la imagen aquí

Las resistencias de 33 ohmios son necesarias para lograr las velocidades SDIO requeridas, así que no las deje de lado. También es mejor tirar del riel de 5v y tener un LDO separado para el módulo ESP8266, pero tirar directamente de un riel de 3.3v en la Raspberry pi debería funcionar bien.

SSH en su Raspberry Pi e ingrese los siguientes comandos. Es posible que desee expandir el sistema de archivos primero usando raspi-config.

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

Esto va a tomar un tiempo. Así que siéntate y espera, o ve a tomar un café.

Cuando haya terminado, reinicie su Pi.

sudo reboot

Después de reiniciar, el módulo ESP8266 debería activarse. Puede hacer un escaneo rápido para asegurarse de que funciona.

sudo iwlist scan

Debería buscar redes inalámbricas y mostrarle lo que está disponible.

Ahora funcionará como cualquier otro módulo WIFI. Salud.


4

Checkout HubPiWi: un complemento a bordo para Pi Zero con 3 puertos USB y un Wifi integrado con antena integrada. La placa tiene una antena PCB y no requiere un cable o conector.

ingrese la descripción de la imagen aquí

Un uso típico de HubPiWi será agregar un teclado, un mouse y una cámara en los tres puertos USB. Esto es además de Wifi, por supuesto.


1
Interesante, sin embargo, a $ 13 no es "la forma más barata de obtener conectividad de red", que era la pregunta original.
neuhaus

3

Una respuesta (ahora) algo obvia es obtener el Raspberry Zero W (inalámbrico), que actualmente parece venderse por alrededor de £ 5 más que un Zero normal (£ 9 a £ 10 actualmente en la mayoría de los minoristas del Reino Unido, sin pines de cabecera) y otros accesorios)

Esto tiene varios beneficios sobre otras soluciones, que incluyen:

  • Está a bordo, por lo que está disponible de fábrica fácilmente
  • Es muy compacto y puede ser más eficiente energéticamente que otras soluciones
  • Incluye Bluetooth
  • No utiliza GPIO, USB u otros conectores en el Pi

2

Estoy respondiendo mi propia pregunta con dos ideas que tengo, pero ambas soluciones son de mal gusto (IMO) y no tan baratas ($ 10-30). Espero que haya una mejor manera.

Conecte un adaptador micro-USB a USB , luego:

  1. Encadena a con un adaptador USB a Ethernet, o

  2. Pegue un dongle USB WiFi barato.

El primero probablemente será el más confiable; He tenido mala suerte con los dongles WiFi.


Si necesita una lista de adaptadores WiFi que deberían funcionar, intente aquí
Wilf

No veo cómo pegar en un dongle WiFi USB barato agregará Ethernet
:-P

2

Llego tarde a la fiesta, y ya tienes algunas opciones muy baratas, pero creo que puedes hacerlo por menos, solo un par de resistencias, si tienes una PC con un puerto serial de repuesto cerca. El lado del hardware es un poco hacky, y la conexión será LENTA y usted dice que quiere razonablemente rápido, pero pensé que valía la pena mencionarlo de todos modos.

Premisa: puede hacer una red en serie usando PPP (qué módems usan para conectarse al ISP). Entonces, si podemos hacer que los Tx y RX del Pi hablen con el puerto serie de una PC, podemos conectarnos en red.

¿Cómo podemos conectar el Tx / Rx del Pi a un puerto RS232? Los voltajes son diferentes, por lo que podría

  1. Utilice una palanca de cambio de nivel como un MAX3232, que probablemente le costará tanto como el adaptador de red, o ...
  2. Vaya directamente desde la línea Tx de Pi a la línea Rx de la PC; la PC debería estar bien con el voltaje más bajo. Mida el voltaje que genera la PC en su línea RS232 Tx, y use un divisor de resistencia para llegar a 3.3v, y conéctelo a la línea Rx de Pi. La especificación RS232 permite una amplia gama de voltajes, por lo que no querrá confiar en que esto sea lo mismo entre las PC.

Hay un tutorial aquí que explica cómo hacer la parte de software.


¿Por qué no usar un puerto USB y establecer redes a través de USB? Es más rápido que el serial y está disponible en todas partes.
neuhaus

2. No piense que volará: los niveles RS232 están igualmente espaciados alrededor del voltaje de tierra y hay histéresis, por lo que un cambio de voltaje de entrada entre un nivel positivo y tierra está realmente fuera de especificación: un receptor de tal señal está completamente dentro del especificaciones. ignorarlo (y RS232 es una polaridad invertida IIRC - es decir, voltaje más negativo que -3.0V = marca; voltaje más positivo que 3.0V = espacio). Resulta que es por eso que había un requisito de suministro de -12 V para las PC más antiguas, solo para los puertos serie, aunque hoy en día eso se cumple mediante circuitos de bomba de carga como los de los circuitos integrados de la serie MAX.
SlySven

2

He estado tratando de obtener internet en mi RPi zero y encontré esta lista de adaptadores para usb http://elinux.org/RPi_USB_Ethernet_adapters, uno de los adaptadores está hecho por Plugable http://plugable.com/2015/12/10 / ethernet-for-the-raspberry-pi-zero /

Configuré la tarjeta SD en una frambuesa pi 1 porque era más fácil de configurar de esa manera (le di una dirección IP estática editando /etc/dhcpcd.conf) Luego el adaptador enchufable funciona sin trabajo adicional, solo conéctelo y el poder y todo funciona.

No puedo comentar si esta es una buena solución, pero puedo ingresar a SSH y trabajar en la línea de comandos sin problemas de rendimiento notables.


2

Otra opción sería esta: https://www.kickstarter.com/projects/755102253/pijack-add-ethernet-to-raspberry-pi-zero

No es la forma más barata, pero se garantiza que funcione y sea compatible, como cualquier otro módulo basado en ENC28J60.

Esto no ha sido financiado pero está disponible aquí: http://www.pijack.net

Soy parte del equipo de desarrollo, ¡así que podría ser parcial!


1
Esta no es una respuesta particularmente útil. Ese es un enlace kickstarter que ni siquiera ha sido financiado por completo todavía. Es muy posible que ni siquiera exista en lo que respecta a esta pregunta.
Jacobm001

1
Sin embargo, es un proyecto factible, el diseño EXISTE y los prototipos parecen funcionales: la placa adicional se conecta a un encabezado GPIO40 y proporciona SOLAMENTE una conexión Ethernet por cable de 10Mbps SOLAMENTE (¡No 100 Mbps, no Gigabit!). Dada la escala de tiempo al momento de escribir esto (2 meses después del lanzamiento de Pi Zero), se pudo cumplir el objetivo inicial de alrededor de £ 4.5K para 20160302, pero la promesa de un tablero completamente construido (£ 17 para julio de 2016, otro las promesas están disponibles) menos de 40 pines de encabezado puede ser más de lo que algunos irían por. OTOH, si esto es lo que querrías, agradezco al póster por llamar nuestra atención ...
SlySven

Actualización: no obtuvieron todos los fondos de kickstarter, pero con otras fuentes lograron despegar y ahora está disponible fabricado por ellos PiJack, que es una empresa con sede en la UE (NO del Lejano Oriente) por £ 11.49 aparentemente ... .!
SlySven

Significa, por supuesto, que también podría usarlo como una segunda conexión Ethernet y, en teoría, usar un modelo RPi B + o 2 / 3B como un Firewall de hardware con cable, aunque el rendimiento NO sería tan alto por lo que puedo ver.
SlySven

1

Lo que hago es usar el reenvío de puertos. Tengo el Pi conectado a mi computadora portátil como un dispositivo de red y accedo a él a través de SSH.

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

Esto crea un puerto remoto hacia un servidor proxy (encuentre uno en http://proxylist.hidemyass.com/ o un sitio similar) en el puerto 1234. El siguiente paso es agregar el proxy APT al archivo / etc / apt / apt. conf (crear si no se encuentra) y escriba la siguiente línea:

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

¡Lucro!


Me gusta esta sugerencia Una computadora portátil no es barata, pero muchas personas las tienen por ahí.
Falacia lógica

¿Cómo conectó el Pi a la computadora portátil como un dispositivo de red (son varias formas!)
Wilf

Usé un cable USB
Shmarkus el

1

Ciertamente, no es la versión barata, pero definitivamente la más elegante, especialmente si necesita agregar escudos adicionales a través del encabezado GPIO. E incluye 2 puertos USB HUB.

Puedo estar un poco parcial ya que este es probablemente mi producto que estoy vendiendo, pero es una solución potencialmente válida:

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

¡Este es mi producto, así que podría estar completamente sesgado!


Hola y bienvenido. Tenga en cuenta que se requiere la divulgación completa de su afiliación . (Su nombre de usuario sugiere una relación). Por favor edite su respuesta.
Ghanima
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.