littlebot
Published on 2025-04-16 / 0 Visits
0

【源码】基于CC++语言的PSoC 6 MCU WLAN丢弃数据包过滤项目

项目简介

本项目是基于C/C++语言、PSoC 6 MCU的应用程序,主要展示WLAN如何丢弃来自网络对等方的ICMP数据包。通过ModusToolbox设备配置工具配置丢弃数据包过滤器,同时利用Low Power Assistant(LPA)中间件库开发低功耗应用。

项目的主要特性和功能

  1. 数据包过滤:可配置WLAN丢弃ICMP数据包,让其他类型WLAN数据包到达主机。
  2. 低功耗设计:通过暂停网络堆栈使主机MCU进入深度睡眠模式,检测到WLAN驱动接口有Tx/Rx活动时恢复网络堆栈。
  3. 可配置性:能使用ModusToolbox设备配置工具自定义设备配置和数据包过滤规则。

安装使用步骤

1. 环境准备

确保安装以下工具和环境: - ModusToolbox v2.1 或更高版本 - 终端模拟器,如 Tera TermPuTTY - 不同系统下的“ARP'ing”网络实用工具: - Windows:https://www.elifulkerson.com/projects/arp-ping.php - macOS:http://macappstore.org/arping/ - Linux:使用 sudo apt install arping 命令

2. 导入代码示例

可通过以下两种方式导入代码: - 使用Mbed CLI命令: - 手动操作: mbed deploy mbed new .

3. 硬件连接

用提供的USB电缆通过KitProg3 USB连接器将开发板连接到PC。

4. 修改网络配置

打开 mbed_app.json 文件,修改 nsapi.default-wifi-ssidnsapi.default-wifi-passwordnsapi.default-wifi-security 宏,使其与要连接的Wi-Fi网络凭证匹配,同时确保计算机连接到相同的Wi-Fi接入点。

5. 编译和烧录

使用以下命令编译并烧录代码: mbed compile -m <TARGET> -t <TOOLCHAIN> --flash --sterm 例如,为目标 CY8CPROTO_062_4343W 使用 GCC_ARM 工具链进行编译: mbed compile -m CY8CPROTO_062_4343W -t GCC_ARM --flash --sterm 若要使用其他串行终端应用程序连接,可去掉 --sterm 选项。

6. 验证功能

  • 测试丢弃ICMP数据包:程序启动后,从PC向目标开发板发送 ping 请求,由于ICMP数据包被配置为丢弃,请求将超时。 $ ping 192.168.0.109
  • 测试其他数据包:向开发板发送ARP请求数据包(0x806),主机MCU将唤醒并生成带有有效主机MAC地址的ARP响应。 $ arp-ping.exe 192.168.0.109

7. 允许ICMP数据包到达主机

若要允许ICMP数据包到达主机MCU,需移除默认的丢弃过滤器配置: 1. 使用ModusToolbox设备配置工具打开 COMPONENT_CUSTOM_DESIGN_MODUS/TARGET_<kit>/design.modus 文件。 2. 进入相关选项卡(如CY8CKIT_062S2_43012 套件的 CYW943012WKWBG 选项卡 > Wi-Fi)。 3. 在 Packet Filters 部分,清除 Enable Filter Configuration 0 选项以移除过滤器配置。 4. 点击 File > Save 重新生成LPA配置的源文件。 5. 重新使用第5步的命令烧录应用程序,再次发送 ping 请求,主机MCU应会响应。 $ ping 192.168.0.109

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】