粉丝1.8万获赞3.6万

versus code 安装 e c p 杠 i d f 我 们先安装 versus code, 这里全选, 先不勾选运行,然后安装 e s p 杠 i d f 这里记得应用修复, 这个是驱动,记得点击安装, 这里记得勾选。 这里面会自动配置,我们等待配置完成, 打开 versus code, 输入 esp 即可安装。第一个 可以看到这里面安装好了,点击上面的搜索框,然后点击第二个,输入 e s p p 杠 i d f for configure, 选择第三个, 这里选择第三个,然后选择我们刚刚安装好的 esp new projects, 这个是文件路径和文件名,这里是选择开发版, 点击 choose template, 这里随便选择一个例子,创建 信任, 点击扳手符号开始编辑。 如果需要相关资料可以私信我,可以看到翻译没有问题。

啊,大家好啊,今天我给大家说一下,就是最近好多客户啊,在挨抓 espidf 时候会遇到这个问题, 那这个问题解决也比较好解决,只要我们按照这个插件就可以了,大家可以去这会啊我的网拍去下载啊,下载下载,然后你打开这个 vs 扣的, 那我这个的话现在没有安装,那我们在这搜一下, 让我卸妆一下。 好,我们点击一下,那这时候就会出现这个 问题,那我们可以点一下这个插件里面,再点这块,然后从这块安装,然后我们选择我们刚才下载好的这个插件, 我们点击立即重载, 然后再点了些这块, 这时候他就出现这这个这样子就按照我们前面的教程继续按着就可以了。

哈喽,大家好,我是创客旺,今天这期视频主要教大家如何在 vs code 中移植 esp 三二 idf, 由于呃采用 vs code, 嗯就是在线安装 idf 容易失败,所以说我们这里面采取离线安装, 我这里面安装的版本是四点四,然后如果按照这种方式安装的话,然后,嗯企业不会出现头文件爆错,然后大家也可以安装其他的版本,我们打开热心的官网, 它这里面的话是提供其离线安装包的,然后打开支持,然后 s g k 这里面第一个,然后大家如果安装其他版本的话,就是打开这个 github, 然后其有其他其他版本的安装包,我这里就不展示给大家看了啊。我们这里面的话是四点四版本,如果大家有需要的话,我会把这个整个安装包和资料的话发给大家。 然后这里面有离线安装包的话,就是先直接双击这个文件,然后安装,我就一步一步演示给大家看, 然后下一步这个的话就是我们的按档位置,这里可以保持默认,也可以说你新建一个呃文件夹都可以的, 这里面都保持默认,然后等待安装, 这里面会提示要安装驱动,然后点击是 安装,这时候他在配置其拍摄环境,然后就让他配置就可以了。 好的,这时候点击完成 go 点击式, 他这显示正在添加路径之类的, 然后等它跳转 好了,这时候它显示就是 i d f 点派已经鉴定完成了,然后这边 的话,这边的话这个可以擦掉,不用管,然后当显示到这一步的时候,就表示其拍摄环境已经配置完成,然后可以擦掉,这是我们就是在 vs code 中进行配置, 打开 vs code, 因为我这个 vs code 是新装的,所以说我只装了一个中文的插件, 其他的插件都没有安装。如果大家现在已经有 c c 加加的插件的话,可以先不用卸载,因为过后要安装, 然后如果没有的话,就和我的步骤一样,就是说先不要安装,然后我们先安装 idf 它插件, 然后找到这个 idf, 然后下载 这个时候 i d f 的插件,虽然说已经下载完成了,但是说我们并没有配置它按下 f n, 然后 c c o n i d f, 然后找到配置插件的这个, 这时候他会跳转到配置插件的界面,稍等进入条, 然后这时候我们选择第二个,然后这里选择第一个,这时候这个的话它是自动解锁的,所以说我们直接点击 install 就可以了, 然后等待它配置, 他会跳转到这个界面,我们选择使用本地的工具,这时候他也是自动解锁的,就是说我们刚才在本地配置的离线安装包,然后翻到下面,然后保存设置, 然后就等待它配置 好的,这个时候 idf 已经配置成功了,然后接下来我们打开其视力文件,按 fe, 然后 esp 放 idf, 然后就这个打开四 d 文件, 然后随便找到一个 cd 文件, 这里都全部检查掉, 不需要管。然后这个时候有些人会教大家要安装 say make 插件,就是说在这里插件库里面装 say make 其实是不需要的, 如果装了 cmake 的话,就是容易出现图文键报错,因为就是说 idf 里面已经集成了 cmake, 所以说如果大家在 vscord 中再安装 cmake 的话,就是说容易与 以 idf 中的 cmake 发生冲突,这样的话就会出现透风键,其检索不到, 然后大家只需要安装 c 加加的插件,就是直接安装,直接搜索 c 加加, 然后安装这个插件就可以了。然后我们这里面继续打开这个头文件, 这个 c 加加的文件,这时候它还是显示红色爆线,是不是?但是我们已经装了 c 加的插件,这个时候就用到了一个解决办法,就是说在我们的 vs code 就是这点 vs code 中,然后找到这个接声, 然后添加一行文件, 就是添加一行这个文件, 把这个文件给复制过来,然后粘贴保存, ctrl s 保存, 然后这个时候大家先清空一下,然后再编译,就是先清空他有没有,就是如果你打开以前的项目,可能有一些必有的文件,这里面的话先把它清空,然后再重新进行编译, 这时候他依然会出现报错,对不对?我们再重新编译,他就不会再出现报错,这时候大家可以看到他其实是一闪一闪的。 好了,这是现在所有的红 boss 已经消失,他现在正正在进行其编译, 正常来说的话,执行到这一步,就是说已经建立成功的话,已经配置成功这一步的话,就不会,就是他所有的报错都会消失的,下面的话正常都不会出现问题的, 那我们先等待一下,看看就是他会不会出现问题, 好了,这个时候大家可以看到已经编译成功了,然后嗯,就是说这所有的文件并没有出现报错,这并没有出现一些 图文件检索不到之类的都没有报错。好,接下来对本期视频进行总结一下,就是说为了避免 idf 在线安装出错,所以说我们采用了离线安装的方式,这里是四点四版本的离线安装包, 然后大家如果需要下载其他版本的话,可以去热心官网下载。然后接下来就是说在 fs code 中配置,就是由于,嗯,其会 就是说由于他会出现头文件检测不到的问题,所以说我们要在这个阶层文件中添加这样一行代码,大概就是说,嗯,如何对他 cmake 进行配置,这个时候就不会出现 鞋头文件报错的问题。然后本期问,嗯, 这期视频所用到的所有的文件我都已经打包了,然后如果大家有需要的话就直接私信我我,我发给大家,如果关注的话可以回复更快哦。 然后呃,这期视频的话主要是教大家,呃如何移植 e s p 三二 i d f 然后后面的话会陆续教大家如何开发 e s p 三二,当然都是基于我们的 esp 上 idf 进行开发的。然后如果大家感兴趣的话,可以关注我后续的视频,谢谢大家观看。

