Cách rẻ nhất để có được kết nối mạng với Pi Zero là gì?


49

Vì Pi Zero không đi kèm với cổng Ethernet, tôi tự hỏi đâu là cách rẻ nhất để có được kết nối mạng nhanh với thiết bị?

CẬP NHẬT

Theo "kết nối mạng", ý tôi là kết nối với mạng LAN / WLAN, vì vậy các thiết bị có thể nói chuyện với nhau, nói chuyện với các thiết bị khác và truy cập Internet. Ví dụ, sau khi thiết lập tôi sẽ có thể wget stackexchange.com. Tôi thực sự không quan tâm đó là WiFi hay Ethernet, nhưng tôi đoán rằng Ethernet sẽ nhanh hơn và đáng tin cậy hơn (chỉ là phỏng đoán).

Có người chỉ hỏi liệu điều này có thể được thực hiện với HDMI không , vì vậy tôi biết những người khác đang tìm giải pháp cho cùng một vấn đề (hoặc tương tự).


Vào thời điểm bạn đã thêm một thẻ sdcard và bộ điều hợp mạng, không chỉ có chi phí gần gấp ba, mà bạn có khả năng bị mất cổng USB duy nhất của mình.
Chris Stratton

1
Điểm gì, @ChrisStratton? Bạn sẽ phải thêm thẻ SD vào bất kỳ Pi nào. Và có thể có những trường hợp sử dụng sẽ không cần thêm cổng USB. Nhưng dù sao tôi nghĩ chúng ta sẽ sống để thấy một Pi có WiFi trên tàu ^^
Ghanima

Câu trả lời:


33

Hai lựa chọn:

a) Mua bộ chuyển đổi Micro USB RJ45 với giá 2,15 đô la

b) Bộ chuyển đổi USB USB với giá $ 1,50bộ chuyển đổi Micro USB OTG với giá $ 0,23 (tổng giá $ 1,73)

Một số bài viết có thể rẻ hơn nếu bạn mua chúng bằng ứng dụng di động.


1
Tùy chọn (a) có vẻ phù hợp với nhu cầu của tôi nhất, nhưng tôi sẽ theo dõi câu hỏi cho các ý tưởng khác. Tôi cảm thấy có thể tích hợp một loại RJ45, chip điều khiển Ethernet và chip USB theo cách tương tự như những gì Pi lớn hơn làm. Tôi đã thử đi qua sơ đồ Pi 2 mô hình B ngày hôm qua, nhưng không có sơ đồ Pi Zero, tôi hơi bị kẹt.
Ngụy biện hợp lý

5 USD cho Pi Zero và + - USD2 cho Mạng. Một máy Linux 1Ghz 512 MB hoạt động đầy đủ, siêu nhỏ .. Tôi không nói nên lời ... Câu trả lời tuyệt vời
Piotr Kula

5
Vui lòng không mua bộ điều hợp b) (JP1082), nó sẽ không hoạt động với kernel chưa được xử lý và bạn phải biên dịch lại kernel sau mỗi lần cập nhật.
gajdipajti

@neuhaus Nếu tôi mua tùy chọn a, tôi có thể sử dụng nó để cung cấp điện cho máy tính không?
Ricardo

RD-9700 dường như không hoạt động trên Raspbian. và tệ nhất trong tất cả là USB 1.1 duy nhất của nó
Piotr Kula

24

Ethernet qua SPI

Một trong những cách rẻ nhất là kết nối bộ điều khiển Ethernet qua bus SPI. Một bộ điều khiển như vậy có thể là ví dụ ENC28J60 thường được sử dụng để kết nối Ethernet cho Arduino. Các nhân Linux mới nhất cho Raspberry Pi có trình điều khiển với lớp phủ cây thiết bị. Xem ví dụ https://github.com/raspberrypi/linux/issues/795

Ưu điểm của giải pháp này là cổng USB sẽ vẫn có sẵn. Một bất lợi là chip (và tốc độ của SPI) chỉ hỗ trợ Ethernet 10BASE-T (10 Mbps).

Có thể tìm thấy các mô-đun hoàn chỉnh với giá thấp nhất (vài USD) trên AliExpress: http : //www.al.co.com/wh Wholesale?SearchText=ENC28J60


1
Đây là một giải pháp thay thế rất thú vị, nơi bạn có thể sử dụng GPIO để có kết nối Ethernet. OK, nó không tuyệt vời để phát trực tuyến phương tiện HD ... nhưng nếu tất cả những gì nó làm là một trạm thời tiết hoặc bộ định tuyến CNC ... thì tuyệt vời!
Piotr Kula

bạn sẽ đặt con chip này ở đâu?
Patoshi パ ト

1
@duckx: Đây là một ví dụ về hệ thống dây điện và sử dụng lớp phủ cây thiết bị: gajdicookbook.wordpress.com/2015/02/26/ Đây là một số hình ảnh sử dụng cùng một hệ thống dây: elektroda.pl/rtvforum/topic2950919.html (được sử dụng các chân của tiêu đề GPIO giống nhau từ phiên bản đầu tiên của Raspberry Pi cho đến Pi Zero).
pabouk

1
Thông thường có thể đạt được 300Kbyte / giây bằng mô-đun ENC28J60. Tôi nghĩ cá nhân nó là giải pháp tốt nhất. (Tôi đã ghép nối nó với A + chạy nút munin cho các cảm biến DB18B20 .)
gajdipajti

1
@gajdipajti: Với tần số xung nhịp SPI tăng: spi-max-frequency = 20000000băng thông trung bình nên ở khoảng 540 kB / s: github.com/raspberrypi/linux/issues/795#issuecomment-87255295 Thật không may nếu bạn xem xét video 1080p24 thì điều này không đủ để phát trực tuyến chất lượng chấp nhận được. ------ Như đã đề cập sâu hơn trong vấn đề GitHub, trong tương lai có thể tăng tần số hơn nữa - gần với mức tối đa ENC28J60 là 20 MHz.
pabouk

9

Đối với tôi, cách rẻ nhất và dễ nhất để đưa Ethernet về Zero là qua USB đến máy chủ của tôi. Tôi thấy liên kết ở đây là dễ nhất và nhanh nhất, đặt IP tĩnh cho kết nối mạng USB0 và nó hoạt động hoàn hảo cho SSH thành Zero khi cắm vào USB trên máy tính xách tay và máy tính để bàn của tôi. Trên windows 10, nó xuất hiện dưới dạng cổng nối tiếp USB, bạn phải chỉ định trình điều khiển Acer RDNIS nhưng sau đó cũng hoạt động tốt dưới cửa sổ. Windows 7 và 8 chỉ nhìn thấy nó mà không cần hỏi. Hy vọng điều này sẽ giúp. :)

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


2
Hướng dẫn cập nhật & đơn giản hóa tại đây: gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a
shrx

7

Nếu giá rẻ nhất là yêu cầu duy nhất tôi sẽ đi với một mô-đun ESP8266-01 WiFi như thế này một . Tổng chi phí $ 3,50 US bao gồm cả vận chuyển. Có một vài hướng dẫn về cách sử dụng chúng với Pi:

Bạn có thể muốn chi thêm một vài đô la và đi với một trong những mô hình ESP8266 cao cấp hơn. Các mô-đun cao cấp này có một số lợi ích bổ sung, trong khi vẫn có giá dưới 10 đô la, chúng có chứa một thứ ADC mà Pi không có, chúng cũng phá vỡ tất cả các chân từ chip ESP.


Có một chiến lược tương tự có thể được sử dụng cho Ethernet không? Có một hướng dẫn tương tự cho Arduino .
Ngụy biện hợp lý

Cũng một phần được đề cập (một bộ chuyển đổi nối tiếp sang Ethernet cũng sẽ hoạt động với Pi) Kiểm tra chủ đề này raspberrypi.org/forums/viewtopic.php?f=44&t=18394 . Lưu ý câu hỏi của bạn không đề cập đến việc bạn muốn có giải pháp Ethernet.
Steve Robillard

Tôi thấy một Pi Zero + ở đường chân trời! Chà, tôi chắc chắn hiểu được lý do đằng sau cách tiếp cận tối giản và tiết kiệm chi phí mà Quỹ đã thực hiện với Zero. Nhưng cần sớm có một Pi với WiFi trên tàu bất cứ lúc nào. Hãy suy nghĩ về Internet.
Ghanima

Tôi nghĩ rằng bất cứ điều gì được kết nối qua UART serial đều thất bại trong phần "nhanh chóng hợp lý" trong danh sách yêu cầu.
Peter Green

1
@neuhaus, tất nhiên là chậm hơn nếu bạn đang sử dụng UART. Nhưng ~ 40Mb / s đã được báo cáo bằng chế độ SDIO. Xem câu trả lời của tôi
John La Rooy

6

Một giải pháp ESP8266 tốt hơn là kết nối nó như một thiết bị SDIO trên cổng GPIO.
Điều này là không tốn kém và có thể giúp bạn ~ 40Mb / giây qua wifi

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

Một ít lịch sử. IC ESP8266 (nếu bạn chưa nghe về nó) là một vi điều khiển Wifi cực kỳ phổ biến với nhiều mô-đun giá rẻ trên thị trường. Ban đầu nó được sử dụng như một giao diện nối tiếp UART cho các bộ vi điều khiển, nhưng sau đó đã được chuyển sang hoạt động như một bộ vi điều khiển độc lập sử dụng LUA hoặc Arduino. Nó là một vi điều khiển rất nhanh chạy ở tốc độ 80 mhz. Đây là một trong những bộ vi điều khiển yêu thích của tôi để sử dụng cho các dự án vì nó nhanh, rẻ và có wifi.

Một vài phiên bản của mô-đun đã xuất hiện bao gồm cả ESP-12E và ESP-12F (cả khoảng $ 2- $ 3) phá vỡ giao diện SDIO. Điều này phần lớn là vô nghĩa, vì giao diện SDIO được sử dụng cho bộ nhớ flash.

Tuy nhiên, nó chỉ ra rằng ESP8266 thực sự là một IC ESP8089 vừa được đổi thương hiệu. ESP8089 là chip wifi SDIO dành cho máy tính bảng nhỏ. Nếu bạn không kéo GPIO 15 xuống khi khởi động, như khi bạn chạy nó dưới dạng vi điều khiển, nó sẽ chạy ở chế độ SDIO và về cơ bản là IC ESP8089 tại thời điểm đó.

Dự án này dựa trên dự án Hackaday.io RPi WiFi . Tôi đã thực hiện một số sửa đổi để làm việc với hạt nhân linux mới trong Raspbian mới và tôi đã viết một tập lệnh để tự động hóa hoàn toàn quy trình. Để sử dụng điều này, bạn cần một mô-đun ESP-12E hoặc ESP-12F. Nên sử dụng ESP-12F.

Đầu tiên, nối dây cho ESP-12F như thế này.

nhập mô tả hình ảnh ở đây

Các điện trở 33 ohm là cần thiết để đạt được tốc độ SDIO cần thiết, vì vậy xin vui lòng không bỏ chúng ra. Cũng tốt hơn khi kéo từ đường ray 5v và có LDO riêng cho mô-đun ESP8266, nhưng kéo trực tiếp từ đường ray 3,3v trên Raspberry pi sẽ hoạt động tốt.

SSH vào Raspberry Pi của bạn và nhập các lệnh sau. Bạn có thể muốn mở rộng hệ thống tập tin trước bằng cách sử dụng raspi-config.

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

Điều này sẽ mất một thời gian. Vì vậy, chỉ cần ngồi và chờ đợi, hoặc đi lấy một tách cà phê.

Khi đã xong, khởi động lại Pi của bạn.

sudo reboot

Sau khi khởi động lại, mô-đun ESP8266 sẽ kích hoạt. Bạn có thể thực hiện quét nhanh để đảm bảo nó đang hoạt động.

sudo iwlist scan

Nó sẽ quét các mạng không dây và cho bạn thấy những gì có sẵn.

Bây giờ nó sẽ hoạt động giống như bất kỳ mô-đun WIFI khác. Chúc mừng.


4

Thanh toán HubPiWi - một tiện ích bổ sung trên bo mạch cho Pi Zero với 3 cổng USB và Wifi tích hợp với ăng ten trên bo mạch. Bảng mạch có Anten PCB và không yêu cầu và Cáp hoặc Đầu nối.

nhập mô tả hình ảnh ở đây

Một cách sử dụng điển hình của HubPiWi sẽ là thêm Bàn phím, Chuột và Máy ảnh trên ba cổng USB. Điều này là ngoài Wifi, tất nhiên.


1
Thật thú vị, tuy nhiên ở mức $ 13 hầu như không phải là "cách rẻ nhất để có được kết nối mạng", đó là câu hỏi ban đầu.
neuhaus

3

Một câu trả lời khá rõ ràng (bây giờ) là lấy Raspberry Zero W (Không dây), hiện tại dường như bán lẻ với giá khoảng 5 bảng so với một Zero bình thường (9 đến 10 bảng hiện tại trên hầu hết các nhà bán lẻ ở Anh - chân tiêu đề và các phụ kiện khác)

Điều này có nhiều lợi ích hơn các giải pháp khác, bao gồm:

  • Là trên tàu, vì vậy có sẵn ra khỏi hộp dễ dàng
  • Rất nhỏ gọn và có thể tiết kiệm điện hơn các giải pháp khác
  • Bao gồm Bluetooth.
  • Không sử dụng hết GPIO, USB hoặc các đầu nối khác trên Pi

2

Tôi đang trả lời câu hỏi của riêng mình với hai ý tưởng mà tôi có, nhưng cả hai giải pháp đều khó khăn (IMO) và không rẻ (10-30 đô la). Tôi hy vọng có một cách tốt hơn.

Kết nối bộ chuyển đổi micro-USB-USB , sau đó:

  1. Xâu chuỗi a bằng bộ chuyển đổi USB sang Ethernet hoặc

  2. Dán trong một USB WiFi giá rẻ.

Đầu tiên có thể sẽ là đáng tin cậy nhất; Tôi đã gặp xui xẻo với WiFi dongle.


Nếu bạn cần một danh sách các bộ điều hợp WiFi nên hoạt động, hãy thử tại đây
Wilf

Tôi không thấy cách gắn vào một chiếc USB WiFi giá rẻ sẽ thêm Ethernet :-P
neuhaus

2

Tôi đã cố gắng truy cập Internet trên RPi zero của mình và tìm thấy danh sách các bộ điều hợp cho usb http://elinux.org/RPi_USB_Ethernet_ad chương này, một trong những bộ điều hợp được tạo bởi Plugable http://plugable.com/2015/12/10 / ethernet-for-the-raspberry-pi-zero /

Tôi đã thiết lập thẻ sd trên raspberry pi 1 vì nó đơn giản hơn để thiết lập theo cách đó (Tôi đã cho nó một ip tĩnh bằng cách chỉnh sửa /etc/dhcpcd.conf) Sau đó, bộ điều hợp Plugable hoạt động mà không cần làm thêm, bạn chỉ cần cắm nó và sức mạnh trong và mọi thứ hoạt động.

Không thể nhận xét liệu đây có phải là một giải pháp tốt hay không nhưng tôi có thể SSH và làm việc trên dòng lệnh mà không có vấn đề về hiệu suất đáng chú ý nào.


2

Một tùy chọn khác sẽ là: https://www.kickstarter.com/projects/755102253/pijack-add-ethernet-to-raspberry-pi-zero

Không phải là cách rẻ nhất, nhưng được đảm bảo để hoạt động và được hỗ trợ - như mọi mô-đun dựa trên ENC28J60 khác.

Điều này chưa được tài trợ nhưng có sẵn ở đây: http://www.pijack.net

Tôi là một phần của nhóm phát triển nên tôi có thể bị thiên vị!


1
Đây không phải là một câu trả lời đặc biệt hữu ích. Đó là một liên kết kickstarter thậm chí chưa được tài trợ đầy đủ. Nó cũng có thể không tồn tại xa như câu hỏi này.
Jacobm001

1
Mặc dù đây là một dự án khả thi, thiết kế EXISTS và các nguyên mẫu có vẻ hoạt động - bảng bổ trợ kết nối với tiêu đề GPIO40 và cung cấp kết nối Ethernet có dây CHỈ 10Mbps (Không phải 100 Mbps, không phải Gigabit!). Với thời gian tại thời điểm viết bài này (2 tháng sau khi phát hành Pi Zero), mục tiêu khởi động khoảng 4,5 nghìn bảng vào năm 20160302 có thể được đáp ứng - nhưng cam kết cho một bảng được xây dựng hoàn chỉnh (17 bảng cho tháng 7 năm 2016, khác cam kết có sẵn) ít hơn 40 Tiêu đề pin có thể nhiều hơn một số tiêu đề sẽ đi. OTOH nếu đây là những gì bạn muốn, tôi cảm ơn người đăng đã chú ý đến chúng tôi ...
SlySven

Cập nhật: họ đã không nhận được tất cả tài trợ từ kickstarter nhưng với các nguồn khác họ đã xoay sở để đưa nó ra khỏi mặt đất và hiện tại nó được sản xuất từ ​​họ PiJack , một công ty có trụ sở tại EU (KHÔNG phải Viễn Đông) với giá £ 11,49 .. .!
SlySven

Nó không có nghĩa là, tất nhiên là bạn cũng có thể sử dụng nó như là một thứ hai kết nối Ethernet và về mặt lý thuyết sử dụng một RPi B + hoặc 2 / mô hình 3B như một phần cứng có dây Firewall - mặc dù thông sẽ KHÔNG được rằng cao như xa như tôi có thể nhìn thấy.
SlySven

1

Tôi đến bữa tiệc muộn, và bạn đã có một số tùy chọn rất rẻ, nhưng tôi nghĩ bạn có thể làm điều đó với giá rẻ hơn - chỉ cần một vài điện trở - nếu bạn có một PC có cổng nối tiếp dự phòng gần đó. Phần cứng là một chút hack, và kết nối sẽ SLOW và bạn nói bạn muốn nhanh chóng hợp lý, nhưng tôi nghĩ rằng dù sao nó cũng đáng được đề cập.

Tiền đề: Bạn có thể thực hiện nối mạng qua nối tiếp bằng cách sử dụng PPP (modem nào sử dụng để kết nối với ISP). Vì vậy, nếu chúng ta có thể khiến Tx và RX của Pi nói chuyện với cổng nối tiếp PC, chúng ta có thể kết nối qua đó.

Làm cách nào chúng ta có thể kết nối Tx / Rx của Pi với cổng RS232? Các điện áp là khác nhau, vì vậy bạn có thể

  1. Sử dụng bộ dịch mức, chẳng hạn như MAX3232, có thể sẽ khiến bạn tốn nhiều tiền như bộ điều hợp mạng hoặc ...
  2. Đi trực tiếp từ dòng Tx của Pi đến dòng Rx của PC; PC sẽ ổn với điện áp thấp hơn. Đo điện áp mà PC tạo ra trên đường dây Tx RS232 của nó và sử dụng bộ chia điện trở để đưa nó lên 3,3v và kết nối điện áp đó với đường dây Rx của Pi. Thông số kỹ thuật RS232 cho phép một loạt các điện áp, vì vậy bạn sẽ không muốn dựa vào điều này giống nhau giữa các PC.

Có một hướng dẫn ở đây giải thích cách thực hiện phần mềm.


Tại sao không sử dụng cổng USB và kết nối mạng qua USB? Nó nhanh hơn nối tiếp và có sẵn ở mọi nơi.
neuhaus

2. Đừng nghĩ rằng nó sẽ bay - Các mức RS232 cách đều nhau xung quanh điện áp mặt đất và có độ trễ do đó việc chuyển đổi điện áp đầu vào giữa mức dương và mặt đất thực sự nằm ngoài đặc điểm kỹ thuật: một bộ thu tín hiệu như vậy hoàn toàn nằm trong thông số kỹ thuật. để bỏ qua nó (và RS232 là một IIRC phân cực ngược - tức là điện áp âm hơn -3.0V = mark; điện áp dương hơn 3.0V = không gian). Vì đó là lý do tại sao có yêu cầu cung cấp -12V cho các PC cũ - hoàn toàn cho các cổng nối tiếp, mặc dù ngày nay được đáp ứng bởi các mạch bơm sạc như các IC trong dòng MAX.
SlySven

1

Những gì tôi làm là tôi sử dụng cổng chuyển tiếp. Tôi có Pi được kết nối với máy tính xách tay của tôi như một thiết bị mạng và tôi truy cập nó qua SSH.

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

Điều này tạo ra một cổng từ xa chuyển tiếp đến một máy chủ proxy (tìm một trên http://proxylist.hidemyass.com/ hoặc trang web tương tự) trên cổng 1234. Bước tiếp theo là thêm proxy APT vào tệp / etc / apt / apt. conf (tạo nếu không tìm thấy) và viết dòng sau:

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

Lợi nhuận!


Tôi thích đề nghị này. Một máy tính xách tay không rẻ, nhưng nhiều người có chúng nằm xung quanh.
Ngụy biện hợp lý

Làm thế nào bạn kết nối Pi với máy tính xách tay như một thiết bị mạng (chúng là nhiều cách khác nhau !!)
Wilf

Tôi đã sử dụng cáp USB
Shmarkus

1

Chắc chắn không phải là phiên bản giá rẻ, nhưng chắc chắn là thanh lịch nhất - đặc biệt nếu bạn cần thêm các lá chắn bổ sung thông qua tiêu đề GPIO. Và bao gồm 2 cổng USB HUB.

Tôi có thể hơi thiên vị vì đây có thể là sản phẩm của tôi mà tôi đang bán, nhưng nó là một giải pháp hợp lệ:

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

Đây là sản phẩm của tôi vì vậy tôi có thể bị thiên vị!


Xin chào và chào mừng. Xin lưu ý rằng việc tiết lộ đầy đủ về liên kết của bạn là bắt buộc. (Tên người dùng của bạn phần nào gợi ý một mối quan hệ). Vui lòng chỉnh sửa câu trả lời của bạn.
Ghanima
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.