91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

啟明去端分享| ESP32-S3如何實(shí)現(xiàn)tcp_client和tcp_server

啟明云端 ? 2021-09-07 18:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開(kāi)發(fā)環(huán)境:
esp-idf:master分支
官方idf環(huán)境搭建文檔:
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html#get-started-set-up-env
硬件需求:
Esp32-s3開(kāi)發(fā)板

poYBAGE1v1WAaqQ4AA0HYXqHHgk414.pngESP32-S3

TCP介紹
傳輸控制協(xié)議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。


TCP分為服務(wù)端Server和客戶端Client,服務(wù)端創(chuàng)建服務(wù)等待客戶端連接,客戶端連接后即可與服務(wù)端相互發(fā)送消息,服務(wù)端只有一個(gè),客戶端可以是N個(gè),可以同時(shí)連接服務(wù)端,服務(wù)器不能主動(dòng)去連接客戶端,必須客戶端主動(dòng)連接服務(wù)端才能相互發(fā)送消息。

Tcp_client整體流程:
1、編譯官方tcp_client例程(需要配置下面會(huì)詳細(xì)介紹),燒錄到ESP32-S3開(kāi)發(fā)板。
2、使用TCP調(diào)試助手創(chuàng)建TCP Server(電腦必須與開(kāi)發(fā)板在同一路由器下)
3、重啟ESP32,創(chuàng)建TCP Client,開(kāi)始連接電腦創(chuàng)建的服務(wù)器
4、相互發(fā)送數(shù)據(jù)

一、Tcp_client例程分析:
1.初始化NVS、WiFi連接上WiFi后創(chuàng)建一個(gè)tcp_client任務(wù)。

voidapp_main(void)
{
ESP_ERROR_CHECK(nvs_flash_init());
ESP_ERROR_CHECK(esp_netif_init());
ESP_ERROR_CHECK(esp_event_loop_create_default());

/*ThishelperfunctionconfiguresWi-FiorEthernet,asselectedinmenuconfig.
*Read"EstablishingWi-FiorEthernetConnection"sectionin
*examples/protocols/README.mdformoreinformationaboutthisfunction.
*/
ESP_ERROR_CHECK(example_connect());//WiFi作為STA模式,連接到配置的WiFi

//創(chuàng)建一個(gè)任務(wù),用來(lái)進(jìn)行tcp連接和通訊
xTaskCreate(tcp_client_task,"tcp_client",4096,NULL,5,NULL);
}

WiFi連接函數(shù):example_connect()WiFi信息通過(guò)menuconfig 配置


idf.py menuconfig 進(jìn)入配置菜單


配置連接的WiFi名稱和密碼(要和服務(wù)器端連接到同一路由)

poYBAGE3D0KAW1f3AABn69vl4VE152.png

2.配置遠(yuǎn)程連接信息

structsockaddr_indest_addr;
dest_addr.sin_addr.s_addr=inet_addr(host_ip);//服務(wù)器ip
dest_addr.sin_family=AF_INET;
dest_addr.sin_port=htons(PORT); //服務(wù)器端口號(hào)
addr_family=AF_INET;
ip_protocol=IPPROTO_IP;

3.通過(guò)menuconfig配置服務(wù)器的IP以及端口號(hào)


配置完成后保存退出(服務(wù)器的IP及端口)

poYBAGE3D2-AD2S4AAAthg-D7Xo702.png

4.編譯、燒錄
編譯:idf.py build
燒錄:idf.py -p PORT [-b BAUD] flash
注:只有一個(gè)串口時(shí)可以直接 idf.py flash

5.電腦端或手機(jī)端打開(kāi)TCP服務(wù)器

poYBAGE3D5qAFlMAAAB_e_ccjAM215.png

6.進(jìn)入窗口監(jiān)視頁(yè)面
idf.py-pPORTmonitor
1)從和日志可以看出,WiFi連接成功后,創(chuàng)建一個(gè)sock,sock連接成功。發(fā)送一條信息給服務(wù)器(MessagefromESP32),發(fā)送成功后打印一句 數(shù)據(jù)發(fā)送成功。

pYYBAGE3D7OAKOC5AACY2bNEm_I357.png

2)服務(wù)器編輯內(nèi)容發(fā)送給esp32,在窗口監(jiān)視頁(yè)面顯示。
紅色箭頭是接收到的服務(wù)器的消息

poYBAGE3D8qADE5FAAFR2facCgE260.png

