1. 程式人生 > >TCP/UDP 與wifi模組通訊專案整理

TCP/UDP 與wifi模組通訊專案整理

最近一個月做了一個有關PM2.5室內空氣淨化的一個專案,控制器採用的是STM32,其中一部分就是實現PC-----控制器------風機之前的通訊,採用的技術是WIFI技術,核心部分就是UDP之間的通訊。下面總結一下。。。

機制:PC採用UDP廣播模式,即控制器需要提供一個指定的埠,比如10100,PC通過配置對端IP 255.255.255.255 PORT 10100即可向對端(控制器)傳送指定的協議,我的控制器採用的是ESP8266WIFI模組,該模組是與串列埠進行直連,支援透傳和AT指令,我採用的是AT指令模式,此模組最多支援4路連線,我採用配置其中的兩路完成我的整個功能,一個是與PC通訊的UDP連線,另一個是與風機通訊的UDP廣播。

與PC通訊的UDP連線處理機制:系統啟動過程中有一個預設的對端IP和對端埠以及一個確定的本地埠,由於PC用的是廣播模式,所以只要保證向我確定的本地埠傳送廣播資料,我就可以接收到,但是我想要向PC返回資料時,我就需要知道PC端的IP和埠,因此在廣播資料中,按照指定的協議,需要包含PC端的IP地址和PC端的埠號,當我接收到的IP和埠與我預設的IP和埠不一致時,我程式需要自動再次完成socket連線(AT指令連線),連線完成後即可點對點UDP資料收發。

與風機通訊的UDP廣播機制:通過AT指令配置第二個UDP廣播模式連線,說來也奇葩,配了好長時間就是配不成功,原因是需要將對端IP配置成192.168.1.255,而不是通常的255.255.255.255,這塊部分應該是因模組廠家不同而不同,配置成廣播模式之後,即可通過AT指令向相應的連線傳送資料。

此部分是後來補充:上網查了下,原來192.168.1.255是區域網中進行廣播,不可以跨路由;而255.255.255.255是全網進行廣播,可以跨路由進行廣播!

我用的WIFI模組工作模式是AP+STA工作模式,作為AP目的:PC和我控制器直連,配置我要連線的熱點的ssid和密碼;作為STA,通過連線到局域路由,完成PC---控制器----風機的通訊,這三大部分都是連線的同一個路由!

關於TCP/UDP:

僅個人理解:

TCP協議:分為TCP sever和TCP client ,TCP client與TCP sever 三次握手之後建立連線完成兩者之間的通訊

UDP協議:部分伺服器端和客戶端(僅個人理解),實際就是點對點通訊,我只要知道對端的IP和對端的埠,我就可以向對端傳送資料,前提是對端和自己在同一個路由上連線,如果對端IP改成255.255.255.255,PORT為某一個埠,比如:10100,則在該區域網中不論IP為多少,只要是埠設定成10100的,都能接收到廣播端資料,通過TCP/UDP除錯軟體可進行局域內部測試

LINUX 下的TCP/UDP socktet工作原理

相關推薦

TCP/UDP wifi模組通訊專案整理

最近一個月做了一個有關PM2.5室內空氣淨化的一個專案,控制器採用的是STM32,其中一部分就是實現PC-----控制器------風機之前的通訊,採用的技術是WIFI技術,核心部分就是UDP之間的通訊。下面總結一下。。。機制:PC採用UDP廣播模式,即控制器需要提供一個指定

tcp/udp建立連線並通訊的過程

基於TCP的socket程式設計的伺服器程式流程如下:1.建立套接字SOCKETsockSrv = socket(AF_INET, SOCK_STREAM, 0) ;2.將套接字繫結到本地地址和埠上       SOCKADDR_INaddrSrv ;

wifi模組開發專案

一、寫在前面 繼上次的文章wifi模組esp8266的學習後,我們就可以利用自己手上的esp8266-01 模組做一些小專案啦。網上有關利用wifi模組來開發專案的資料,我百度了,但是覺得很少,大多是在電腦上利用串列埠除錯助手來發送AT指令來除錯

STM32 HAL庫 串列埠DMA(收發)和STM32串列埠中斷接收(接收時間管理機制)+ESP8266 wifi模組通訊問題

一、HAL庫 串列埠 DMA+ESP8266模組通訊問題 用STM32 HAL庫串列埠的DMA傳送和空閒中斷接收處理資料,單片機發送AT指令給ESP8266 wifi模組問題:微控制器連續幾次給wifi模組傳送AT指令,wifi模組總是少一次的應答,在無線通訊過程中是不方便

TCP/UDPconnect系統呼叫

一、TCP與UDP區別        TCP保證資料正確性,UDP可能丟包;TCP保證資料順序,UDP不保證。        TCP---傳輸控制協議,提供的是面向連線、可靠的位元組流服務。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立一個TCP連線,之後才能傳輸資料

