日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

玩转RT-Thread系列教程(12)--WIFI模组的使用

發布時間:2024/3/26 编程问答 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 玩转RT-Thread系列教程(12)--WIFI模组的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

玩轉RT-Thread系列教程(12)–WIFI模組的使用

本章節也是最有意思的章節,我將帶你手把手物聯網,讓你直觀的感受RTT軟件包的便捷以及強大之處!

一、添加at_device軟件包

1.1、配置Cubemx

根據正點原子開發板原理圖,我們可以看出wifi使用到了串口3,記得用跳線帽將串口3與GBC接口連接。

使能串口3

1.2、打開env配置

使能串口3

1.3、使能at_device

配置用戶信息,輸入您的wifi和密碼

1.4、更新軟件包

1.5、生成mdk工程

二、啟動測試AT組件

打開已經生成好的mdk工程,我們發現自動添加了兩個文件,分別為AT、at_device

2.1、測試前的準備工作

2.1.1、首先讓我們先來了解一下AT指令吧

AT 命令集是一種應用于 AT 服務器(AT Server)與 AT 客戶端(AT Client)間的設備連接與數據通信的方式

  • AT 功能的實現需要 AT Server 和 AT Client 兩個部分共同完成。
  • 前綴由字符 AT 構成,主體由命令、參數和可能用到的數據組成;結束符一般為 <CR><LF> ("\r\n")。
  • AT Server 和 AT Client 之間支持多種數據通訊的方式(UART、SPI 等),最常用的是串口 UART 通訊方式。

本次我們使用的通信模組為安信可公司出版的ESP8266,以下是改通訊模組常用AT指令:

  • AT+RST 復位模組
  • AT+GMR 查詢版本信息
  • AT+CWMODE=1 開啟模組透傳
  • AT+CWJAP=“WIFI名稱”,“WIFI密碼” 模組作為STA模式連接wifi
  • AT+CIFSR 查看分配的IP地址
  • AT+CIPSTART=“TCP”,“xxxxx”,1883 使用TCP方式連接服務器
  • AT+CIPMODE=1 開啟透傳
  • AT+CIPSEND 發送數據

2.2、修改at_client+at_device_esp8266文件

修改響應最大支持的接收數據的長度為128,防止緩沖區內存過小

將rt_thread_mdelay函數的延遲時間修改成1000ms,讓AT+RST有足夠時間來運行

2.3、編譯、下載、驗證

可以看到,AT_Client已經成功初始化,并且模組已經成功的連接到wifi。

測試聯網

可以看到輸入ifconfig已經成功的獲取到了ip地址

Ping下百度,可以收到數據包,證明我們的wifi已經成功聯網了

三、可能出現的錯誤匯總

3.1、超時問題

\ | / - RT - Thread Operating System/ | \ 4.0.2 build Aug 16 20192006 - 2019 Copyright by rt-thread team [32m[I/sal.skt] Socket Abstraction Layer initialize success.[0m [32m[I/at.clnt] AT client(V1.3.0) on device uart3 initialize success.[0m [0m[D/at.dev] the network interface device(esp0) set up status[0m [0m[D/at.dev] esp8266 device(esp0) initialize start.[0m [31m[E/at.clnt] Read response buffer failed. The Response buffer size is out of buffer size(256)![0m [0m[D/at.clnt] execute command (ATE0) timeout (5000 ticks)![0m [32m[I/at.dev] esp8266 device(esp0) initialize retry...[0m

1.Read response buffer failed. 緩沖區內存過小,那我們就直接增大就好了

2.command (ATE0)運行超時,ATE0是AT指令中的關閉回顯,出現這個問題的原因可能是AT組件初始化時間過短

解決緩沖區內存過小問題

修改響應最大支持的接收數據的長度為128,防止緩沖區內存過小

解決ATE0運行超時問題

AT_SEND_CMD(client, resp, "AT+RST"); /* reset waiting delay */ rt_thread_mdelay(2000);//增加延時 /* disable echo */ AT_SEND_CMD(client, resp, "ATE0");

3.2、不支持AT+CIPDNS_CUR?指令—8266的固件版本太低

解決`AT+CIPDNS_CUR?指令問題

訪問樂鑫的官網去下載更新版本的AT固件,https://www.espressif.com/zh-hans/support/download/at,并燒錄固件即可

總結

以上是生活随笔為你收集整理的玩转RT-Thread系列教程(12)--WIFI模组的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。