ESP8266 使用TCP通信协议

2023-10-27

TCP服务器示例

	#include <ESP8266WiFi.h>
	int port = 8888;  //Port number
	WiFiServer server(port);
	 
	//Server connect to WiFi Network
	const char *ssid = "xx";  //Enter your wifi SSID
	const char *password = "xx";  //Enter your wifi Password
	 
	int count=0;
	 
	// 复位或上电后运行一次:
	void setup() {
	    //在这里加入初始化相关代码,只运行一次:
	    Serial.begin(115200);
	     
	    Serial.println();
	     
	    WiFi.mode(WIFI_STA);
	    WiFi.begin(ssid, password); //Connect to wifi
	     
	    // Wait for connection
	    Serial.println("Connecting to Wifi");
	    while (WiFi.status() != WL_CONNECTED) {
	        delay(500);
	        Serial.print(".");
	        delay(500);
	    }
	     
	    Serial.println("");
	    Serial.print("Connected to ");
	    Serial.println(ssid);
	     
	    Serial.print("IP address: ");
	    Serial.println(WiFi.localIP());
	    Serial.print("port:");
	    Serial.println(port);
	    server.begin();
	}
	 
	//一直循环执行:
	void loop() {
	    // 在这里加入主要程序代码,重复执行:
	    WiFiClient client = server.available();
	     
	    if (client) {
	        if(client.connected())
	        {
	            Serial.println("Client Connected");
	        }
	         
	        while(client.connected()){
	            while(client.available()>0){
	                // read data from the connected client
	                Serial.write(client.read());
	            }
	            //Send Data to connected client
	            while(Serial.available()>0)
	            {
	                client.write(Serial.read());
	            }
	        }
	        client.stop();
	        Serial.println("Client disconnected");
	    }
	}
							

TCP客户端示例

	#include <ESP8266WiFi.h>
	 
	#define SSID "xx" //这里改成你的wifi名字
	#define PASSWD  "xx"//这里改成你的wifi密码
	 
	const uint16_t port = 8888;
	const char * host = "192.168.0.111"; // ip or dns
	WiFiClient client;//创建一个tcp client连接
	 
	// 复位或上电后运行一次:
	void setup() {
	    //在这里加入初始化相关代码,只运行一次:
	    Serial.begin(115200);
	     
	    WiFi.mode(WIFI_STA);
	    WiFi.begin(SSID,PASSWD);
	     
	    Serial.println("Wait for WiFi... ");
	    //等待wifi连接成功
	    while (WiFi.status() != WL_CONNECTED) {
	        Serial.print(".");
	        delay(500);
	    }
	     
	    Serial.println("");
	    Serial.println("WiFi connected");
	    Serial.print("IP address: ");
	    Serial.println(WiFi.localIP());
	     
	    delay(500);
	}
	 
	//一直循环执行:
	void loop() {
	    // 在这里加入主要程序代码,重复执行:
	    Serial.print("connecting to ");
	    Serial.println(host);
	     
	    if (!client.connect(host, port)) {
	        Serial.println("connection failed");
	        Serial.println("wait 5 sec...");
	        delay(5000);
	        return;
	    }
	     
	    // 发送数据到Tcp server
	    Serial.println("Send this data to server");
	    client.println(String("lingzhilab"));
	     
	    //读取从server返回到响应数据
	    String line = client.readStringUntil('\r');
	    Serial.println(line);
	     
	    Serial.println("closing connection");
	    client.stop();
	     
	    Serial.println("wait 5 sec...");
	    delay(5000);
	}
							
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ESP8266 使用TCP通信协议 的相关文章

  • ESP8266常见问题

    转载于 ESP8266常见问题解答 http bbs eeworld com cn thread 506728 1 1 html 出处 电子工程世界 论坛 1 为什么ESP8266 TCP透传过程会丢包 因为没有设置硬件流控 如果需要避免丢
  • stm32 esp8266配网-smartConfig和BT串口方式配网

    stm32 esp8266 ota系列文章 stm32 esp8266 ota 快速搭建web服务器之docker安装openresty stm32 esp8266 ota升级 tcp模拟http stm32 esp8266 ota升级 h
  • ESP8266连接STM32创建网络服务器

    如果您考虑未来的技术 那么您脑海中立即出现的两个名称是人工智能 AI 和物联网 IoT AI仍处于初始阶段 还有很多东西需要开发 但物联网正处于成长阶段 许多基于物联网的产品 已经在市场上销售 此外 市场上还有许多工具和硬件可以让您的产品与
  • 基于STM32串口通信的ESP8266WiFi模块使用

    掌握esp8266的使用可以实现真正的万物物联 esp8266wifi通信对于MCU而言归结到底还是串口或spi通信 因此 掌握RS232通信协议 SPI通信协议以及esp8266的配置就可以基本搞定WiFi模块的使用 参考文章 1 ESP
  • STM32F407+ESP8266连接机智云过程详解

    工程创建 代码调试过程参见 STM32F407 ESP8266 程序源码下载 STM32F407 ESP8266连接机智云程序源码
  • 使用Jupyter分析Wi-Fi数据

    在嗅探Wi Fi时 Wireshark是跨平台的 能够捕获大量数据 弄清这些数据完全是另一项任务 这就是Jupyter Notebook的用武之地 它可以帮助分析Wi Fi数据包 并确定特定电话以前连接过的网络 从而使我们可以了解所有者的身
  • 3.2 ATK-ESP8266 WIFI模块-烧录固件

    ATK ESP8266 WIFI模块 烧录固件 一丶前期准备 1 在某宝买的ESP8266模块 2 烧录模式引脚 IO 0引脚接GND 另外一个不用接 左边四个 正常连接串口即可 3 烧录固件 按照原子哥给的资料 烧写方式有误 在烧录固件
  • Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制

    一 准备工作 1 在网上要购买一块ESP8266 01s带relay继电器的 价格10几元 2 网上购买一个USB转TTL的转接头 我自己用是CH340 价格几元 3 找一个服务器 当然免费的最好 我用的是酱菜创客平台 此平台是给创客提供一
  • 使用安信可IDE开发ESP8266时出现error: ld returned 1 exit status

    在 app Makefile中COMPONENTS eagle app v6 后面添加driver libdriver a 并在 app driver中添加Makefile文件 这里建议直接复制 examples IoT Demo文件夹并删
  • esp8266-01s介绍与使用

    esp826601s 是个比较常用的wifi模块 体积小 功能强大 说是可以用于工业 下面介绍esp826601s 可用引脚 以及可用功能 esp 01 ESP 01S 在ESP 01的基础上 优化了PCB天线 进行了一小步的升级 带来了一
  • ESP8266之AT指令

    一 8266作为client 1 AT 功能 测试8266能否工作 2 AT CWMODE 3 功能 设置工作模式 1 station模式 2 ap模式 3 ap station复位保存当前值 3 AT RST 功能 复位 4 AT CWL
  • ESP8266EX使用SDK开发串口调试乱码

    目录 问题如图所示 问题分析 问题解决 问题如图所示 问题分析 有输出信号 说明有数据产生 可能原因 波特率不匹配 时钟频率不对 问题解决 不断调整串口调试助手的波特率9600 115200 不管用 把ESP8266的默认波特率改为9600
  • 【STM32F4】STM32F407+ESP8266连接机智云过程详解

    要求 通过手机上的机智云通用APP 点亮开发板载LED0 LED1 摘要 硬件组成 STM32F407ZGT6 esp8266 乐鑫 软件APP 机智云开发都者中心下载的通用APP Demo Xcom串口调试助手 Keil V5 调试过程详
  • ESP8266 hspi的调试

    这一两个礼拜基本上都在爬这个坑 功夫不负有心人 终于搞定了 其实非常简单 以为这个东西有多么的复杂 其实不是这样的 被一些网上博主给误导了 8266端我用的是 ESP8266 NONOS SDK 3 0 examples periphera
  • ESP8266引脚参考详解

    ESP8266引脚参考详解 ESP8266 ESP12 E芯片自带17个GPIO管脚 并不是所有的gpio在所有的ESP8266开发板中都是公开的 有些gpio不推荐使用 有些gpio有非常具体的功能 通过本指南 您将学习如何正确使用ESP
  • 从零开始的ESP8266探索(11)-定时任务调度器Ticker使用演示

    文章目录 目的 使用演示 基本使用1 基本使用2 动态设置和参数传递 停止和重启任务 注意事项 总结 目的 Arduino for esp8266属于无操作系统环境 对于开发多任务的复杂应用还是比较麻烦的 所以这里就提供了一个近似于操作系统
  • 从零开始的ESP8266探索(16)-扫描网络演示

    文章目录 目的 使用演示 同步扫描 异步扫描 总结 目的 ESP8266可以通过扫描获取周围环境中的WiFi热点 所以我们也可以先扫描一下再决定连接到某个网络上 这也是一种常见的应用场景 使用演示 同步扫描 使用下面代码进行同步扫描 同步扫
  • STM32通过ESP8266利用机智云平台实现手机远程操作

    STM32通过ESP8266利用机智云平台实现手机远程操作 将STM32作为主控芯片 ESP8266作为外设 利用串口传递信息 通过机智云平台实现STM32与手机之间的数据传输 之所以选择机智云平台 是因为机智云平台相关配套的软件工具非常齐
  • 解决VSCode中查看ESP32日志乱码

    问题现象 在VSCode的Monitor中查看ESP32输出的日志乱码 如下图 原因 在VSCode中IDF默认的Monitor串口波特率为460800 然而ESP32输出Log的串口波特率默认为115200 因串口波特率不匹配导致Moni
  • 如何使用新的 SDK (NodeMCU) 发送多个数据 (conn:send())

    我一直在阅读 NodeMCU 文档和几个有关 SDK 更改的已解决问题 这些 SDK 以前允许发送多个数据流 就像排队的 net socket send 一样 这里似乎引发了一场巨大的争论 730 和那里 993 或者甚至在这里 999 然

