首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ESP32 TCP客户端

ESP32 TCP客户端
EN

Stack Overflow用户
提问于 2018-03-29 22:00:48
回答 2查看 1.7K关注 0票数 0

我想在windows上设置TCP服务器,在ESP32上设置TCP客户端。主要的想法是发送字符串到TCP更改它并将其发送回服务器,但我对所有这些东西都是新手,并且在ESP32上设置ESP32客户端时遇到了困难。示例或参考资料会很有帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-04-11 01:00:30

你如何与你的ESP沟通?如果您通过UART通信,只需向他发送他需要的AT命令,在UART端口上写下:

"AT+CIPSTATUS\r\n“,然后等待他的响应。

如果您的计算机直接连接到ESP32,只需使用putty并直接向其发送AT命令即可。

AT命令的非详尽列表可在此处找到:https://www.espressif.com/sites/default/files/documentation/esp32_at_instruction_set_and_examples_en.pdf

票数 0
EN

Stack Overflow用户

发布于 2019-04-17 21:41:51

代码语言:javascript
复制
int create_ipv4_socket()
{
  struct addrinfo hints;
  struct addrinfo *res;
  struct in_addr *addr;

  hints.ai_family = AF_INET;
  hints.ai_socktype = SOCK_STREAM;

  int err = getaddrinfo(UDP_IPV4_ADDR, TCP_PORT, &hints, &res);

  if(err != 0 || res == NULL) {
    printf("DNS lookup failed err=%d res=%p\n", err, res);
    return -1;
  }

  /* Code to print the resolved IP.

     Note: inet_ntoa is non-reentrant, look at ipaddr_ntoa_r for "real" code */
  addr = &((struct sockaddr_in *)res->ai_addr)->sin_addr;
  printf("DNS lookup succeeded. IP=%s\n", inet_ntoa(*addr));

  l_sock = socket(res->ai_family, res->ai_socktype, 0);
  if(l_sock < 0) {
    printf("... Failed to allocate socket.\n");
    freeaddrinfo(res);
    return -1;
  }

  struct timeval to;
  to.tv_sec = 2;
  to.tv_usec = 0;
  setsockopt(l_sock,SOL_SOCKET,SO_SNDTIMEO,&to,sizeof(to));

  if(connect(l_sock, res->ai_addr, res->ai_addrlen) != 0) {
    printf("... socket connect failed errno=%d\n", errno);
    close(l_sock);
    freeaddrinfo(res);
    return -1;
  }

  printf("... connected\n");
  freeaddrinfo(res);

  // All set, socket is configured for sending and receiving
  return l_sock;
}

来自此论坛的https://www.esp32.com/viewtopic.php?t=5965

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49558089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档