查看: 360|回复: 4

[入门教程] 通过UDP实现掌控板广播功能

[复制链接]

今天跟大家分享一下,如何使用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,两者配合,可以让我们的物联网项目更加丰富,这里不做延申,大家可以自行尝试一下。

rzyzzxw  版主

发表于 2020-4-2 14:41:36

非常棒的教程啊。
回复

使用道具 举报

sparkle1  学徒

发表于 2020-5-18 16:13:37

请问楼主“设置udp服务器端口”这个语句在哪里找? 我在mind+ 加载了掌控板和网络,wifi后,都没有这个模块的?
回复

使用道具 举报

Ski  初级技师
 楼主|

发表于 2020-5-19 17:43:48

sparkle1 发表于 2020-5-18 16:13
请问楼主“设置udp服务器端口”这个语句在哪里找? 我在mind+ 加载了掌控板和网络,wifi后,都没有这个模块 ...

在扩展中“网络服务”选项下选择添加“UDP”
回复

使用道具 举报

gada888  版主

发表于 2020-5-29 22:02:44

UDP传输好
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail