求助:寻找一个,有线协议,要求通讯距离在 100 米左右,的总线协议(类似 I2C)

2024-08-17 21:27:48 +08:00
 zhimo08

场景:智能家居的有线通讯协议,实现一线多连,全屋传输信号( 100M 足够用)。

线路大约是双绞线,可以带有直流电源的一组线。

类似 I2C 协议,但是 I2C 协议通讯距离不到 10M 。

热插拔协议、至少能实现树状连接。

2189 次点击
所在节点    程序员
14 条回复
lingex
2024-08-17 21:38:07 +08:00
双绞线 485 比较合适,热插拔没试过不太确定,连接通常是总线型。
Od37v61n5s89gXx8
2024-08-17 21:40:32 +08:00
CAN 啊,冲突检测自动重传,最长能到 10 公里(低速率),最高能到 5M
sagaxu
2024-08-17 21:51:10 +08:00
RS-485 或 CAN
fengtons
2024-08-18 00:00:34 +08:00
rs485 最简单了,就是差分传输的串口,可以去到 1 公里,一对多的话可能要自己想办法实现了
someonesnone
2024-08-18 00:17:39 +08:00
485 can lin
someonesnone
2024-08-18 00:19:02 +08:00
还有最新的 two wire ethernet 似乎是这么叫 100BaseT1 2-Wire Automotive Ethernet provides 100MBPS connections over simple twisted 2 wires for a distance of up to 15 meters. The line signaling on the wire is not directly compatible with traditional 100BaseTX (RJ45)
yolee599
2024-08-18 02:28:13 +08:00
can 协议啊,比 rs485 功能更完善
iseki
2024-08-18 02:41:15 +08:00
@yolee599 can 是不是给不了这么远
2xvaHoK2LGxQ29R5
2024-08-18 03:26:47 +08:00
别的不说,光是"可以带有直流电源的一组线。"这个要求就不太靠谱,100 米要能有直流电源驱动,光线上面的能量耗损就已经相当可观了。
一般网线也好或者是其他电介质传输编码都是要保证直流平衡的,除了降低误码率的一个重要原因就是不要产生因为传输电产生的功率负载。
2xvaHoK2LGxQ29R5
2024-08-18 03:33:52 +08:00
另外与其追求链路层面的总线功能,不如转成逻辑总线,即局部设备通过 I2C,zigbee 或者其他链路链接到边缘网关节点,然后各网关节点通过 TCPIP/MQTT 或者其他的协议链接通过网线到核心节点,然后可以通过 HA 等解决方案对于每个边缘网关节点进行控制,从而实现整体依然是逻辑总线协议控制,但是只有边缘到局部设备为真正 I2C 等物理总线协议
2xvaHoK2LGxQ29R5
2024-08-18 03:37:37 +08:00
主要是一线多联的可靠性很低,一旦你这条线任意点位断掉那么立马整个总线结构就完蛋了
R4rvZ6agNVWr56V0
2024-08-18 04:44:35 +08:00
misericorde
2024-08-18 09:28:28 +08:00
需要注意的是无论 CAN 还是 RS485 ,均要求总线是“一条”而非树状,挂在总线上的设备到总线本身的距离(叫做 stub length )不能太长,最好控制在 50cm 以内。可以搜一下 CAN bus topology 及 CAN bus stub length 。
si
2024-08-18 11:53:59 +08:00
485 就可以了吧,不过还是直接走网络比较方便。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1065782

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX