Pi Zero ile ağ bağlantısı kurmanın en ucuz yolu nedir?


49

Pi Zero bir Ethernet portu ile birlikte gelmediğinden, cihaza oldukça hızlı bir ağ bağlantısı kurmanın en ucuz yolunun ne olduğunu merak ediyorum.

GÜNCELLEME

"Ağ bağlantısı" ile, bir LAN / WLAN'a bağlanmayı kastediyorum, böylece aygıtlar birbirleriyle konuşabilir, diğer aygıtlarla konuşabilir ve İnternet’e gidebilir. Örneğin, kurulumdan sonra yapabilmeliyim wget stackexchange.com. Aslında WiFi mi yoksa Ethernet mi olduğu umurumda değil, ancak Ethernet'in daha hızlı ve daha güvenilir olması gerektiğini tahmin ediyorum (yalnızca bir tahmin).

Birisi sadece bunun HDMI ile yapılıp yapılamayacağını sorduğundan , başkalarının da aynı (veya benzer) bir soruna çözüm aradığını biliyorum.


Bir sdcard ve bir ağ bağdaştırıcısı eklediğiniz zaman, maliyeti neredeyse üçe katlamakla kalmaz, aynı zamanda sadece USB portunuzu kaybetmiş olabilirsiniz.
Chris Stratton

1
Mesele nedir, @ ChrisStratton? Herhangi bir Pi'ye SD kart eklemek zorundasınız. Ek bir USB portu gerektirmeyen kullanım durumları olabilir. Ama her nasılsa ben on-board WiFi ile bir Pi görmek için yaşayacağımızı düşünüyorum ^^
Ghanima

Yanıtlar:


33

İki seçenek:

a) 2,15 $ İçin Mikro USB RJ45 adaptörü satın alın

b) 1.50 ABD Doları için USB RJ45 adaptörü ve 0.23 ABD Doları için bir Mikro USB OTG adaptörü (toplam fiyat 1,73 ABD doları)

Mobil uygulamayı kullanarak satın alırsanız, makalelerden bazıları daha ucuz olabilir.


1
Seçenek (a), ihtiyaçlarıma en iyi şekilde uyacak gibi görünüyor, ancak soruyu diğer fikirler için izleyeceğim. Bir RJ45, bir Ethernet kontrol yongası ve bir USB yongasını daha büyük Pi'lerin yaptıklarına benzer bir şekilde entegre etmenin mümkün olması gerektiğini düşünüyorum. Dün Pi 2 model B şemalarını denemeye çalıştım, ama Pi Zero şemaları olmadan, sıkıştım.
Mantıksal Hata

Pi Zero için USD5 ve Ağ için USD2 - USD2'dir. Tam çalışan 1Ghz 512MB, süper küçük Linux makinesi .. Anonsuzum ... Harika cevap
Piotr Kula

5
Lütfen b) bağdaştırıcısını (JP1082) satın almayın, bu paketlenmemiş bir çekirdekle çalışmaz ve her güncellemeden sonra çekirdeği yeniden derlemeniz gerekir.
gajdipajti

@neuhaus a seçeneğini satın alırsam, bunu bilgisayara da elektrik sağlamak için kullanabilir miyim?
Ricardo,

RD-9700 Raspbian üzerinde hiç çalışmıyor gibi görünüyor. ve görünüşe göre en kötüsü sadece USB 1.1
Piotr Kula

24

SPI üzerinden Ethernet

En ucuz yollardan biri SPI veri yolu üzerinden bir Ethernet denetleyicisi bağlamaktır. Böyle bir kontrolör, örneğin Arduino için Ethernet bağlantısı için sıklıkla kullanılan ENC28J60 olabilir . Ahududu Pi için en son Linux çekirdekleri, aygıt ağacı kaplaması olan bir sürücüye sahip. Örneğin, bkz. Https://github.com/raspberrypi/linux/issues/795

