通过UDP实现掌控板广播功能

2020-04-022.3万
AI 快速预览详细 收起
本文介绍了如何使用UDP协议实现掌控板的广播功能。首先解释了UDP的基本概念,包括其无连接和消息传输不可靠的特点。接着详细说明了局域网的概念、IP地址的作用以及服务器端与客户端的关系。通过一个实验,展示了三块掌控板通过UDP进行通讯的具体步骤,包括局域网的设置和服务器端与客户端的配置。最后,讨论了如何将掌控板与mind+实时模式结合使用,进一步丰富物联网项目。

今天跟大家分享一下,如何使用UDP来实现掌控板的广播功能。
首先我们先来简单了解一下UDP的相关知识。  

什么是UDP?

  • UDP协议,是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。(摘自百度百科)  

从上面这个简介中,我们可以知道,UDP是一种数据传输协议,而且具有两个明显特性:无连接以及消息传输不可靠。
在使用UDP协议进行数据传输时,不需要建议连接,只需要知道接收方的IP地址和端口号就可以发送数据,由于协议不提供数据到达确认、排序等等一系列的数据传送保证机制,如果在数据传输过程中可能会出现数据包丢失,协议本身不会给提示,所以称之为消息不可靠。
这里我们粗略了解一下UDP的特性,知道这是一个数据传输的协议,具体协议定义这里就不展开讲了,有兴趣的可以自行查阅资料学习。

怎么使用UDP?

首先先要了解几个概念。   

  • 局域网
    顾名思义就是局部地区形程的一个区域网络,可以理解成,一个路由器下的多个计算机串联构成一个局域网络,这里的计算机可以是任意能够连接wifi的设备,比如掌控板。路由器也可以是手机热点。  
  • IP地址
    在网络下,每个设备都规定了一个唯一的地址,叫做IP地址。因为地址的唯一性,能够使设备间的通讯更加高效方便。

我们想要设备之间通过UDP进行通讯,首先需要这些设备在一个局域网下,这样每一个设备都有对应的IP地址。  

这里的局域网,我们可以将设备挂在同一个路由器或者热点,也可以某一个设备发起网络,其他设备接入。

  • 服务器端与客户端
    从名字理解一下,服务器端就是提供服务的,客户端是使用服务的,此处不延展介绍。前面有提到使用UDP进行数据传输,需要知道对方的IP地址以及端口,这个端口就是服务器端提供的。

多个掌控板通过UDP通讯

通过上面的了解,我们来用三块掌控板做个实验。

三块掌控板ABC,局域网由任意一块板设置AP模式产生网络,让另外两块板加入到这个网络中,形成局域网。所以并不是一定要在服务器端产生wifi。当然,三块板子也可以加入到其他网络中,而不用自己产生wifi。   

  • B板建立wifi,AC板加入wifi形成局域网,同时B板也是一个客户端,需要配置连接服务器端IP地址及端口。  
  • A板作为服务器端,需提供本地IP地址,以及设置端口。
  • C板作为客户端,需要配置连接服务器端IP地址及端口。
    下面我们看一下具体代码配置。

理清UDP上面的相互关系,如果我们想要用掌控板与mind+实时模式通讯,那么应该怎么做呢?
首先mind+实时模式,网络属于电脑连接的wifi下,所以我们要将掌控板也连接到同一个wifi下,并且获取IP地址,将掌控板当作服务器端,配置服务器端IP地址及端口,实时模式作为客户端,这样就能够建立通讯。

到这为止,我们已经能够可以使用UDP进行通讯,再结合我们之前经常用的MQTT,两者配合,可以让我们的物联网项目更加丰富,这里不做延申,大家可以自行尝试一下。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(12)
驴友花雕
驴友花雕
谢谢老师,跟您学会了DUP广播,捣鼓好几天了......
三春牛-创客
三春牛-创客
很棒的教程,赞!
三春牛-创客
三春牛-创客
哈哈哈哈
三春牛-创客
三春牛-创客
呵呵呵呵
三春牛-创客
三春牛-创客
好好好好好
三春牛-创客
三春牛-创客
感谢分享
三春牛-创客
三春牛-创客
厉害厉害
三春牛-创客
三春牛-创客
棒棒棒!
许培享
许培享
谢谢,学习UDP广播传输
gada888
gada888
UDP传输好
sparkle1
sparkle1
请问楼主“设置udp服务器端口”这个语句在哪里找? 我在mind+ 加载了掌控板和网络,wifi后,都没有这个模块的?
Ski
Ski
作者
回复sparkle1
在扩展中“网络服务”选项下选择添加“UDP”
rzyzzxw
rzyzzxw
非常棒的教程啊。
- 没有更多了 -