commit
ca034e6af5
15
README.md
15
README.md
|
@ -10,6 +10,7 @@ AT device 软件包是由 RT-Thread AT 组件针对不同 AT 设备的移植文
|
|||
| ---- | ---- |
|
||||
| at_socket_esp8266.c | ESP8266 模块针对 AT 组件的移植文件,实现 AT socket |
|
||||
| at_socket_m26.c | M26/MC20 模块针对 AT 组件的移植文件,实现 AT socket |
|
||||
| at_socket_ec20.c | EC20 模块针对 AT 组件的移植文件,实现 AT socket |
|
||||
| at_client_sample.c | ESP8266 模块 AT Client 功能示例文件 |
|
||||
|
||||
### 1.2 许可证 ###
|
||||
|
@ -19,7 +20,7 @@ at_device package 遵循 LGPLv2.1 许可,详见 `LICENSE` 文件。
|
|||
### 1.3 依赖 ###
|
||||
|
||||
- RT_Thread 3.0+
|
||||
- RT_Thread AT 组件 0.3.X
|
||||
- RT_Thread AT 组件 1.0.0
|
||||
- RT_Thread SAL 组件
|
||||
|
||||
## 2. 获取方式 ##
|
||||
|
@ -31,7 +32,7 @@ AT device 软件包是对 AT 组件库和 AT socket 功能的移植,需开启
|
|||
RT-Thread Components --->
|
||||
Network stack --->
|
||||
Socket abstraction layer --->
|
||||
protocol family type --->
|
||||
protocol stack implement --->
|
||||
[ ] Support lwIP stack
|
||||
[*] Support AT Commands stack
|
||||
|
||||
|
@ -39,11 +40,13 @@ AT device 软件包是对 AT 组件库和 AT socket 功能的移植,需开启
|
|||
|
||||
RT-Thread online packages --->
|
||||
IoT - internet of things --->
|
||||
-*- AT DEVICE: RT-Thread AT component porting or samples for different device
|
||||
-*- AT DEVICE: RT-Thread AT component porting or samples for different device
|
||||
[ ] Enable at device init by thread
|
||||
AT socket device modules (Not selected, please select) --->
|
||||
Version (latest) --->
|
||||
|
||||
- `AT socket device modules`: AT 设备选择,目前支持 ESP8266、M26/MC20 等设备;
|
||||
|
||||
- `Enable at device init by thread`: 配置开启设备网络初始化是否通过创建线程完成;
|
||||
- `AT socket device modules`: AT 设备选择,目前支持 ESP8266、M26/MC20、EC20 等设备;
|
||||
- `Version`: 下载软件包版本;
|
||||
|
||||
## 3. 注意事项 ##
|
||||
|
@ -53,5 +56,5 @@ AT device 软件包是对 AT 组件库和 AT socket 功能的移植,需开启
|
|||
|
||||
## 5. 联系方式
|
||||
|
||||
* 维护:[chenyong](https://github.com/chenyong111)
|
||||
* 维护:RT-Thread 开发团队及社区开发者
|
||||
* 主页:https://github.com/RT-Thread-packages/at_device
|
|
@ -665,7 +665,6 @@ static int ec20_socket_send(int socket, const char *buff, size_t bfsz, enum at_s
|
|||
/* set current socket for send URC event */
|
||||
cur_socket = socket;
|
||||
/* set AT client end sign to deal with '>' sign.*/
|
||||
extern int at_set_end_sign(char ch);
|
||||
at_set_end_sign('>');
|
||||
|
||||
while (sent_size < bfsz)
|
||||
|
@ -1054,32 +1053,6 @@ static const struct at_urc urc_table[] = {
|
|||
{"+QIURC:", "\r\n", urc_qiurc_func},
|
||||
};
|
||||
|
||||
/* AT client port initialization */
|
||||
int at_client_port_init(void)
|
||||
{
|
||||
/* create current AT socket event */
|
||||
at_socket_event = rt_event_create("at_sock_event", RT_IPC_FLAG_FIFO);
|
||||
if (!at_socket_event)
|
||||
{
|
||||
LOG_E("AT client port initialize failed! at_sock_event create failed!");
|
||||
return -RT_ENOMEM;
|
||||
}
|
||||
|
||||
/* create current AT socket lock */
|
||||
at_event_lock = rt_mutex_create("at_event_lock", RT_IPC_FLAG_FIFO);
|
||||
if (!at_event_lock)
|
||||
{
|
||||
LOG_E("AT client port initialize failed! at_sock_lock create failed!");
|
||||
rt_event_delete(at_socket_event);
|
||||
return -RT_ENOMEM;
|
||||
}
|
||||
|
||||
/* register URC data execution function */
|
||||
at_set_urc_table(urc_table, sizeof(urc_table) / sizeof(urc_table[0]));
|
||||
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
#define AT_SEND_CMD(resp, resp_line, timeout, cmd) \
|
||||
do \
|
||||
{ \
|
||||
|
@ -1417,17 +1390,42 @@ MSH_CMD_EXPORT_ALIAS(ec20_domain, at_domain, AT domain resolve);
|
|||
#endif
|
||||
|
||||
static const struct at_device_ops ec20_socket_ops = {
|
||||
.connect = ec20_socket_connect,
|
||||
.close = ec20_socket_close,
|
||||
.send = ec20_socket_send,
|
||||
.domain_resolve = ec20_domain_resolve,
|
||||
.set_event_cb = ec20_socket_set_event_cb,
|
||||
ec20_socket_connect,
|
||||
ec20_socket_close,
|
||||
ec20_socket_send,
|
||||
ec20_domain_resolve,
|
||||
ec20_socket_set_event_cb,
|
||||
};
|
||||
|
||||
static int at_socket_device_init(void)
|
||||
{
|
||||
{
|
||||
/* create current AT socket event */
|
||||
at_socket_event = rt_event_create("at_se", RT_IPC_FLAG_FIFO);
|
||||
if (!at_socket_event)
|
||||
{
|
||||
LOG_E("AT client port initialize failed! at_sock_event create failed!");
|
||||
return -RT_ENOMEM;
|
||||
}
|
||||
|
||||
/* create current AT socket lock */
|
||||
at_event_lock = rt_mutex_create("at_se", RT_IPC_FLAG_FIFO);
|
||||
if (!at_event_lock)
|
||||
{
|
||||
LOG_E("AT client port initialize failed! at_sock_lock create failed!");
|
||||
rt_event_delete(at_socket_event);
|
||||
return -RT_ENOMEM;
|
||||
}
|
||||
|
||||
/* initialize AT client */
|
||||
at_client_init(AT_DEVICE_NAME, AT_DEVICE_RECV_BUFF_LEN);
|
||||
|
||||
/* register URC data execution function */
|
||||
at_set_urc_table(urc_table, sizeof(urc_table) / sizeof(urc_table[0]));
|
||||
|
||||
/* initialize EC20 network */
|
||||
ec20_net_init();
|
||||
|
||||
/* set EC20 AT Socket options */
|
||||
at_scoket_device_register(&ec20_socket_ops);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -556,11 +556,7 @@ static void esp8266_init_thread_entry(void *parameter)
|
|||
goto __exit;
|
||||
}
|
||||
|
||||
if (at_client_wait_connect(ESP8266_WAIT_CONNECT_TIME))
|
||||
{
|
||||
result = -RT_ETIMEOUT;
|
||||
goto __exit;
|
||||
}
|
||||
rt_thread_delay(rt_tick_from_millisecond(5000));
|
||||
/* reset module */
|
||||
AT_SEND_CMD(resp, "AT+RST");
|
||||
/* reset waiting delay */
|
||||
|
|
Loading…
Reference in New Issue