《ARM Linux开发-warewin 2G/3G无线传输(DTU)和路由器—笔记》
对于3G/4G无线设备的无线信号质量需要经常查询,用来排除网络效果不好的问题。一般无线模块都有查询信号质量的指令,发出指令,模块响应,就可以知道无线设备所在环境的信号质量。
我们3G路由的信号质量的查询由以下步骤实现的:
1、WEB页面的状态页面添加信号质量的查询,显示内容为后台处理的动态函数。
2、WEB服务器后台处理增加动态查询信号函数ej_read_siganl(),实现功能是时打开/tmp/module_singnal文件,读出该文件当前存储的信号值,将值输出到WEB页面。
3、进程名为read_signal,主要功能是每隔30秒打开模块AT指令串口,发送AT+CSQ命令,截取返回值中的信号值并写到/tmp/module_singnal文件中。
4、因为使用模块的AT指令口查询信号,而条件触发功能也是打开AT指令口,同时2个进程都打开AT指令口会引起冲突,所以使用条件触发功能时不开启查信号质量的功能。
信号质量的查询需要的资源:
Web页面显示
保存信号质量的文件
持续读取模块信号质量的进程
通过USB虚拟串口向模块发出查询指令