千家信息网

如何使用Arduino UART-WiFi模块做web服务器

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,如何使用Arduino UART-WiFi模块做web服务器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、硬件准备1.选择硬件,
千家信息网最后更新 2024年11月11日如何使用Arduino UART-WiFi模块做web服务器

如何使用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

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;
}
}
}
}

注意:不要连续输入三个"!",这会导致上传到mega2560失败。

示意图:
  • 第三步:打开浏览器,访问板子的ip地址, 验证结果。以192.168.103:8080 为例




关于如何使用Arduino UART-WiFi模块做web服务器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0