Bu çözümün avantajı, USB bağlantı noktasının kullanılabilir durumda kalmasıdır. Dezavantajı, çipin (ve SPI'nin hızının) yalnızca 10BASE-T (10 Mbps) Ethernet'i desteklemesidir.

En düşük fiyatlı komple modüller (birkaç USD) muhtemelen AliExpress'te bulunabilir: http://www.aliexpress.com/wholesale?SearchText=ENC28J60


1
Bu GPIO'yu Ethernet bağlantısı için kullanabileceğiniz çok ilginç bir alternatiftir. Tamam, HD medya akışı için harika değil ... ama eğer bir işin bir meteoroloji istasyonu veya bir CNC router ise ... mükemmel!
Piotr Kula

Bu çipi sıfıra nereye koyacaksın?
Patoshi, 33 ト シ

1
@duckx: İşte kablolama ve cihaz ağacı kaplaması kullanımına bir örnek: gajdicookbook.wordpress.com/2015/02/25/… Aynı kablolamayı kullanan bazı resimler: elektroda.pl/rtvforum/topic2950919.html (kullanılmış GPIO başlığının pimleri, Raspberry Pi'nin ilk sürümünden Pi Zero'ya kadar aynıdır).
pabouk

1
Bir ENC28J60 modülü kullanılarak normalde 300Kbayt / sn elde edilebilir. Ben şahsen bunun en iyi çözüm olduğunu düşünüyorum. ( DB18B20 sensörleri için munin düğümü çalıştıran bir A + ile eşleştirdim .)
gajdipajti

1
@gajdipajti: Artan SPI saat frekansı ile: spi-max-frequency = 20000000ortalama bant genişliği yaklaşık 540 kB / s olmalıdır: github.com/raspberrypi/linux/issues/795#issuecomment-87255295 Maalesef örneğin 1080p24 video için kabul edilebilir kalite ------ GitHub sayısında daha fazla bahsedildiği gibi, gelecekte frekansı daha da arttırmak mümkün olmalıdır - ENC28J60'a maksimum 20 MHz'e daha yakın.
pabouk

9

Benim için, Ethernet'i Sıfır'a almanın en ucuz ve en kolay yolu ana bilgisayarıma USB üzerinden geldi. Buradaki bağlantının en kolay ve en hızlı olduğunu buldum, USB0 ağ bağlantısı için statik bir IP ayarladı ve dizüstü bilgisayarımda ve masaüstümde USB'ye takıldığında SSH'nin Sıfır'a mükemmel bir şekilde çalıştığını gördüm. Windows 10'da bir USB seri port olarak geliyor, Acer RDNIS sürücüsünü belirtmeniz gerekiyor, ancak bunun ardından Windows altında da harika çalışıyor. Windows 7 ve 8 sormadan bile gördü. Umarım bu yardımcı olur. :)

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


2
Burada güncellenmiş ve basitleştirilmiş kılavuz: gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a
shrx

7

En ucuz tek koşul olsaydı böyle bir ESP8266-01 WiFi modülü ile gider biri . Toplam maliyet nakliye dahil 3,50 ABD dolarıdır. Bunların Pi ile nasıl kullanılacağını kapsayan birkaç ders vardır:

Birkaç dolar daha harcamak ve daha üst seviye ESP8266 modellerinden biriyle gitmek isteyebilirsiniz. Bu yüksek uç modüller birkaç ek avantaja sahipken, yine de 10 dolardan daha ucuza gelirken, Pi'nin yapmadığı bir ADC içeriyorlar, ESP çipindeki tüm pimleri de kırıyorlar.


Ethernet için kullanılabilecek benzer bir strateji var mı? Bir var Arduino için benzer Instructable .
Mantıksal Hata

Bahsi geçen aynı kısım (Ethernet adaptörüne seri olarak Pi ile de çalışacaktır) Bu konuyu inceleyin raspberrypi.org/forums/viewtopic.php?f=44&t=18397 . Sorunuzun bir Ethernet çözümü istediğinizi belirtmediğini unutmayın.
Steve Robillard

Ufukta bir Pi Zero + görüyorum! Vakfın Sıfır ile birlikte aldığı minimalist ve maliyet düşürücü yaklaşımın ardındaki mantığı kesinlikle anlıyorum. Ancak yakında herhangi bir zamanda WiFi'li bir Pi bulunmalıdır. İnternetten düşünün.
Ghanima

UART seri üzerinden bağlanan herhangi bir şeyin, gereksinim listesinin "makul derecede hızlı" kısmını atamadığını düşünüyorum.
Peter Green

1
@neuhaus, UART kullanıyorsanız elbette daha yavaştır. Ancak, SDIO modu kullanılarak ~ 40Mb / s rapor edilmiştir. Cevabımı
John La Rooy

