使用 QEMU 和 IEEE 802.15.4 进行网络连接
本页面介绍如何在两个通过 UART 连接、并在它们之间运行 IEEE 802.15.4 链路层的 QEMU 之间搭建虚拟网络。请注意,此方式仅在 Linux 主机上有效。
基本搭建
对于以下步骤,您需要两个终端窗口:
终端 #1 是运行
echo-serverZephyr 示例应用的终端窗口。终端 #2 是运行
echo-clientZephyr 示例应用的终端窗口。
如果要抓取传输的网络数据,必须在 tools/net-tools 目录中编译 monitor_15_4 程序。
打开一个终端窗口并输入:
cd $ZEPHYR_BASE/../tools/net-tools
make monitor_15_4
步骤 1 - 编译并启动 echo-server
在终端 #1 中输入:
west build -b qemu_x86 -d build/server samples/net/sockets/echo_server -- -DEXTRA_CONF_FILE=overlay-qemu_802154.conf
west build -t server -d build/server
如果要抓取两个 QEMU 之间的网络流量,请输入:
west build -b qemu_x86 -d build/server samples/net/sockets/echo_server -- -G'Unix Makefiles' -DEXTRA_CONF_FILE=overlay-qemu_802154.conf -DPCAP=capture.pcap
west build -t server -d build/server
请注意,如果在命令行中设置了数据包抓取选项,则必须使用 make 来构建 server 目标。build/server/capture.pcap 文件将包含传输的数据。
步骤 2 - 编译并启动 echo-client
在终端 #2 中输入:
west build -b qemu_x86 -d build/client samples/net/sockets/echo_client -- -DEXTRA_CONF_FILE=overlay-qemu_802154.conf
west build -t client -d build/client
您应该能看到两个 QEMU 之间传递的数据。按 CTRL+A x 退出 QEMU。