主站的逻辑:
决定标签测距的时间槽位信息;
决定多个站测距过程中回复A包的时序;
从站的逻辑:
根据从站的内部序号,决定测距过程中回复A包的时序;
方案:
一、开机上电同步主站tick,并收集基站列表:
1. 开机上电后,即发上线通知, 只有主站回复自己的tick;
2. 如果超时20ms 没有收到主站回复的SYNC,则决定自己就是主站;
3. 收到主站回复的SYNC ,以及包括主站的tick,则同步tick,计算主站到从站的距离,如果超过400m(避免超过区域的主站交叉覆盖的情况发生),则设置自己为主,否则设置为从站;
二、定时周期同步tick:
每个站都是2s定期广播发送tick同步包,根据tick时间戳大小决定谁是主站;
如果超过3次没有收到任何同步tick的数据包,则自动决定自己为主站,能解决比方主站下电了的情况,将备站自动升级为主站!
选主策略:根据ID号大小决定谁是主,这样,每次选主都能稳定的选出固定的主站,而不是来回切换主站!
缺点是:主站一直是主站,可能在相同区域的超过测距要求的基站就得不到工作的机会!
优化点:
主站决定哪个从站作为可工作的从站,这样有了负载均衡的味道!
-------------------广告线---------------
项目、合作,欢迎勾搭,邮箱:promall@qq.com
本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com