兄弟们,我投降了,这破电脑怕是有毒吧?重装了 vsco, 重装了 spf, 还是不行,期间还有一次,我一度甚至以为我找到原因了,因为它一直是一个 python 函数,反馈说格式不对,我怀疑是 python 版本不兼容, 就回推用了三点九点六版本,结果改了之后和 low word 的 工程翻译成功了。那一刻啊,于是我赶紧移植工程,移植完之后一翻译得又不行,哎, 还有什么好说的呢?我认命了!虽然认命了,但是事情还是要做,在我不懈努力下,还是找到了替代方案。既然翻译不行,那我就在行的电脑上翻译, 用这个下载工具下载到这个电脑上调试,这个电脑虽然翻译不行,但是调试时能打开的。哎,就这样吧,我认命了,所有相关的环境我全部都重装了,还是不行,我还能怎么办呢?

大家好,我是阿云。经过前两期视频,我们已经有一个能够运行 l v g l 的 势力,这期我们来把势力中的代码整合到我们自己的项目中去。 首先我们来看看势力中使用了哪些第三方主键。我们打开 i d f component 文件,这里罗列出势力项目用到的第三方主键。我们把需要用到的主键复制到我们的项目中,第一个是 l v g l, 下一个是 i l i 九三四一,最后一个是 s p t 二零四六,其他用不到的就不需要复制。然后点击构建,先让它把这几个主键翻译一下,然后展开 manage components 文件夹, 稍微等待一下,可以看到相关的主键被添加进来。在等它构建的过程中,我们来搬运代码 配置部分的代码我们全部都要用到 ui 界面的,也是,那么我们干脆把整个文件复制过去,右键复制,右键粘贴即可,也可以通过快捷键 ctrl c、 ctrl v 进行复制粘贴。 然后我们要把复制过来的 app 内函数改个名字,因为一个项目中不能有两个入口函数,我把它改成 init my lvgl。 接下来我们要让这两个 c 文件加入到翻译中,传统的方法是通过头文件把它们联系起来,但这次我们可以利用 c mac 的 特性省去头文件,我们只需要在 c mac list 文件里面添加一些配置即可。 我们在 s r c s 这一行后面加上两个 c 文件的名字,每个名字之间要通过空格隔开。 ok, 这样 cmake 就 知道要去翻译这几个 c 文件。接下来我们要在主函数中调用 innitermel 函数。首先我们要在主文件中对它进行一个外部声明, 声明之后它就知道要去其他文件寻找这个函数的定义,我们也能够跳转到它定义的地方。 ok, 接下来调用一下这个函数即可。为了避免引脚冲突,我们需要把之前的功能屏蔽一下。 ok, 现在我们构建项目试试。 编一报错,我们跳转到出错的内行代码看看,这里使用了一个没有定义的红,我们回到视力项目中看一下, 我们跳转过去看一下这个红定义的值,可以看到它的值是零,我们先填上这个值, 我们可以注意到这个红定义所在的文件处于 build 文件夹内,也就是说这个红定义是编辑之后才出现的。这是一个新的知识点,以后会跟大家介绍,现在我们找到它的值即可。接下来可以构建项目, 构建成功,扫入程序, 烧录成功,不出意外的话效果跟上个视频是一样的,这里我就不放出实际演示了, 接下来给大家演示一下如果用最新的 lv g l 会发生什么情况。现在我们用的是九点二点零的版本,我们先把这一行配置删掉,再去主进库安装新的版本, 在这里搜索一下 lvgl, 第一个就是我们要找的主键,然后我们就来安装它。这次给大家介绍一种新的安装方法,我们看右下方有一个框框,框框里面有一段命令,我们复制一下, 然后我们不能立刻拿到终端去执行,我们需要点击一下这个,打开 esp idf 终端,稍微等待一下,看到这一行蓝色的字,我们就可以执行刚刚复制的命令, 看到 success 里就代表成功。每道配置文件可以看到九点五点零的版本已经被添加上了,然后我们再来构建项目。 从中端的信息我们可以看得出,修改这个配置文件会使得整个项目都要重新翻译,我们只能多等待一段时间。 ok, 我 们可以看到翻译报错,报错信息说找不到 esp timer 这个头文件,我们通过编程指南搜索可以查到,要使用这个头文件,我们需要在 cmake list 里面配置一下 esp timer。 ok, 那 么我们先配置一下, 配置完成我们再来构建项目。到这里大家应该都会有一个疑问,为什么刚刚旧的版本就不需要配置 esp time? 我 们可以到势力项目中查找一下 esp time, 点击左侧的放大镜图标可以进行全区搜索。在第一个输入框里面输入 esp time, 下面就会罗列出它在哪个文件,哪一段文本 文件名后面还会列出它所在的文件夹,旧的文件夹的都不用看,因为那是编辑后才生成的。找到最后我们可以看到有一行 requires esp timer, 点击一下搜索结果可以跳转到文件的那一行。然后我们回到文件目录,可以看到这个文件位于 l e g l 文件夹里面,这说明九点二版本是通过 request 来依赖 esp timer, 而 requires 是 公共依赖,公共依赖的一个特性就是你这里配置了依赖我主程序,那里就不需要再配置了。然后我们来对比一下最新的版本,找到它的 esp 点 cmake 文件, 我们在这个文件里搜一下,看有没有 requires esp timer, 可以搜到 esp timer, 但是搜不到 requires esp timer, 那 么它应该是把公共依赖改成了私有依赖,所以我们就要在主程序里头手动给它配置。项目已经构建成功,我们直接烧录 扫描成功,不出意外的话显示应该是不正常的,屏幕会一直闪烁,这时候我们点击监视设备,看看它会不会打印报错信息, 可以看到它在不断地打印信息,这样不方便我们观察。我们按 ctrl 加右方括号,停止监视, 然后我们看一下打印的内容,这里的报错信息不一定是红色的,但我们也很容易发现这里有一个 a r o, 很 显然这一行就是报错内容。这个信息说我们的 l、 v、 g l 任务暂异出, 这是说我们的占空间分配不够大,那我们去给他的任务分配更大的空间,原来给他分配的是四 kb, 我 给他增加到八 kb, ok, 再来构建项目 构建成功,烧录程序烧录成功,现在程序可以正常运行,这说明新版本的 lvgl 会占用更多的内存空间, 所以建议大家程序能稳定运作,就不要修改版本。最后再稍微讲一讲 lv g l 的 配置代码,这部分代码不会跟大家细讲,因为还有一些前置的知识没有学,例如这一段涉及到了 dma 知识点 以后讲了 dma 再回来看这一段会更好理解。然后下面这一段涉及到 esp、 定时器,这些知识点都可以单独拎出来做一期视频。 lvgr 的 配置部分是比较复杂的,不建议大家一开始就要把它搞懂,不懂这一部分不影响我们后续写 ui 代码,对于 ui 代码我会配合其他功能一起讲解。本期的视频就到这里,感谢各位观看。

变异烧录验证用这个方法搭建 esp idf 开发环境,新手也能百分之一百成功。一、准备工作一款 esp 三二、开发版这里我们用的是启明云端推出的 esp 三二 p 四 tony 开发版 type c 数据线电脑。二、安装 vs code vs code 是 一款由微软开发的免费开源代码编辑器,通过安装自带插件可以极大地提升开发效率。访问 vs code 的 官网,点击 download for windows 下载安装包,运行安装包同意协议,依次点击下一步。 在其他选项中建议勾选所有四个选项,便于今后在文件夹中通过右键快速打开 vs code, 继续下一步,直至安装完成。 三、安装 esp idf 为确保安装顺利,我们选择独立安装 esp idf, 再配合 vs code 的 插件使用。访问 esp idf 离线下载页面,选择所需版本。注意,需下载两个文件, exe 安装包与 zst 离线包, 右键以管理员身份运行 e x e 文件可选择右上角翻译为中文,便于操作。若 e x e 与 g s t 文件在同一文件夹,安装程序会自动检测到离线存档,点击从存档安装选择安装目录,点击开始安装。 安装完成后,点击安装驱动程序,等待提示驱动安装成功。四、安装 vs code 插件打开 vs code, 进入插件市场,搜索并安装 chinese simplified 插件重启,实现界面汉化 搜索 esp idf, 安装该插件,确保版本在 v 二点零以上,若未 v 一 点零,需安装预览版并重启插件。点击左侧乐行图标,选择 open esp idf installation manager, 如能正常打开,即说明配置成功。五、创建工程点击插件中的新项目向导,选择已安装的 esp idf 版本, 依次设置工程名称、保存路径。根据实际开发版选择目标芯片,在 windows 设备管理器的端口中查看对应的创口号,这些设置后续也可修改。点击 choose template 进入下一步。 乐星科技官方有丰富的历程库,新手可以借助这些历程快速上手复现功能效果。这里我们选择一个最简工程, 点击右上角创建新工程,随后在新建窗口中打开,等待插件激活后,右下角可能会提示缺少文件,点击生成即可跳转至原码。如无提示,可手动点击乐星图标激活插件。六、编辑并编辑你想要输出的内容, 记得按 ctrl 加 s 保存。点击底部工具栏的构建项目小扳手图标进行变异,首次变异时间可能较长,请耐心等待熄烧录并查看结果。点击底部烧录项目, 选择 uart 烧录方式,如烧录失败,可尝试手动进入烧录模式。按住 boot 键不放,点击 reset 后松开 boot, 或先按住 boot 再上电,然后松开 boot。 烧录完成后,点击底部监视设备小电脑图标,打开日制窗口即可查看程序输出的内容。 八、常用功能说明底部菜单栏还提供以下实用功能,选择烧录方式, g tag uart d f u 选择串口端口设置目标芯片型号打开 sdk 配置界面芯片功能配置总览 打开 esp idf 终端,可在其中执行命令,例如输入 it 拍 mini com, 也可进入配置界面。 至此, esp idf 开发环境已搭建完毕,本教程所用全部安装包均已整理好。关注启明云端科技官方微信公众号,回复 esp idf 安装即可获取完整资料包。启明云端专注 esp 三二开发版。

这节课我们来搭建 e s p 三二的 micro python 开发环境。首先就是代码编辑器,也就是我们常说的 i d e。 如果你是初学者,或者喜欢简单而快速的应用,那么推荐你使用 sony。 sony 是一款开源软件,对 micropython 的兼容性非常的友善,而且支持 windows、 麦克 linux 三大平台。最重要的是,它可以直接在软件中给 esp 三二刷 micropython 的固件, 并且呢,你可以实时预览 esp 三二的文件系统。这两点在我们后续的开发中非常的重要。 当然了,桑尼也不是没有缺陷的哈,由于其过于轻量化的设计,这个 i d e 呢,不具备代码提示功能以及很多开发者常用的插件。但是对于初学者而言,桑尼已经是足够了的。 我们可以在桑尼的官网下载安装程序,在浏览器中搜索桑尼的 o r g。 这里我们看到桑语的下载链接啊,点击下载即可。如果你点击之后一直没有反应的话,也不用担心。在我们的资料包中选择已经下载好的程序。右击以管理员身份运行, 点击下一步下一步,然后更改一下我们的轮储路径,尽量不要放在 c 盘啊。 选择创建桌面图标 install, 等待安装完成即可。 安装完成后呢,我们打开 sony, 能够正常打开 sony 的话,就说明你已经安装成功了。 之所以下面这会出现红色的报错啊,在这个筛要环境中,是因为我没有连接这个 e s b 三二单片机啊。但是你连接了之后呢,它依然会存在报错,因为我们还没有收录这个 micropops 的固件。 总体安装好之后呢,咱们就需要给单片机烧录 micropicent 的部件了,不然我们写的程序单片机他看不懂。首先把我们的单片机与电脑相连, 在骚逆中点击视图选择文件,这样我们就可以看到左侧出现了本地实时文件预览的窗口,等我们收录好了固件之后,就可以看到单片机的文件系统啦。 接下来我们就需要配置解释器并烧落构建到单片机中,点击右下角,这里配置解释器。 第一个呢,我们选择 micropison esp 三二第二个端口的话,它会自动检测到,如果你这里没有检测到端口,那说明你的电脑里没有这个驱动哈,你可以直接在我们的资料包中找到这个驱动,并且下载就是这个。 在点击 ok 之前啊,我们还需要把 micro python 的固件捎入到 e s p 三二单片机中,固件需要在 micro python 的官网下载,当然我们的资料包中也有已经下载好的资源,就是这个 micro python 固件。 点击安装或更新 micropize 端口的话,就选刚才我们检测到的这个固件呢,我们就选中我们资料包中的这个固件,点击安装, 等待安装完毕即可。这里我们看到他已经正确安装了,如果安装失败,可能是 bot 模式不对,只需要在安装时按住 bot 键即可,也就是下面这个按键 弹就说明安装完成了,点击关闭点击好的。安装完成后,我们可以看到在单片机设备中出现了不退电 py 文件,并且呢设有环境也可以正常使用了。 但是呢,我们还需要测试一下 micropison 环境是否搭建成功?找到资料包中的开机测试代码, 这里有一个闷点 py 文件,双击打开,大家先没有理解代码的意思啊,后面的章节会有讲解,这里主要是为了让大家 了解一下。搜你的使用方法,点击左上角的运行当前脚本,或者按 f 五键这里我们看到在我们的这个单片机上有一个蓝色 led 灯亮起来了,这说明我们固件收录成功了。

呃,大家好,今天我给大家讲一下这个官网的 e s p i d f 的安装。呃,这个 e s p i d f 的话,它可以在油笔系统装,也可以。呃,用 widows 装, 然后我都是的 id 可以使用 ecolix 的一个 id, 也可以使用这个 vs code id, 那今天我主要是讲这个。呃 vs code 的 id 进行啊,安装我们的这个 esp idf。 那首先我们来需要下载这个 get 这个呃软件,大家可以去搜一下,你下载的时候可以下载在线版本的。 呃,在毕业里面呃,点一下国际版,然后我们点搜索,在这儿就可以下载到。 呃,我都是拜拜, 这有下载,然后你具体你可以根据你自己的需求去下载就可以了。 然后再再一个就是有拍摄啊,拍摄的话要需要下载拍摄三,我这有了三点九点零的,当然你可以下载专心的测试一下啊,我这今天给大家介绍的是 这个三点九的。好,我们点击下载。 最后一个就是未扣的啊, vs 扣的,然后这个是微软自己写的这个,那我们继续也可以搜到。那这个拍摄的话可能网网站打开比较慢一点,他最新版本的是三点一,零点一, 然后你可以根据自己的需要的版本去下载啊,底下都有这些以前的一些版本啊。未扣的话,我们点一下打开啊,自己根据这个名称就可以搜到,然后点击下载, 然后去下载。你在这个 widows 的话,这个 u b 的话 mac, 然后我的是 widows, 那就下载 widows 就可以了。 呃,我的已经下载好了,然后这就 我再多介绍,然后我们首先要 add 这个 get, 然后我们就 add 在默认这个 c 盘,如果你你的 c 盘比较小的话,建议 add 在这个呃 d 盘和其他盘点试,然后下一步,下一步, 然后点费力时就完成了。呃,然后我们再安装 python, 那首先我们呃复制下这个 python python 的这个名称,然后我们点击,然后 啊我们自定一个链接,他默认的这个安装的。呃,这个链接的话,我们安装在 d 盘啊,也安装的 c 盘啊。呃,你可以安装的 d 盘,就是根据你自己的瞅瞅我的 c 盘比较大,那我就安装的 c 盘的,搁目录下的,我点击安装。 呃,这个的话,根据你系统我的是六十四位,就下载的是六十四位的,如果你的是三十二位,就是下载叉八六的这一个。呃,拍摄,那我们拍摄矮转弯。首先要进行呃环节变量设置一下,那我这个的话 是点开这个此电脑右键,然后我们点击高级设置环节变量,在这个用户变量里面,我们点开这一个啊,在底下,最底下就是 后排处,你可以点击一下啊加这个地址复制过去,这个地址的话就是你刚才安装拍摄的地址在 c 盘。 好,刚才我安装的这块,然后你双击进去,然后就是这块的地址,然后你复制了,然后呃添加的在后面,那因为我这个是刚已经添加过了,然后我点击确定, 点确定,确定这样子的话环节变了,已经设置好了,那设置好的后啊,我们要验证一下他是否安装成功了, 那我们就需要按照按键盘上这个,我都是图标键,然后加二,然后弹出一个运行啊,你输入 cmd, 然后点击确定,然后我们加这个名称,拍摄名称,点鼠标的右键粘贴上去,然后点回车, 这时候我们就可以看到这个 pass 三点九点九已经安装成功了。那这样的话我们接下来再安装这个 vs code, 我点击确定,然后投影下一步。那我们这个的话,我可以选择安装在地盘,然后 这个的位置的话,你可以根据自己选择去安装。那我为了更简单,就是地盘直接安装在个目录下面,然后我点下一步,下一步啊,创建在桌面快捷方式,然后我们继续点下一步啊,安装 啊,然后我点击运行,就是完成,完成, 呃,选择运行啊,第一次安装完运行后,呃,他会提示你安装一个语音语音包,然后我们点击安装并重启, 这时候我们可以看到上面就是啊显示了中文,那我点击这块,有个图标是扩展,然后我们点击一下,在这输入啊 esp, 然后我们回撤一下,它底下就出现热血这个图标,然后点击安装 啊,我们耐心等待一下,他安装的时候底下会抬出这一个进度条, uh i draw a 乐写这个 idf, 这个安装的速度可能和你的网速有很大关系。然后安装完后,我们可以看到这块多了一个乐写这个图标,呃,我们点击一下, 那他弹出这一个端口口,我们点击上面这个,点击一下,然后这这块我们要选择乐星这个服务器, get hub 安装是特别慢的,然后我们点击啊 esp 这个乐星的服务器, 然后这块是呃 idf 的这个版本,那根据你自己去选择,我选择的是最新版本啊,目前是最新版本哦,点击四点三点一,然后我们选择一下,然后底下这个 idf 安装位置的话啊,你可以根据你自己。呃,需要存放在哪里,这个也 是比较占内存的,那下来有五六个 g, 那我的 c 盘这个空间比较大,所以我就放到 c 盘,默认在这个 c 盘。呃,我的文件夹里面,然后你直接点击安装就可以了, 这个下载的话可能需要十几分钟啊,我的这块的网速可以,可能需要十几分钟。呃,如果你的网速更快的话,可能就安装更快 啊,这个精度条虽然走完了,但是我们还是需要耐心等待一下,他因为里面还要安装其他的一些插件 啊,我们在底下这个输出这儿就可以看到他正在安装其他的一些 东西啊,我们上面出现这一个夜晚,就说明啊我们这个啊已经安装成功了,那这样子话,我们啊关闭这个,前面这个,这个也可以关闭了,然后按键盘上的 f 一 啊,这时候我们可以看到他弹出好多,第一个是他这个里面的一些势力, 第二个的话它的这个 idf 这个设立的是显示,然后第三个是插件,就是我刚才已经弄好了,第四个字 就是设置我们的这个芯片,那这个的话就是我们底下这些图标,我一会给大家说,那我们先选择我们展示的这个设置项目,然后我们点击下,点击完记得啊要选底下这一个,再点一下,这时候他 他会弹出啊,这个自带的一些势力,我们可以看到这个,是啊,在上面是扎眼的一个,就是闪的的一个代码,然后揣个输出 hello word, 然后底下就是我们经常要用到的一些功能的一些视力,大家可以到时候就是根据这个视力去啊复制和修改一些功能,比如 usb, ust, 还有 twii 啊, spi 等一些这些功能。 lc 啊 adc, 那我们选择一个 hello word, 然后我们点击一下,然后选择上面打开这个,然后这个选择文件,我们就按默认的点击选择文件夹,这时候我们底下点一下这个 v 这块点一下,然后 我在底下可以看到这个 hello word mate 这个主函数,然后底下要选择让你安装,然后你就点安装就可以了。 呃,因为里面有些插件,他提示安装你必须要安装,不然会出现一些错误啊,我再呃选择我们刚才这个主函数, 那这时候我们先看底下最下个插头这个图标,这个图标的话就是你的串,串口就是你啊 esp 三二连接那些串口,然后你可以选择我的是 com 三,我们学的 com 三, 然后第二个是你的这个 e s p 三二还是 s 二还是 s 三,还有 c 三, c 三它有一个 usb, 还有一个 gtag, 还有一个单 读一个 gtag, 那我的是用的是 e s p 三二,那我学的 e s p 三二, 然后在底下这个就是打开这个位置,然后这两个一个删除,一个是这个。呃,设置 s d k 啊,这个是的变异的,我们先要选择变异,然后在这个是下载,那当然也可以点击像火苗一样,他是变异后自动下载,就是我点击一下这个就可以啊,我先等一下,等的这个设置完成, 等到我们去这个开发本设置完成后,然后我再点击变异啊,这时候我点击像火苗一样这个图标就可以,因为这个图标一点后他切换变异,然后后面会进行一个啊写入,就是下载到我们 esp 三二里边, 然后最后一个就是中端,就是和我们呃耳朵里头那个穿过监视器是一样的,那我点击下这个火苗,呃,我稍微耐心等一下,因为这个 vs code 编辑这个 esp 十二它还是比较慢一点儿的 啊。左边这在上面就是你现在打开文件的一个位置,然后这边是搜索啊,然后原码管理,然后变异调试,然后扩展,这个扩展的话就是我们 啊这个 vs 扣的里边可以啊,按照好多插件给不妥的,比如说 stm, 三二啊,还有 rgo 等一些其他的插件都可以。 呃安装,安装进去就可以给我们相对应的板进行下载程序,那今天我们主要是讲 e s b 三二这个系列的一些,呃, i d f 的一些安装, 那我们这个视力主要是,呃给我们这个 e s b 三二下载这个,呃一个 holo word, 然后它出口输出一个 holo word 一个代码, 那这个 idf 的话,官网还提过了网站去让大家去啊学习它的这个 idf 的,呃里面一些最基本的一些功能, 这个是我我给这个大概翻译的一个呃文档,那这个文档的话,呃一会我给大家看一下它里面一些功能, 那这个下载的话他还是比较慢的,底下有九六六,这个九六六跑完后他才可以正式进行一个变异的一个状态, 所以它这个编译就是比较慢,慢一点可能是比 u b 上慢。但是我们有这个 id 的话,就是编写代码时候有时候比较方便查看代码还有函数,呃很方便, 那这时候就已经给我们的这个呃开发板下载,已经下载完了,然后我们中断就可以看到他输出这些信息 啊,我们可以看到这就是我开发板这目前输出的一些信息,这样子话我们的这个变异器啊安装就成功了。然后接下来我就给大家说一下这个我翻译过来这个文档, 这个翻译过来的文档的话,我们他啊有好多功能需要我们键盘上的快捷键, 那快捷键的话我们可以看到是如果配置项目的话,就需要按照 ctrl 加 e 啊这两个键按后,然后再按 j 键啊,就是一个, 别急,我们这个面料我们看一下 ctrl 加 e 啊,然后松开,我们按 g 啊,这个我们键盘要调成这 英文状态,然后再压 ctrl 加 e, 然后按键盘上的 g, 这时候他会弹出一个就是我们设置我们这些,呃 最基本的一些这个弹窗,那比方说我们这个变异器了,呃里面一些下载不骆驼等一些这些大家自己可以下去好好看一下,就是,呃可以设置这些这些东西, 那再下来就是我们 需要配置啊,这个欧建项目,欧建项目也是有快捷键,那 ctrl 加 e 加 b, ctrl 加 e, 我们按下去,然后松开,然后再加 加 b, 再加 b 的话它就是正在编译我们这一个呃项目, 那底下的话,还有就是这个看这个大小就是我变异出来这个啊,里面使用了多少内存了,多少啊?这个缓冲, 呃,除除除除大小,我们加 ctrl 加 e, 加 s, 然后按键键盘 ctrl 加 e, 然后松开加,再按一下键盘上的 s 键,然后这样子我们就可以看到我们这就这个 hello word, 然后编辑使用了多少内存, 呃,再往下翻就是 ctrl 加 e 和 p, 呃,可以切换 u i r t 下载或指 tag, 呃,然后我们把这些挂掉, 呃,然后在底下的一些就是一些设置,大家自己也可以去看看这个味道, 那那些的话编辑器就是这样子安装的,然后你记得就是啊,比方说我这次关掉,然后下次要打开,打开这个 vs, 呃, 然后我们要看这些代码的话,我们点击这个热线图标啊,然后按键盘 f 一,然后这块 点击展示视力项目,然后再选择底下这一个,就可以打开这些视力,然后变异和下载,我已经讲过了,然后以后啊我再给大家讲如何新建项目,然后进行一个变异下载。 那今天这个,呃 e, s, p, i d f 的安装和基本使用,我就给大家讲到这里,感谢大家观看,再见。


