您好,登錄后才能下訂單哦!
如何使用Arduino UART-WiFi模塊做web服務器,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
一、硬件準備
1.選擇硬件,主要有2種:
一種是官方推薦的Arduino WiFi Shield(比較貴,大概要300~400塊 淘寶網 ;但是資料齊全);
一種是UART-WiFi模塊,不僅支持Arduino,而且支持所有串口的單片機都可以和其模塊通信(大概100塊左右,淘寶網,資料較少)。
最后選擇了UART-WIFI模塊,也走了條坎坷的路,也許到了不少東東。
2. UART-WIFI模塊介紹
圖片
接口
雙排(2 x 4)插針式接口
支持波特率范圍:1200~115200bps
支持硬件 RTS/CTS 流控
單 3.3V 供電 、300mA無線
支持 IEEE802.11b/g 無線標準
支持頻率范圍:2.412~2.484 GHz
支持兩種無線網絡類型:
基礎網(Infra )和自組網(Adhoc)
支持多種安全認證機制:
WEP64/WEP128/ TKIP/CCMP(AES)
WEP/WPA-PSK/WPA2-PSK
支持快速聯網
支持無線漫游其它
支持多種網絡協議:
TCP/UDP/ICMP/DHCP/DNS/HTTP
支持自動和命令兩種工作模式
支持串口透明傳輸模式
支持 AT+控制指令集
支持多種參數配置方式:
串口/WEB 服務器/ 無線連接3. UART-WIFI模塊配置
由于 UART-WIFI模塊需要3.3V和300mA的輸入,而Arduino只能提供3.3V和50 mA,直接連接到Arduino,會導致arduino的3.3v輸出,實際測量只有2.3V左右,不能正常使用 UART-WIFI模塊。
3種配置
配置一:外接電源
配置二:可以使用兼容官方Arduino的升級版開發板(Freaduino).Freaduino使用1117-3.3輸出3.3V供電,最大電流800mA。Arduino只提供500mA的5V供電,而Freaduino更改原有LDO設計為DCDC,最多可以提供2A的5V供電。
配置三:轉接板(沒找到合適的轉接板,未驗證,不過原理應該是一樣的,提高電流 )
二、測試UART-WiFi模塊
方法一:使用UART-WIFI配置管理程序進行管理
將 UART-WIFI 模塊和串口連接板連接好,連接好串口線后打開電源
小技巧:1.可以把Arduino的reset和gnd連接,作為串口轉接板使用;2.Arduino作為串口轉接板使用時,必須RX連接UART-WIFI 模塊RX;TX連接UART-WIFI 模塊TX。
啟動 UART-WIFI配置管理程序,從端口列表中選擇模塊的連接端口號,如果不確定可以選擇自動(頻率設置為9600)
點擊“退出透傳模式”
點擊“搜索模塊”,如果連接端口選擇“自動”且計算機有多個串口時,可能會花費較長的搜索時間,完成后如下圖所示:
修改該模塊相應的配置
方法二:通過內置WEB服務器,使用IE瀏覽器通過網頁進行參數配置功能
使用pc,搜索并連接到該模塊的ap。必須保證模塊已經成功連接到網絡;
WEB服務器默認端口號為 80,因此在瀏覽器的地址欄僅輸入地址即可。比如:192.168.1.100
輸入WEB服務器的賬號密碼(默認賬號:admin 默認密碼:000000)
網頁的配置頁面如下圖所示,如果要修改無線模塊的配置參數,只需在修改完成后點擊相應的“ save”按鈕即可提交修改
三、實現wifi webserver
第一步:配置參數(使用管理程序和web后臺均可)
協議類型:TCP
C/S模式:server
TCP過期時間:2s
端口號:8080
sta模式
SSID名稱
加密模式
無線路由器密碼
無線參數
自動工作模式
第二步:編寫arduino并上傳代碼到板子上
void setup()
{
Serial.begin(9600);
}
void loop()
{
boolean currentLineIsBlank = true;
while(1){
if (Serial.available()) {
char c = Serial.read();
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n' && currentLineIsBlank) {
// send the webpage
Serial.println("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<html><body><center><h2>Hello World!! I am WiFi WebServer</h2></center></body></html>");
break;
}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
}
else if (c != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
}
注意:不要連續輸入三個“!”,這會導致上傳到mega2560失敗。示意圖:
第三步:打開瀏覽器,訪問板子的ip地址, 驗證結果。以192.168.103:8080 為例
關于如何使用Arduino UART-WiFi模塊做web服務器問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。