- 一种是官方推荐的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)
![]()
![]()
- 点击“退出透传模式”
- 点击“搜索模块”,若是链接端口选择“自动”且计算机有多个串口时,可能会花费较长的搜索时间,完成后以下图所示:
![]()
- 修改该模块相应的配置
- 方法二:经过内置WEB服务器,使用IE浏览器经过网页进行参数配置功能
- 使用pc,搜索并链接到该模块的ap。必须保证模块已经成功链接到网络;
- WEB服务器默认端口号为 80,所以在浏览器的地址栏仅输入地址便可。好比:192.168.1.100
- 输入WEB服务器的帐号密码(默认帐号:admin 默认密码:000000)
![]()
![]()
- 网页的配置页面以下图所示,若是要修改无线模块的配置参数,只需在修改完成后点击相应的“ 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失败。示意图:
![]()
![]()
- 第三步:打开浏览器,访问板子的ip地址, 验证结果。以192.168.103:8080 为例
![]()
![]()