大家好,我是阿云,今天跟大家分享一下怎么实现 http 请求。首先我们在编程指南中打开 esp http 客户端这一章节, 他这里默认我们是上过网的,都知道什么是 http, 所以 他直接开始教我们怎么使用这个主键。 然后下面就给出我们这期要学习的誓利,这个誓利里还包含了 http s, 但我们先不管先学会怎么发送 http 请求,现在我们来创建这个誓利,这次创建成功后,先不要急着构建项目,待会再给大家进行说明。 ok, 创建成功,我们先到主函数中看一下,这里有一个叫 example connect 的 函数,顾名思义,它这是专门用来给市利用的联网功能,它把 wifi 连接和以太网连接都浓缩在这一个函数中,这非常方便我们用来做测试。 那我们在正式的产品中不能使用这个函数,因为他没有提供回调函数,让我们去处理成功或失败的情况。 ok, 现在我们要给他配置 wifi 名和密码,我们需要在 menu config 中进行配置。 进入到这个界面以后,我们点击一下左侧的 example configuration, 然后在右侧就可以看到 wifi 名和密码,我们来对它们进行修改, 修改完后点击一下上面的保存按钮,然后就可以开始构建项目。然后我们回到编程指南,这里提到如果要了解 http 基本请求,可以看这两个函数, 我们可以大概浏览一下这两个函数的代码, 总体看下来它们的区别其实不大,我们只需要看其中一个函数即可。 刚好项目构建完成,我们可以来过一遍代码。首先我们来到主函数,我们先看这一段代码, 我们在上一期已经学习过,所以不用讲,我们直接往下看。 sample connect 函数我们一开始已经做了介绍,这里不再赘述。以上的步骤就是为了连接网络, 为后面的 http 请求做准备。我们接着往下看,这行代码不会被执行到,我们直接把它删掉, ok, 最后剩下创建任务,我们跳转过去看看这个任务,可以看到前两个函数就是编程指南里面提到过的, 然后我们看到下面还有很多个类似的函数。从函数名我们可以推测出这是根据不同场景的 http 客户端使用方法,但我们这次只需要学最基础的用法,所以可以把它们删掉。 而剩下的这两个函数没有太大的差别,我们只需要学习第一个, ok, 现在我们可以把用不到的函数定义也删掉。 这个 http 页面 handle 是 回调函数,后面我们会用到,不能删, 删除到这个地方就可以。 ok, 剩下要看的内容就不多了,我们接着往下看。 由于市力中的 http 请求是一次性的任务,所以要在任务的最后调用 v t s 指令函数来删除任务,否则系统会报错。这个涉及到非 r t o s 的 底层机制,暂时不作深究。接下来我们就进入到 http 基本请求的函数中学习。 首先是定义一个制服宿主,这个宿主用来接受请求反馈的数据,数据的容量最大为二零四八,后面加一是留给结束符, 然后下面就开始配置 http 客户端,我们看一下这个结构体的参数。 host 用来填服务器的域名或者 ip 地址,我们先把这个红定义的值复制出来,方便我们做后续的修改,然后我们可以把这个域名复制到浏览器上,看看这是个什么样的网站。 这是给我们用来做测试的网站,下面有很多接口,我们可以点击展开来看看, 这里每一行都是一个接口,这里每个接口就等于一个 url, 然后左边的设块代表的是 http 请求的方法,这个方法没什么需要深究的,服务器要求我们填什么方法,我们就在客户端配置什么方法。 我们回到代码看第二个参数, path, 这里填的是斜杠 get 对 应的就是这一个接口, 我们可以在网站上直接测试这个接口。首先点击 try out, 然后点击 execute, 下面就会有这个接口的返回结果, 这一段 url 就是 我们实际请求时的接口。对于 get 方法的接口,我们还可以在浏览器上直接打开,这里的内容跟刚刚测试的结果是一样的。 而其他方法的接口是不能直接在浏览器上打开的,例如这个 post 方法的接口,因为浏览器默认是使用 get 方法来打开网站, 这里的提示就是我们不能用 get 方法来请求这个 post 接口。在适利代码中,客户端默认是 get 方法,后面我们会看到它怎么配置成 post 方法。 接下来我们看第三个参数,这里填写的是 url, 后面的参数,一般是配合 get 方法来使用,我用一开始的 get 接口来演示一下,在这个链接后面加上问号就可以开始填写参数, 可以看到我们成功把 esp 这个参数传给了服务器,我们还可以给他加一些别的参数,等于号后面填的是参数的值 与符号,用来添加新的参数。我这里加了 f, f f 作为新参数,可以看到服务器都能够识别出来,并且返回给我。 我们回到代码,用这三个参数来配置一个链接其实是不太方便的,我更推荐用 url 这个参数,把完整的链接复制粘贴到这个参数即可,这样写更直观更方便。我们测试上面这三个参数就可以删掉。 如果我们要换一个接口测试,我们可以直接修改链接后面的部分, 例如我要换这个 headless 接口,我就直接修改这一部分。 ok, 接着我们看下一个参数, event handle, 这个用来配置回调函数,我们已经接触过不同的回调函数,大概能拆出它的代码结构,根据不同的事件进行不同的处理。 我们最后再来看它的代码。下一个参数, user data, 这里配置一开始的制服宿主,意思就是用它来接收服务器返回的结果。最后一个是禁用自动重定向,这个可以不用了解,直接用它的默认配置即可。 配置完后,调用这个 perform 函数就可以执行 http 请求,然后根据返回的结果打印成功或失败。最后再用这个函数以十六帧制的形式打印服务器返回的内容。 实际上我们也可以用制复创的形式打印结果,我们改一下这个 log i 函数就能够打印。 ok, 我 们接着往下看下面这一段代码演示怎么发送 post 请求? pos 方法传递参数的方式跟 get 方法不一样,一般会先把数据整理成 pos data 这样的格式, 我们称这种格式为追审格式,然后要调用这个函数,告诉服务器我们要传追审数据,然后通过这个函数给客户端配置要发送的追审数据,最后也是通过 form 函数来执行请求。 上面还有两个函数, set url, set method, 从名字我们就可以知道,一个是配置 url, 一个是配置请求方法。 ok, post 请求也已经讲完, get 和 post 是 http 中最常用的方法,其他方法我们可以不学,那么我们直接把下面的方法删掉。 ok, 现在只剩下一行代码, pick up 这个函数用来清除客户端,关闭链接,避免内存泄露到这里, http 客户端的工作流程就结束了。最后我们再来看看回调函数, 这里很多事件我们都不用管,最重要是 on data 这个事件,服务器返回的数据怎么放,放在哪里,就是在这里进行处理的。 首先第一步是把 user data 清空, user data 就是 我们在客户端配置时的制服宿主, 接下来用 if 条件判断服务器返回的是不是流逝数据。什么是流逝数据?我们跟 ai 对 话的时候,它是逐字逐字的给我们返回信息,像水一样不断的流出来,那种就是流逝数据,如果它是所有内容一次性返回,那么它就不是流逝数据。 这期我们只看怎么处理非流式的数据。首先他判断一下有没有配置 user data, 显然我们是有配置的,所以下面 else 一 部分的代码不会被执行到,可以删掉。剩下最关键的就是这几行代码, 简单概括一下,就是把 data 中临时存放的请求结果转移到 user data 中,而上面这行代码是为了保证接收的数据不会超出制服数组,在接收少量数据的时候,这个事件只会触发一次。 当传输大量数据的时候,网络底层会自动把数据拆分成多个数据包,这时候 on data 事件就会被触发多次,所以最后会用 output length 加等于 copy length 来记录接收的长度。 当数据接收完成,就会触发 on finish 事件。这里的 output buffer 在 on data 的 时候已经被我们删掉,所以我们也可以把这几行代码删除。 当 http 链接断开的时候,就会触发 disconnected 事件。下面这里有一个函数,它的名字里包含 tls, tls 是 一种安全协议,这跟 https 相关,我们这期不学可以把它删掉, 剩下的 app buffer 也可以删掉,下面只剩下重定向事件,我们不用管,这个 app buffer 定义也已经没有用了,可以删掉。 到此我们就讲完了视力的代码,接下来我们就跑一下代码,看有没有问题。构建项目 构建成功,烧录烧录成功,监视设备 可以看到 get 请求成功,然后打印十六定制的数据,再打印制服创数据 post 请求也打印出成功信息。 代码没有问题,接下来我们就把它整合到我们自己的项目中,记得要关闭监视设备。接下来我们把整份代码复制到自己的项目中, 然后修改 c mac 的 配置。视力项目的配置稍微要复杂一点,但我们只要认准它的关键字,就能知道哪些是主键依赖或者熟练的我们就可以直接看出这些就是主键名 esp tls 主键跟 http 相关,我们暂时不用,然后 mvs flash 我 们已经配置过了,所以也不用复制。 esp 页面应该是跟 http 事件相关,我们复制过去,然后 let if 主键我们可以不复制过去,因为我们在上一期已经跑通过相关的函数,估计 wifi 主键已经把它配置成公共依赖, 最后就剩下 http 客户端,显然这个是最重要的,主键必须复制。 ok, 最后再配置一下 c 文件, 接下来我们再修改一下代码文件。首先我们来到 app 魅函数,这一段代码我们已经在戳死化 wifi 的 时候执行过,这里不再需要执行,可以删掉。 而这个 s sample connect 功能我们已经有正式的 wifi 连接功能代替,所以也可以删掉。最后只剩下创建任务这一行代码,然后再修改一下函数名。 最后再看看哪些头文件是不需要的,这两个头文件带有 sample, 明显是跟 sample connect 功能相关,可以删掉。 然后这两个头文件是跟 http 相关的,也可以删掉。然后再来看下面这两个变量,他们的变量名都带有 ssl, ssl 是 一种安全协议,也跟 http 相关,所以又可以删掉。修改完成,现在我们构建项目试试, 构建出错,我们跳转过去看看,这个红没有定义,我们把域名复制过去即可。 ok, 我 们再来构建项目,构建成功代码没有问题。接下来我们配合 lvgl 来发送一次 http 请求,我们可以在界面上添加一个按钮,再通过按钮去触发这个功能。 首先在 ui 文件声明外部函数,然后再添加按钮控件,按钮控件的代码我们可以在 lvgl 的 第二个官方势力中找到 复制过来,然后稍微修改一下就能使用。 可以改一下按钮的名字,也就是这个 label 中的制服串。这个 label 的 变量名最好也改一下,要和全局的 label 做区分,我这里是忘记修改。接下来我们把 http test 函数放到回调函数中即可。 ok, 接下来我们就把结果显示在全区 label 上,这次又需要用到 set my label 这个函数,我们把它引入到 http 的 功能文件中, 然后把 local respawn buffer 这个变量传进去即可。 post 请求结果,我们也让它显示出来。 ok, 我 们开始进入测试阶段,首先构建项目 构建成功,烧录程序 烧录成功,现在我们来测试一下。我们来点击屏幕上的 http 按钮, 可以看到出现了两次信息,这证明了 http 请求正常整合功能成功。本期的视频就到这里,感谢各位观看。

