如何使用Arduino UART-WiFi模塊做web服務(wù)器,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
我們提供的服務(wù)有:網(wǎng)站設(shè)計、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、上蔡ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的上蔡網(wǎng)站制作公司
一、硬件準備
1.選擇硬件,主要有2種:
一種是官方推薦的Arduino WiFi Shield(比較貴,大概要300~400塊 淘寶網(wǎng) ;但是資料齊全);
一種是UART-WiFi模塊,不僅支持Arduino,而且支持所有串口的單片機都可以和其模塊通信(大概100塊左右,淘寶網(wǎng),資料較少)。
最后選擇了UART-WIFI模塊,也走了條坎坷的路,也許到了不少東東。
2. UART-WIFI模塊介紹
圖片
接口
雙排(2 x 4)插針式接口
支持波特率范圍:1200~115200bps
支持硬件 RTS/CTS 流控
單 3.3V 供電 、300mA無線
支持 IEEE802.11b/g 無線標準
支持頻率范圍:2.412~2.484 GHz
支持兩種無線網(wǎng)絡(luò)類型:
基礎(chǔ)網(wǎng)(Infra )和自組網(wǎng)(Adhoc)
支持多種安全認證機制:
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配置管理程序進行管理
將 UART-WIFI 模塊和串口連接板連接好,連接好串口線后打開電源
小技巧:1.可以把Arduino的reset和gnd連接,作為串口轉(zhuǎn)接板使用;2.Arduino作為串口轉(zhuǎn)接板使用時,必須RX連接UART-WIFI 模塊RX;TX連接UART-WIFI 模塊TX。
啟動 UART-WIFI配置管理程序,從端口列表中選擇模塊的連接端口號,如果不確定可以選擇自動(頻率設(shè)置為9600)
點擊“退出透傳模式”
點擊“搜索模塊”,如果連接端口選擇“自動”且計算機有多個串口時,可能會花費較長的搜索時間,完成后如下圖所示:
修改該模塊相應(yīng)的配置
方法二:通過內(nèi)置WEB服務(wù)器,使用IE瀏覽器通過網(wǎng)頁進行參數(shù)配置功能
使用pc,搜索并連接到該模塊的ap。必須保證模塊已經(jīng)成功連接到網(wǎng)絡(luò);
WEB服務(wù)器默認端口號為 80,因此在瀏覽器的地址欄僅輸入地址即可。比如:192.168.1.100
輸入WEB服務(wù)器的賬號密碼(默認賬號:admin 默認密碼: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"); Hello World!! I am WiFi WebServer
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)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。