完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
WIFI小车用-小E开发板-作为服务器(AP模式),然后用手机作为客户端进行连接。 简单理解就是用小E开发板发出热点,然后手机连接上wifi热点,之后进行TCP 协议进行通信。从而控制小车的方向和转速。 一、小E开发-wifi-AP模式配置 user_set_softap_config(void) { struct softap_config ap_config; constchar *wifi_name = "四驱车"; //发出的热点名称 wifi_set_opmode(SOFTAP_MODE); //设置为AP模式,并保存到 flash ap_config.ssid_len = strlen(wifi_name); //计算ssid长度 os_strcpy(ap_config.ssid,wifi_name); //设置ssid名字 os_strcpy(ap_config.password,"12345678"); //设置密码 ap_config.authmode=3; //设置加密模式 ap_config.beacon_interval=100; //信标间隔时槽100 ~ 60000 ms ap_config.channel=1; //通道号1 ~ 13 ap_config.max_connection=4; //最大连接数 ap_config.ssid_hidden=0; //隐藏SSID wifi_softap_set_config(&ap_config); //定时查看wifi是否连成功 。。 os_timer_disARM(&test_timer); os_timer_setfn(&test_timer,(os_timer_func_t *) user_esp_platform_check_ip,NULL); os_timer_arm(&test_timer,1000, 0); //1S回调异常 }二、建立TCP协议 1、先检查IP地址是否为零。 2、IP地址不为0,开始初始化配置TCP协议。 TCP协议初始化配置函数 user_tcpserver_init(uint32 port) { esp_conn.type = ESPCONN_TCP; esp_conn.state = ESPCONN_NONE; esp_conn.proto.tcp = &esptcp; esp_conn.proto.tcp->local_port =port; espconn_regist_connectcb(&esp_conn,tcp_server_listen); //注册TCP 回调函数 espconn_regist_time(&esp_conn,0,0); //设置超时断开时间 单位:秒,最大值:7200 秒 sint8 ret =espconn_accept(&esp_conn); //创建TCP_Sevser服务器 监听 //if(ret==0) //os_printf("rn创建TCP_Sevser监听成功!!rn"); }TCP配置成功之后,创建事件回调函数。具体大家可以参考手册附录有详细说明 /**************************************************** *TCP服务器创建监听连接成功 *****************************************************/ LOCAL void ICACHE_FLASH_ATTR tcp_server_listen(void*arg) { struct espconn *pesp_conn = arg; //os_printf("tcp_server_listen !!! rn"); espconn_regist_recvcb(pesp_conn,tcp_server_recv_cb); //tcp收到数据后回调函数 espconn_regist_sentcb(pesp_conn,tcp_server_sent_cb); //TCP发送完成回调函数 espconn_regist_reconcb(pesp_conn,tcp_server_recon_cb); //tcp链接发送异常断开 espconn_regist_disconcb(pesp_conn,tcp_server_discon_cb); //TCP链接正常断开 tcp_server_multi_send(); //查询客户端接入ip地址 espconn_regist_time(&esp_conn,0,0); //设置超时断开时间 0 为一直连着不断开 //os_printf("注册各个回调函数完成 !!! rn"); 三、TCP接收数据和处理数据函数 tcp_server_recv_cb(void *arg, char *pusrdata, unsignedshort length) { //接收成功的回调函数 struct espconn *pespconn = arg; uint8 i =0; os_printf("%s",pusrdata); //UART透传出去 espconn_sent(pespconn,pusrdata, length);If(..) { ........... } } 四、PWM配置 PWM采用的是硬件定时器来配置,周期为10kHZ左右。具体大家可以查看程序源码。 演示视频 APP源码,用E4A编写的
WIFI小车APP.rar
(2.38 MB, 下载次数: 38
)
ESP8266源码,用ecplise打开
WIFI小车源码(TCP-Sevser).rar
(5.87 MB, 下载次数: 39
)
如有不足之处大家可以邮箱给我 591883000@qq.com |
|
相关推荐
2 个讨论
|
|
楼主好厉害。
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
[小e体验板] 【小体积大智慧】关于体验板的技术问题,看这一篇就够了
2861 浏览 4 评论
【小e1开发板试用体验】分析程序架构四~/Share/SDK/makefile分析
3617 浏览 1 评论
6725 浏览 19 评论
29112 浏览 59 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 11:45 , Processed in 0.724272 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号