USB设备直接插上,先看看是否已经识别。
实际为EC20但显示的是EC25也许是移远没有将两者区分,这个无关大雅。
其实CAT4就是一个UART,通过AT指令可以实现上网。考虑到移远提供了QConnectManager_Linux_V1.6.0.16版本,直接上手搞起。
妥妥的目录,创建build目录,cmake,make的搞起。
quectel-CM猪脚上场。
支持的还不少,log能搞起还是不错的,但是log多该怎么搞,没回滚机制感觉还是不妥,一言不合就是改。尝试过rsylog,但回滚上不大好用,搞个log4cplus试试。
代码走起,配置加安装:
1. tar -xf log4cplus-2.0.8.tar.xz
2. mkdir -p log4cplus-2.0.8/build
3. cd log4cplus-2.0.8/build
4. ../configure --prefix=/usr/local/log4cplus-2.0.8
5. make
6. sudo make install
CmakeLists.txt加入配置
set(LOG4CPLUS_INC_DIR "/usr/local/log4cplus-2.0.8/include")
set(LOG4CPLUS_LIB_DIR "/usr/local/log4cplus-2.0.8/lib")
include_directories(${LOG4CPLUS_INC_DIR})
include_directories("/usr/include")
link_directories(${LOG4CPLUS_LIB_DIR})
link_libraries(log4cplus)
给log搞个初始化,1个存IMSI,ICCID啥啥的,一个存所有。
#include "log4cplus_app.h"
#include <stdarg.h>
#include <stdio.h>
#include <log4cplus/logger.h>
#include <log4cplus/configurator.h>
#include <log4cplus/helpers/loglog.h>
#include <log4cplus/helpers/stringhelper.h>
#include <log4cplus/helpers/fileinfo.h>
#include <log4cplus/loggingmacros.h>
#include <log4cplus/initializer.h>
#include <thread>
#ifdef __cplusplus
extern "C"
{
#endif
log4cplus::Logger logger;
static char sprint_buf[4096];
void log4cplus_init(void)
{
log4cplus::Initializer initializer;
}
void log4cplus_log(char *fmt, ...)
{
va_list args;
log4cplus::PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT("/opt/quectel/4g/log4cplus.properties"));
logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("quetecl"));
va_start(args, fmt);
vsprintf(sprint_buf, fmt, args);
LOG4CPLUS_WARN(logger, sprint_buf);
va_end(args);
}
void log4cplus_fru_log(char *fmt, ...)
{
va_list args;
log4cplus::PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT("/opt/quectel/4g/log4cplus.properties"));
logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("quetecl_fru"));
va_start(args, fmt);
vsprintf(sprint_buf, fmt, args);
LOG4CPLUS_WARN(logger, sprint_buf);
va_end(args);
}
#ifdef __cplusplus
}
#endif
根据需要打开自己想要,至于log自己搞起。
#define CONFIG_GOBINET
#define CONFIG_QMIWWAN
#define CONFIG_SIM
#define CONFIG_APN
#define CONFIG_VERSION
#define CONFIG_SIGNALINFO
#define CONFIG_CELLINFO
#define CONFIG_DEFAULT_PDP 1
#define CONFIG_IMSI_ICCID
#define QUECTEL_UL_DATA_AGG
#define REBOOT_SIM_CARD_WHEN_APN_CHANGE
搞完了,搞个开机自启啥的,保证一直在线。
开启服务
$ sudo systemctl start quectel_4g.service
$ sudo systemctl status quectel_4g.service
妥妥的运行起来了。
日志也是刷刷的记录着。
|