- 一種是官方推薦的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供電。
2、測試UART-WiFi模塊
- 方法一:使用UART-WIFI配置管理程序進行管理
- 將 UART-WIFI 模塊和串口鏈接板鏈接好,鏈接好串口線後打開電源
- 小技巧:1.能夠把Arduino的reset和gnd鏈接,做爲串口轉接板使用;2.Arduino做爲串口轉接板使用時,必須RX鏈接UART-WIFI 模塊RX;TX鏈接UART-WIFI 模塊TX。
- 啓動 UART-WIFI配置管理程序,從端口列表中選擇模塊的鏈接端口號,若是不肯定能夠選擇自動(頻率設置爲9600)
- 網頁的配置頁面以下圖所示,若是要修改無線模塊的配置參數,只需在修改完成後點擊相應的「 save」按鈕便可提交修改
3、實現wifi webserver
- 第一步:配置參數(使用管理程序和web後臺都可)
- 無線參數
- sta模式
- SSID名稱
- 加密模式
- 無線路由器密碼
- 自動工做模式
- 協議類型:TCP
- C/S模式:server
- TCP過時時間:2s
- 端口號:8080
- 第二步:編寫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><h1>Hello World!! I am WiFi WebServer</h1></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失敗。示意圖: