加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于小e智能硬件開發(fā)平臺(tái)設(shè)計(jì)的WIFI小車,小車APP+源代碼

2017/06/09
50
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

物聯(lián)網(wǎng)WiFi開發(fā)板相關(guān)電路

  1. 物聯(lián)網(wǎng)開發(fā)板——NuMaker Uni資料開源下載(硬件+軟件+Android APP+用戶指南)
  2. 物聯(lián)網(wǎng)時(shí)代萬(wàn)能的開發(fā)模塊 - “小哪吒“FPGA+Wifi開發(fā)模塊
  3. (全部資料共享)極Q開發(fā)板——QQ物聯(lián)開發(fā)(原理圖、參考程序、視頻教程等)
  4. WIOT board(無(wú)線物聯(lián)開發(fā)板)
  5. 智能硬件開發(fā)平臺(tái)—小e物聯(lián)網(wǎng)WiFi開發(fā)板電路圖+PCB+源代碼

WIFI小車用小E開發(fā)板作為服務(wù)器(AP模式),然后用手機(jī)作為客戶端進(jìn)行連接。簡(jiǎn)單理解就是用小E開發(fā)板發(fā)出熱點(diǎn),然后手機(jī)連接上wifi熱點(diǎn),之后進(jìn)行TCP協(xié)議進(jìn)行通信。從而控制小車的方向和轉(zhuǎn)速。

一、小E開發(fā)-wifi-AP模式配置

user_set_softap_config(void)

{

struct softap_config ap_config;

constchar *wifi_name = "四驅(qū)車"; //發(fā)出的熱點(diǎn)名稱

wifi_set_opmode(SOFTAP_MODE); //設(shè)置為AP模式,并保存到 flash

ap_config.ssid_len = strlen(wifi_name); //計(jì)算ssid長(zhǎng)度

os_strcpy(ap_config.ssid,wifi_name); //設(shè)置ssid名字

os_strcpy(ap_config.password,"12345678"); //設(shè)置密碼

ap_config.authmode=3; //設(shè)置加密模式

ap_config.beacon_interval=100; //信標(biāo)間隔時(shí)槽100 ~ 60000 ms

ap_config.channel=1; //通道號(hào)1 ~ 13

ap_config.max_connection=4; //最大連接數(shù)

ap_config.ssid_hidden=0; //隱藏SSID

wifi_softap_set_config(&ap_config);

//定時(shí)查看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回調(diào)異常

}

二、建立TCP協(xié)議

1、先檢查IP地址是否為零。

2、IP地址不為0,開始初始化配置TCP協(xié)議。

TCP協(xié)議初始化配置函數(shù)

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);

//注冊(cè)TCP 回調(diào)函數(shù)

espconn_regist_time(&esp_conn,0,0);

//設(shè)置超時(shí)斷開時(shí)間 單位:秒,最大值:7200 秒

sint8 ret =espconn_accept(&esp_conn);

//創(chuàng)建TCP_Sevser服務(wù)器 監(jiān)聽

//if(ret==0)

//os_printf("rn創(chuàng)建TCP_Sevser監(jiān)聽成功??!rn");

}

TCP配置成功之后,創(chuàng)建事件回調(diào)函數(shù)。具體大家可以參考手冊(cè)附錄有詳細(xì)說(shuō)明

/****************************************************

*TCP服務(wù)器創(chuàng)建監(jiān)聽連接成功

*****************************************************/

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收到數(shù)據(jù)后回調(diào)函數(shù)

espconn_regist_sentcb(pesp_conn,tcp_server_sent_cb); //TCP發(fā)送完成回調(diào)函數(shù)

espconn_regist_reconcb(pesp_conn,tcp_server_recon_cb); //tcp鏈接發(fā)送異常斷開

espconn_regist_disconcb(pesp_conn,tcp_server_discon_cb); //TCP鏈接正常斷開

tcp_server_multi_send(); //查詢客戶端接入ip地址

espconn_regist_time(&esp_conn,0,0); //設(shè)置超時(shí)斷開時(shí)間 0 為一直連著不斷開

//os_printf("注冊(cè)各個(gè)回調(diào)函數(shù)完成 !!! rn");

}

三、TCP接收數(shù)據(jù)和處理數(shù)據(jù)函數(shù)

tcp_server_recv_cb(void *arg, char *pusrdata,

unsignedshort length)

{

//接收成功的回調(diào)函數(shù)

struct espconn *pespconn = arg;

uint8 i =0;

os_printf("%s",pusrdata); //UART透?jìng)鞒鋈?/p>

espconn_sent(pespconn,pusrdata, length);

If(..)

{

...........

}

}

四、PWM配置

PWM采用的是硬件定時(shí)器來(lái)配置,周期為10kHZ左右。具體大家可以查看程序源碼。

  • WIFI小車APP.rar
    描述:APP源碼,用E4A編寫
  • WIFI小車源碼(TCP-Sevser).rar
    描述:ESP8266源碼,用ecplise打開

相關(guān)推薦

電子產(chǎn)業(yè)圖譜