esp32链接手机通信

测试通过

#include <WiFi.h>

const char *ssid = "@*****";
const char *password = "******";
//这里是第三方wifi的名称和密码,本机作为sta接入



const IPAddress serverIP(192,168,2,101); //目标地址
uint16_t serverPort = 2525;         //目标服务器端口号
//这里使用手机接受,使用app查询手机的ip地址,使用网络调试助手创建监听的端口号进行通讯


WiFiClient client;   //声明一个客户端对象,用于与服务器进行连接

void setup()
{
    Serial.begin(115200);
    Serial.println();

    WiFi.mode(WIFI_STA);   //站点模式
    WiFi.setSleep(false);  //关闭STA模式下wifi休眠,提高响应速度
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(2500);
        Serial.print(".");
    }
    Serial.println("已连接");
    Serial.print("本机ip地址:");
    Serial.println(WiFi.localIP());

}

void loop()
{

  Serial.println("尝试访问服务器");
    if (client.connect(serverIP, serverPort))  //尝试访问目标地址
    {
        Serial.println("访问成功");
        client.print("Hello moss!");                    //向服务器发送“hello world”
        while (client.connected()) //如果处于连接状态
        {
          if(client.available())      //如果没有发送信息,则不会跳入这个if
          {
              Serial.println("查询信息:");
              if (client.available()) //如果有数据可读取
              {
                  String line = client.readStringUntil('\n'); //读取数据到换行符
                  Serial.print("收到消息:");
                  Serial.println(line);
                  client.write(line.c_str()); //将收到的数据回发      
                  //c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同  
              }
          }
        }
        Serial.println("关闭当前连接");
        client.stop(); //关闭客户端
    }
    else
    {
        Serial.println("访问失败");
        client.stop(); //关闭客户端
    }
}

 

posted @   为鲸  阅读(405)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-02-02 STM_MotorControl Workbench 5.Y.4h_生成工程
2022-02-02 stm_workbench_mc_lib_file_tree
点击右上角即可分享
微信分享提示