RTL8720DN开发笔记一 环境搭建与mqtt实例

简介

RTL8720DN是一款支持双频WiFi的Soc芯片,即2.4GHz或5.8GHz频段,可以告别在选择WiFi网络时仅支持2.4G的尴尬,不仅如此,RTL8720DN还支持了低功耗蓝牙BLE5.0,内部集成了两颗MCU,分别为ARM V8M(KM4 兼容Cortex-M33)高性能MCU与ARM V8M(KM0 兼容Cortex-M23)低性能MCU,大小核切换可以用于高性能处理与低功耗场景的应用

特性
  • 供电:3.3±5% V

  • 512Kb SRAM可扩展4Mb PSRAM

  • 支持2M Flash(可扩展)

  • 支持 802.11a/b/g/n Wi-Fi 2.4GHz、5GHz

  • 支持BLE 5.0

  • KM4核支持200MHz、KM0核支持20MHz

  • USB Host/Device

  • SD Host

  • 最大支持54路GPIO PIN脚

  • 支持SWD调试(使用IAR IDE开发)

系统架构

在这里插入图片描述

环境搭建
工程源码

使用官方开源的标准SDK,sdk下载地址;官方提供了windows和Linux系统编译环境,其中windows环境下已经支持Cygwin和IAR

Windows系统
  • 在windows系统下,可以使用Cygwin作为GCC开发环境,x86下载地址
  • 安装时勾选make与bc工具
    在这里插入图片描述
    在这里插入图片描述
IAR工程项目

sdk已经集成了IAR的工程项目,IAR工程路径ambd_sdk\project\realtek_amebaD_va0_example\EWARM-RELEASE\Projectxx.eww

Linux系统
  • Linux系统下同样需要安装工具
    • libc6-i386:GNU C库
    • lib32ncurses5:针对64位平台的32位终端处理
    • make:make工具
    • bc:bc math计算工具
    • gawk:文本替换工具
    • ncurses:应用在make menuconfig调取配置界面
编译
  • 以linux系统终端为例(cygwin同理),进入sdk中GCC工程目录,使用make进行编译;
//KM0
cd /{path}/ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp 
make all
//KM4
cd /{path}/ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp
make all

在这里插入图片描述

  • 编译镜像路径分别为
    • ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp/asdk/image/
    • ambd_sdk/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/asdk/image/
下载

使用sdk路径下ambd_sdk\tools\AmebaD\Image_Tool工具进行固件下载;

  • 使用模块的PA7(TX)、PA8(RX)进行烧录
  • 复位前下拉PA7引脚进入下载模式,释放后会打印0x15(baud 115200)
  • 第一次烧录需要进行一次全擦除
    在这里插入图片描述
系统启动
  • 重新复位系统,打印如下日志,系统启动成功
    在这里插入图片描述
MQTT例程
使能mqtt
  • 通过命令make menuconfig调取配置工具, 进入MQTT Config开启mqtt功能,退出后保存
    在这里插入图片描述
    在这里插入图片描述
MQTT例程配置
  • 代码路径example/mqtt/example_mqtt.c, 修改prvMQTTTask任务中的mqtt配置参数
connectData.MQTTVersion = 3;
connectData.clientID.cstring = "client";
char* address = "gpssensor.ddns.net";
char* sub_topic = "LASS/Test/Pm25Ameba/#";
char* pub_topic = "LASS/Test/Pm25Ameba/FT1_018";
运行测试

编译烧录固件后,启动系统,等待连接mqtt成功
在这里插入图片描述

通过客户端发送消息,可以看到接收到的订阅消息log
在这里插入图片描述

### YOLOv8 训练代码潜在错误分析 在检查 `ultralytics` 提供的 YOLOv8 模型训练代码时,需关注以下几个方面来判断是否存在可能的错误: #### 数据配置文件路径 数据集配置文件通常是个 `.yaml` 文件,在代码中通过 `data` 参数指定。如果路径不正确或者文件不存在,则会引发异常。例如: ```python model.train(data='coco128.yaml', epochs=100, imgsz=640) ``` 上述代码假设当前工作目录下存在名为 `coco128.yaml` 的文件[^1]。如果没有找到该文件,程序可能会抛出 FileNotFoundError 或类似的错误。 #### 预训练模型加载方式 加载预训练模型的方式有多种可能性。以下是几种常见方法及其适用场景: - **从 YAML 定义创建新模型并加载权重** ```python model = YOLO('yolov8n.yaml').load('yolov8n.pt') ``` 此处需要注意的是,YAML 文件定义了网络结构,而 `.pt` 文件包含了实际的权重值。两者必须匹配,否则可能导致维度不致等问题。 - **直接加载预训练模型** ```python model = YOLO('yolov8n.pt') ``` 这是最常用的方法之,适用于大多数情况下的迁移学习任务。 #### 训练参数设置 对于训练过程中的超参数调整,以下是些常见的选项以及它们的作用说明: - `epochs`: 总共迭代次数,默认为 100 轮。 - `imgsz`: 输入图像尺寸大小,默认为 640 像素。 - `batch`: 批量处理样本数量,默认情况下取决于硬件资源可用性[^2]。 另外还有其他可选参数如设备选择 (`device`) 和项目保存位置 (`project`) 等也可以自定义设定。 综上所述,只要确保所使用的各个组件之间相互兼容,并且所有必需输入都已正确定位提供给函数调用即可有效减少发生逻辑上的失误几率。 ```python from ultralytics import YOLO # 初始化模型 model = YOLO('yolov8n.yaml').load('yolov8n.pt') # 开始训练流程 model.train( data="path/to/your/coco128.yaml", # 替换为实际的数据集配置文件绝对路径 epochs=100, imgsz=640 ) ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值