当前位置:网站首页>RTL8720DN开发笔记一 环境搭建与mqtt实例
RTL8720DN开发笔记一 环境搭建与mqtt实例
2022-07-31 00:57:00 【玉怀一捧雪】
简介
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
边栏推荐
猜你喜欢
typescript10-常用基础类型
What is Promise?What is the principle of Promise?How to use Promises?
WMware Tools installation failed segmentation fault solution
Mysql systemized JOIN operation example analysis
TypeScript在使用中出现的问题记录
【ABAP】MFBF过账到质量检验库存类型Demo
ShardingSphere之读写分离(八)
【多线程】
Responsive layout vs px/em/rem
Jmeter parameter transfer method (token transfer, interface association, etc.)
随机推荐
【愚公系列】2022年07月 Go教学课程 016-运算符之逻辑运算符和其他运算符
WMware Tools installation failed segmentation fault solution
The level of ShardingSphere depots in actual combat (4)
埃拉托斯特尼筛法
【ABAP】MFBF过账到质量检验库存类型Demo
权限管理怎么做的?
What is Promise?What is the principle of Promise?How to use Promises?
Jetpack Compose learning (8) - State and remeber
响应式布局与px/em/rem的比对
Rocky/GNU之Zabbix部署(2)
【Yugong Series】July 2022 Go Teaching Course 017-IF of Branch Structure
MySQL table design for message queue to store message data
Sping.事务的传播特性
Error in go mode tidy go warning “all” matched no packages
typescript9 - common base types
网站频繁出现mysql等数据库连接失败等信息解决办法
297. 二叉树的序列化与反序列化
typescript17-函数可选参数
go mode tidy出现报错go warning “all“ matched no packages
In Google Cloud API gateway APISIX T2A and T2D performance test