6

Daha iyi bir ESP8266 çözümü, GPIO portunda bir SDIO cihazı olarak bağlamaktır.
Bu ucuz ve wifi üzerinden ~ 40Mb / s alabilirsiniz

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

Biraz tarih. ESP8266 IC (duymadıysanız), piyasadaki birçok ucuz modüle sahip son derece popüler bir Wifi mikrodenetleyicisidir. Başlangıçta mikrodenetleyiciler için bir UART seri arayüzü olarak kullanıldı, ancak o zamandan beri LUA veya Arduino kullanarak bağımsız bir mikrodenetleyici olarak çalışmak üzere taşındı. 80mhz'de çalışan çok hızlı bir mikrodenetleyicidir. Bu hızlı, ucuz ve wifi olduğu için projeler için kullandığım en sevdiğim mikrodenetleyicilerden biri.

Modülün, SDIO arayüzünü parçalayan ESP-12E ve ESP-12F (her ikisi de yaklaşık 2 - 3 $ civarında) dahil olmak üzere birkaç sürümü çıktı. Bu büyük ölçüde anlamsızdı çünkü SDIO arayüzü flash bellek için kullanılıyordu.

Bununla birlikte, ESP8266'nın gerçekte yeni markalaştırılmış bir ESP8089 IC olduğu ortaya çıktı. ESP8089, küçük tabletler için bir SDIO wifi yongasıdır. GPIO 15'i önyükleme sırasında aşağı çekmezseniz, mikrodenetleyici olarak çalıştırdığınız gibi, SDIO modunda çalışır ve temelde bu noktada bir ESP8089 IC'dir.

Bu proje Hackaday.io RPi WiFi projesine dayanmaktadır . Yeni Raspbian'daki yeni linux çekirdeği ile çalışmak için bazı değişiklikler yaptım ve süreci tamamen otomatikleştirmek için bir senaryo yazdım. Bunu kullanmak için bir ESP-12E veya ESP-12F modülüne ihtiyacınız vardır. ESP-12F önerilir.

İlk önce, ESP-12F'yi bu şekilde bağlayın.

görüntü tanımını buraya girin

Gerekli SDIO hızlarını elde etmek için 33 ohm'luk dirençler gereklidir, bu yüzden lütfen onları dışarıda bırakmamaya özen gösterin. ESP8266 modülü için 5V'lik raydan çekmek ve ayrı bir LDO'ya sahip olmak daha iyidir, ancak doğrudan Ahududu pi'deki 3.3v'lik bir raydan çekmek iyi sonuç vermelidir.

Raspberry Pi'nize SSH girin ve aşağıdaki komutları girin. Önce raspi-config kullanarak dosya sistemini genişletmek isteyebilirsiniz.

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

Bu biraz zaman alacak. Öyleyse sadece otur ve bekle, ya da bir kahve iç.

Bu yapıldığında, Pi'nizi yeniden başlatın.

sudo reboot

Yeniden başlattıktan sonra, ESP8266 modülü etkinleştirilmelidir. Çalıştığından emin olmak için hızlı bir tarama yapabilirsiniz.

sudo iwlist scan

Kablosuz ağları taramalı ve size neyin uygun olduğunu göstermelidir.

Şimdi diğer WIFI modüllerinde olduğu gibi çalışacak. Şerefe.


4

Ödeme HubPiWi - 3 USB Bağlantı Noktalı Pi Zero ve dahili Anten içeren bir bütünleşik Wifi için bir eklenti. Kartın PCB Anteni var ve gerektirmiyor ve Kablo veya Konektör.

görüntü tanımını buraya girin

HubPiWi'nin tipik bir kullanımı, üç USB portuna bir Klavye, Fare ve Kamera eklemek olacaktır. Tabii ki bu Wifi ek olarak.


1
İlginç, ancak 13 dolar zorlukla "orijinal bağlantıyı elde etmek için en ucuz ağ yolu" idi.
neuhaus

3

A (şimdi) biraz belirgin bir cevap, şu anda normal bir Sıfır'dan yaklaşık 5 £ daha fazla perakende satışa çıkacak olan Ahududu Zero W (Kablosuz) 'ı (şu anda çoğu İngiliz perakendecisinde 9 £ - 10 pound - perakende satış başlığı pimleriyle) almaktır. ve diğer aksesuarlar)

Bunun, aşağıdakiler de dahil olmak üzere diğer çözümlere göre çeşitli avantajları vardır:

  • Gemide bulunur, kutunun dışında kolayca bulunur
  • Çok kompakt ve diğer çözümlerden daha verimli olabilir
  • Bluetooth içerir.
  • Pi üzerindeki GPIO, USB veya diğer konektörleri kullanmaz

2

Kendi soruma sahip olduğum iki fikre cevap veriyorum, ancak her iki çözüm de yapışkan (IMO) ve o kadar ucuz değil (10-30 $). Umarım daha iyi bir yol vardır.

Bir mikro-USB-USB adaptörü bağlayın , ardından:

  1. USB-Ethernet adaptörüyle a zinciri veya

  2. Ucuz bir USB WiFi donanım kilidine sokun.

İlk muhtemelen en güvenilir olacak; WiFi dongles ile kötü şans oldu.


Çalışması gereken bir WiFi adaptör listesine ihtiyacınız varsa, burada
Wilf

Ucuz bir USB WiFi donanım
kilidine

2

RPI sıfıra internete girmeye çalışıyorum ve bu adaptörler listesini usb için buldum http://elinux.org/RPi_USB_Ethernet_adapters bu adaptörlerden biri Plugable http://plugable.com/2015/12/10 / ethernet-için ahududu-pi-sıfır /

SD kartını ahududu pi 1 üzerine kurdum çünkü bu şekilde kurulumu daha kolaydı (/etc/dhcpcd.conf dosyasını düzenleyerek statik bir ip verdim) Sonra Takılabilir adaptör fazladan bir çalışmaya gerek kalmadan takarsınız ve güç ve her şey çalışıyor.

Bunun iyi bir çözüm olup olmadığı hakkında yorum yapamam ama farkedilir performans sorunu yaşamadan SSH'ye girip komut satırında çalışabiliyorum.


2

Başka bir seçenek bu olacaktır: https://www.kickstarter.com/projects/755102253/pijack-add-ethernet-to-raspberry-pi-zero

En ucuz yol değil, fakat çalışması ve desteklenmesi garanti - diğer tüm ENC28J60 tabanlı modüller gibi.

Bu, finanse edilmemiş ancak burada mevcuttur: http://www.pijack.net

Geliştirme ekibinin bir parçasıyım, bu yüzden önyargılı olabilirim!


1
Bu özellikle yararlı bir cevap değil. Bu henüz tam olarak finanse edilmemiş bir tekme bağlantısı. Bu soruya gelince bile mevcut olmayabilir.
Jacobm001

1
Olsa uygulanabilir bir proje olsa da, tasarım EXISTS ve prototipleri işlevsel görünmektedir - ilave kart bir GPIO40 başlığına bağlanır ve SADECE 10Mbps (Gigabit değil!) Kablolu Ethernet bağlantısı sağlar. Bunu yazarken zaman çizelgesi göz önüne alındığında (Pi Zero'nun piyasaya sürülmesinden 2 ay sonra), 20160302 itibariyle yaklaşık 4,5 bin sterlinlik başlangıç ​​hedefi karşılanabildi; rehin verilebilir) daha az 40 Pin başlığı, bazılarının istediğinden daha fazla olabilir. OTOH, istediğin buysa, posterimize dikkatimizi çektiği için teşekkür ederim ...
SlySven

Güncelleme: Kickstarter'dan tüm fonları alamadılar , ancak diğer kaynaklarla birlikte topraktan kurmayı başardılar ve şu anda görünür durumda olan AB (Uzak Doğu değil) merkezli bir şirket olan PiJack onlardan üretilebiliyor . .!
SlySven

Bu demek oluyor ayrıca bir olarak kullanabiliriz tabii ikinci Ethernet bağlantısı ve teorik olarak kablolu Donanım Güvenlik Duvarı gibi bir RPI B + veya 2 / 3B modeli kullanmak - üretilen iş OLMAYACAK olsa o yüksek bildiğim kadarıyla gördüğünüz gibi.
SlySven

1

Partiye geç kaldım ve zaten çok ucuz seçenekleriniz var, ancak yakınlarda yedek bir seri portu olan bir bilgisayarınız varsa, bunu daha ucuza yapabileceğinizi düşünüyorum - sadece birkaç direnç - . Donanım tarafı biraz kırılgan ve bağlantı YAVAŞ olacak ve oldukça hızlı bir şekilde istediğinizi söylüyorsunuz, ama yine de bahsetmeye değer olduğunu düşündüm.

Mülkiyet: PPP'yi kullanarak IS üzerinden seri bağlantı kurabilirsiniz (hangi modemlerin ISS'ye bağlanmak için kullandığı). Böylece, Pi'nin Tx ve RX'ini bir PC seri portuyla konuşmasını sağlayabilirsek, bunun üzerine bir ağ kurabiliriz.

Pi'nin Tx / Rx'ini bir RS232 portuna nasıl bağlayabiliriz? Voltajlar farklı, yani siz de

  1. MAX3232 gibi bir seviye değiştirici kullanın, ki bu muhtemelen ağ bağdaştırıcısı kadar pahalıya mal olacak ya da ...
  2. Doğrudan Pi'nin Tx hattından PC'nin Rx hattına gidin; PC düşük voltajla iyi olmalı. PC'nin RS232 Tx hattında oluşturduğu voltajı ölçün ve 3.3v'ye almak için bir direnç bölücü kullanın ve bunu Pi'nin Rx hattına bağlayın. RS232 spec, çok çeşitli voltajlara izin verir, bu nedenle PC'ler arasında aynı olmasına güvenmek istemezsiniz.

Burada yazılımın nasıl yapılacağını açıklayan bir ders var .


Neden bir USB bağlantı noktası kullanmıyor ve USB üzerinden ağ bağlantısı yapmıyorsunuz? Seriden daha hızlı ve her yerde mevcut.
neuhaus

2. Uçacağını düşünmeyin - RS232 seviyeleri toprak voltajı etrafında eşit aralıklarla yerleştirilmiştir ve histerez vardır, bu nedenle pozitif seviye ile toprak arasında geçiş yapan bir giriş voltajı gerçekten spesifikasyon dışıdır: böyle bir sinyalin alıcısı tamamen gözünden. onu görmezden gelmek için (ve RS232 ters bir kutup IIRC'dir - yani voltaj -3.0V = işaretinden daha negatif voltaj; 3.0V = boşluktan daha pozitif voltaj). Olduğu gibi, eski PC'ler için -12V'luk bir besleme gereksinimi vardı - tamamen seri portlar için, ancak bugünlerde MAX serisi IC'lerde olduğu gibi şarj pompası devreleri tarafından karşılandı.
SlySven

1

Yaptığım şey port yönlendirme kullanmam. Dizüstü bilgisayarıma bir ağ aygıtı olarak Pi bağlı ve SSH ile erişiyorum.

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

Bu, 1234 numaralı bağlantı noktasında bir proxy sunucusuna ileriye doğru bir bağlantı noktası ( http://proxylist.hidemyass.com/ veya benzeri bir sitede bulabilirsiniz) oluşturur. Bir sonraki adım APT proxy'sini / etc / apt / apt dosyasına eklemektir . conf (bulunamadıysa oluşturun) ve aşağıdaki satırı yazın:

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

Kar!


Bu öneriyi seviyorum. Bir dizüstü bilgisayar ucuz değildir, ancak birçok insanın etrafta yatması gerekir.
Mantıksal Hata

Pi'yi dizüstü bilgisayara bir ağ aygıtı olarak nasıl bağladınız (çeşitli şekillerde !!)
Wilf

Bir USB kablosu kullandım
Shmarkus

1

Kesinlikle ucuz değil, ama kesinlikle en zarif - özellikle GPIO başlığı ile ek kalkanlar eklemeniz gerekiyorsa. Ayrıca 2 port USB HUB içerir.

Bu, belki de sattığım ürünüm olduğundan biraz önyargılı olabilirim, ancak potansiyel olarak geçerli bir çözüm:

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

Bu benim ürünüm, bu yüzden rekabetçi bir şekilde önyargılı olabilirim!


Merhaba ve hoşgeldin. Lütfen bağlantınızın tam olarak açıklanması gerektiğini unutmayın. (Kullanıcı adınız bir şekilde bir ilişki önerir). Lütfen cevabınızı düzenleyin.
Ghanima
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.