随机推荐

  • 天池布匹瑕疵检测代码实现问题

    天池布匹瑕疵检测GitHub代码实现 一 数据处理 转换成coco数据集 实现过程遇到的问题 数据集处理部分分为两组 每组都要删除一次模板图片 GitHub上少了第二次数据删除处理操作 后续数据处理操作都是合理的 没有问题 下一节会贴出预训
  • unity 利用PlayerPrefs实现关卡解锁功能

    关卡结构 在关卡中确认过关的地方 添加 public int jiesuo jiesuo SceneManager GetActiveScene buildIndex PlayerPrefs SetInt jiesuo jiesuo 然后在
  • Centos8 配置静态IP

    安装centos 8之后 重启启动网络时 会出现以下报错 报错信息如下 Failed to start network service Unit network service not found 意思为无法重启网络服务 原因是无法找到ne
  • Pig基本语法项目实战

    Apache Pig是一个高级过程语言 适合使用Hadoop和Mapreduce平台来查询大型半结构化数据 当Pig处理数据时 Pig本身 会在后台生成一系列得MapReduce操作来执行任务 这个过程对用户来说是透明的 用于执行Pig L
  • mysql连接符_【MySQL】字符串连接

    CONCAT 函数 可以连接一或者多个字符串 不过其中如果有 Null 就直接返回 Null mysql gt select concat 11 22 33 44 concat 11 22 33 44 11223344 1 row in s
  • 2022年泰迪杯数据分析_B题:银行客户忠诚度分析赛题数据_任务五

    银行客户长期忠诚度预测建模 此处忠诚度的指标选取为客户的流失情况 该指标分为两类 长期客户忠诚用1表示 不忠诚则用0表示 对此预测建模中 使用到机器学习分类中的随机森林分类 import pandas as pd long data26 p
  • 华为OD机试真题- 阿里巴巴找黄金宝箱(V)-2023年OD统一考试(B卷)

    题目描述 一贫如洗的樵夫阿里巴巴在去砍柴的路上 无意中发现了强盗集团的藏宝地 藏宝地有编号从0 N的箱子 每个箱子上面贴有一个数字 阿里巴巴念出一个咒语数字k k
  • excel文件隔行删除数据并保存

    现阶段用代码实现 隔四行删除数据 import pandas as pd 读取 Excel 文件 excel file xxxx xlsx df pd read excel excel file rows to keep 要删除的行数 sk
  • 超详细!!服务器搭jupyter notebook及挂起和关闭进程

    再次警告 没有在小小demo上试验成功的代码不要放到服务器上造垃圾 一 服务器上配置jupyter 1 1 ssh连接到服务器 cd到你想建立jupyer的服务器目录下执行 jupyter notebook generate config
  • 【今日CV 计算机视觉论文速览 第98期】Wed, 10 Apr 2019

    今日CS CV 计算机视觉论文速览 Wed 10 Apr 2019 Totally 67 papers 上期速览 更多精彩请移步主页 Interesting 通用物体检测框架 在不需要先验知识的强化下实现了横跨多个域的目标检测 这要通过引入
  • 浅谈get和post的区别

    一 不完全正确的网红答案 GET的URL会有长度上的限制 则POST的数据则可以非常大 POST比GET安全 ET请求的数据会附在URL之后 POST把提交的数据则放置在是HTTP包的包体中 二 为什么是不完全正确的答案 HTTP协议对GE
  • python命令行执行函数的方法

    方法一 直接调用函数运行 这种是最简单且直观的方法 def task print running task task 如果是在类中 也是如此 class Task def task self print running task Task
  • python 为什么so库import失败?

    为什么so库import失败 查看支持的so后缀名 修改对应so文件名称 import importlib machinery print importlib machinery all suffixes 例如python3 6升级3 8后
  • log日志使用教程(slf4j log4j logback)

    目录 一 前言 二 常用日志框架 框架对比 2 1 slf4j 框架 2 2 logback 框架 配置 Appender 日志级别过滤filter 2 3 log4j2框架 三 log4j vs logback 推荐logback 一 前
  • 第三大的数

    给定一个非空数组 返回此数组中第三大的数 如果不存在 则返回数组中最大的数 要求算法时间复杂度必须是O n 该题来自力扣题库 示例 示例 1 输入 3 2 1 输出 1 第三大的数是 1 示例 2 输入 1 2 输出 2 第三大的数不存在
  • python中的tkinter包的使用-Scale尺度

    下面这个例子定义了一个尺度 从5到11 拖动滚动条 在label上显示当前尺度 窗口界面 拖动滚动条 代码 import tkinter as tk window tk Tk window title my window window ge
  • 重中之重-K8S的初识

    重中之重 K8S的初识 一 kubernetes概述 1 K8S的含义 2 K8S的优点 3 K8S的特性 4 Kubernetes 集群架构与组件 二 kubernetes架构核心组件 1 Master组件 2 配置存储中心 3 Node
  • JS 基础面试题

    前端全部面试题 https blog csdn net qq 40055200 article details 104637574 1 基本数据类型有哪几种 高频 了解包装对象吗 undefined null boolean string
  • 考试系统web服务器

    servlet jsp js css 基础知识 jqueary 框架的使用 环境tomcat eclipse mysql workbench 项目地址 https github com cuizehui ExamSystem 考试系统的敏捷
  • ESP8266 使用TCP通信协议

    TCP服务器示例 include