03.05 手機是怎樣通過wifi模塊和單片機通信的呢?

知識匯聚


單片機要和手機通過wifi進行通訊,那麼單片機必須通過控制wifi芯片來實現,選用和適合的wifi模塊,將單片機和wifi模塊通過UART來連接實現數據的交互,wifi模塊的圖片如下所示。

單片機和wifi模塊的連接

單片機和wifi模塊是通過UART來實現連接的,具體的連接方式如下圖所示。

單片機和wifi模塊使用相同的電源,單片機和wifi的通信端口在連接的時候要交叉連接,即單片機的TXD和wifi模塊的RXD連接,單片機的RXD和wifi模塊的TXD連接。硬件連接好後就可以編寫程序了。

數據通訊協議的實現

兩個設備要通信,必須遵循相同的通信協議。wifi模塊內已經實現全棧的通信協議,是一個透傳模塊,所以單片機只要和wifi模塊實現UART通訊即可。單片機通過UART向wifi模塊發送AT指令即可實現對wifi模塊的設置,通過AT指令可以實現波特率的設置、wifi模式的設置、用戶名和密碼等數據的修改。這些參數設置好後,單片機就可以通過wifi和手機進行通訊了。

以上就是這個問題的回答,感謝留言、評論、轉發。

更多精彩內容請關注本頭條號:玩轉嵌入式。感謝大家。


玩轉嵌入式


手機有wifi功能,但怎麼設計能讓單片機通過wifi功能與手機數據交互。

這裡和大家從硬件和軟件兩個角度進行方案設計

首先硬件選型

1,單片機最小系統,要求:帶串口通信。此處我使用GD32F103RCT6作為控制器,此單片機封裝是LQPF,有64個引腳,最高主頻108Mhz,有5個串口進行通信,

2,wifi模組,目前市面上選用比較常用的是ESP8266,選用3.3V硬件版本的模組。工作時峰值電流<=200mA,使用串口接口與單片機TX,RX交叉連接,波特率選用115200

3,電源系統,選用3.3V的LDO作為系統供電電源,考慮到wifi模塊的工作峰值電流, 建議選用500mV的LDO電源芯片,

4,按鍵,建議增加1~2個獨立按鍵,作為模式切換的按鈕,

5,狀態提示,可以選用LED燈,或者顯示屏進行整個單片機項目的狀態

6,外部配置串口,可以用來配置wifi的相關參數,

軟件設計方面

esp8266模組有三種模式,分別是STA/AP/STA+AP,

STA指的是wifi模塊通過路由器連接遠程服務器,手機,平板,或者電腦通過遠程服務器中轉,經過wifi與單片機系統進行數據交互,

AP此模式下wifi模塊是作為wifi熱點,與手機,平板進行數據交互。

根據題目要求和上述sta和AP的說明,因此我們選用STA+AP的模式,

單片機與esp8266之間使用AT指令進行數據通信,在sta狀態下,選用tcpIP方式,與提前固化到單片機flash的遠程服務器的IP和端口號,進行數據傳輸。

遠程服務器的IP和端口,通過單片機的另一個串口,發送到單片機系統,單片機並對IP和端口進行存儲.

單片機的esp8266 需要在使用時,配置路由器的名稱和密碼,需要先打開手機wifi,並選擇esp8266對應名稱,再打開手機的遊覽器,輸入192.168.1.1.切換到對應頁面,輸入wifi模塊需要連接的路由器的名稱和密碼,並確定保存.配置成功後,

重啟單片機wifi系統,則每次上電,單片機則會通過AT指令,操作wifi與路由器進行連接,並與遠程服務器進行連接並建立透傳,完成數據的傳輸。


以上是問題的粗略解答,難免會有遺漏



科技電小二


手機通過Wifi模塊和單片機通信的方式有直接連接通信、組成局域網、通過雲服務器中轉三種

單片機一般是通過UART接口與Wifi模塊連接,單片機可以給Wifi模塊發送AT指令,讓Wifi模塊設置為AP Mode或者Stattion Mode。


手機直接Wifi模塊直接通信

手機和Wifi模塊需要在比較近的距離,兩者需要在通訊範圍之內,就好比手機和Wifi連接一樣。單片機通過AT指令把Wifi模塊設置為AP Mode,這樣Wifi模塊就好比一個熱點,手機可以直接連接到Wifi模塊。這樣手機就可以通過Wifi模塊與單片機進行通訊了。

手機和Wifi模塊通過路幅器組成局域網進行通訊

手機和Wifi模需要連接到同一個路由器。在同一個局域網內,就好比局域網內的兩個電腦也是可以互相通訊的。單片機通過AT指令把Wifi模塊設置為Stattion Mode,並把無線路由器Wifi的SSID 和密碼寫入到Wifi模塊。手機也連接到相同的路由器Wifi。這樣兩者就可以通過TCP/IP協議進行通訊了。

手機通過雲服務器與Wifi模塊通訊

通過雲服務器中轉後,手機和Wifi模塊就算“遠隔千里”都可以進行通訊,當然兩者都需要接入到互聯網才行。單片機通過AT指令把Wifi模塊設置為Stattion Mode,並把在連接範圍內的Wifi的SSID 和密碼寫入到Wifi模塊,這樣Wifi模塊就可以連接到互聯網了。單片機還需要給Wifi模塊發送指令,讓Wifi模塊連接到指定的雲服務器。當然手機也需要連接雲服務器,通過雲服務器,手機和Wifi模塊就可以交互通訊了。

歡迎關注@電子產品設計方案,一起享受分享與學習的樂趣!關注我,成為朋友,一起交流一起學習

  • 記得點贊和評論哦!非常感謝!

電子產品設計方案


一般中間有通訊模塊,匹配兩邊的頻率等,作為中間介質。說的直白就是翻譯的作用。


一心為消防


手機連到雲端建立通訊管道,通常是tcp或udp。wifi模塊連到雲端也建立通訊管道,通過雲端管理系統打通兩根管道就能通訊了。wifi模塊和單片機通常用串口uart通訊,如AT指令。其實wifi模塊本身是一片強大的32位單片機,比如常用的esp8266,可以做SDK開發實現外圍單片機的功能,甚至還能跑freeRTOS。


光明右使8787


因為單片機的處理能力不可能跑wifi驅動和tcpip協議棧,所以無法使用一般pc機上的無線網卡.目前淘寶上有一種串口轉wifi模塊是可以供單片機使用的,原理是單片機只是通過串口收發一些簡單的ascii碼指令給串口wifi模塊,而wifi模塊內部包含了tcpip協議棧及wifi驅動。


分享到:


相關文章: