Embedded 3G模块ppp连接后如何获得信号强度?

Embedded 3G模块ppp连接后如何获得信号强度?,embedded,Embedded,我正在使用forlinx ok6410板和3G模块 如何在ppp连接后获得Forlinx 3G模块的信号强度? 它可以通过AT(AT+CSQ)命令实现,但在ppp连接后AT无法发送,因此如何获得信号强度?不确定您的特定设备,但一般情况下,对于调制解调器AT命令集设备,您可以通过发送序列进入命令模式,同时保持连接: +++ 然后可以使用ATO命令(即A-T-Oh,而不是A-T-Zero)重新进入数据模式。如何在PPP连接中实现这一点?ppp似乎只提供连接和断开“聊天”脚本。@MarkLakata:

我正在使用forlinx ok6410板和3G模块 如何在ppp连接后获得Forlinx 3G模块的信号强度?
它可以通过AT(AT+CSQ)命令实现,但在ppp连接后AT无法发送,因此如何获得信号强度?

不确定您的特定设备,但一般情况下,对于调制解调器AT命令集设备,您可以通过发送序列进入命令模式,同时保持连接:

+++


然后可以使用ATO命令(即A-T-Oh,而不是A-T-Zero)重新进入数据模式。

如何在PPP连接中实现这一点?ppp似乎只提供连接和断开“聊天”脚本。@MarkLakata:pause+++暂停序列由调制解调器检测,并将其置于命令模式-它不会转发到链接。PPP不相关-这是关于端到端连接的建立,发生在与远程调制解调器的链路上。问题是在建立连接之后。请参阅第页中的-搜索“+++”以查找说明。“保护”时间允许您在已建立的链路内的任何时间执行此操作(当然,只要链路协议在命令会话期间没有超时)。问题是
pppd
接管到串行硬件的连接,那么如何安全地暂停PPP通信并停止pppd进程,接管串行端口,发送“(wait)+++(wait)(get OK)AT+CSQ(get response)ATO”,然后将控制权返回给
pppd
?Linux上的pppd很可能做到这一点,但这是关于Linux的问题吗?您需要在驱动程序级别提供支持,例如通过ioctl。在执行AT命令会话时,驱动程序将具有块或缓冲应用程序级数据。也许Linux已经支持这一点了——我不是Linux方面的专家。问题不一定是关于Linux,尽管我需要让它在一个嵌入式系统上工作,这个嵌入式系统在微处理器上运行Linux(基于busybox)和微控制器上运行LWIP(轻量级IP)。在本例中,我对串行端口有硬件控制(低于Linux驱动程序级别),因此我可以手动切断PPP连接并执行AT命令,但这不会很好地与PPP软件配合使用。我希望有一种被认可的方法来做这件事。