WiFi - 估算 UDP 数据接收延迟

材料准备

  • AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1

  • Windows 电脑 (需连入同样的网络)

范例说明

本例使用Ameba接收来自计算机的UDP数据包,并计算UDP接收延迟。

Ameba准备

Open the “CalculateUdpReceiveDelay” example in “File” “Examples” “WiFi” “UDP_Calculation” “CalculateUdpReceiveDelay”.

1

在示例代码中,修改高亮的部分,输入连接WiFi网络所需的信息(ssid、密码、密钥索引)。

2

上传代码并在上传完成后按下Ameba上的reset按钮。在Arduino IDE中打开串行监控器,并记下分配给Ameba的IP地址。

3

电脑准备

回到我们的电脑上,我们需要安装Cygwin来编译用来发送UDP数据包的代码。Cygwin可以从 https://www.cygwin.com/ 下载。

按照官网上的说明来安装。接下来,从 “CalculateUdpReceiveDelay” 的Arduino示例中,将示例最下面的“#if 0” 和 “#endif” 之间的代码复制到一个新的文本文件中,将hostname更改为Ameba的IP地址,并将该文件重命名为 “UdpReceiveDelay.cpp”

4

接下来,打开Cygwin终端,将工作目录更改为“UdpReceiveDelay .cpp”的位置,并使用 “g++ UdpReceiveDelay.cpp -o UdpDelay” 指令来编译代码。一个名为“UdpDelay.exe”的文件会在当前目录中创建出来。

Running the Example

接下来,打开Cygwin终端,将工作目录更改为“UdpReceiveDelay .cpp”的位置,并使用 “g++ UdpReceiveDelay.cpp -o UdpDelay” 指令来编译代码。一个名为“UdpDelay.exe”的文件会在当前目录中创建出来。重置Ameba,等待WiFi连接,并检查IP地址是否保持不变。在计算机上运行UdpDelay.exe文件,计算机将开始向Ameba发送数据包。一旦接收到10000个数据包,Ameba将计算平均延迟并将结果打印到串行监视器。发送10000个数据包可能需要几分钟的时间。

5