Qual é a maneira mais barata de obter conectividade de rede ao Pi Zero?

50

Como o Pi Zero não vem com uma porta Ethernet, pergunto-me qual é a maneira mais barata de obter conectividade de rede razoavelmente rápida ao dispositivo?

ATUALIZAR

Por "conectividade de rede", quero dizer conectar a uma LAN / WLAN, para que os dispositivos possam conversar entre si, conversar com outros dispositivos e acessar a Internet. Por exemplo, após a instalação eu deveria ser capaz wget stackexchange.com. Na verdade, eu não me importo se é WiFi ou Ethernet, mas acho que a Ethernet deve ser mais rápida e confiável (apenas um palpite).

Alguém acabou de perguntar se isso poderia ser feito com HDMI , então eu sei que outras pessoas estão procurando uma solução para o mesmo problema (ou semelhante).

Falácia lógica
fonte
Quando você adicionou um sdcard e um adaptador de rede, não apenas o custo quase triplicou, mas você provavelmente perdeu a sua única porta USB.
Chris Stratton
11
Qual é o objetivo, @ChrisStratton? Você teria que adicionar um cartão SD a qualquer Pi. E pode haver casos de uso que não exijam porta USB adicional. Mas, de qualquer forma, acho que viveremos para ver um Pi com WiFi a bordo ^^
Ghanima

Respostas:

33

Duas opções:

a) Compre o adaptador Micro USB RJ45 por US $ 2,15

b) Adaptador USB RJ45 por US $ 1,50 e adaptador Micro USB OTG por US $ 0,23 (preço total US $ 1,73)

Alguns dos artigos podem ser mais baratos se você os comprar usando o aplicativo móvel.

Neuhaus
fonte
11
A opção (a) parece atender melhor às minhas necessidades, mas monitorarei a pergunta para outras idéias. Eu sinto que deveria ser possível integrar um RJ45, um chip de controlador Ethernet e um chip USB de maneira semelhante ao que os Pi maiores fazem. Eu tentei revisar os esquemas do Pi 2 modelo B ontem, mas sem os esquemas do Pi Zero, estou meio preso.
Falácia lógica
USD5 para Pi Zero e + - USD2 para Rede. Um trabalho completo de 1Ghz 512MB, super pequena máquina Linux .. Estou sem palavras ... Ótima resposta #
Piotr Kula
5
Por favor, não compre o adaptador b) (JP1082), ele não funcionará com um kernel sem cache e você deverá recompilar o kernel após cada atualização.
gajdipajti
@neuhaus Se eu comprar a opção a, posso usá-la para fornecer eletricidade ao computador também?
Ricardo
o RD-9700 parece não funcionar no Raspbian. eo pior de tudo, aparentemente, seu único USB 1.1
Piotr Kula
24

Ethernet sobre SPI

Uma das maneiras mais baratas é conectar um controlador Ethernet através do barramento SPI. Esse controlador pode ser, por exemplo, o ENC28J60, que geralmente está sendo usado para conectividade Ethernet no Arduino. Os kernels mais recentes do Linux para Raspberry Pi têm um driver com uma sobreposição em árvore de dispositivos. Veja, por exemplo, https://github.com/raspberrypi/linux/issues/795

A vantagem desta solução é que a porta USB permanecerá disponível. Uma desvantagem é que o chip (e a velocidade do SPI) suporta apenas Ethernet 10BASE-T (10 Mbps).

Módulos completos com preços mais baixos (alguns USDs) provavelmente podem ser encontrados no AliExpress: http://www.aliexpress.com/wholesale?SearchText=ENC28J60

pabouk
fonte
11
Essa é uma alternativa muito interessante, onde você pode usar o GPIO para ter uma conexão Ethernet. OK, não é ótimo para streaming de mídia HD ... mas se tudo o que faz é uma estação meteorológica ou um roteador CNC ... excelente!
Piotr Kula
onde você colocaria esse chip no zero?
Patoshi #
11
@duckx: Aqui está um exemplo de fiação e usando a sobreposição de árvore de dispositivos: gajdicookbook.wordpress.com/2015/02/25/... Aqui estão algumas fotos usando o mesmo cabeamento: elektroda.pl/rtvforum/topic2950919.html (o usado os pinos do cabeçalho GPIO são os mesmos desde a primeira versão do Raspberry Pi até o Pi Zero).
Pabouk
11
Normalmente, 300Kbyte / s podem ser alcançados usando um módulo ENC28J60. Eu acho que pessoalmente é a melhor solução. (I emparelhado para um A + que corre Munin-nó para os sensores DB18B20 .)
gajdipajti
11
@gajdipajti: Com o aumento da frequência do relógio SPI: spi-max-frequency = 20000000a largura de banda média deve ficar em torno de 540 kB / s: github.com/raspberrypi/linux/issues/795#issuecomment-87255295 Infelizmente, se você considerar, por exemplo, vídeo 1080p24, isso não é suficiente para o streaming de qualidade aceitável. ------ Como é mencionado mais adiante na questão do GitHub, deve ser possível no futuro aumentar ainda mais a frequência - mais próximo do máximo de 20 MHz da ENC28J60.
Pabouk
9

