WiFi - 估算 UDP 數據發送延遲

材料準備

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

  • Windows電腦(需連入同樣的網絡)

範例説明

本例使用Ameba接收來自計算機的UDP數據包 併計算UDP數據包發送延遲。

Ameba 準備

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

1

在示例代碼中,修改高亮的部分,輸入連接WiFi網絡所需的信息(ssid、密碼、密鑰索引)。

還需要更改服務器變量以匹配計算機的IP地址。您可以在終端窗口中使用“ipconfig”命令找到IP地址。

2

電腦準備

回到我們的電腦上,我們需要安裝Cygwin來編譯用來發送UDP數據包的代碼。 Cygwin可以從 https://www.cygwin.com/下載。

按照官網上的說明來安裝。接下來,從“CalculateUdpSendDelay”的Arduino示例中,將示例最下面的“#if 0”和“#endif”之間的代碼複製到一個新的文本文件中,將hostname更改為Ameba的IP地址,並將該文件重命名為“UdpSendDelay.cpp”。

3

接下來,打開Cygwin終端,將工作目錄更改為“UdpSendDelay.cpp”的位置,並使用 “g++ UdpSendDelay.cpp -o UdpDelay” 指令來編譯代碼。一個名為“UdpDelay.exe”的文件會在當前目錄中創建出來。

運行示例

首先,在計算機上運行UdpDelay.exe文件,計算機將開始監聽來自Ameba的數據包。

接下來,從Arduino IDE編譯並上傳代碼到Ameba,上傳完成後按reset按鈕。

Ameba將開始向計算機發送UDP數據包。一旦接收到10000個數據包,計算機將計算出平均延遲並打印出結果。

發送10000個包需要一些時間。

4