大家好,我是阿云,今天我们来整理一下代码。在上一期我们实现了 http 请求,但是代码写的比较粗糙,不方便我们后续的使用。怎样才算方便使用呢? 假设我们有一个 http get 函数,我们只需要传入 u r l 制服串就能执行 get 请求,然后再用一个制服串来接收服务器返回的内容, 拿到结果后再用 settest 函数把结果显示在屏幕上。这样写我们就不再需要跑到 http 的 代码中处理 ui 逻辑。 当有新的接口,我们只需要修改一下入参 u i l 即可。如果是 pos 请求,我们只需要多传一个追审制服串,当然我们目前只传一些简单的数据,如果要传图片音频,到时候我们再做处理。 这期我们以这两个 http 函数为目标进行修改。首先我们进入 http test 函数,然后修改一下函数名和入仓。我们先写 http get 函数, 接着复制多一份代码,改成 post 函数, post 函数多一个入仓,追悼致富创。 接下来我们要想办法把入仓存入到 h c d p 的 任务函数中。 我们的入仓有多个,而 task create 函数只提供一个参数让我们传递,所以我们需要把入仓打包进一个结构体中,再进行传输。我们现在就来创建一个结构体, 复制 pos 函数的入仓作为它的成员变量。 最后给结构体起一个名字,我命名为 http data。 接下来我们把入仓复制给结构体, 然后再把结构体传至任务函数即可。顺便完善一下 pos 函数。 任务结束后,会把服务器返回的结果填写在 response 指令这个变量中, 但我们知道 taskcreate 函数是不会等待任务结束的,所以我们需要一些别的方法来等待任务完成。在连接 wifi 那 一期,我们学习过 event group, 它的功能刚好能满足我们的需求,所以我们可以复制它过来使用。 ok, 然后我们改一下变量的名字,我们定义的名字也改一下,我们暂时只用 http get 和 http post 信号, 然后我们只在 get 函数里面等待 get 信号。接着我们要把下面这个参数由 false 改为 true, false 表示它拿到信号之后不会清除拿到信号的这个状态, 这会导致下次再执行这行代码的时候,他不用等待任务发送的信号,这样我们就取不到结果了。改成错之后,他就会清空状态给破参数,也加上这段代码信号需要改一下。 ok, 总体的逻辑就是这样。接下来我们修改任务函数,首先我们删掉几行没用的代码,接下来我们把这个内部函数的代码整合到这里,减少一些嵌套, 再删掉一些没用的代码。 ok, 现在我们先写 get 请求的任务,首先修改一下函数名, 然后把我们存入的参数取出来,我们对这个函数的入仓进行一个强转换即可, 然后我们就可以用它的值去配置 http 客户端。首先是 url, 这个值我们待会还有用,先把它放到一边,然后这里换上我们存入的 url, 然后 user data 换上我们的 response string local response buffer 已经没用了,可以删掉。 ok, 我 们继续往下看,看看哪里需要修改。 这里有一个判断请求成功与否的值,我们也要把它带出去,这样就方便我们在外部做判断。要带出去很简单,只要把它放到结构体即可。我们顺便把这段代码放到上面。 ok, 然后用 h data 中的 l 来接收结果。下面这段判断结果的代码我们先注视掉,待会还有用。 下面两行代码已经没用了,可以删掉。然后注视 post 部分的代码,我们会在 post 任务中再去使用它,这里的 set my label 也要删掉。 最后我们要发送一个信号告诉外部任务完成,我们去 wifi station 那 边复制一下代码。 ok, get 请求的任务就到此结束。接下来我们创建 post 请求的任务,我们复制多一份 get 请求的任务来进行修改。首先修改一下函数名, 然后可以删掉 get 部分的代码,取消注视 post 部分的代码。 perform 函数要放在下面执行, 这里的结果判断代码我们不需要,上面有一份就够用了。然后这里的 post data 要换成我们的追悼群。下面这一行 set u r l 没有用,我们可以删掉。 u r l 的 值我们可以保留一下,待会还有用。 最后我们再修改一下发送的信号, ok, 到此我们也完成了 post 请求的任务。函数 get 请求任务,这里的 post 代码可以删掉。 ok, 接下来我们回去完善一下 http get 函数和 http post 函数,修改一下任务的名字, 最后添加一行代码返回 aero 结果函数的返回类型也要随之修改。 ok, 再来完善一下 h t t p post 函数。最后这里还需要做一件事,就是抽象一个函数,然后在主函数里面执行。 ok, 我 们分装出两个比较理想的函数,接下来我们就要使用它们。首先进行外部声明, 这个类型报错,我们可以跳转进去,看看它用的是哪个图文件,可以看到是 esp, 我 们导入一下。 在调用它们之前,我们可以简化一下按钮的回调函数,我们可以只监听点击事件,这里就不需要再做判断了。 接下来我们先调用 http get 函数,这里需要填入 url, 我 们可以回去复制过来。 然后我们要传入一个字符串,我们需要定义一个 制腐串长度。我们沿用上一期的二零四八加一。接下来要判断请求成功与否,判断的代码也可以回去复制。 如果成功,我们直接把接受的内容显示在屏幕上,如果失败,我们显示一段固定的失败信息。 为了方便区分,我们添加多一个按钮来进行 post 请求复制一份按钮空间的代码,修改一下变量名, 按钮显示的文本也改一下。然后修改一下 post 按钮的位置。用 allow 函数来进行配置更加方便。 我们看每举值的名称就知道可以放到哪里,例如,我想放到左下角,我就用这个 button left。 然后回调函数我们也要区分开来,函数的名字我们也改一下。 ok。 接下来就可以在 post 回调函数中调用 http post 第一个参数 url, 我 们也去复制一下 第二个参数,追悼制复创我们可以随便填 里面的双引号要用反斜杠进行转移。最后再改一下失败信息,这样就完成了 pos 按钮的回调函数。 为了让文本内容不超出屏幕宽度,我们可以用 set with 函数来限制 label 的 宽度,例如我把它设置为二百。 ok, 接下来我们就进入测试阶段,构建项目 构建成功,烧录程序烧录成功,我们来看看屏幕,可以看到 ui 布局不符合我们原本的设计,我们回去看一下 ui 代码 这个地方,忘记把 label 改成按钮,改过来就没问题了。 ok, 现在再来构建项目构建成功,烧录程序烧录成功。现在可以看到屏幕已经没有问题,我们点击按钮测试一下, 看到这段信息就代表 get 请求成功,然后再测试一下 pose 请求, ok, 也是正常,没有问题,可以多点击几下来测试。 ok, 目前来说都没有问题。到这里我们就整理好了两个 http 请求功能,本期视频就到这里,感谢各位观看。