Para mim, a maneira mais barata e fácil de conectar Ethernet ao Zero foi através de USB para meu host. Achei que o link aqui era o mais fácil e rápido, defina um IP estático para a conexão de rede USB0 e ele funcionará perfeitamente para o SSH no Zero quando conectado ao USB no meu laptop e desktop. No Windows 10, ele aparece como uma porta serial USB, você precisa especificar o driver Acer RDNIS, mas depois isso também funciona muito bem no Windows. O Windows 7 e 8 apenas o viram sem nem perguntar. Espero que isso ajude. :)

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

Clinton Johnson
fonte
2
Guia atualizado e simplificado aqui: gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a
shrx
7

Se mais barato foi o único requisito Eu iria com um módulo ESP8266-01 WiFi como este um . Custo total US $ 3,50, incluindo frete. Existem alguns tutoriais que abordam como usá-los com o Pi:

Você pode gastar mais alguns dólares e optar por um dos modelos ESP8266 mais avançados. Esses módulos de ponta têm alguns benefícios adicionais, embora ainda custem menos de US $ 10, eles contêm um ADC, algo que o Pi não possui, eles também quebram todos os pinos do chip ESP.

Steve Robillard
fonte
Existe uma estratégia semelhante que possa ser usada para Ethernet? Existe um Instructable semelhante para o Arduino .
Falácia lógica
A mesma parte mencionada (um adaptador serial para Ethernet também funcionará com o Pi). Verifique este tópico raspberrypi.org/forums/viewtopic.php?f=44&t=18397 . Observe que sua pergunta não menciona que você deseja uma solução Ethernet.
27515 Steve Jobs
Eu vejo um Pi Zero + no horizonte! Bem, eu compreendo a lógica por trás da abordagem minimalista e de baixo custo que a Fundação adotou com o Zero. Mas deve haver um Pi com WiFi a bordo em breve. Pense na Internet das coisas.
Ghanima
Acho que qualquer coisa conectada via UART serial falha na parte "razoavelmente rápida" da lista de requisitos.
Peter Green
11
@neuhaus, é claro que é mais lento se você estiver usando o UART. Mas ~ 40 Mb / s foram relatados usando o modo SDIO. Veja minha resposta
John La Rooy
6

Uma solução ESP8266 melhor é conectá-lo como um dispositivo SDIO na porta GPIO.
Isso é barato e você pode obter ~ 40Mb / s por wifi

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

Um pouco de história. O ESP8266 IC (se você nunca ouviu falar) é um microcontrolador Wifi extremamente popular, com muitos módulos baratos no mercado. Foi originalmente usado como uma interface serial UART para microcontroladores, mas desde então foi portado para funcionar como um microcontrolador independente usando LUA ou Arduino. É um microcontrolador muito rápido que roda a 80mhz. Este é um dos meus microcontroladores favoritos para usar em projetos porque é rápido, barato e tem wifi.

Algumas versões do módulo foram lançadas, incluindo o ESP-12E e o ESP-12F (ambos em torno de US $ 2 a US $ 3) que quebram a interface SDIO. Isso foi totalmente inútil, porque a interface SDIO é usada para a memória flash.

No entanto, verifica-se que o ESP8266 é realmente um IC ESP8089 que acabou de ser renomeado. O ESP8089 é um chip wifi SDIO para tablets pequenos. Se você não puxar o GPIO 15 durante a inicialização, como faria ao executá-lo como um microcontrolador, ele será executado no modo SDIO e será basicamente um IC do ESP8089 naquele momento.

Este projeto é baseado no projeto WiFi do Hackaday.io RPi . Fiz algumas modificações para trabalhar com o novo kernel do linux no novo Raspbian e escrevi um script para automatizar completamente o processo. Para usar isso, você precisa de um módulo ESP-12E ou ESP-12F. O ESP-12F é recomendado.

Primeiro, conecte o ESP-12F assim.

insira a descrição da imagem aqui