網路程式設計之網路通訊是什麼——UDPTCP的區別

      首先,補充一下其他的知識,會更加方便了解。      OSI模型:是ISO(國際標準化組織)組織在1985年研究的網路互聯模型,推薦所有公司使用這個規範來控制網路。這樣所有公司都有相同的規範,就能互聯了。  

嵌入式Linux網路程式設計,網路基礎,OSI七層模型,TCP/IP四層模型,TCP/IP通訊模型、協議結構、封包拆包,TCP/UDP協議特點及適用情況

文章目錄 1,TCP協議分成了兩個不同的協議----->TCP/IP協議誕生 2,網路的體系結構 2.1,OSI開放系統互聯模型 2.2,TCP/IP協議族的體系結構 3,TCP/IP協議通訊模型 3.1

STM32F4+WIFI模組TCP連結伺服器,伺服器安卓客戶端Websocket長連結;實現監控資訊實時推送。

  哈哈哈哈哈!這是筆者第一次寫這種東西,專案是我們大二的一個大創組的專案:(雖然很沒創新,導師也一棒子打死了)但是我們還是硬著頭皮完成了。 1>硬體端:stm32f429,紅外線感應,esp8266模組,ov5640攝像頭,步進電機,等等。    主要是採集移動物

tcp&udp測試工具的使用,串列埠轉wifi模組udp測試

工作機制介紹,裝置主動向固定的主機固定埠主動傳送資料,為了知道裝置的IP及埠號以及能夠向裝置傳送資料,我們需要用到tcp&udp測試工具。 比如裝置主動向192.168.3.13主機的10000埠傳送資料。我們在wifi模組上先配置好這兩個引數。 開啟TCP/UDP

一個基於TCP/IP的伺服器客戶端通訊的小專案(超詳細版)

1.目的:實現客戶端向伺服器傳送資料   原理: 2.建立兩個控制檯應用,一個為伺服器,用於接收資料。一個為客戶端,用於傳送資料。   關鍵類與對應方法:   1)類IPEndPoint:   1.是抽象類EndPoint的實現類   2.So

基於TCPUDP協議的socket通訊

基於TCP與UDP協議的socket通訊 C/S架構與初識socket   在開始socket介紹之前,得先知道一個Client端/服務端架構,也就是 C/S 架構,網際網路中處處充滿了 C/S 架構(Client/Server),比如我們需要玩英雄聯盟,就必須連線至英雄聯盟的伺服器上,那麼對於我們玩家來說

淺析TCP協議UDP協議

linux運維TCP(Transmission Control Protocol),全稱傳輸控制協議。工作在TCP/IP協議棧中的傳輸層,為主機層對主機層的連接提供了可靠的鏈接服務。此協議通過三個步驟使客戶機與服務器建立一個連接,並通過四個步驟關閉此連接,這個過程我們分別稱之為三次握手和四次揮手。UDP((U

網絡 UDPTCP

套接字 OS udp協議 隨機 資源 創建 擁塞 超時 綁定 一張思維導圖搞懂 UTP與TCP tcp服務器一般情況下都需要綁定,否則客戶端找不到這個服務器 tcp客戶端一般不綁定,因為是主動鏈接服務器,所以只要確定好服務器的ip、port等信息就好,本地客戶端可以隨機

異常處理網絡基礎中的tcp,udp協議

server 數據 ati exc mac地址 成功 soc 不可靠 處理 # 異常處理: # 什麽是異常?異常和錯誤的區別 # Error 語法錯誤 比較明顯的錯誤 在編譯代碼階段就能檢測出來 # Iteration 異常 在執行代碼的過程中引發

一篇文章講懂IP資料報分片、組裝以及TCP/UDP的聯絡

http://www.mamicode.com/info-detail-1465195.html https://blog.csdn.net/leex_brave/article/details/51971053 https://blog.csdn.net/buptzwp/article

深入淺出maven系列(三)---maven構建ssh工程(父工程模組的拆分耦合) 前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!!

        前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!! 一、maven父工

TCP UDP 通訊技術

什麼是 TCP UDP呢,不懂的,送概念連線一份: https://baike.baidu.com/item/UDP/571511?fr=aladdin https://baike.baidu.com/item/TCP/IP%E5%8D%8F%E8%AE%AE 簡單來講,TCP

13-編寫WIFI模組連線MQTT程式,和除錯助手測試通訊

  直接上程式吧 local SubscribeTopic = "wifi/user".."/"..clientid PublishTopic = "wifi/device".."/"..clientid local UsartReceiveData=""; lo

C++ 簡單的 Tcp 實現 socket 客戶端客戶端通訊

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

設計多個非本地IP之間進行TCP/UDP通訊

工作需要,遇到過一個問題,需要模擬多個非本地IP之間進行TCP/UDP通訊,一開始以為非常簡單,直到遇到錯誤“非法IP”“該請求地址無效”"指定了無效的IP地址"這些錯誤,就是本地模擬TCP/UDP時出了本地迴環地址127.0.0.1其它地址都是無法識別的,程式不知道怎麼建立套接字,也不知道傳送給誰