完成 ESP8266 Soft-AP TCP Server 配置的初始化程式後,便需要編寫回調函數(Callback)及偵聽(Listen)程式,當程式初始化後,TCP Server 成功連接,便會利用偵聽程式作監測 Server 的狀態,並利用回調函數(Callback)作出不同的操作,例如 recon_cb、discon_cb、sent_cb、recv_cb、write_cb。
ESP8266 模塊 WiFi Soft-AP TCP Server 模式製作 |
ESP8266 工作在 Soft-AP 模式下,可以直接啟動 server 偵聽,然後加入回調函數(Callback)。
ESP8266 Soft-AP模式偵聽程式:
/*************************************************************************
* FunctionName :
trans_server_listen(void *arg)
* Description : Trans Server Listen
* Parameters : none
* Returns : none
*************************************************************************/
static
void ICACHE_FLASH_ATTR
trans_server_listen(void *arg)
{
// Registed Callback Subroutines
espconn_regist_recvcb(pespconn,
trans_tcpclient_recv_cb);
espconn_regist_reconcb(pespconn,
trans_tcpclient_recon_cb);
espconn_regist_disconcb(pespconn,
trans_tcpclient_discon_cb);
espconn_regist_sentcb(pespconn,
trans_tcpclient_sent_cb);///////
espconn_regist_write_finish(pespconn,
trans_tcpclient_write_cb);
espconn_set_opt(pespconn,ESPCONN_COPY);
system_os_post(TRANS_TASK_PROI,TRANS_CLIENT_CONNECTED,(ETSParam)pespconn);
return;
}
|
WiFi Soft-AP TCP Server 模式配置流程:
1. 根據 TCP 工作協定初始化 espconn 參數
2. 註冊連接成功的回調函數和連接失敗重新連接的回調函數(調用 espconn_regist_connectcb 和 espconn_regist_reconcb)
3. 調用 espconn_accept 偵聽 TCP 連接
4. TCP 連接成功後,在連接成功的回調函數(espconn_connect_callback)中,註冊接收資料的回調函數,發送資料成功的回調函數和斷開連接的回調函數(調用espconn_regist_recvcb,espconn_regist_sentcb 和 espconn_regist_disconcb)
ESP8266 Soft-AP模式回調函數程式:
static
void ICACHE_FLASH_ATTR
trans_tcpclient_recon_cb(void
*arg, sint8 err)
{
}
//
Callback for Disconnect TCP
static
void ICACHE_FLASH_ATTR
trans_tcpclient_discon_cb(void
*arg)
{
}
//
Callback for Sending TCP Data Success
static
void ICACHE_FLASH_ATTR
trans_tcpclient_sent_cb(void
*arg)
{
}
//
Callback for Receiving TCP Data Success
static
void ICACHE_FLASH_ATTR
trans_tcpclient_recv_cb(void
*arg, char *pdata, unsigned short len)
{
}
//
Callback for Writing TCP Data
static
void ICACHE_FLASH_ATTR
trans_tcpclient_write_cb(void
*arg)
{
}
|
編程和燒錄程式到 ESP8266 ESP-12 的開發板後,再啓動電源,用電腦 PC 或手機啓動無線連接,便會發現 ESP8266 的網絡名稱,祇要連接這網絡名稱,便可以接收和傳送資料到 ESP8266 開發板。
手機啓動無線連接 |
手機無線連接資料 |
電腦 PC 啓動無線網絡 |
用 EXCEL VBA 接收和傳送資料到 ESP8266 開發板 |
※ Coolpad (酷派)8190 Android 智能手機截圖鍵(Screen Capture)是同時按下音量下鍵+電源鍵。
2017年 5月 22日 天氣報告
氣溫:25.5度 @ 22:20
相對濕度:百分之 93%
天氣:微雨
沒有留言:
張貼留言