天嵌二次封装库使用手册  V2.1.2
lib_gsm.h
浏览该文件的文档.
1 
7 #ifndef LINUX_LIBV2_SOURCE_GSM_LIB_GSM_H_
8 #define LINUX_LIBV2_SOURCE_GSM_LIB_GSM_H_
9 
10 #include <stdio.h>
11 #include <stdlib.h>
12 #include <unistd.h>
13 #include <string.h>
14 #include "lib_gsm_module_setting.h"
15 
16 typedef enum
17 {
18  CMNET, // 移动2G/3G/4G
19  CMTDS, // 移动3G
20  CMLTE, // 移动4G
21  CMMTM, // 移动物联卡2G/3G
22  CMIOT, // 移动物联卡4G
23 
24  UNINET, // 联通2G
25  _3GNET, // 联通2G/3G/4G
26  WONET, // 联通4G
27  SCUIOT, // 联通物联卡
28  CUIOT, // 联通物联卡
29 
30  CTNET, // 电信2G/3G
31  CTLTE, // 电信4G
32  CTM2M // 电信物联网卡
33 } APN;
34 typedef struct
35 {
37  char at_port[30]; //"/dev/ttyUSB0"
38  char modem_port[30]; //"/dev/ttyUSB1"
39  char net_port[20]; // 网卡节点名称,如"usb0"
40  char syspath[200]; // 存储模块usb设备信息路径 如“/sys/devices/platform/soc@3000000/4200000.ehci1-controller/usb2/2-1/2-1.3"可以在该路径下找到模块各端口的设备路径
41  char sysname[20];
42 } ModuleInfo;
43 
44 #ifdef __cplusplus
45 extern "C"
46 {
47 #endif
48 
58  int DetectModule(ModuleInfo *const module, const ModuleSettingList *const list);
59 
78  int InitGSM(const ModuleInfo *const module, const char *const pin, const char *const puk, void (*infoCallback)(const char *const));
94  int GetAPN(const int fd, char *const apn, const int len);
107  int GetDriverSetting(const int fd, const ModuleInfo *const module, void (*infoCallback)(const char *const));
120  int ChangeDirverSetting(const int fd, const ModuleInfo *const module, void (*infoCallback)(const char *const));
136  int DialGSM(const int fd, ModuleInfo *module, const char *const apn,
137  const char *const user, const char *const pwd,
138  void (*infoCallback)(const char *const));
151  int DisconnectGSM(const int fd, const ModuleInfo *const module, void (*infoCallback)(const char *const));
164  int CheckConnectGSM(const int fd, const ModuleInfo *const module, void (*infoCallback)(const char *const));
177  int RestartGSM(const int fd, const ModuleInfo *const module, void (*infoCallback)(const char *const));
189  int GetRSSI(const int fd);
199  int GetCCID(const int fd, char *const ccid, const int ccidLen);
212  int ExecuteCommand(const int fd, const CommandNode *const node, void (*infoCallback)(const char *const));
213 #ifdef __cplusplus
214 }
215 #endif
216 #endif
int DisconnectGSM(const int fd, const ModuleInfo *const module, void(*infoCallback)(const char *const))
拨号断开函数
Definition: lib_gsm.h:28
int ExecuteCommand(const int fd, const CommandNode *const node, void(*infoCallback)(const char *const))
执行node->command的AT指令,并使用node->pattern的正则表达式匹配返回结果
Definition: lib_gsm.h:22
Definition: lib_gsm.h:19
int RestartGSM(const int fd, const ModuleInfo *const module, void(*infoCallback)(const char *const))
重启模块
Definition: lib_gsm.h:21
int GetCCID(const int fd, char *const ccid, const int ccidLen)
获取模块ICCID
Definition: lib_gsm.h:31
Definition: lib_gsm.h:18
int GetDriverSetting(const int fd, const ModuleInfo *const module, void(*infoCallback)(const char *const))
获取模块当前使用的拨号方式
ModuleSettingNode * setting
Definition: lib_gsm.h:36
APN
Definition: lib_gsm.h:16
Definition: lib_gsm.h:27
int GetAPN(const int fd, char *const apn, const int len)
获取APN或IMSI中的MCC,MNC。
Definition: lib_gsm.h:30
int DialGSM(const int fd, ModuleInfo *module, const char *const apn, const char *const user, const char *const pwd, void(*infoCallback)(const char *const))
拨号函数,若拨号命令列表为空,则使用PPPD进行拨号
int InitGSM(const ModuleInfo *const module, const char *const pin, const char *const puk, void(*infoCallback)(const char *const))
模块初始化
Definition: lib_gsm.h:32
int DetectModule(ModuleInfo *const module, const ModuleSettingList *const list)
根据配置单检测4G模块
Definition: lib_gsm.h:26
Definition: lib_gsm.h:25
int ChangeDirverSetting(const int fd, const ModuleInfo *const module, void(*infoCallback)(const char *const))
更改模块使用的拨号方式
Definition: lib_gsm.h:24
int GetRSSI(const int fd)
获取信号强度
int CheckConnectGSM(const int fd, const ModuleInfo *const module, void(*infoCallback)(const char *const))
检查连接状态
Definition: lib_gsm.h:20