二、tcp_server整體流程:
1、編譯官方tcp_server例程(需要配置下面會(huì)詳細(xì)介紹),燒錄到ESP32-S3開(kāi)發(fā)板。
2、打開(kāi)tcp調(diào)試助手(電腦or手機(jī)必須與開(kāi)發(fā)板在同一路由器下)
3、重啟ESP32,創(chuàng)建TCP Client,開(kāi)始監(jiān)聽(tīng)模式等待tcp_client的連接
4、進(jìn)行通訊發(fā)送數(shù)據(jù)

Tcp_server例程分析:
1.初始化NVS、WiFi連接上WiFi后創(chuàng)建一個(gè)tcp_server任務(wù)。

voidapp_main(void)
{
ESP_ERROR_CHECK(nvs_flash_init()); //初始化NVS分區(qū)
ESP_ERROR_CHECK(esp_netif_init()); //初始化底層TCP/P堆棧
ESP_ERROR_CHECK(esp_event_loop_create_default());//創(chuàng)建默認(rèn)事件循環(huán)

/*ThishelperfunctionconfiguresWi-FiorEthernet,asselectedinmenuconfig.
*Read"EstablishingWi-FiorEthernetConnection"sectionin
*examples/protocols/README.mdformoreinformationaboutthisfunction.
*/
ESP_ERROR_CHECK(example_connect());//wifi連接函數(shù),WiFi信息在menuconfig配置
#ifdefCONFIG_EXAMPLE_IPV4
xTaskCreate(tcp_server_task,"tcp_server",4096,(void*)AF_INET,5,NULL);//創(chuàng)建一個(gè)tcp_server的任務(wù)
#endif
#ifdefCONFIG_EXAMPLE_IPV6
xTaskCreate(tcp_server_task,"tcp_server",4096,(void*)AF_INET6,5,NULL);
#endif
}

2.新建 socket、 bind、 listen 和 accept, 最后得到了通信的 socket:用于接收/發(fā)送數(shù)據(jù)。

socket(addr_family,SOCK_STREAM,ip_protocol);
bind(listen_sock,(structsockaddr*)&dest_addr,sizeof(dest_addr));
listen(listen_sock,1);
accept(listen_sock,(structsockaddr*)&source_addr,&addr_len);

對(duì)應(yīng)log輸出如下:

pYYBAGE3EDSAUsp_AABRKoP3cG8865.png

tcp_server操作流程
1.打開(kāi)tcp_server工程,配置menuconfig WiFi、TCP服務(wù)器相關(guān)信息(服務(wù)器端口號(hào),要連接的WiFi)

poYBAGE3EEmALxB2AAA-wo1GzpU089.pngpYYBAGE3EFKAW9X5AABiTE-NC3k855.png

2.編譯工程
idf.py build
編譯成功輸出固件信息,及燒錄地址

3.燒錄到開(kāi)發(fā)板
idf.py -p PORT [-b BAUD] flash
注:只有一個(gè)串口時(shí)可以直接 idf.py flash


4.打開(kāi)窗口監(jiān)視器
idf.py monitor
可以看到esp32-s3上電以后連接到配置的WiFi,創(chuàng)建了一個(gè)tcp_server等待client的連接

poYBAGE3EHuAPrKfAADM2cCqMTc209.png

5.打開(kāi)TCP調(diào)試助手,設(shè)置為client模式 輸入服務(wù)器IP及端口號(hào),點(diǎn)擊連接。

poYBAGE3EIuACE5TAACV29y6LXE273.png

6.編輯文本,向服務(wù)器發(fā)送消息
如下圖所示,服務(wù)器端收到消息。并將收到的信息回發(fā)給client端

poYBAGE3EJ6AKyIKAACcurV_GzY358.pngpYYBAGE3EKeAfDvnAABN6ynIeUU696.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • WIFI
    +關(guān)注

    關(guān)注

    82

    文章

    5506

    瀏覽量

    213493
  • 低功耗藍(lán)牙
    +關(guān)注

    關(guān)注

    1

    文章

    271

    瀏覽量

    22361
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ESP32-S3系列】AD35-S3(AI紅色桌寵)上手指南

    AD35-S3是深圳市啟明云端有限公司推出的基于ESP32-S3-WROOM-1的新一代桌寵,有豐富的外設(shè)接口外,適用于AIoT領(lǐng)域的多種應(yīng)用場(chǎng)景,例如喚醒詞檢測(cè)和語(yǔ)音命令識(shí)別、智能家居、智能家電
    的頭像 發(fā)表于 02-26 18:05 ?101次閱讀
    【<b class='flag-5'>ESP32-S3</b>系列】AD35-<b class='flag-5'>S3</b>(AI紅色桌寵)上手指南

    ESP32-S3系列】AD35-S3(AI紅色桌寵)規(guī)格書(shū)

    AD35-S3是深圳市啟明云端有限公司推出的基于ESP32-S3-WROOM-1的新一代桌寵,有豐富的外設(shè)接口外,適用于AIoT領(lǐng)域的多種應(yīng)用場(chǎng)景,例如喚醒詞檢測(cè)和語(yǔ)音命令識(shí)別、智能家居、智能家電
    的頭像 發(fā)表于 02-10 18:33 ?167次閱讀
    【<b class='flag-5'>ESP32-S3</b>系列】AD35-<b class='flag-5'>S3</b>(AI紅色桌寵)規(guī)格書(shū)

    ESP32-S3系列】WT0132S3-AI-1模組規(guī)格書(shū)

    概述WT0132S3-AI-1系列模組(以下簡(jiǎn)稱“WT0132S3-AI-1”)是深圳市啟明云端有限公司推出的基于樂(lè)鑫ESP32-S3系列芯片設(shè)計(jì)的,集成Wi-Fi&BLE模組。模組性
    的頭像 發(fā)表于 02-03 18:14 ?141次閱讀
    【<b class='flag-5'>ESP32-S3</b>系列】WT0132<b class='flag-5'>S3</b>-AI-1模組規(guī)格書(shū)

    ESP32-S3系列】WT0132S3-AI-1模組產(chǎn)品介紹

    概述WT0132S3-AI-1系列模組(以下簡(jiǎn)稱“WT0132S3-AI-1”)是深圳市啟明云端有限公司推出的基于樂(lè)鑫ESP32-S3系列芯片設(shè)計(jì)的,集成Wi-Fi&BLE模組。模組性
    的頭像 發(fā)表于 01-22 18:05 ?230次閱讀
    【<b class='flag-5'>ESP32-S3</b>系列】WT0132<b class='flag-5'>S3</b>-AI-1模組產(chǎn)品介紹

    樂(lè)鑫科技ESP32-S3開(kāi)發(fā)板+超聲波霧化,給智能魚(yú)缸整點(diǎn)美學(xué)氛圍

    我們?yōu)槭裁匆o智能魚(yú)缸弄上霧化?美學(xué)氛圍當(dāng)然是一方面,但更重要的功能是局部加濕,為水面植物與周圍空氣提供柔和濕度。因此我們特意推出本期內(nèi)容:用樂(lè)鑫科技ESP32-S3開(kāi)發(fā)板和超聲波霧化模塊讓水面形成
    的頭像 發(fā)表于 12-08 18:04 ?612次閱讀
    樂(lè)鑫科技<b class='flag-5'>ESP32-S3</b>開(kāi)發(fā)板+超聲波霧化,給智能魚(yú)缸整點(diǎn)美學(xué)氛圍

    為什么AI陪伴玩具都愛(ài)用ESP32-S3?這就科普

    深圳動(dòng)能世紀(jì)整理分析,在AI玩具市場(chǎng)中,ESP32-S3已成為眾多廠商的首選方案。從智能對(duì)話玩偶到編程機(jī)器人,從早教故事機(jī)到AR互動(dòng)卡片,ESP32-S3的身影無(wú)處不在。本文將從技術(shù)特性、成本控制
    的頭像 發(fā)表于 12-05 14:05 ?82次閱讀

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項(xiàng)目添加頭文件

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項(xiàng)目添加頭文件
    的頭像 發(fā)表于 11-28 07:27 ?2286次閱讀

    我家魚(yú)缸能感知光!一塊樂(lè)鑫科技ESP32-S3開(kāi)發(fā)板就能實(shí)現(xiàn)環(huán)境光監(jiān)測(cè)!代碼開(kāi)源!啟明云端樂(lè)鑫代理

    科技ESP32-S3開(kāi)發(fā)板,我竟在家實(shí)現(xiàn)了魚(yú)缸水質(zhì)監(jiān)測(cè)自由?!代碼開(kāi)源!啟明云端樂(lè)鑫代理本期我們將聚焦于植物生長(zhǎng)的關(guān)鍵要素——光照,進(jìn)一步開(kāi)發(fā)智能環(huán)境光監(jiān)測(cè)功能。植物健康生長(zhǎng)離
    的頭像 發(fā)表于 11-26 18:04 ?354次閱讀
    我家魚(yú)缸能感知光!一塊樂(lè)鑫科技<b class='flag-5'>ESP32-S3</b>開(kāi)發(fā)板就能<b class='flag-5'>實(shí)現(xiàn)</b>環(huán)境光監(jiān)測(cè)!代碼開(kāi)源!<b class='flag-5'>啟明</b>云端樂(lè)鑫代理

    ESP32-S3

    學(xué)習(xí)ESP32-S3 ,推薦使用什么IDE,學(xué)習(xí)資料一般咋哪找
    發(fā)表于 11-13 10:56

    低成本開(kāi)源!用樂(lè)鑫科技ESP32-S3開(kāi)發(fā)板輕松驅(qū)動(dòng)無(wú)刷電機(jī),保姆級(jí)教程來(lái)了!

    想用ESP32-S3開(kāi)發(fā)板驅(qū)動(dòng)無(wú)刷電機(jī)卻不知從何下手?本教程將手把手教你完成從硬件連接到軟件編程的全流程,無(wú)論你是新手還是有一定經(jīng)驗(yàn)的開(kāi)發(fā)者,都能輕松掌握!本教程代碼已全部開(kāi)源!后臺(tái)私信關(guān)鍵詞
    的頭像 發(fā)表于 11-06 18:03 ?802次閱讀
    低成本開(kāi)源!用樂(lè)鑫科技<b class='flag-5'>ESP32-S3</b>開(kāi)發(fā)板輕松驅(qū)動(dòng)無(wú)刷電機(jī),保姆級(jí)教程來(lái)了!

    樂(lè)鑫科技ESP32-S3開(kāi)發(fā)板配單色LED,竟能玩出這么多花樣!代碼開(kāi)源,速來(lái)白嫖!

    從閃爍到呼吸,從流水到追逐,一文掌握所有LED特效技巧本文將帶領(lǐng)大家從零開(kāi)始,使用ESP32-S3開(kāi)發(fā)板實(shí)現(xiàn)多種單色LED效果控制。無(wú)論你是剛?cè)腴T(mén)的小白,還是有一定經(jīng)驗(yàn)的開(kāi)發(fā)者,都能輕松復(fù)刻這些炫酷
    的頭像 發(fā)表于 10-23 18:02 ?2193次閱讀
    樂(lè)鑫科技<b class='flag-5'>ESP32-S3</b>開(kāi)發(fā)板配單色LED,竟能玩出這么多花樣!代碼開(kāi)源,速來(lái)白嫖!

    ESP32-S3的MicroPython開(kāi)發(fā)環(huán)境搭建

    本文通過(guò)搭建Thonny IDE開(kāi)發(fā)環(huán)境,了解了如何給ESP32-S3燒錄MircoPython固件和MircoPython應(yīng)用程序。
    的頭像 發(fā)表于 09-11 16:02 ?1612次閱讀
    <b class='flag-5'>ESP32-S3</b>的MicroPython開(kāi)發(fā)環(huán)境搭建

    【新品】ESP32-S3-NORA模組自帶Wi-Fi/BLE,板載陶瓷天線

    啟明云端新品發(fā)布WT0132S3-NORA模組,這款模組不僅繼承了樂(lè)鑫科技ESP32-S3芯片的卓越性能,更在連接穩(wěn)定性、安全性和適用性方面實(shí)現(xiàn)了全面突破。性能猛獸,雙核狂飆搭載樂(lè)鑫
    的頭像 發(fā)表于 09-10 18:03 ?1265次閱讀
    【新品】<b class='flag-5'>ESP32-S3</b>-NORA模組自帶Wi-Fi/BLE,板載陶瓷天線

    樂(lè)鑫ESP32-S3專為AIoT設(shè)計(jì),強(qiáng)化邊緣AI應(yīng)用方向

    的向量指令(vectorinstructions)。AI開(kāi)發(fā)者們通過(guò)使用這些向量指令,可以實(shí)現(xiàn)高性能的圖像識(shí)別、語(yǔ)音喚醒和識(shí)別等應(yīng)用。 ? ESP32-S3是一款低功耗的MCU系統(tǒng)級(jí)芯片(SoC),支持
    的頭像 發(fā)表于 09-09 09:20 ?7416次閱讀
    樂(lè)鑫<b class='flag-5'>ESP32-S3</b>專為AIoT設(shè)計(jì),強(qiáng)化邊緣AI應(yīng)用方向

    【HZ-RK3568開(kāi)發(fā)板免費(fèi)體驗(yàn)】--TCP通訊

    root@192.168.3.217 4.服務(wù)與客戶分別執(zhí)行以下命令 TCP服務(wù)命令./tcp_server 2233
    發(fā)表于 08-24 18:34