Link Kit C-SDK  4.0.0
| 宏定义 | 类型定义 | 枚举 | 函数
aiot_at_api.h 文件参考
#include <stdint.h>
#include "core_list.h"
#include "aiot_sysdep_api.h"
aiot_at_api.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  core_at_cmd_item_t
 AT命令请求响应结构体定义 更多...
 
struct  core_ringbuf_t
 ringbuf结构体定义 更多...
 
struct  link_descript_t
 数据链路上下文结构体 更多...
 
struct  core_at_parse_sm_t
 
struct  core_at_handle_t
 AT组件上下文数据结构体 更多...
 

宏定义

#define MODULE_NAME_AT   "AT"
 
#define STATE_AT_BASE   (-0x1000)
 -0x1000~-0x10FF表达SDK在AT模块内的状态码 更多...
 
#define STATE_AT_ALREADY_INITED   (-0x1003)
 
#define STATE_AT_NOT_INITED   (-0x1004)
 
#define STATE_AT_UART_TX_FUNC_MISSING   (-0x1005)
 
#define STATE_AT_GET_RSP_FAILED   (-0x1006)
 
#define STATE_AT_RINGBUF_OVERFLOW   (-0x1007)
 
#define STATE_AT_RX_TIMEOUT   (-0x1008)
 
#define STATE_AT_NO_AVAILABLE_LINK   (-0x1009)
 
#define STATE_AT_TX_TIMEOUT   (-0x100A)
 
#define STATE_AT_TX_ERROR   (-0x100B)
 
#define STATE_AT_RINGBUF_NO_DATA   (-0x100C)
 
#define STATE_AT_UART_TX_FUNC_NULL   (-0x100D)
 
#define STATE_AT_NO_DATA_SLOT   (-0x100F)
 
#define STATE_AT_LINK_IS_DISCONN   (-0x1010)
 
#define STATE_AT_UART_TX_FAILED   (-0x1011)
 
#define AIOT_AT_CMD_LEN_MAXIMUM   (128) /* AT命令最大长度 */
 AT组件配置参数 更多...
 
#define AIOT_AT_RSP_LEN_MAXIMUM   (64) /* AT应答最大长度 */
 
#define AIOT_AT_TX_TIMEOUT_DEFAULT   (5000) /* UART默认发送超时时间 */
 
#define AIOT_AT_RX_TIMEOUT_DEFAULT   (5000) /* UART默认接受等待超时时间 */
 
#define AIOT_AT_DATA_RB_SIZE_DEFAULT   (5000) /* 内部网络数据接收缓冲区大小 */
 
#define AIOT_AT_RSP_RB_SIZE_DEFAULT   (5000) /* 内部应答报文接受缓冲区大小 */
 
#define AIOT_AT_CMD_RETRY_TIME   (3) /* AT命令发送重试最大次数 */
 
#define AIOT_AT_RINGBUF_RETRY_INTERVAL   (100) /* RINGBUF数据长度检查间隔时间 */
 
#define AIOT_AT_SOCKET_NUM   (1) /* 支持的数据链路数量 */
 
#define AIOT_UART_DISABLE_RX_IT()   do {;} while(0)
 
#define AIOT_UART_ENABLE_RX_IT()   do {;} while(0)
 

类型定义

typedef int32_t(* aiot_at_uart_tx_func_t) (const uint8_t *p_data, uint16_t len, uint32_t timeout)
 串口发送回调函数定义 更多...
 
typedef int32_t(* at_rsp_handler_t) (char *rsp, void *user_data)
 接受到应答数据后的用户处理回调函数原型定义 更多...
 

枚举

enum  aiot_at_option_t {
  AIOT_ATOPT_UART_TX_FUNC, AIOT_ATOPT_USER_DATA, AIOT_ATOPT_DEVICE, AIOT_ATOPT_MAX,
  AIOT_ATOPT_UART_TX_FUNC, AIOT_ATOPT_USER_DATA, AIOT_ATOPT_MAX, AIOT_ATOPT_UART_TX_FUNC,
  AIOT_ATOPT_USER_DATA, AIOT_ATOPT_MAX
}
 AT组件配置选项 更多...
 
enum  core_at_link_status_t {
  CORE_AT_LINK_DISABLE = 0, CORE_AT_LINK_DISCONN = 1, CORE_AT_LINK_CONN = 2, CORE_AT_LINK_DISABLE = 0,
  CORE_AT_LINK_DISCONN = 1, CORE_AT_LINK_CONN = 2, CORE_AT_LINK_RECV = 3, CORE_AT_LINK_DISABLE = 0,
  CORE_AT_LINK_DISCONN = 1, CORE_AT_LINK_CONN = 2, CORE_AT_LINK_RECV = 3
}
 模组数据链路状态 更多...
 
enum  core_at_parser_state_t {
  CORE_AT_READ_RSP = 0, CORE_AT_PARSE_RECV_RSP, CORE_AT_READ_DATA, CORE_AT_READ_RSP = 0,
  CORE_AT_PARSE_RECV_RSP, CORE_AT_READ_DATA
}
 

函数

int32_t aiot_at_init (void)
 初始化AT组件 更多...
 
int32_t aiot_at_setopt (aiot_at_option_t opt, void *data)
 配置AT组件, 主要为配置串口发送回调函数 更多...
 
int32_t aiot_at_bootstrap (void)
 模组启动, 内部发送模组相关的AT命令已启动模组, 启动完成后, 模组将获取到IP地址 更多...
 
int32_t aiot_at_nwk_open (uint8_t *socket_id)
 为对应的链路ID创建ringbuf资源 更多...
 
int32_t aiot_at_nwk_connect (uint8_t socket_id, const char *host, uint16_t port, uint32_t timeout)
 内部会调用模组相关的AT命令, 通过串口发送TCP建连命令。可对接到core_sysdep_network_establish网络接口 更多...
 
int32_t aiot_at_nwk_send (uint8_t socket_id, const uint8_t *buffer, uint32_t len, uint32_t timeout)
 内部会调用模组相关的AT命令, 通过串口发送TCP数据。可对接到core_sysdep_network_send网络接口 更多...
 
int32_t aiot_at_nwk_recv (uint8_t socket_id, uint8_t *buffer, uint32_t len, uint32_t timeout_ms)
 内部会从对应的数据ringbu中读取网络数据, 可对接到core_sysdep_network_recv网络接口 更多...
 
int32_t aiot_at_nwk_close (uint8_t socket_id)
 内部会调用模组相关的AT命令, 关闭连接链路。可对接到core_sysdep_network_deinit网络接口 更多...
 
int32_t aiot_at_uart_reception (uint8_t data)
 为AT组件提供串口数据 更多...
 
int32_t aiot_at_deinit (void)
 反初始化AT组件 更多...
 

宏定义说明

#define MODULE_NAME_AT   "AT"
#define STATE_AT_BASE   (-0x1000)

-0x1000~-0x10FF表达SDK在AT模块内的状态码

#define STATE_AT_ALREADY_INITED   (-0x1003)
#define STATE_AT_NOT_INITED   (-0x1004)
#define STATE_AT_UART_TX_FUNC_MISSING   (-0x1005)
#define STATE_AT_GET_RSP_FAILED   (-0x1006)
#define STATE_AT_RINGBUF_OVERFLOW   (-0x1007)
#define STATE_AT_RX_TIMEOUT   (-0x1008)
#define STATE_AT_NO_AVAILABLE_LINK   (-0x1009)
#define STATE_AT_TX_TIMEOUT   (-0x100A)
#define STATE_AT_TX_ERROR   (-0x100B)
#define STATE_AT_RINGBUF_NO_DATA   (-0x100C)
#define STATE_AT_UART_TX_FUNC_NULL   (-0x100D)
#define STATE_AT_NO_DATA_SLOT   (-0x100F)
#define STATE_AT_LINK_IS_DISCONN   (-0x1010)
#define STATE_AT_UART_TX_FAILED   (-0x1011)
#define AIOT_AT_CMD_LEN_MAXIMUM   (128) /* AT命令最大长度 */

AT组件配置参数

#define AIOT_AT_RSP_LEN_MAXIMUM   (64) /* AT应答最大长度 */
#define AIOT_AT_TX_TIMEOUT_DEFAULT   (5000) /* UART默认发送超时时间 */
#define AIOT_AT_RX_TIMEOUT_DEFAULT   (5000) /* UART默认接受等待超时时间 */
#define AIOT_AT_DATA_RB_SIZE_DEFAULT   (5000) /* 内部网络数据接收缓冲区大小 */
#define AIOT_AT_RSP_RB_SIZE_DEFAULT   (5000) /* 内部应答报文接受缓冲区大小 */
#define AIOT_AT_CMD_RETRY_TIME   (3) /* AT命令发送重试最大次数 */
#define AIOT_AT_RINGBUF_RETRY_INTERVAL   (100) /* RINGBUF数据长度检查间隔时间 */
#define AIOT_AT_SOCKET_NUM   (1) /* 支持的数据链路数量 */
#define AIOT_UART_DISABLE_RX_IT ( )    do {;} while(0)
#define AIOT_UART_ENABLE_RX_IT ( )    do {;} while(0)

类型定义说明

typedef int32_t(* aiot_at_uart_tx_func_t) (const uint8_t *p_data, uint16_t len, uint32_t timeout)

串口发送回调函数定义

