#ifndef __CELLULAR_Hx__ #define __CELLULAR_Hx__ enum { //genernal cmd AT_CMD_AT=0, //测试命令 AT_CMD_ATI, //显示MT的ID信息 AT_CMD_GMI, //请求制造商信息 AT_CMD_GMM, //请求TA型号ID AT_CMD_GMR, //请求TA固件版本ID AT_CMD_CGMI, //同GMI AT_CMD_CGMM, //同GMM AT_CMD_CGMR, //同GMR AT_CMD_GSN, //请求国际移动设备识别码(IMEI) AT_CMD_CGSN, //同GSN AT_CMD_AT_F, //重置AT命令设置为出厂设置 AT_CMD_AT_V, //显示当前配置 AT_CMD_AT_W, //存储当前设置到用户自定义配置文件 AT_CMD_ATZ, //从用户定义配置文件还原所有AT命令设置 AT_CMD_ATQ, //设置结果码回显模式 AT_CMD_ATV, //TA响应格式 AT_CMD_ATE, //设置命令回显模式 AT_CMD_ATS3, //设置命令行终止符 AT_CMD_ATS4, //设置响应格式字符 AT_CMD_ATS5, //设置命令行编辑字符 AT_CMD_ATX, //设置CONNECT结果码格式和检测呼叫进程 AT_CMD_CFUN, //设置功能模式 AT_CMD_CMEE, //设置错误讯息格式 AT_CMD_CSCS, //选择TE字符集 AT_CMD_QURCCFG, //配置URC指示选项 AT_CMD_QPPPDROP, //终止PPP连接 //serial cmd AT_CMD_AT_C, //设置DCD信号模式 AT_CMD_AT_D, //设置DTR信号模式 AT_CMD_IFC, //设置串口的流控方 AT_CMD_IPR, //设置固定的串口通信波特率 //status cmd AT_CMD_CPAS, //查询ME活动状态 AT_CMD_CEER, //上报扩展错误 AT_CMD_QCFG, //扩展命令, 较多子命令 AT_CMD_QINDCFG, //控制URC上报 //sim cmd AT_CMD_CIMI, //查询IMSI AT_CMD_CLCK, //功能锁定 AT_CMD_CPIN, //PIN管理 AT_CMD_CPWD, //修改密码 AT_CMD_CSIM, //通用(U)SIM卡访问 AT_CMD_CRSM, //(U)SIM卡受限访问 AT_CMD_QCCID, //查询 ICCID AT_CMD_QPINC, //获取PIN剩余重试次数 AT_CMD_QINISTAT, //查询(U)SIM卡初始化状态 AT_CMD_QSIMDET, //(U)SIM卡检测 AT_CMD_QSIMSTAT, //(U)SIM卡插拔状态上报 AT_CMD_QDSIM, //选择(U)SIM卡 //network service cmd AT_CMD_COPS, //选择运营商 AT_CMD_CREG, //CS域网络注册状态 AT_CMD_CSQ, //查询信号强度 AT_CMD_CPOL, //配置首选运营商列表 AT_CMD_COPN, //查询运营商名称列表 AT_CMD_CTZU, //自动更新时区 AT_CMD_CTZR, //上报时区变化 AT_CMD_QLTS, //获取通过网络同步的最新时间 AT_CMD_QNWINFO, //查询网络信息 //call cmd AT_CMD_ATA, //呼叫应答 AT_CMD_ATD, //发起呼叫 AT_CMD_COLP, //被叫线路识别显示 AT_CMD_ATH, //挂断现有连接 AT_CMD_CHUP, //挂断语音通话 AT_CMD_PPP, //+++ //从数据模式切换至命令模式 AT_CMD_ATO, //从命令模式切换至数据模式 AT_CMD_ATSO, //设置自动应答前振铃次数 AT_CMD_CLCC, //查询当前 ME 呼叫 AT_CMD_DSCI, //指示呼叫状态 //phonebook cmd AT_CMD_CNUM, //查询本机号码 AT_CMD_CPBF, //搜索电话本 AT_CMD_CPBR, //读取电话本条目 AT_CMD_CPBS, //设置电话本存储器 AT_CMD_CPBW, //写入电话本 //sms cmd AT_CMD_CSMS, //选择短消息服务类型 AT_CMD_CMGF, //配置短消息模式 AT_CMD_CSCA, //设置短消息服务中心地址 AT_CMD_CPMS, //配置短消息首选存储位置 AT_CMD_CMGD, //删除短消息 AT_CMD_CMGL, //按状态读取短消息 AT_CMD_CMGR, //按照索引读取短消息 AT_CMD_CMGS, //发送短消息 AT_CMD_CMMS, //发送多条短消息 AT_CMD_CMGW, //存储短消息 AT_CMD_CMSS, //从存储器发送短消息 AT_CMD_CNMA, //新短消息确认 AT_CMD_CNMI, //设置短消息上报方式 AT_CMD_CSCB, //选择小区广播消息类型 AT_CMD_CSDH, //设置文本模式下参数显示 AT_CMD_CSMP, //设置短消息文本模式参数 AT_CMD_QCMGS, //发送级联短消息 AT_CMD_QCMGR, //读取级联短消息 //gps cmd AT_CMD_QGPSCFG, //配置GNSS AT_CMD_QGPSDEL, //删除辅助数据 AT_CMD_QGPS, //打开GNSS AT_CMD_QGPSEND, //关闭GNSS AT_CMD_QGPSLOC, //获取定位信息 AT_CMD_QGPSNMEA, //获取指定的NMEA语句 AT_CMD_QAGPS, //启用/禁用AGPS //tcp/ip cmd AT_CMD_QICFG, //配置可选参数 AT_CMD_QICSGP, //配置TCP/IP场景参数 AT_CMD_QIACT, //激活PDP场景 AT_CMD_QIDEACT, //去激活PDP场景 AT_CMD_QIOPEN, //打开Socket服务 AT_CMD_QICLOSE, //关闭Socket服务 AT_CMD_QISTATE, //查询Socket服务状态 AT_CMD_QISEND, //发送数据 AT_CMD_QIRD, //读取收到的TCP/IP数据 AT_CMD_QISENDEX, //发送16进制字符串数据 AT_CMD_QISWTMD, //切换数据访问模式 AT_CMD_QNTP, //使用NTP服务器同步本地时间 AT_CMD_QPING, //进行远程服务器Ping操作 AT_CMD_QIDNSCFG, //配置DNS服务器地址 AT_CMD_QIDNSGIP, //用域名获取IP地址 AT_CMD_QISDE, //控制是否回显AT+QISEND要发送的 AT_CMD_QIGETERROR, //查询上一个AT命令错误代码 //mqtt cmd AT_CMD_QMTCFG, //配置MQTT可选参数 AT_CMD_QMTOPEN, //打开MQTT客户端网络 AT_CMD_QMTCLOSE, //关闭MQTT客户端网络 AT_CMD_QMTCONN, //连接客户端到MQTT服务器 AT_CMD_QMTDISC, //客户端断开与MQTT服务器的连接 AT_CMD_QMTSUB, //订阅主题 AT_CMD_QMTUNS, //退订主题 AT_CMD_QMTPUB, //发布消息 AT_CMD_QMTRECV, //从缓存中读取消息 //domain cmd AT_CMD_CGATT, //PS域附着或去附着 AT_CMD_CGDCONT, //定义PDP上下文 AT_CMD_CGQREQ, //服务质量参数请求 AT_CMD_CGQMIN, //服务质量参数(最低可接受的) AT_CMD_CGEQREQ, //3G服务质量参数(请求的) AT_CMD_CGEQMIN, //3G 服务质量参数(最低可接受的) AT_CMD_CGACT, //PDP上下文激活/去激活 AT_CMD_CGDATA, //进入数据传输状态 AT_CMD_CGPADDR, //显示PDP地址 AT_CMD_CGCLASS, //GPRS移动站点等级 AT_CMD_CGEREG, //PS域网络注册状态 AT_CMD_CGEREP, //分组域事件上报 AT_CMD_CGSMS, //选择MO短消息服务 AT_CMD_CEREG, //EPS网络注册状态 AT_CMD_QGDCNT, //流量统计 AT_CMD_QAUGDCNT, //自动保存流量统计 AT_CMD_QNETDEVCTL, //连接USB网卡 AT_CMD_QCEERCATCFG, //配置2G/4G下AT+CEER返回格式 //hardware cmd AT_CMD_QPOWD, //关闭模块 AT_CMD_CCLK, //实时时钟 AT_CMD_QSCLK, //禁用/启用睡眠模式 AT_CMD_MAX }; typedef struct { char apn[32]; char cnum[32]; char imsi[32]; char imei[32]; char isp[32]; }cell_info_t; typedef struct { int dbm; int ber; int nsta; int altitude; char latitude[32]; char longitude[32]; time_t utctime; int linked; char ipv4[16]; char ipv6[64]; }cell_stat_t; typedef struct { cell_info_t info; cell_stat_t stat; }cell_all_t; int cellular_init(void); int cellular_deinit(void); int cellular_reset(void); int cellular_get_all(cell_all_t *all); int cellular_is_connected(void); int UpdateCellularManager( cell_all_t *all); int cell_send_sms_all(int type, int subtype, int alarm_type,char *txt); #endif