51单片机WIFI通信模块基础

在这里插入图片描述

//基础配置初始化
AT+RST              # 重启模块
AT+CWMODE=1          # 设置STA模式(设备模式)
AT+CWJAP="SSID","密码" # 连接路由器(等待5-10秒)
> Response: WIFI CONNECTED
AT+CIPMUX=0          # 单连接模式
//接收数据
# TCP客户端模式(连接服务器)
AT+CIPSTART="TCP","网段"

# 发送数据(需指定长度)
AT+CIPSEND=4
> 等待模块返回 ">" 后发送数据
ABCD                # 实际发送内容

# 接收数据
+IPD,5:HELLO        # 收到5字节数据 "HELLO"
//发送函数
void ESP_SendCmd(char *cmd) {
    while (*cmd) {
        SBUF = *cmd++;    // 逐字符发送
        while (!TI);      // 等待发送完成
        TI = 0;
    }
    SBUF = '\r';          // 发送回车符
    while (!TI); TI = 0;
    SBUF = '\n';          // 发送换行符
    while (!TI); TI = 0;
}
//wifi与TCP通信
//TCP(Transmission Control Protocol)
//是互联网最核心的面向连接、可靠传输的传输层协议
//保证数据不丢、不乱、不重复,用于网页、文件、
//邮件等要求100%正确的场景
void ESP_Init() {
    delay(1000);          // 等待模块启动
    ESP_SendCmd("AT+RST");
    delay(2000);          // 重启等待
    
    ESP_SendCmd("AT+CWMODE=1");
    ESP_SendCmd("AT+CWJAP=\"MyRouter\",\"password123\"");
    delay(10000);         // 连接路由器等待
    
    ESP_SendCmd("AT+CIPSTART=\"TCP\",\"192.168.1.100\",8080");
    delay(2000);
    ESP_SendCmd("AT+CIPMODE=1");  // 开启透传
    ESP_SendCmd("AT+CIPSEND");     // 进入透传模式
}

// 透传模式下直接发送数据
void ESP_SendData(char *dat) {
    while (*dat) {
        SBUF = *dat++;
        while (!TI);
        TI = 0;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值