参数
[in]p_data
[in]len
[in]timeout
返回
int32_t
返回值
length,实际发送的字节数
0,发送超时
-1,发送失败
typedef int32_t(* at_rsp_handler_t) (char *rsp, void *user_data)

接受到应答数据后的用户处理回调函数原型定义

参数
[in]rspAT命令的应答数据
[in]user_data用户自定义数据
返回
int32_t
返回值
>=0,
<0,

枚举类型说明

AT组件配置选项

枚举值
AIOT_ATOPT_UART_TX_FUNC 
AIOT_ATOPT_USER_DATA 
AIOT_ATOPT_DEVICE 
AIOT_ATOPT_MAX 
AIOT_ATOPT_UART_TX_FUNC 
AIOT_ATOPT_USER_DATA 
AIOT_ATOPT_MAX 
AIOT_ATOPT_UART_TX_FUNC 
AIOT_ATOPT_USER_DATA 
AIOT_ATOPT_MAX 

模组数据链路状态

枚举值
CORE_AT_LINK_DISABLE 
CORE_AT_LINK_DISCONN 
CORE_AT_LINK_CONN 
CORE_AT_LINK_DISABLE 
CORE_AT_LINK_DISCONN 
CORE_AT_LINK_CONN 
CORE_AT_LINK_RECV 
CORE_AT_LINK_DISABLE 
CORE_AT_LINK_DISCONN 
CORE_AT_LINK_CONN 
CORE_AT_LINK_RECV 
枚举值
CORE_AT_READ_RSP 
CORE_AT_PARSE_RECV_RSP 
CORE_AT_READ_DATA 
CORE_AT_READ_RSP 
CORE_AT_PARSE_RECV_RSP 
CORE_AT_READ_DATA 

函数说明

int32_t aiot_at_init ( void  )

初始化AT组件

返回
int32_t
返回值
=0初始化成功
<0初始化失败

AT moduel API start

函数调用图:

int32_t aiot_at_setopt ( aiot_at_option_t  opt,
void *  data 
)

配置AT组件, 主要为配置串口发送回调函数

参数
opt配置项
data配置数据
返回
int32_t
返回值
=0配置成功
<0配置失败

函数调用图:

int32_t aiot_at_bootstrap ( void  )

模组启动, 内部发送模组相关的AT命令已启动模组, 启动完成后, 模组将获取到IP地址

返回
int32_t
返回值
=0启动成功
<0启动失败

函数调用图:

int32_t aiot_at_nwk_open ( uint8_t *  socket_id)

为对应的链路ID创建ringbuf资源

参数
socket_id链路ID
返回
int32_t
返回值
=0操作成功
<0操作失败

函数调用图:

int32_t aiot_at_nwk_connect ( uint8_t  socket_id,
const char *  host,
uint16_t  port,
uint32_t  timeout 
)

内部会调用模组相关的AT命令, 通过串口发送TCP建连命令。可对接到core_sysdep_network_establish网络接口

参数
socket_id链路ID
host主机名
port端口号
timeout建连超时时间
返回
int32_t
返回值
>=0建连成功
<0建连失败

函数调用图:

int32_t aiot_at_nwk_send ( uint8_t  socket_id,
const uint8_t *  buffer,
uint32_t  len,
uint32_t  timeout 
)

内部会调用模组相关的AT命令, 通过串口发送TCP数据。可对接到core_sysdep_network_send网络接口

参数
socket_id链路ID
buffer指向外部数据缓冲区的指针
len数据长度
timeout发送超时时间
返回
int32_t
返回值
>=0已发送的数据长度
<0发送失败

函数调用图:

int32_t aiot_at_nwk_recv ( uint8_t  socket_id,
uint8_t *  buffer,
uint32_t  len,
uint32_t  timeout_ms 
)

内部会从对应的数据ringbu中读取网络数据, 可对接到core_sysdep_network_recv网络接口

参数
socket_id链路ID
buffer指向外部数据缓冲区的指针
len外部数据缓冲区大小
timeout_ms接收超时时间
返回
int32_t
返回值
>=0读取到的数据长度
<0读取失败

函数调用图:

int32_t aiot_at_nwk_close ( uint8_t  socket_id)

内部会调用模组相关的AT命令, 关闭连接链路。可对接到core_sysdep_network_deinit网络接口

参数
socket_id链路ID
返回
int32_t
返回值
=0操作成功
<0操作失败

函数调用图:

int32_t aiot_at_uart_reception ( uint8_t  data)

为AT组件提供串口数据

参数
data单个字节数据
返回
int32_t
返回值
=0操作成功
<0操作失败

函数调用图:

int32_t aiot_at_deinit ( void  )

反初始化AT组件

返回
int32_t

函数调用图: