Link Kit C-SDK  4.0.0
宏定义 | 函数 | 变量
aiot_at_api.c 文件参考
#include "core_stdinc.h"
#include "core_string.h"
#include "aiot_state_api.h"
#include "aiot_sysdep_api.h"
#include "aiot_at_api.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
aiot_at_api.c 的引用(Include)关系图:

宏定义

#define AT_RSP_LEN_MINIMUM   (3)
 
#define AT_RSP_TCP_RECV_HEAD   "TCPRECV"
 
#define AT_CMD_TCP_SETUP_FMT   "AT+TCPSETUP=%d,%s,%d\r\n"
 
#define AT_CMD_TCP_SEND_FMT   "AT+TCPSEND=%d,%d\r\n"
 

函数

static int32_t core_at_uart_tx (const uint8_t *p_data, uint16_t len, uint32_t timeout)
 
int32_t core_ringbuf_init (core_ringbuf_t *rbuf, uint32_t size)
 
int32_t core_ringbuf_get_occupy (core_ringbuf_t *rbuf)
 
int32_t core_ringbuf_write (core_ringbuf_t *rbuf, const uint8_t *data, uint32_t len)
 
int32_t core_ringbuf_read (core_ringbuf_t *rbuf, uint8_t *data, uint32_t len)
 
void core_ringbuf_deinit (core_ringbuf_t *rbuf)
 
int32_t core_ringbuf_read_sync_rsp (uint8_t *rsp, uint32_t len, uint32_t timeout)
 
int32_t core_at_commands_send_sync (core_at_handle_t *handle, const core_at_cmd_item_t *cmd_list, uint16_t cmd_num)
 
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 _at_rsp_delay_handler (char *rsp, void *user_data)
 
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组件 更多...
 

变量

static const core_at_cmd_item_t at_bootstrap_cmd_list []
 
static core_at_cmd_item_t at_connect_cmd_list []
 
static const core_at_cmd_item_t at_disconn_cmd_list []
 
aiot_sysdep_portfile_t g_aiot_sysdep_portfile
 
static aiot_sysdep_portfile_tat_sysdep = &g_aiot_sysdep_portfile
 
static core_at_handle_t at_handle
 

宏定义说明

#define AT_RSP_LEN_MINIMUM   (3)
#define AT_RSP_TCP_RECV_HEAD   "TCPRECV"
#define AT_CMD_TCP_SETUP_FMT   "AT+TCPSETUP=%d,%s,%d\r\n"
#define AT_CMD_TCP_SEND_FMT   "AT+TCPSEND=%d,%d\r\n"

函数说明

static int32_t core_at_uart_tx ( const uint8_t *  p_data,
uint16_t  len,
uint32_t  timeout 
)
static
int32_t core_ringbuf_init ( core_ringbuf_t rbuf,
uint32_t  size 
)
int32_t core_ringbuf_get_occupy ( core_ringbuf_t rbuf)
int32_t core_ringbuf_write ( core_ringbuf_t rbuf,
const uint8_t *  data,
uint32_t  len 
)

函数调用图:

int32_t core_ringbuf_read ( core_ringbuf_t rbuf,
uint8_t *  data,
uint32_t  len 
)

函数调用图:

void core_ringbuf_deinit ( core_ringbuf_t rbuf)
int32_t core_ringbuf_read_sync_rsp ( uint8_t *  rsp,
uint32_t  len,
uint32_t  timeout 
)

函数调用图:

int32_t core_at_commands_send_sync ( core_at_handle_t handle,
const core_at_cmd_item_t cmd_list,
uint16_t  cmd_num 
)

函数调用图:

int32_t aiot_at_init ( void  )

初始化AT组件

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 _at_rsp_delay_handler ( char *  rsp,
void *  user_data 
)
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

函数调用图:

变量说明

const core_at_cmd_item_t at_bootstrap_cmd_list[]
static
core_at_cmd_item_t at_connect_cmd_list[]
static
初始值:
= {
{
.cmd = "AT+TCPCLOSE=0\r\n",
.cmd_len = sizeof("AT+TCPCLOSE=0\r\n") - 1,
.rsp = "TCPCLOSE",
.handler = NULL,
},
{
.cmd = NULL,
.rsp = "OK",
.handler = NULL,
},
{
.cmd = "AT+IPSTATUS=0\r\n",
.cmd_len = sizeof("AT+IPSTATUS=0\r\n") - 1,
.rsp = "+IPSTATUS: 0,CONNECT,TCP,10240",
.handler = NULL,
},
}
const core_at_cmd_item_t at_disconn_cmd_list[]
static
初始值:
= {
{
.cmd = "AT+TCPCLOSE=0\r\n",
.cmd_len = sizeof("AT+TCPCLOSE=0\r\n") - 1,
.rsp = "TCPCLOSE",
.handler = NULL,
}
}
aiot_sysdep_portfile_t g_aiot_sysdep_portfile
core_at_handle_t at_handle
static
初始值:
= {
.is_init = 0,
}