将网络连接到Pi Zero的最便宜方法是什么?


49

由于Pi Zero没有配备以太网端口,我想知道最便宜的方法是获得与设备的快速网络连接吗?

更新

“网络连通性”是指连接到LAN / WLAN,以便这些设备可以相互通信,与其他设备通信并可以访问Internet。例如,设置后我应该可以wget stackexchange.com。我实际上并不在乎它是WiFi还是以太网,但是我猜测以太网应该更快,更可靠(只是一个猜测)。

有人问过HDMI是否可以解决这个问题,所以我知道其他人正在寻找解决相同(或相似)问题的解决方案。


到您添加sdcard和网络适配器时,不仅成本增加了近两倍,而且您可能失去了唯一的USB端口。
克里斯·斯特拉顿

1
有什么意思,@ ChrisStratton?您必须将SD卡添加到任何Pi。在某些情况下,不需要额外的USB端口。但是无论如何,我认为我们将活在板上看到带有WiFi的Pi ^^
Ghanima

Answers:


33

两种选择:

a)以2.15美元的价格购买Micro USB RJ45适配器

b)USB RJ45适配器为1.50美元微型USB OTG适配器为0.23美元(总价格为1.73美元)

如果您使用移动应用程序购买某些商品,它们可能会更便宜。


1
选项(a)看起来最适合我的需求,但是我将监视该问题的其他想法。我觉得应该可以像大型Pi一样集成RJ45,以太网控制器芯片和USB芯片。我昨天尝试过看过Pi 2模型B的原理图,但是如果没有Pi Zero原理图,我就有些困惑。
逻辑谬论2015年

Pi 5为USD5,网络为+-USD2。可以正常工作的1Ghz 512MB,超小型Linux计算机。.我无语...很好的答案
Piotr Kula

5
请不要购买b)适配器(JP1082),它不适用于未修补的内核,并且每次更新后都必须重新编译内核。
gajdipajti 2015年

@neuhaus如果我购买选件a,我也可以用它为计算机供电吗?
里卡多

RD-9700似乎根本无法在Raspbian上运行。最糟糕的是它唯一的USB 1.1
Piotr Kula

24

SPI上的以太网

最便宜的方法之一是通过SPI总线连接以太网控制器。例如,这种控制器可以是ENC28J60,通常用于Arduino的以太网连接。Raspberry Pi的最新Linux内核具有带设备树覆盖的驱动程序。参见例如https://github.com/raspberrypi/linux/issues/795

该解决方案的优点是USB端口将保持可用状态。缺点是该芯片(以及SPI的速度)仅支持10BASE-T(10 Mbps)以太网。

价格最低(几美元)的完整模块可能会在速卖通上找到:http : //www.aliexpress.com/wholesale? SearchText=ENC28J60


1
这是一个非常有趣的选择,您可以使用GPIO进行以太网连接。好的,它不适合流式传输高清媒体...但是,如果它所做的只是气象站或CNC路由器,那就太好了!
Piotr Kula 2015年

您会在哪里将该芯片归零?
Patoshiパトシ

1
@duckx:以下是连接和使用设备树覆盖的示例:gajdicookbook.wordpress.com/2015/02/25/…以下是使用相同连接的一些图片:elektroda.pl/rtvforum/topic2950919.html(已使用GPIO接头的GPIO引脚与第一个版本的Raspberry Pi相同,直到Pi Zero)。
pabouk

1
使用ENC28J60模块通常可以达到300Kbyte / sec。我个人认为这是最好的解决方案。(我将其与一个A +配对,该A + 为DB18B20传感器运行了munin节点。)
gajdipajti 2015年

1
@gajdipajti:随着SPI时钟频率的增加:spi-max-frequency = 20000000平均带宽应约为540 kB / s:github.com/raspberrypi/linux/issues/795#issuecomment-87255295不幸的是,如果您考虑例如1080p24视频,这不足以流式传输可接受的质量。------正如GitHub问题中进一步提到的那样,将来应该可以进一步提高频率-接近ENC28J60的最大20 MHz。
pabouk

9

对我而言,将以太网连接到零的最便宜,最简单的方法是通过USB连接到主机。我发现这里的链接是最简单,最快的,为USB0网络连接设置了一个静态IP,当将其插入笔记本电脑和台式机上的USB时,它非常适合SSH归零。在Windows 10上,它确实作为USB串行端口出现,您必须指定Acer RDNIS驱动程序,但在Windows下也可以正常使用。Windows 7和Windows 8甚至没有询问就看到了它。希望这会有所帮助。:)

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


2
更新和简化的指南在这里:gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a
shrx

7

如果最便宜的是唯一的要求,我会去与ESP8266-01 WiFi模块这样的一个。总费用为$ 3.50美元,包括运费。有一些教程介绍如何在Pi上使用它们:

您可能需要多花一些钱,再选择一种高端ESP8266型号。这些高端模块还有一些其他好处,尽管价格仍不到10美元,但它们包含一个Pi所没有的ADC,它们还从ESP芯片上引出了所有引脚。


有没有可以用于以太网的类似策略?Arduino也有类似的Instructable
逻辑谬误2015年

提到的同一部分(串行到以太网适配器也可以与Pi一起使用)。检查此线程raspberrypi.org/forums/viewtopic.php?f=44&t=18397。请注意,您的问题并未提及您需要以太网解决方案。
史蒂夫·罗比拉德

我在地平线上看到Pi Zero +!好吧,我肯定理解基金会采用零成本的极简主义和低成本方法的基本原理。但是很快就应该有一个带有WiFi的Pi。想想物联网。
加纳玛

我认为任何通过UART串行连接的东西都无法通过需求列表的“非常快”部分。
彼得·格林

1
@neuhaus,如果使用UART,当然会慢一些。但是据报道,使用SDIO模式约为40Mb / s。看看我的回答
John La Rooy

6

更好的ESP8266解决方案是将其作为SDIO设备连接到GPIO端口。
这很便宜,可以通过wifi达到〜40Mb / s

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

一点历史。ESP8266 IC(如果您尚未听说过)是一种非常受欢迎的Wifi微控制器,具有市场上许多便宜的模块。它最初用作微控制器的UART串行接口,但此后已移植到使用LUA或Arduino的独立微控制器中。这是一个非常快的微控制器,运行速度为80MHz。这是我最喜欢用于项目的微控制器之一,因为它速度快,价格便宜并且具有wifi。

该模块的一些版本已经问世,其中包括打破了SDIO接口的ESP-12E和ESP-12F(均为$ 2-3)。这在很大程度上没有意义,因为SDIO接口用于闪存。

然而,事实证明,ESP8266实际上是刚刚更名的ESP8089 IC。ESP8089是用于小型平板电脑的SDIO wifi芯片。如果您不像启动微控制器那样在启动时拉低GPIO 15,它将在SDIO模式下运行,此时基本上是ESP8089 IC。

该项目基于Hackaday.io RPi WiFi项目。我对新的Raspbian中的新Linux内核进行了一些修改,并编写了脚本以完全自动化该过程。要使用此功能,您需要一个ESP-12E或ESP-12F模块。建议使用ESP-12F。

首先,像这样连接ESP-12F。

在此处输入图片说明

为了达到所需的SDIO速度,必须使用33欧姆的电阻,因此请不要将其遗漏。从5v供电轨中拉出并为ESP8266模块配备一个单独的LDO更好,但直接从Raspberry pi上的3.3v供电轨中拉应该可以正常工作。

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-带有3个USB端口的Pi Zero板载板和带板载天线的集成Wifi。该板具有PCB天线,不需要电缆和连接器。

在此处输入图片说明

HubPiWi的典型用法是在三个USB端口上添加键盘,鼠标和摄像头。当然,这是除Wifi之外的。


1
有趣的是,最初的问题是,13美元的价格几乎不是“获得网络连接的最便宜的方式”。
neuhaus

3

一个(现在)有些明显的答案是获得Raspberry Zero W(无线),它目前的零售价比正常的Zero 英镑)(大多数英国零售商目前的零售价为£9到£10)高出约5 英镑-不含排针和其他配件)

与其他解决方案相比,它具有多种优势,包括:

  • 随身携带,因此开箱即用
  • 非常紧凑,并且可能比其他解决方案更省电
  • 包括蓝牙。
  • 不占用Pi上的GPIO,USB或其他连接器

2

我用两个想法回答我自己的问题,但两个解决方案都是俗气的(IMO),而且价格也不便宜($ 10-30)。我希望有更好的方法。

连接微型USB到USB适配器,然后:

  1. 与USB转以太网适配器链接,或

  2. 插入便宜的USB WiFi加密狗。

