【零知ESP8266教程】AP模式下WIFI UDP协议通信示例

2023-11-12

本帖主要讲解ESP8266 WIFI功能关于UDP协议网络传输的应用,这里演示了ESP8266在AP模式下UDP通信的示例:
1、硬件

  • 零知ESP8266开发板
    2、软件
    (1)代码如下:
`/**********************************************************
*    文件: udp-server.ino      by 零知实验室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
*    -^^- 零知开源,让电子制作变得更简单! -^^-
*    时间: 2019/06/17 11:42
*    说明:
************************************************************/
#include <ESP8266WiFi.h>
#include <WiFiUDP.h>
 
unsigned int UDPPort = 8888;      // local port to listen on
 
char packetBuffer[255]; //buffer to hold incoming packet
char  ReplyBuffer[] = "acknowledged";       // a string to send back
WiFiUDP Udp;
 
// 复位或上电后运行一次:
void setup() {
        //在这里加入初始化相关代码,只运行一次:
        Serial.begin(115200);
         
        WiFi.softAP("Wi-Fi");
        Udp.begin(UDPPort);
        Serial.println();
        Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());
}
 
//一直循环执行:
void loop() {
        // 在这里加入主要程序代码,重复执行:
        // if there's data available, read a packet
        int packetSize = Udp.parsePacket();
        if (packetSize) {
                Serial.print("Received packet of size ");
                Serial.println(packetSize);
                Serial.print("From ");
                IPAddress remoteIp = Udp.remoteIP();
                Serial.print(remoteIp);
                Serial.print(", port ");
                Serial.println(Udp.remotePort());
                 
                // read the packet into packetBufffer
                int len = Udp.read(packetBuffer, 255);
                if (len > 0) {
                        packetBuffer[len] = 0;
                }
                Serial.println("Contents:");
                Serial.println(packetBuffer);
                // send a reply, to the IP address and port that sent us the packet we received
                Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
                Udp.write(ReplyBuffer);
                Udp.endPacket();
        }
}`

(2)将上述代码验证后上传到零知ESP8266,然后打开串口调试 窗口,可以看到如下信息:
在这里插入图片描述
(3)上面步骤完成后我们已经把ESP8266作为一个热点,SSID名字为"WI-FI”,可以在电脑上看到如下信息:

在这里插入图片描述
在这里插入图片描述
(4)我们打开零知工具箱(可在零知官网免费获取),然后填写好IP地址和端口号,点击【连接】后就可以和ESP8266进行通信了。
3、测试验证:
可以在串口调试窗口和零知工具箱发送接收区看到如下数据传输信息:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【零知ESP8266教程】AP模式下WIFI UDP协议通信示例 的相关文章

  • UI设计用什么软件?这3个必用!

    在当今数字化时代 UI设计在各行各业都扮演着重要角色 但为了进行UI设计 需要使用专业的软件 在线UI设计软件是最受欢迎的选项之一 因为它们可以轻松创建和编辑设计 并且无需下载或安装任何软件 那么 有哪些在线UI设计软件呢 本文将介绍三款最
  • gpt_academic使用注意事项

    不要开启360等安全卫士
  • Padavan各源码融合教程

    本文涉及的Padavan源码如下 https github com hanwckf rt n56uhttps github com chongshengB rt n56uhttps github com padavanonly rt n56

