
上一期我们拆开了无线模块的“五脏六腑”把硬件从头到尾看了个遍。这些模块就是用在你身边的物联网设备里的工厂的传感器、仓库的电子标签、园区的智能表计……它们需要无线通信而通信的质量就取决于模块背后的“协议栈”。有读者后台留言说“硬件我懂了但你说的‘协议栈’到底是什么为什么有的模块只能透传有的却能自组网”这个问题问到了核心。打个比方硬件是人的身体协议栈是人的大脑和神经系统。身体再强壮大脑不行也干不了复杂的事。今天我们先来聊聊为什么有的模块只能“喊一嗓子”一、先看一个场景想象一下广场上站着100个人你想把一句话告诉其中某个人。怎么办你只能扯着嗓子喊“张三你在吗”但问题是其他人也都在喊。你听不清张三有没有回你也不知道他听没听见。广场上乱成一锅粥。这就是透传模块的工作方式只管喊不管乱。二、透传模块的4个“硬伤”透传模块的工作逻辑很简单收到什么就发什么。听起来很直接问题也出在这里。① 没有地址不知道发给谁透传模块没有“地址”这个概念。它不知道数据从哪来也不知道要送到哪去。要么广播给所有人要么事先固定配对A只发给B。网络里有10个设备想让A发给C抱歉做不到。除非你重新配对。通俗理解你写了一封信但信封上没写地址。邮递员不知道送给谁要么给所有人看要么只给固定一个人你想换个人重新写。② 没有路由不知道怎么走透传模块不支持多级中继。A和C距离太远中间需要一个B帮忙转一下抱歉透传模块不会“转”。信号传不到就是传不到。通俗理解你想从北京去上海但中间有个收费站。透传模块不会“过收费站”信号到这就停了。你只能自己想办法再装一个模块重新配。③ 没有防碰撞人多就乱两个设备同时发数据会发生什么冲突数据丢失。设备越多冲突越严重。3个设备还凑合10个设备频繁丢包50个设备基本不可用。通俗理解广场上两个人同时喊还能勉强听清十个人同时喊谁也听不清一百个人同时喊全是噪音。④ 没有确认发完不管透传模块发完数据就完了。对方收到没有不知道。没收到怎么办不会重发。你需要自己在应用层做确认、做重试、做超时全部是你的工作量。通俗理解你把信扔进邮筒就走了。对方收没收到不知道。没收到怎么办你再写一封。邮局不管。三、一张图看懂透传模块一句话总结你喊一嗓子它帮你传一嗓子。至于谁在喊、喊给谁、有没有人同时喊、对方听没听见一概不管。四、小结透传模块仅此而已透传模块不是不能用。如果你的场景很简单只有几个设备距离很近数据量很少不怕丢包有人随时去现场处理问题那透传模块够用也便宜。但如果你要部署几十上百个设备距离远、有遮挡数据不能丢不想天天跑现场透传模块就不够了。那怎么办下一期我们来看看ZigBee类组网方案它比透传强在哪里又有什么新问题。如果你正在选型无线模块纠结于“透传够不够用”或“组网方案怎么选”欢迎后台留言我们可以帮你评估方案。