第一个可能是最可靠的;WiFi加密狗给我带来了不幸。


如果您需要可以使用的WiFi适配器列表,请在这里
Wilf

我看不到如何在廉价的USB WiFi软件狗中添加以太网:-P
neuhaus,2015年

2

我一直在尝试将RPi的Internet设置为零,并找到此用于USB的适配器列表 http://elinux.org/RPi_USB_Ethernet_adapters 其中一个适配器由Plugable http://plugable.com/2015/12/10制成 /以太网的树莓派零/

我在树莓派1上设置了sd卡,因为这样设置起来比较简单(我通过编辑/etc/dhcpcd.conf为它提供了静态ip),然后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接头并仅提供10Mbps(不是100 Mbps,不是千兆!)有线以太网连接。鉴于在撰写本文时的时间规模(Pi Zero发布2个月后),可以实现20160302年前的约4.5K英镑的启动目标-但承诺建造一个完整的主板(2016年7月为17英镑,其他可以使用)少于40针的接头可能比某些接头要多。OTOH,如果您
要这样做

更新:他们并没有从kickstarter获得所有资金,但是他们设法与其他来源合作,现在可以从他们那里购买到PiJack的产品,PiJack是一家总部位于欧盟(非远东)的公司,价格为11.49英镑。 。!
SlySven '16

当然,这的确意味着您也可以将其用作第二个以太网连接,并且理论上可以将RPi B +或2 / 3B模型用作有线硬件防火墙-尽管吞吐量不会达到我所看到的那么高。
SlySven '16

1

我参加聚会的时间很晚,您已经有了一些非常便宜的选择,但是我认为,如果您附近有一台带有备用串行端口的PC,那么您可以用更少的钱做这件事-只需几个电阻。硬件方面有点笨拙,连接速度很慢,您的确说要快速,但我还是认为值得一提。

前提:您可以使用PPP(调制解调器用来连接ISP的方式)通过串行网络进行连接。因此,如果我们可以让Pi的Tx和RX与PC串行端口通信,则可以通过它进行网络连接。

我们如何将Pi的Tx / Rx连接到RS232端口?电压不同,所以您可以

  1. 使用电平转换器,例如MAX3232,可能会花费您与网络适配器相同的价格,或者...
  2. 直接从Pi的Tx线转到PC的Rx线;电压较低时,PC应该可以正常工作。测量PC在其RS232 Tx线上产生的电压,并使用电阻分压器将其提高到3.3v,然后将其连接到Pi的Rx线上。RS232规范允许多种电压,因此您不希望依赖于PC之间的电压相同。

有一个教程在这里解释如何做软件的一部分。


为什么不使用USB端口并通过USB进行联网?它比串行速度快,并且随处可用。
neuhaus

2.不要以为它会飞-RS232电平在地电压周围等距分布,并且存在迟滞,因此输入电压在正电平和地之间切换确实超出规格范围:此类信号的接收器完全在眼镜。忽略它(而RS232是反向极性IIRC-即电压比-3.0V负负=标记;电压比3.0V负正=空格)。碰巧的是,这就是为什么较旧的PC需要-12V电源的原因-纯串行端口的要求,尽管如今通过MAX系列IC中的电荷泵电路已可以满足该要求。
SlySven

1

我要做的是使用端口转发。我将Pi作为网络设备连接到笔记本电脑,并通过SSH访问它。

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

这将在端口1234上创建转发到代理服务器(在http://proxylist.hidemyass.com/或类似站点上找到一个)的远程端口。下一步是将APT代理添加到文件/ etc / apt / apt中。 conf(如果找不到则创建)并编写以下行:

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

利润!


我喜欢这个建议。笔记本电脑并不便宜,但是很多人都在闲逛。
逻辑谬论

您如何将Pi作为网络设备连接到笔记本电脑(它们有多种方式!)
Wilf

我使用了USB电缆
Shmarkus

1

当然不是便宜的版本,但绝对是最优雅的版本-特别是如果您需要通过GPIO接头添加附加的屏蔽。并包括2端口USB HUB。

我可能有点偏见,因为这可能是我要出售的产品,但这是一个潜在的有效解决方案:

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

这是我的产品,所以我可能会在竞争中有偏见!


你好,欢迎光临。请注意,必须完全披露您的隶属关系。(您的用户名有点暗示一种关系)。请修改您的答案。
加纳玛
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.