查看: 10545|回复: 24

M5310A LWM2M协议 NB 通讯 关于下发指令的相关问题

[复制链接]

2

主题

14

帖子

46

积分

新手上路

Rank: 1

积分
46
发表于 2019-1-18 16:11:09 | 显示全部楼层 |阅读模式
1.关于execute 和 write 都可以及时下发 和 缓存下发指令,也测试过 模组是可以收到下发的命令的 ,这两者的区别是什么呢?既然都可以下发数据,这两个不是有点重复了么。
2.关于下行命令的接收时间问题,使用的平台是ONENET, 使用的模组是PSM模式,只有在上传数据的情况下才唤醒,连接基站,按理说连接基站后,下行的命令应该是可以很快到达模组了,但是有的时候,需要等待好长一段时间才能收到下行命令,有的时候甚至这一次唤醒就没有收到下行命令,这是为什么呢?


回复

举报

0

主题

16

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2019-1-24 16:02:45 | 显示全部楼层
machao070 发表于 2019-1-22 11:51
首先  OPEN 这句话 等了多少时间?  还是 OPEN这句话 从模组里面出来的反馈信息是什么? 打出来!  看下  ...

这是错误时反打印和打印的信息

0

主题

16

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2019-1-24 16:00:52 | 显示全部楼层
machao070 发表于 2019-1-22 11:51
首先  OPEN 这句话 等了多少时间?  还是 OPEN这句话 从模组里面出来的反馈信息是什么? 打出来!  看下  ...

这是错误时打印的反馈信息

1

主题

102

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
发表于 2019-1-23 11:10:49 | 显示全部楼层
machao070 发表于 2019-1-23 09:50
还有这种情况 怎么避免呢! 要是这样的话 感觉单片机程序时序有点乱啊!
还有 有没有 屏蔽+MIPLOBSERVE,+ ...

这个不乱吧,模组收到消息确实是应该丢给mcu的,并且这些也不重复啊。看你这两条命令的msgid不一样,不是同一条命令赛。正确回复完上一条命令,是会下发下一条的。  如果因为回复延迟,收到的重试包,可以根据msgid去重。

1

主题

102

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
发表于 2019-1-23 11:03:04 | 显示全部楼层
machao070 发表于 2019-1-23 09:25
恩 可能是在对接电信平台的时候并不需要回复下发的命令  或者 模组 自行解决了这个问题 所以 没有意识到U ...

回不回复是根据报文类型来判断,CON需要,NON不需要。

1

主题

102

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
发表于 2019-1-23 10:50:38 | 显示全部楼层
machao070 发表于 2019-1-23 09:22
恩恩  好的哇 我整点图片帮我分析一下!  首先 我使用的是PSM模式!  使用API调用的缓存execute下发的命 ...

如果没有回复execute的话,平台是会重试的,重试的次数根据你设置的timeout,如果为默认25s的话,设备应该会收到3条execute的。

idle下,平台下发即时命令可能会失败。目前,5min左右没有消息交互,核心网会回收资源,导致找不到设备。建议使用缓存命令,等待设备上行触发消息,然后下发。

2

主题

14

帖子

46

积分

新手上路

Rank: 1

积分
46
 楼主| 发表于 2019-1-23 09:50:07 | 显示全部楼层
无标题1.png 李春 发表于 2019-1-22 17:39
相同点:两个命令都会向设备写入值
不同点:write类型,设备只是写入。execute类型,设备会执行命令,并 ...

还有这种情况 怎么避免呢! 要是这样的话 感觉单片机程序时序有点乱啊!
还有 有没有 屏蔽+MIPLOBSERVE,+MIPLDISCOVER的指令呀!

或者通过模组可以先把下发来的指命令缓存下来(应答模组代劳),单片机通过AT指令来获取下发的数据呢!


还请大佬指导!

2

主题

14

帖子

46

积分

新手上路

Rank: 1

积分
46
 楼主| 发表于 2019-1-23 09:25:54 | 显示全部楼层
李春 发表于 2019-1-22 17:43
童鞋,建议好好公关下TCP和UDP的异同点哈  当你百度完了,你就会打通任督二脉了 ...

恩 可能是在对接电信平台的时候并不需要回复下发的命令  或者 模组 自行解决了这个问题 所以 没有意识到UDP的下发命令需要回复的!

2

主题

14

帖子

46

积分

新手上路

Rank: 1

积分
46
 楼主| 发表于 2019-1-23 09:22:28 | 显示全部楼层
李春 发表于 2019-1-22 17:39
相同点:两个命令都会向设备写入值
不同点:write类型,设备只是写入。execute类型,设备会执行命令,并 ...

恩恩  好的哇 我整点图片帮我分析一下!  首先 我使用的是PSM模式!  使用API调用的缓存execute下发的命令“111”!按照道理说 在使用AT+MIPLOPEN指令进行登录onenet的,之后平台会回复资源订阅的相关消息+MIPLOBSERVE,+MIPLDISCOVER,并且还会下发一条execute的命令。当我没有使用AT+MIPLEXECUTE应答的话,按道理说是会继续下发的呀,为什么就不下发了呢!
受累帮我分析下这个!

(PSSM模式在idle的情况下使用的是3分钟,还有在空闲的时候不是也可以收到下发的命令么)

无标题.png

1

主题

102

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
发表于 2019-1-22 17:43:16 | 显示全部楼层
machao070 发表于 2019-1-22 11:56
还有明明是UDP传输的东西 怎么要弄成了跟TCP似的! 还需要回复!

童鞋,建议好好公关下TCP和UDP的异同点哈  当你百度完了,你就会打通任督二脉了

1

主题

102

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
发表于 2019-1-22 17:39:50 | 显示全部楼层
machao070 发表于 2019-1-22 11:53
别沉呀   !   问下大佬们    write  和  execute 区别是什么呀!

还有感觉 onenet平台下发数据不稳定呀! ...

相同点:两个命令都会向设备写入值
不同点:write类型,设备只是写入。execute类型,设备会执行命令,并检查执行结果。

下发不稳定,要整点具体的东西塞哦  随口就说,小心告你污蔑

比如nbiot,是很可能出现丢包,以及时延过长,造成超时。这是由于nb网络特性造成的,和平台无关哈

0

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2019-1-18 20:55:35 | 显示全部楼层
你好,请问你用的是 5310A模块么

2

主题

14

帖子

46

积分

新手上路

Rank: 1

积分
46
 楼主| 发表于 2019-1-18 21:17:56 | 显示全部楼层
188******** 发表于 2019-1-18 20:55
你好,请问你用的是 5310A模块么

恩 是5310a

0

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2019-1-19 10:21:48 | 显示全部楼层
能否分享下代码,用的是32么,这是我邮箱,1443897147@qq.com,谢谢

0

主题

16

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2019-1-19 16:02:27 | 显示全部楼层
最近也在调试M5310A基于stm32f103的程序,在串口助手AT指令已完全调通,可进行数据上传更新,但编写完程序,在程序中跑时偶尔会成功,大多数时间流程跑到这条指令时AT+MIPLOPEN=0,3000,30会出现重复发送,从而导致数据更新错误,楼主有没有遇到此问题,可否加qq:460919975,分析一下?

2

主题

14

帖子

46

积分

新手上路

Rank: 1

积分
46
 楼主| 发表于 2019-1-21 09:46:47 | 显示全部楼层
liuyaowan 发表于 2019-1-19 16:02
最近也在调试M5310A基于stm32f103的程序,在串口助手AT指令已完全调通,可进行数据上传更新,但编写完程序 ...

你应该等待服务器回复的观察者信息后 在进行收发操作!

10

主题

135

帖子

422

积分

中级会员

Rank: 3Rank: 3

积分
422
发表于 2019-1-21 15:58:13 | 显示全部楼层
liuyaowan 发表于 2019-1-19 16:02
最近也在调试M5310A基于stm32f103的程序,在串口助手AT指令已完全调通,可进行数据上传更新,但编写完程序 ...

AT+MIPLOPEN=0,3000,30,注册指令后,要多等几秒,建议3s以后,平台会下发MIPLOBSERVE,MIPLDISCOVER。+MIPLOBSERVE:0,51443,1,3200,0,-1+MIPLDISCOVER:0,51444,3200


0

主题

16

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2019-1-21 17:40:53 | 显示全部楼层
machao070 发表于 2019-1-21 09:46
你应该等待服务器回复的观察者信息后 在进行收发操作!

这是打印和反打印信息,  就在AT+MIPLOPEN=0,6000,200这里会出错。

b09a63df98056e101827ba0ce0f6539.png
889f8dd663c31c521d70daa4905514e.png
7e1105f136fbc1d38d94f9a2aa4ccfe.png
3d2befddc977e4512508ca1408af659.png

0

主题

16

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2019-1-21 17:41:58 | 显示全部楼层
yangzhouzheng 发表于 2019-1-21 15:58
AT+MIPLOPEN=0,3000,30,注册指令后,要多等几秒,建议3s以后,平台会下发MIPLOBSERVE,MIPLDISCOVER。+M ...

这是打印和反打印信息,  就在AT+MIPLOPEN=0,6000,200这里会出错

2

主题

14

帖子

46

积分

新手上路

Rank: 1

积分
46
 楼主| 发表于 2019-1-22 11:51:54 | 显示全部楼层
liuyaowan 发表于 2019-1-21 17:41
这是打印和反打印信息,  就在AT+MIPLOPEN=0,6000,200这里会出错

首先  OPEN 这句话 等了多少时间?  还是 OPEN这句话 从模组里面出来的反馈信息是什么? 打出来!  看下 是超时了 还是错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表