https://www.cnblogs.com/yangfengwu/p/11105466.html
其實官方給的RTOS的版本就是在原先非RTOS版本上增加的
https://www.cnblogs.com/yangfengwu/p/5205570.html 后面的TCP,UDP基本的配置也就是像AT這樣,只不過咱是用SDK開發
配置一下WIFI的工作模式 無線名稱
wifi_set_opmode(STATIONAP_MODE);//配置WiFi的模式STATION + AP AP--連接WIFI自身的無線實現通信 STATION--wifi連接路由器,手機或者電腦也連接路由器,實現通信 soft_ap_Config.ssid_len = strlen(SSID);//熱點名稱長度,與你實際的名稱長度一致就好 memcpy(soft_ap_Config.ssid,SSID,soft_ap_Config.ssid_len);//實際熱點名稱設置,可以根據你的需要來 memcpy(soft_ap_Config.password,PWD,strlen(PWD));//熱點密碼設置 soft_ap_Config.authmode = AUTH_WPA2_PSK;//加密模式 soft_ap_Config.channel = 1;//信道,共支持1~13個信道 soft_ap_Config.max_connection = 4;//最大連接數量,最大支持四個,默認四個 wifi_softap_set_config_current(&soft_ap_Config);//設置 Wi-Fi SoftAP 接口配置,不保存到 Flash // wifi_softap_set_config(&soft_ap_Config);//設置 Wi-Fi SoftAP 接口配置,保存到 Flash
下載進去
接着做TCP 服務器
其實就是參考這個文檔
其實說一下...官方其實給例子了...就是那個不帶SDK的1.5版本的
如果不明白為什么是http但是用的TCP https://www.cnblogs.com/yangfengwu/category/1383497.html 看頭幾節
所以我就不班門弄斧了.......直接拷貝,然后寫上注釋
//接收到數據 void TcpServerRecv(void *arg, char *pusrdata, unsigned short length) { while(length--) { USART_SendData(UART0, *(pusrdata++));//接收的數據發給串口 } } //斷開 void TcpServerDisCon(void *arg) { struct espconn *pesp_conn = arg; os_printf("TCP Client %d.%d.%d.%d:%d disconnect\n", pesp_conn->proto.tcp->remote_ip[0], pesp_conn->proto.tcp->remote_ip[1],pesp_conn->proto.tcp->remote_ip[2], pesp_conn->proto.tcp->remote_ip[3],pesp_conn->proto.tcp->remote_port); } //程序啟動了監聽 void TcpServerListen(void *arg) { struct espconn *pesp_conn = arg;//接收傳過來的 espconn 信息 espconn_regist_recvcb(pesp_conn, TcpServerRecv);//設置接收回調 espconn_regist_disconcb(pesp_conn, TcpServerDisCon);//設置斷開連接回調 }
完成了上面就是WIFI監聽8888端口 ,客戶端連接上以后發送的數據直接轉發到串口
模塊默認是192.168.4.1
測試
好現在咱再進一步 做成透傳的 再讓WIFI串口接收的數據發給網絡
https://blog.csdn.net/u010333084/article/details/51336886
上一節咱用任務處理的串口數據,這次咱用回調實現,,這樣處理起來快
測試
注意哈,這樣做實際上就是那個函數在中斷函數里面運行了....切記函數里面別加延時
好現在把串口接收的數據轉發給網絡
因為發送需要
所以咱定義一個全局的這個變量
思路是這個變量在監聽到連接,斷開和網絡接收到數據里面賦值
如果只放到網絡接收到數據里面賦值..那么如果客戶端連接了,它不先給咱發數據,咱就不能發給他,因為變量沒有賦值
不過現在這樣有個問題是 最后連接的或者最后給我發的數據的TCP客戶端,我下次的數據會發給它
大家可以再做個數組哈,,把這個全部保存下來,,自己擴展下哈
提示哈,,做四個數組就可以,,循環判斷如果哪個在連接狀態就發送
測試
如果再把這里的發送改為直接用數組復制給串口發送緩沖區(只調用一句話),就完美了
自己開動大腦想辦法吧
https://www.cnblogs.com/yangfengwu/p/11112015.html