关于无线通信时(lora)多点对单点同时发送的冲突规避
[复制链接]
张亚飞
提问时间:2017-9-1 10:39 /
问答
是否解决:
最近用stm32 做物联网lora这一块,本来已经做好了。拿到现场测试时发现问题了,就是标题说的,没有考虑点现场有多个发射点,因为程序都是一样的,定时1s同时发送,就导致接收端只能匹配上一个或者两个点。截图是lora配置时的一些参数,我这两天查资料有了一些方案比如更改载波频率,扩频因数,或者硬件在通信时先对码再通信,再或者软件上发送时加个ms级的随机延时函数。初做物联网有很多问题不知道各位物联网达人是怎么处理和解决的,希望各位大神不吝指导,学习学习。
微信æªå¾_20170901103204.png (26.69 KB, 下载次数: 118)
下载附件
保存到相册
2017-9-1 10:37 上传
赞 0
收藏 0
评论25
分享
发布时间:2017-9-1 10:39
举报
请先登录后回复
25个回答
kylongmu
回答时间:2017-9-3 23:59:31
a0a.1 288b0c
本帖最后由 kylongmu 于 2017-9-4 00:03 编辑
首先得说明白你的End Device是Class A还是Class B
如果是A,那么不可能出现你说的问题,因为是由网关Class C主动发送下行数据,A的上行窗口紧跟下行数据窗口后,因此只需要C类轮询A类就行。
如果是B,C类会定时发送beacon,两个beacon间会划分为4096个时间片。可以把前8个时间片作为B类初始化窗口,初始化时网关给分配一个未占用时间片地址,以后该End Device就以分配的时间片通信。由于安装时不会同时间初始化,或者即使有冲突,由于逐渐有成功初始化的退出竞争,初始化时间片会恢复秩序。这种BC类间的通讯策略是需要你程序实现来维护的。如果你的End Device也设置为C类,那么你就最好只当点对点用,想实现多设备公用是需要自己实现互斥的。
赞
0
评论
回复
支持
反对
kylongmu
回答时间:2017-9-5 02:41:18
a0a.1 288b0c
看来你是想节省Lora Gateway的费用,确实semtech搞个方案还单独弄个Gateway的1301芯片组,目前光射频部分都接近1000块,还不包括主控CPU实现。
可以考虑自己做Gateway,用Class C来做。
End device用Class A,如果每个模块上带一个GPS,就能解决同步问题,各自的延迟通信间隙就好划分。否则真得设计个机制实现。
赞
0
评论
回复
支持
反对
wofei1314
回答时间:2017-9-1 13:35:28
a0a.1 288b0c
个人小建议
采用应答机制,如果发起方发出,规定时间内内衣应答,说明数据丢失,(暂定为50ms的超时时间),然后随机延时1-100ms,重发数据,直到应答为止...
假设,某时刻,多点对一点同时发送,可能会一个都不成功,然后等50ms,每个发送的设备都检测到通信无应答,然后延迟随机时间,避免同时刻数据竞争....
赞
0
评论
回复
支持
反对
moyanming2013
回答时间:2017-9-1 11:27:36
a0a.1 288b0c
LoRa你走在了前列。
你看看标准文档,是否有关于广播、握手或类似的描述。
赞
0
评论
回复
支持
反对
张亚飞
回答时间:2017-9-1 11:36:39
a0a.1 288b0c
moyanming2013 发表于 2017-9-1 11:27
LoRa你走在了前列。
你看看标准文档,是否有关于广播、握手或类似的描述。 ...
lora仅是无线通信中的一种,像蓝牙wifi zigbee等应该都会遇到类似于一主多从等冲突的时候。寻求一种成熟的解决方案。
赞
0
评论
回复
支持
反对
freeelectron
回答时间:2017-9-1 11:41:04
a0a.1 288b0c
我猜楼主不是LoRaWAN,
如果频点一样的话,干扰是必然存在的
1、可以采用轮询的方式上报数据,也就是TDMA方式
2、使用不同的频点
赞
0
评论
回复
支持
反对
张亚飞
回答时间:2017-9-1 12:35:19
a0a.1 288b0c
freeelectron 发表于 2017-9-1 11:41
我猜楼主不是LoRaWAN,
如果频点一样的话,干扰是必然存在的
1、可以采用轮询的方式上报数据,也就是TDMA方 ...
轮询的方式在这个项目中不可行,上报的数据里边包含状态信息所以需要周期上传。
您说的不同的频点指的是什么? 载波频率吗?
赞
0
评论
回复
支持
反对
freeelectron
回答时间:2017-9-1 12:41:09
a0a.1 288b0c
张亚飞 发表于 2017-9-1 12:35
轮询的方式在这个项目中不可行,上报的数据里边包含状态信息所以需要周期上传。
您说的不同的频点指的是 ...
就是频率
如果不用轮询,那干扰就是不可避免的,
赞
0
评论
回复
支持
反对
张亚飞
回答时间:2017-9-1 12:50:16
a0a.1 288b0c
freeelectron 发表于 2017-9-1 12:41
就是频率
如果不用轮询,那干扰就是不可避免的,
好的,谢谢。
赞
0
评论
回复
支持
反对
青云LI
回答时间:2017-9-1 15:31:02
a0a.1 288b0c
看你接收端用的是什么模块咯
赞
0
评论
回复
支持
反对
张亚飞
回答时间:2017-9-1 16:06:54
a0a.1 288b0c
wofei1314 发表于 2017-9-1 13:35
个人小建议
采用应答机制,如果发起方发出,规定时间内内衣应答,说明数据丢失,(暂定为50ms的超时时间) ...
您说的这个相当于在随机延时的基础上加了重发机制,我试一试。
赞
0
评论
回复
支持
反对
wofei1314
回答时间:2017-9-1 16:46:11
a0a.1 288b0c
张亚飞 发表于 2017-9-1 16:06
您说的这个相当于在随机延时的基础上加了重发机制,我试一试。
恩,希望有帮助~
赞
0
评论
回复
支持
反对
zcarl
回答时间:2017-9-1 17:10:48
a8a.1 288b0c
张亚飞 发表于 2017-9-1 16:06
您说的这个相当于在随机延时的基础上加了重发机制,我试一试。
相当于以太网CSMA/CD带冲突检测的载波侦听多路访问技术。你可以查看CSMA/CD算法,借鉴一下。
赞
0
评论
回复
支持
反对
张亚飞
回答时间:2017-9-4 09:29:35
a0a.1 288b0c
kylongmu 发表于 2017-9-3 23:59
首先得说明白你的End Device是Class A还是Class B
如果是A,那么不可能出现你说的问题,因为是由网关Class ...
我很明显用的不是loraWAN。
赞
0
评论
回复
支持
反对
12 / 2 页下一页