随机推荐

  • JavaScript中的Object.defineProperty()和defineProperties()

    文章同步到github ECMAS 262第5版在定义只有内部采用的特性时 提供了描述了属性特征的几种属性 ECMAScript对象中目前存在的属性描述符主要有两种 数据描述符 数据属性 和存取描述符 访问器属性 数据描述符是一个拥有可写或
  • 小程序图片加载失败binderror方法处理

    场景 我们在小程序项目中的一个图片列表 当某些图片加载失败后 直接显示空白 这样用户体验不好 为了解决当图片加载失败 我们给一个默认图片代替 参考官方给的图片加载失败的处理方法 binderror cover image 微信开放文档 第一
  • vue3+vite 使用 postcss-pxtorem、autoprefixer 实现自适应和自动添加前缀

    自动添加前缀 自适应 1 安装 postcss pxtorem 和 autoprefixer npm install postcss pxtorem save npm i autoprefixer 2 vite config js引入并配置
  • 解决 无法解析名称 NaiveBayes.fit。/i get Undefined variable “NaiveBayes“ or class “NaiveBayes.fit“.

    应用朴素贝叶斯分类器时候 发现报错无法解析名称 NaiveBayes fit 这是因为 你想用NaiveBayes 适用于MATLAB R2018b 根据NaiveBayes的R2014b发布说明 fit被fitNaiveBayes取代 同
  • 【Flutter】时间轴高度自适应最佳实践

    1 使用部件 画圆圈 使用 canvas drawCircle 和属性为 paint style PaintingStyle fill 画笔画两个实心圆 画竖线 使用 canvas drawLine 和属性为 paint style Pai
  • Vivado下PLL实验

    文章目录 前言 一 CMT 时钟管理单元 1 CMT 简介 2 FPGA CMT 框图 3 MMCM 框图 4 PLL 框图 二 创建工程 1 创建工程 2 PLL IP 核配置 3 进行例化 三 进行仿真 1 创建仿真文件 2 进行仿真设
  • 二、C++笔记之面向对象特性---继承

    继承 继承是面向对象三大特性之一 有些类与类之间存在特殊的关系 例如下图中 我们发现 定义这些类时 下级别的成员除了拥有上一级的共性 还有自己的特性 这个时候我们就可以考虑利用继承的技术 减少重复代码 继承的基本语法 例如我们看到很多网站中
  • 学习[30天自制操作系统]day02遇到的makefile的问题(未解决)

    学习 30天自制操作系统 遇到的问题 场景还原 尝试过的解决办法 问题描述 光盘代码day 02 helloos 4 helloos 5 在使用makefile 运行qemu 模拟器过程出错 场景还原 makefile ipl bin ip
  • 如何更改node.js的控制台字体颜色?

    本文翻译自 How to change node js s console font color I had to change the console background color to white because of eye pr
  • ASP.NET 的特点

    asp net 相比传统的动态页面技术 使程序设计相对简化 结构更为清晰 但大大加重 了页面设计的难度 其界面处理与传统的 asp php cgi 相比 极为死板 几乎全部需要由程 序员来处理其界面 很难使用第三方工具进行可视化设计 asp
  • Springboot 获取接口多个实现类bean 并调用的方式

    前文中提到通过策略模式代替switch case的方式 在实际使用中将接口通过bean获得 然后去调用即可 实际操作中发现 springboot在通过 Autowired 或者 Resource 方式注入时会出现部分问题 针对以上替代swi
  • [hive] 经典sql题及答案(一)

    推荐 经典sql题及答案 二 经典sql题及答案 三 题目部分 第1题 我们有如下的用户访问数据 userId visitDate visitCount u01 2017 1 21 5 u02 2017 1 23 6 u03 2017 1
  • vscode的前端插件,加快编程速度

    vscode的前端插件 加快编程速度 1 auto close tag 自动闭合html标签 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img aAm0WeuK 1598933801894 C Users Admi
  • 在dos下使用debug被提示incorrect ms dos version的解决办法

    原创 在dos下使用debug被提示incorrect ms dos version的解决办法 首先可以确定一点 直接使用debug时它是直接在当前目录下寻找的 一旦当前目录下没有debug或debug版本不合适 则会出错 直接在 开始 中
  • Unity normalized的坑

    注意 向量太小会返回0 所以要考虑等于000的情况 我们的项目恰恰会用到 normalized返回的值传给 Quaternion LookRotation 结果造成000错误 切记要考虑到 normalized 为0 的情况
  • 嵌入式(TCP、IP协议原理)

    TCP IP协议网络封包格式 以太网头 IP头 TCP头 TCP是一种面向连接的 可靠的数据传输 一 TCP的可靠传输 通过确认和重发机制 1 TCP把所有要发送的数据进行编号 每一个字节用一个号 2 发送时从当前数据位置 发送window
  • 【图片标注】推荐一款特别好用的图片分割标注工具EIseg

    前言 最近在百度飞浆的公众号看到一个特别有趣的图片标注工具EIseg 它labelme等标记工具不同的是 它是一个通过深度学习来标注的工具 使用鼠标点一下就能完成标注任务 下面是工具的演示 本文章仅供学习 操作演示 标注效果 绿色的点为正样
  • java jps监控_java性能监控工具jps-windows

    jps Lists the instrumented Java Virtual Machines JVMs on the target system This command is experimental and unsupported
  • mybatis jdbcType: DATE ,TIMESTAMP 区别:

    1 mybatis中 jdbcType 时间类型 当jdbcType DATE 时 只传入了 年月日 jdbcType TIMESTAMP 年月日 时分秒 2 jdbcType 是否必须 使用时 没有加jdbcType 正常 加上jdbcT
  • 【零知ESP8266教程】AP模式下WIFI UDP协议通信示例

    本帖主要讲解ESP8266 WIFI功能关于UDP协议网络传输的应用 这里演示了ESP8266在AP模式下UDP通信的示例 1 硬件 零知ESP8266开发板 2 软件 1 代码如下 文件 udp server ino by 零知实验室 u