位置导航: ESP8266库 / WiFiUDP库 / 本页
说明
ESP8266开发板通过UDP协议发送UDP数据时,可以采用 print 或者 println 函数将UDP数据写入发送缓冲区。
print与println的功能十分相近。他们的区别是println会在写入数据的末尾添加换行符。
此函数必须置于beginPacket和endPacket之间。
请注意:此函数仅仅将数据写入发送缓冲区,但是数据不会发送。实施数据发送的函数是endPacket函数。
语法
wiFiUDP.print(udp_data)
wiFiUDP.println(udp_data)
参数
udp_data:此参数为写入发送缓冲区的数据,可使用字符串类型。
返回值
无
示例程序
关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。
print函数示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiUdp_12 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : 小凯 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiUdp库中print函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/ ***********************************************************************/ #include <ESP8266WiFi.h> #include <WiFiUdp.h> #define ssid "TaichiMaker_WIFI" //这里改成你的设备当前环境下WIFI名字 #define password "xxxxxxx" //这里改成你的设备当前环境下WIFI密码 WiFiUDP Udp;//实例化WiFiUDP对象 unsigned int localUdpPort = 1234; // 自定义本地监听端口 unsigned int remoteUdpPort = 4321; // 自定义远程监听端口 char incomingPacket[255]; // 保存Udp工具发过来的消息 char replyPacket[] = "Hi, this is esp8266\n"; //发送的消息,仅支持英文 void setup() { Serial.begin(115200);//打开串口 Serial.println(); Serial.printf("正在连接 %s ", ssid); WiFi.begin(ssid, password);//连接到wifi while (WiFi.status() != WL_CONNECTED)//等待连接 { delay(500); Serial.print("."); } Serial.println("连接成功"); if(Udp.begin(localUdpPort)){//启动Udp监听服务 Serial.println("监听成功"); //打印本地的ip地址,在UDP工具中会使用到 //WiFi.localIP().toString().c_str()用于将获取的本地IP地址转化为字符串 Serial.printf("现在收听IP:%s, UDP端口:%d\n", WiFi.localIP().toString().c_str(), localUdpPort); }else{ Serial.println("监听失败"); } } void loop() { //向udp工具发送消息 Udp.beginPacket(Udp.remoteIP(), remoteUdpPort);//配置远端ip地址和端口 Udp.print(replyPacket);//把数据写入发送缓冲区 Udp.endPacket();//发送数据 Serial.println("UDP数据发送成功"); delay(3000);//延时3秒 } |
println函数示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : ESP8266WiFiUdp_13 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : 小凯 日期/Date(YYYYMMDD) : 20200319 程序目的/Purpose : 用于演示ESP8266WiFiUdp库中println函数 ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/http-request/ ***********************************************************************/ #include <ESP8266WiFi.h> #include <WiFiUdp.h> #define ssid "TaichiMaker_WIFI" //这里改成你的设备当前环境下WIFI名字 #define password "xxxxxxx" //这里改成你的设备当前环境下WIFI密码 WiFiUDP Udp;//实例化WiFiUDP对象 unsigned int localUdpPort = 1234; // 自定义本地监听端口 unsigned int remoteUdpPort = 4321; // 自定义远程监听端口 char incomingPacket[255]; // 保存Udp工具发过来的消息 char replyPacket[] = "Hi, this is esp8266\n"; //发送的消息,仅支持英文 void setup() { Serial.begin(115200);//打开串口 Serial.println(); Serial.printf("正在连接 %s ", ssid); WiFi.begin(ssid, password);//连接到wifi while (WiFi.status() != WL_CONNECTED)//等待连接 { delay(500); Serial.print("."); } Serial.println("连接成功"); if(Udp.begin(localUdpPort)){//启动Udp监听服务 Serial.println("监听成功"); //打印本地的ip地址,在UDP工具中会使用到 //WiFi.localIP().toString().c_str()用于将获取的本地IP地址转化为字符串 Serial.printf("现在收听IP:%s, UDP端口:%d\n", WiFi.localIP().toString().c_str(), localUdpPort); }else{ Serial.println("监听失败"); } } void loop() { //向udp工具发送消息 Udp.beginPacket(Udp.remoteIP(), remoteUdpPort);//配置远端ip地址和端口 Udp.println(replyPacket);//把数据写入发送缓冲区 Udp.endPacket();//发送数据 Serial.println("UDP数据发送成功"); delay(3000);//延时3秒 } |
为了方便您更好的了解ESP8266的WiFiUdp库以及本站资料中WiFiUdp库函数的示例程序操作方法,我们制作了一个较为详细的图文教程。该图文教程说明了如何利用TCP_UDP测试工具软件来测试ESP8266开发板的UDP协议通讯功能。请点击这里进入UDP协议通讯控制ESP8266开发板的板载LED教程页面。
相关内容
发送UDP数据类型
– beginPacket – 配置UDP数据包接收设备的IP和端口
– endPacket – 发送UDP数据包
– write – 向UDP数据包写入信息
– Stream类 – 以上带有(Stream类)标注的函数属于Stream类函数。