Os resistores de 33 ohm são necessários para atingir as velocidades SDIO necessárias, portanto, não os deixe de fora. Também é melhor puxar do trilho de 5v e ter um LDO separado para o módulo ESP8266, mas puxar diretamente de um trilho de 3,3v no Raspberry pi deve funcionar bem.

SSH no seu Raspberry Pi e digite os seguintes comandos. Você pode expandir o sistema de arquivos primeiro usando raspi-config.

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

Isso vai demorar um pouco. Então apenas sente e espere, ou vá tomar um café.

Quando isso for feito, reinicie o seu Pi.

sudo reboot

Após a reinicialização, o módulo ESP8266 deve ser ativado. Você pode fazer uma verificação rápida para verificar se está funcionando.

sudo iwlist scan

Ele deve procurar redes sem fio e mostrar o que está disponível.

Agora ele funcionará como qualquer outro módulo WIFI. Felicidades.

John La Rooy
fonte
4

Checkout HubPiWi - um complemento para o Pi Zero com 3 portas USB e um Wifi integrado com antena integrada. A placa possui uma antena PCB e não requer cabo ou conector.

insira a descrição da imagem aqui

Um uso típico do HubPiWi será adicionar um teclado, um mouse e uma câmera nas três portas USB. Isso além do Wifi, é claro.

Vikas Shukla
fonte
11
Interessante, no entanto, com US $ 13, dificilmente "a maneira mais barata de obter conectividade de rede", que era a pergunta original.
Neuhaus
3

Uma resposta (agora) um tanto óbvia é obter o Raspberry Zero W (sem fio), que atualmente parece vendido por cerca de R $ 5 a mais do que um Zero normal (R $ 9 a R $ 10 atualmente na maioria dos varejistas do Reino Unido - sem pinos de cabeçalho e outros acessórios)

Isso tem vários benefícios sobre outras soluções, incluindo:

  • Está a bordo, portanto está disponível imediatamente
  • É muito compacto e pode ser mais eficiente em termos de energia do que outras soluções
  • Inclui Bluetooth.
  • Não utiliza GPIO, USB ou outros conectores no Pi
Wilf
fonte
2

Estou respondendo à minha própria pergunta com duas idéias que tenho, mas ambas as soluções são bregas (IMO) e não tão baratas (US $ 10 a 30). Espero que haja uma maneira melhor.

Conecte um adaptador micro USB a USB e:

  1. Encadeie a com um adaptador USB para Ethernet ou

  2. Coloque um dongle USB WiFi barato.

O primeiro provavelmente será o mais confiável; Eu tive azar com dongles WiFi.

Falácia lógica
fonte
Se precisar de uma lista de adaptadores Wi-Fi que deve funcionar tentar aqui
Wilf
Eu não vejo como furar em um barato dongle USB WiFi irá adicionar Ethernet :-P
Neuhaus
2

Estou atrasado para a festa e você já tem algumas opções muito baratas, mas acho que você poderá fazê-lo por menos - apenas alguns resistores - se você tiver um PC com uma porta serial sobressalente por perto. O lado do hardware é um pouco hacky, e a conexão será LENTA e você diz que quer razoavelmente rápido, mas achei que valeria a pena mencionar de qualquer maneira.

Premissa: Você pode fazer a rede em série usando o PPP (quais modems são usados ​​para se conectar ao ISP). Portanto, se conseguirmos que o Tx e o RX do Pi conversem com uma porta serial do PC, podemos fazer a rede por isso.

Como podemos conectar o Tx / Rx do Pi a uma porta RS232? As tensões são diferentes, então você pode

  1. Use um deslocador de nível, como o MAX3232, que provavelmente custará tanto quanto o adaptador de rede ou ...
  2. Vá diretamente da linha Tx do Pi para a linha Rx do PC; o PC deve ficar bem com a tensão mais baixa. Meça a voltagem que o PC gera em sua linha RS232 Tx e use um divisor de resistor para chegar a 3,3v e conecte-o à linha Rx do Pi. A especificação RS232 permite uma ampla faixa de tensões, então você não gostaria de confiar que isso é o mesmo entre os PCs.

Há um tutorial aqui que explica como fazer a parte do software.

Mark Smith
fonte
Por que não usar uma porta USB e fazer rede via USB? É mais rápido que serial e está disponível em qualquer lugar.
Neuhaus 11/10
2. Não pense que ele voará - os níveis RS232 estão igualmente espaçados em torno da tensão de aterramento e há histerese; portanto, uma tensão de entrada que alterna entre um nível positivo e o aterramento está realmente fora de especificação: um receptor desse sinal está inteiramente dentro do especificações. ignorá-lo (e RS232 é uma polaridade IIRC invertida - ie tensão mais negativa que -3,0V = marca; tensão mais positiva que 3,0V = espaço). Acontece que é por isso que havia um requisito de fornecimento de -12V para PCs mais antigos - apenas para as portas seriais, embora hoje em dia isso seja atendido por circuitos de bombas de carga como os dos CIs da série MAX.
SlySven
2

Eu tenho tentado obter internet no meu RPi zero e encontrei esta lista de adaptadores para usb http://elinux.org/RPi_USB_Ethernet_adapters um dos adaptadores é feito por Plugable http://plugable.com/2015/12/10 / ethernet-para-framboesa-pi-zero /

Configurei o cartão sd em um raspberry pi 1 porque era mais simples de configurar dessa maneira (dei um IP estático editando /etc/dhcpcd.conf). Em seguida, o adaptador Plugable funciona sem nenhum trabalho extra, basta conectá-lo e o poder e tudo funciona.

Não posso comentar se essa é uma boa solução, mas eu posso fazer o SSH e trabalhar na linha de comando sem problemas visíveis de desempenho.

ThetaSinner
fonte
2

Outra opção seria a seguinte: https://www.kickstarter.com/projects/755102253/pijack-add-ethernet-to-raspberry-pi-zero

Não é a maneira mais barata, mas com garantia de funcionamento e suporte - como qualquer outro módulo baseado na ENC28J60.

Não foi financiado, mas está disponível aqui: http://www.pijack.net

Faço parte da equipe de desenvolvimento, portanto, posso ser tendencioso!

mah
fonte
11
Esta não é uma resposta particularmente útil. Esse é um link do kickstarter que ainda nem foi totalmente financiado. Pode muito bem nem existir no que diz respeito a esta questão.
Jacobm001
11
É um projeto viável, porém, EXISTS e protótipos de design parecem funcionais - a placa adicional se conecta a um cabeçalho GPIO40 e fornece uma conexão Ethernet com fio de 10 Mbps (NÃO 100 Mbps, não Gigabit!). Dada a escala de tempo no momento em que escrevemos isso (2 meses após o lançamento do Pi Zero), a meta inicial de cerca de £ 4.5K até 20160302 poderia ser cumprida - mas a promessa de uma placa totalmente construída (£ 17 para julho de 2016, outros promessas estão disponíveis) menos o cabeçalho de 40 pinos pode ser mais do que alguns seriam necessários. OTOH se é isso que você gostaria, agradeço o cartaz para trazê-lo para a nossa atenção ...
SlySven
Atualização: eles não receberam todo o financiamento do kickstarter, mas com outras fontes eles conseguiram decolar e agora está disponível fabricado com eles PiJack, que é uma empresa da UE (NÃO do Extremo Oriente) por £ 11,49 aparentemente .. .!
SlySven
Isso significa, é claro, que você também pode usá-lo como uma segunda conexão Ethernet e teoricamente usar um modelo RPi B + ou 2 / 3B como um Firewall de hardware com fio - embora a taxa de transferência NÃO seja tão alta quanto eu possa ver.
SlySven #
1

O que faço é usar o encaminhamento de porta. Eu tenho o Pi conectado ao meu laptop como um dispositivo de rede e eu o acesso via SSH.

ssh -R 1234:182.254.218.141:80 [email protected]

Isso cria uma porta remota encaminhada para um servidor proxy (encontre uma em http://proxylist.hidemyass.com/ ou site similar) na porta 1234. A próxima etapa é adicionar o proxy APT ao arquivo / etc / apt / apt. conf (crie se não for encontrado) e escreva a seguinte linha:

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

Lucro!

Shmarkus
fonte
Eu gosto dessa sugestão. Um laptop não é barato, mas muitas pessoas os têm por aí.
Falácia lógica
como é que você conecte o Pi para o laptop como um dispositivo de rede (são várias maneiras !!)
Wilf
Eu usei um cabo USB
Shmarkus
1

Certamente não é a versão barata, mas definitivamente a mais elegante - especialmente se você precisar adicionar escudos adicionais via cabeçalho GPIO. E inclui 2 portas USB HUB.

Eu posso ser um pouco tendencioso, pois esse é provavelmente o meu produto que estou vendendo, mas é uma solução potencialmente válida:

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

Este é o meu produto, para que eu possa ser tendenciosamente competitivo!

MarcelH
fonte
Olá e bem-vindo. Observe que é necessária a divulgação completa de sua afiliação . (Seu nome de usuário sugere uma relação). Edite sua resposta.
Ghanima