W800开发套件鸿蒙系统教程

W800开发套件鸿蒙系统教程


3.7.1 UDP服务端/客户端

这节讲述如何创建一个UDP服务端

仍然使用demo示例的固件

首先要确保wm_demo.h的宏定义DEMO_UDP已经打开,如下所示:

#define DEMO_CONSOLE                DEMO_ON

#define DEMO_UDP                    (DEMO_ON && DEMO_CONSOLE)

固件运行后,首先通过串口发送命令:t-connect("ssid","password"),连接上你的路由器热点,连接上以后发送命令:t-udp(0, 1234, "192.168.1.7"),创建一个UDP服务端。

其中,t-udp命令的参数:

  1. 第一个表示数据发送方式,0是广播;1是单播
  2. 第二个表示作为客户端连接的服务端的端口
  3. 第三个参数表示设备当前的ip地址

执行t-udp()命令后,w800创建了一个服务端,输出串口信息如下所示:

输出的local ip是当前设备的ip,即参数中设置的ip,local port是当前创建的UDP服务的本地端口。

我们可以使用任意一款网络调试工具来测试w800的udp功能,这里我们使用sscom来测试。如下图所示:

在“远程”一栏填入w800的ip地址,这表示sscom作为udp客户端连接的服务端ip对应的后面一栏填入3000,是服务端的端口号,也就是上面w800串口输出的local port;“本地”一栏的ip填入是sscom所在电脑的ip地址,一般自动填写,后面一栏填入sscom作为服务端的端口号,我们随便写入一个1234作为服务端口号(范围0~65535)。点击“连接”按钮即可在sscom创建服务端。在下面发送内容输入框输入“test”点击“发送”按钮,即可向“192.168.1.7:3000”这个地址发送udp数据,也可以填ip地址为“192.168.1.255”,这样就是发送一个udp广播,w800上创建的UDP服务端都能接收到,下面截图显示了w800收到的UDP数据:

在w800一端,我们通过串口工具发送命令:t-sndudp(3),可以向sscom的udp服务端发送数据。t-sndudp(3)的参数表示发送的字符数量,所发送的字符都是“u”,下面截图是sscom作为服务端收到的w800发来的UDP数据:

socket_udp_demo的实现代码位于wm_udp_demo.c文件中。参考该代码可以实现自己的UDP客户端/服务端

页面列表

ITEM_HTML