VScode+esp-idf:编译腾讯物联网控制台ESP32例程(esp-qcloud)
文章目录
- 1.下载esp-qcloud源代码
- 2.创建led_light新工程
- 2.1拷贝led_light例程
- 2.2修改《CMakeLists.txt》
- 3.配置工程
- 3.1配置开发板及GPIO
- 3.2输入腾讯物联网控制台设备三元组
- 3.3指定配网方式
- 4.编译工程,下载程序到目标板
- 4.1编译工程
- 4.2下载bin到目标板
- 5.填坑:找不到头文件
- 6.使用腾讯连连小程序测试ESP设备
腾讯物联网控制台专门为ESP32开发一个开源的例程,针对智能灯应用,可以用腾讯连连小程序控制。这篇文章我们介绍如何在vscode+esp-idfV4.4的环境下,进行可视化开发。
1.下载esp-qcloud源代码
1.码云仓库:esp-qcloud
2.github仓库:esp-qcloud
我用的是码云的仓库,下载后解压后生成文件夹 《esp-qcloud-master》,改成 《esp-qcloud》,放到 esp-idf安装目录的 《example》 文件夹里面。以我的路径为例,是这样的(后面我们要用到这个路径 《$ENV{IDF_PATH}/examples/esp-qcloud》):
放在 《example》 文件夹里面的好处是,后面我们创建例程时,会拷贝一份到我们的工作目录下面,然后我们修改代码时不会影响到原文件。
2.创建led_light新工程
esp-qcloud有一个example,名字为《led_light》路径 如下:
我们就要对这个工程进行编译。
2.1拷贝led_light例程
在命令面板搜索 “example”:
选择 Use current ESP-IDF,然后路径《E:\esp32\esp-idf\examples》下面所有例程都被列出来:
找到《led_light》,点击蓝色按键,会跳出一个选择目标文件夹的窗口,我们选择好后,会拷贝《led_light》到目标文件夹。
2.2修改《CMakeLists.txt》
因为几乎每个文件夹都有一个《CMakeLists.txt》,是 《led_light》 下面的《CMakeLists.txt》。
正确的文件:《./led_light/CMakeLists.txt》
错误的文件:《./led_light/main/CMakeLists.txt》
修改的目的是指定 QCLOUD_PATH的路径。根据第一章我们放置《esp-qcloud》文件的位置来设置。
《CMakeLists.txt》文件内容(重点在第14,15行):
# The following lines of boilerplate have to be in your project's CMakeLists
# in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
add_compile_options(-fdiagnostics-color=always)if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/../../config/)set(QCLOUD_PATH ${CMAKE_CURRENT_LIST_DIR}/../..)
elseif(EXISTS ${CMAKE_CURRENT_LIST_DIR}/components/qcloud)set(QCLOUD_PATH ${CMAKE_CURRENT_LIST_DIR}/components/qcloud)
elseif(EXISTS ${CMAKE_CURRENT_LIST_DIR}/components/esp-qcloud)set(QCLOUD_PATH ${CMAKE_CURRENT_LIST_DIR}/components/esp-qcloud)
elseif(EXISTS $ENV{IDF_PATH}/components/qcloud)set(QCLOUD_PATH $ENV{IDF_PATH}/components/qcloud)
elseif(EXISTS $ENV{IDF_PATH}/examples/esp-qcloud)set(QCLOUD_PATH $ENV{IDF_PATH}/examples/esp-qcloud)
else()message(FATAL_ERROR "Please configure the path of `QCLOUD_PATH`")
endif()if(NOT DEFINED IDF_TARGET)set(IDF_TARGET "esp32")
endif()# Add QCloud components and other common application components
# This example uses an extra component for common functions such as led and button.
set(EXTRA_COMPONENT_DIRS ${QCLOUD_PATH} ${QCLOUD_PATH}/examples/common_components/led${QCLOUD_PATH}/examples/common_components/button)# Performance Options
if(NOT DEFINED PERF)set(PERF "defaults")
endif()
set(SDKCONFIG_DEFAULTS ${QCLOUD_PATH}/config/sdkconfig_defaults/sdkconfig.${PERF}.${IDF_TARGET})include($ENV{IDF_PATH}/tools/cmake/project.cmake)
string(REGEX REPLACE ".*/\(.*\)" "\\1" CURDIR ${CMAKE_CURRENT_SOURCE_DIR})
project(${CURDIR})git_describe(PROJECT_VERSION ${COMPONENT_DIR})
message("Project commit: " ${PROJECT_VERSION})
3.配置工程
此时,我们可以开始配置工程:
3.1配置开发板及GPIO
这个工程提供3种开发板选项,我们选择自定义开发板,根据实际情况选择GPIO:
3.2输入腾讯物联网控制台设备三元组
现在腾讯物联网控制台创建一个设备,创建方法见文章 《ESP32:腾讯云物联网控制台创建iot设备(使用腾讯连连控制ESP32)》。把这个设备的参数填到这里:
3.3指定配网方式
这里提供了3种配网:
- smart config(AirKiss)
2.soft AP
3.blufi
我们就选第一种:
到此,配置完成,保存配置,可以编译工程。
4.编译工程,下载程序到目标板
4.1编译工程
编译完成,生成各种文件:
4.2下载bin到目标板
使目标板进入下载模式,点击下载,等待下载完成,按复位键运行程序。
5.填坑:找不到头文件
尽管编译没有出错,但是vscode还是提示有几个错误:
在文件《 c_cpp_properties.json》加入esp-qcloud所在路径 “${config:idf.espIdfPathWin}/examples/esp-qcloud/**”,
注意,有2个地方增加相同的内容。
重新编译一下,就可以消除错误。
6.使用腾讯连连小程序测试ESP设备
详情见:《ESP32:腾讯云物联网控制台创建iot设备(使用腾讯连连控制ESP32)》
VScode+esp-idf:编译腾讯物联网控制台ESP32例程(esp-qcloud)相关推荐
- 腾讯物联网云平台 密钥 MQTT参数生成及密码加密算法实现
腾讯物联网云平台 密钥 MQTT参数生成及密码加密算法实现 腾讯云三元组 腾讯云三元组 首先在腾讯物联网云平台创建好项目.产品.设备,然后获取该设备的三元组.下面通过我的创建的产品作为示例: Prod ...
- 基于STM32L431设计的云端绿化管理系统(ESP8266+腾讯物联网云平台)
一.环境介绍 MCU: 采用意法半导体低功耗芯片 STM32L431RCT6 编译软件: Keil5 + CubeMX 云平台: 采用腾讯物联网云平台 工程完整源代码与配套资料下载地址:https: ...
- VScode配置makefile编译
VScode配置makefile编译 Author:onceday date:2022年7月26日 1.修改终端任务配置(Terminal) {// See https://go.microsoft. ...
- vs怎么编译php文件,vscode怎么初始编译
vscode怎么初始编译? 1.vscode语言环境改为中文 [WHY]才发现我的环境一直都是英文,来改一下吧... a.按下快捷键: Windows.Linux 快捷键是:ctrl+shift+p ...
- 腾讯物联网操作系统正式开源,最小体积仅1.8 KB
9月18日,腾讯宣布将开源自主研发的轻量级物联网实时操作系统TencentOS tiny.相比市场上其它系统,腾讯TencentOS tiny在资源占用.设备成本.功耗管理以及安全稳定等层面极具竞争力 ...
- 腾讯物联网开发者社区平台Tencent Things Network发布 让IoT应用开发快速安全
5月21-23日,由云南省人民政府指导,云南省文化和旅游厅.昆明市人民政府.腾讯公司共同主办,腾讯战略升级后打造的规格最高.规模最大的行业生态大会"全球数字生态大会"在昆明隆重举行 ...
- stm32 vscode 编译_STM32开发之 VSCode+gcc环境编译
STM32开发之 VSCode+gcc环境编译 一.程序安装 1.VSCode:https://code.visualstudio.com/Download 好用到爆的文本编辑器,配合强大的插件,使你 ...
- STM32+ESP8266+MQTT微信小程序SoftAP一键配网接入腾讯物联网平台
STM32+ESP8266+MQTT微信小程序SoftAP一键配网接入腾讯物联网平台 Wi-Fi 配网,指由外部向 Wi-Fi 设备提供 SSID 和密码(PSW),让 Wi-Fi 设备可以连接指 ...
- VSCode源码编译
前期准备 VSCode源码官方文档及编译步骤 https://github.com/microsoft/vscode/wiki/How-to-Contribute Git(2.39.1) Node.J ...
- STM32+ESP8266+MQTT协议连接腾讯物联网开发平台
一.环境介绍 单片机采用:STM32F103C8T6 上网方式:采用ESP8266,也可以使用其他设备代替,只要支持TCP协议即可.比如:GSM模块.有线网卡等. 开发软件:keil5 物联网平台: ...
最新文章
- android activity使用,android,NativeActivity使用
- leetcode 636. Exclusive Time of Functions | 636. 函数的独占时间(Stack)
- C#发布网站在web.config和IIS中设置Session过期时间
- Linux基础命令---cp
- 继承与data member之多重继承
- mysql字符串查询_mysql字符串查询常用命令
- 【Python爬虫实战】微信爬虫
- 图神经网络的实现,神经网络框架图
- mpush部署实现与测试
- 3d人体智能测试软件,人体系统女性3Dapp
- 通信工程是计算机类还是电子信息类公考,通信工程属于电子信息类吗
- 用飞书来谈恋爱,飞书机器人定时给女朋友问好!
- injected stylesheet注入样式导致el-button内文字为空白
- ASCII字符代码表
- python字符串对象所有基本方法简要
- CSDN 博客 修改文章搜索为 bing 搜索,且只搜索自己的博客的方法
- 二叉树输入与存储的问题
- 公文专用计算机,[计算机]常用公文写作方法.doc
- bat如何创建多级文件夹
- K8s scheduler 调度:NodeName、NodeSelector与Taint
热门文章
- 安装office2013报安装程序找不到OneNote.zh-cn、安装源不存在
- 2023计算机毕业设计SSM最新选题之java养生知识平台99ofs
- (精华2020年6月2日更新) TypeScript函数详解
- kernel中的日志打印
- 计算机如何驱动无线网络,详细教你电脑无线网卡驱动怎么安装
- html 毛笔书写效果,canvas 手写毛笔字效果
- 计算机函数sumif实例,「稻客说函数」SUMIF函数实例详解
- [培养锻炼能力][耳机]耳机线断裂维修经验
- QDockWidget标题栏
- 【考研数学】五. 二重积分