EC600U 模块同时支持蓝牙和 4G,请教一下,如果 4G 比如 mqtt 正在发布消息,此时有一条蓝牙消息需要发送,两条消息都丢给模块的话,发送会有问题,该如何避免这种问题,我能想到要错开发送,但是该间隔多长时间呢,或者如何判断 4G 或者蓝牙消息已经发送,从而开始新消息的发送?我试着通过判断模块的反应信息来判断消息发送完成,比如我通过 at 指令将消息发给模块,模块响应 ok,然后我再通过 at 指令将 mqtt 消息发给模块,此时的结果可能是两条消息都没有发送成功。不知道 cmux 能否解决此类问题
发AT命令的是单片机吗?如果能搞定CMUX肯定最好,单片机上搞定CMUX可能会比较麻烦。
正常发送AT指令,不要让串口进入透传模式,两条指令之间应该没影响。
对的,是单片机。您是说按照模块实现来说,即便是几乎同时通过 at 指令向模块发送 mqtt 消息和蓝牙数据,理论上也不会冲突,不影响两条消息的发送对吗
只要上一条指令成功返回了,就可以继续执行下一条指令。
不要这条指令执行完,都还没收到“OK”就尝试去发下一条指令。
再请教一下,像 mqtt 发送,at 指令发给模块,模块除了返回 ok 以外,还会返回一个发送成功与否的结果,像这种是收到 ok 就可以继续发送其他消息,还是需要等到模块返回结果之后才可以发送下一条消息
至少是等返回OK. 否则都无法判断哪条指令返回了。有些指令AT串口还会进入透传模式,这时候就无法继续发送AT了,退出透传模式还是会返回OK。
请问一下,AT+QMTPUBEX发布mqtt消息,如果发布的时候恰巧mqtt连接断开了,模块会响应ERROR,此时如果重新发布消息,会一直ERROR,这是不是就像你说的进入透传模式了呢,如果是透传的话该如何处理?等待模块返回OK再重新发送吗?我尝试发送+++想退出透传模式,但是没有效果,我的模块是EC600U