飞腾派
直播中

jf_25674040

2年用户 109经验值
擅长:可编程逻辑 MEMS/传感技术 接口/总线/驱动 控制/MCU
私信 关注
[经验]

【飞腾派4G版免费试用】给飞腾派配一个CAT4,场外也能轻松解决无网问题。

USB设备直接插上,先看看是否已经识别。
图片.png
实际为EC20但显示的是EC25也许是移远没有将两者区分,这个无关大雅。
图片.png
其实CAT4就是一个UART,通过AT指令可以实现上网。考虑到移远提供了QConnectManager_Linux_V1.6.0.16版本,直接上手搞起。
图片.png
妥妥的目录,创建build目录,cmake,make的搞起。

图片.png

quectel-CM猪脚上场。
图片.png
支持的还不少,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

图片.png

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

图片.png

根据需要打开自己想要,至于log自己搞起。

#define CONFIG_GOBINET
#define CONFIG_QMIWWAN
#define CONFIG_SIM
#define CONFIG_APN
#define CONFIG_VERSION
#define CONFIG_SIGNALINFO
#define CONFIG_CELLINFO
//#define CONFIG_COEX_WWAN_STATE
#define CONFIG_DEFAULT_PDP 1
#define CONFIG_IMSI_ICCID
#define QUECTEL_UL_DATA_AGG
//#define QUECTEL_QMI_MERGE
#define REBOOT_SIM_CARD_WHEN_APN_CHANGE
//#define REBOOT_SIM_CARD_WHEN_LONG_TIME_NO_PS 60 //unit is seconds
//#define CONFIG_QRTR
//#define CONFIG_ENABLE_QOS
//#define CONFIG_REG_QOS_IND
//#define CONFIG_GET_QOS_INFO
//#define CONFIG_GET_QOS_DATA_RATE

搞完了,搞个开机自启啥的,保证一直在线。
图片.png
开启服务

$ sudo systemctl start quectel_4g.service 
$ sudo systemctl status quectel_4g.service

妥妥的运行起来了。

图片.png
日志也是刷刷的记录着。

图片.png

回帖(1)

旧念

2023-12-15 16:54:43
举报

更多回帖

发帖
×
20
完善资料,
赚取积分