上一节说的是ESP8266的station模式,但这个模式讲的比较枯燥,既没有实现什么酷炫的应用,也没有引申出什么好玩的功能。别急,我想想…
这一节先看看ESP8266的UDP通讯,主要看它的广播模式。说这个,需要先了解UDP通讯是什么?
说到UDP,伴随而来的还有另一个东西,就是TCP。这里不说定义,只说应用。简单来说,这两者都是网络通信中常用的通信协议。
最主要的区别,TCP通讯比较稳定,它和接收端要进行三次握手,接收端有没有收到数据,都能知道。优点是安全,缺点是和UDP相比,速度慢。
UDP在发送时,不管有没有接收方,也不管接收方有没有收到,只要把数据发出去,就完了。所以,相比TCP,安全性差一些,速度要快一些。
但并不是说安全性差,就不能用,像视频、音频等一些无关紧要的数据,都可以用UDP来进行传输。
UDP包的最大长度是多少?
65535个字节。但是除掉IP头(20字节)和UDP头(8字节)之后,剩余65507个字节。
UDP如何广播?
IP 255.255.255.255 为广播地址,往这个地址发数据,局域网中的所有机器都可以收到。
对UDP有一个基本了解之后,咱们来进行ESP8266的UDP广播。本节程序是在上一节程序基础上修改的,所以如果你上一节看懂了,这一节是很简单的。使用步骤多一点,但是并不麻烦,分为6步。
1
包含头文件
#include "espconn.h"
#include "mem.h"
主要是"espconn.h",涉及到UDP通讯所需的各种数据结构。
2
设置工作模式及相关参数
wifi_set_opmode(0x03); // station+ soft-ap模式
struct softap_config config; //定义AP参数结构体,<