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