arduino - 创建网络适配器 - 有多难?

标签 arduino ethernet

关闭。这个问题是off-topic .它目前不接受答案。












想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。

10年前关闭。




Improve this question




我有兴趣在 Arduino 之上构建一个小型(商业)设备.我希望它能够与网络连接。网络如标准以太网、Cat5、RJ-45 等。

我知道有一个Ethernet Shield ,但它的成本甚至比 Arduino 本身还要高,而且相当大。自然,我希望我的设备尽可能小且尽可能便宜。

所以我正在考虑自己重新创建一个以太网模块。问题是——我对以太网没有任何经验,也不知道从哪里开始寻找。因此,我什至不能说我的想法是否可行。

最终,我希望该设备具有三个端口 - 一个用于输入信号,两个用于输出,因此该设备本质上是一个小开关,它也可以插入其中。切换能力不需要非常快——数据量会很低。 10Mbit绰绰有余,甚至可以更慢。

如果这是不可能的,用于控制设备本身的单个端口也可以。

我正在考虑的另一种可能性是电力线通信——通过电力线发送信息。这是我没有经验的另一个领域。我应该查看哪些硬件,在哪里可以找到有关必要软件的信息?

那么 - 谁能告诉我这些想法是否可行,如果是的话 - 我应该从哪里开始寻找?

最佳答案

这是可行的,但您需要深入研究网络堆栈的第 2 层,特别是如果您想构建一个微型交换机。如果您避开第 3 层,您可以避免实现自己的 IP 堆栈,这将是一个主要的痛苦。

我建议从完全了解第 2 层的工作原理开始,从上到下。一旦您牢牢掌握了正在发生的事情,尤其是关于以太网规范,那么您就可以担心如何在 Arduino 上执行此操作。我对 Arduino 没有太多经验,但我的一个 friend 几周前在 FPGA 上实现了第 2 层硬件停止等待协议(protocol),所以你至少应该能够得到一些滚动。不过,除非你有一个相当快的时钟,否则你可能无法超过 10 Mbit。

关于arduino - 创建网络适配器 - 有多难?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1017005/

相关文章:

c++ - 如果 arduino-ide 之前没有打开连接,则无法使用 QSerialPort 与 arduino 通信

c++ - 从 EEPROM 读取字符串时 ArduinoJson 解析失败

networking - 如何与STM32微 Controller 连接以太网?

python - 为什么将 14 个字节的随机数据附加到原始以太网帧?

linux - 给定一个 IP 地址,在同一子网中查找接口(interface)

python - 通过 pyserial 接收多个值并在 Python GUI 中显示

c++ - 在 Arduino 中使用访问器方法传递数据

c - 响应某些命令的 Sketch 是如何完成的?

arduino - Arduino Ethernet 的库 IPAddress() 有什么好处?

c# - 串行到以太网 (TCP) 字节传输的显着延迟?