【ESP32 学习】在 window10 上,如何使用 IDF 开发 ESP32 ?

资源准备

  1. 在乐鑫官网找到 Get Started 教程(https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html)
  2. 下载 ESP-IDF Tools Installer 准备安装所需环境。
  3. 国内用户请自行准备连接外网的方法,因为部分程序(Python 、 Git)的官方版本在内网下载异常缓慢。或者可以选用自行下载的方式。

环境安装

PS:在进行这一步之前,墙裂推荐国内的用户自己安装好 Python 和 Git 两个工具、从其他位置下载 ESP-IDF SDK,因为国内的网速确实太慢了。

乐鑫为windows环境下的开发者准备了便捷的换进配置工具 ESP-IDF Tools Installer。可以从官网,或者我上面的连接下载该工具。

安装界面
选择你想要使用的 Python 版本,如果选择 Install ,可能需要连接外网,否则速度很慢
选择 Python 版本

选择你想要使用的 Git 版本,同样推荐使用已安装好的
选择 Git 版本

添加自己的 ESP-IDF SDK路径,当然也可以选择 download 下载最新的版本。同样是考虑网速问题。
选择使用的SDK

选择一个自己的工具安装路径

选择工具安装路径

默认选项,点击下一步,Install ,
继续安装

安装程序会自动帮你完成依赖环境的配置
在这里插入图片描述
在这里我遇到过安装失败,是 Python 相关的问题,相关问题我在下面一章介绍,但是如果你的用户名是英文的,程序是能够正常安装的。
环境安装
安装成功
安装成功界面
安装好的 IDF 可以在开始菜单直接启动,也可以在任意 cmd 界面切换到 esp-idf 文件夹下输入 export.bat 使IDF 的环境变量生效。
启动IDF
安装好的 IDF 界面,在这个界面下你可以像在 Linux 系统下一样的使用 CMake 版本 IDF 的全部功能。
IDF界面
安装了 VSCode 的同学也可以直接在命令窗中使用 code . 命令直接进入编辑界面,在此界面打开的 VSCode 中已经包含了 IDF 需要的所有环境,可以直接在 terminal 中使用了。

在这里插入图片描述

安装可能遇到的问题

PS: 在这里我介绍一下安装过程中遇到的 N 个问题,如果没有遇到的同学可以跳过这部分了。

第一个问题 安装源的切换

pip 安装时网速慢的问题,根据网上的人推荐,可以使用豆瓣的软件安装源
具体方法如下:
%APPDATA%\ 文件夹下创建 pip 文件夹 在pip文件夹里创建 pip.ini 文件 写入以下内容

[global]
timeout =6000
index-url =http://pypi.douban.com/simple/
[install]
use-mirrors =true 
mirrors =http://pypi.douban.com/simple/ 
trusted-host =pypi.douban.com

第二个问题 pip不识别中文路径

在我的中文用户名的 windows 系统下,会发生中文路径不识别的问题。(PS:在英文用户名下是没有问题的。我直接安装成功并能够使用了。)
解决方法是
我分别在两个可能需要的路径下添加了编码转换的代码

路径1: C:\Python27\Lib\site-packages\sitecustomize.py (该文件可能不存在,需要自己创建)


# set system default encoding: gbk
import sys
 
reload(sys) # 可能不需要
sys.setdefaultencoding('gbk')

路径2: G:\esp.espressif\python_env\idf4.1_py2.7_env\Lib\site-packages\pip\basecommand.py 文件 import 后面添加了 如下代码

if sys.getdefaultencoding() != 'gbk':
 reload(sys)
 sys.setdefaultencoding('gbk')

第三个问题 No module named pip

可能是因为我选择了使用系统内部的 python ,但是程序却将 Python 的 PTAH 指向了 .espressif\python_env\idf4.1_py2.7_env 所以尽管我安装了 pip,但是在这个路径下的 pip 并没有安装,所以我再该路径下手动安装了pip
使用的命令如下:

cd .espressif\python_env\idf4.1_py2.7_env
python.exe -m ensurepip 

使用该命令后 No module named pip 问题解决

第四个问题 no such option 报错

它的报错如下:

Installing Python packages from G:\esp\esp-idf\requirements.txt

Usage:
  G:\esp\.espressif\python_env\idf4.1_py2.7_env\Scripts\python.exe -m pip install [options] <requirement specifier> [package-index-options] ...
  G:\esp\.espressif\python_env\idf4.1_py2.7_env\Scripts\python.exe -m pip install [options] -r <requirements file> [package-index-options] ...
  G:\esp\.espressif\python_env\idf4.1_py2.7_env\Scripts\python.exe -m pip install [options] [-e] <vcs project url> ...
  G:\esp\.espressif\python_env\idf4.1_py2.7_env\Scripts\python.exe -m pip install [options] [-e] <local project path> ...
  G:\esp\.espressif\python_env\idf4.1_py2.7_env\Scripts\python.exe -m pip install [options] <archive url/path> ...

no such option: --no-warn-script-location
Traceback (most recent call last):
  File "G:\esp\esp-idf\tools\idf_tools.py", line 1344, in <module>
    main(sys.argv[1:])
  File "G:\esp\esp-idf\tools\idf_tools.py", line 1340, in main
    action_func(args)
  File "G:\esp\esp-idf\tools\idf_tools.py", line 1163, in action_install_python_env
    subprocess.check_call(run_args, stdout=sys.stdout, stderr=sys.stderr)
  File "C:\Python27\lib\subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['G:\\esp\\.espressif\\python_env\\idf4.1_py2.7_env\\Scripts\\python.exe', '-m', 'pip', 'install', '--no-warn-script-location', '-r', 'G:\\esp\\esp-idf\\requirements.txt']' returned non-zero exit status 2

这个问题报错的部分是 no such option: --no-warn-script-location (没有这个选项)的问题。解决它可以按照提示,删除这个选项,直接在 cmd 中敲命令 命令如下 (对应路径可能需要你自己修改)

G:\\esp\\.espressif\\python_env\\idf4.1_py2.7_env\\Scripts\\python.exe -m pip install -r G:\\esp\\esp-idf\\requirements.txt

使用了这个命令后,所需环境就能正常安装了(虽然 install.bat 还是会报错),但是 执行 export.bat 已经可以使用 IDF 了

PPS:熟悉 python 的同学可以直接去 esp-idf\tools\idf_tools.py 文件中修改,去掉 --no-warn-script-location 这个选项(执行的时候会多一些log),就可以直接使用 install.bat 去安装了。

使用 IDF 开发 ESP32

安装好工具之后,我们就可以在 cmd 中编译和下载 ESP32 的程序了,常用的指令有

idf.py menuconfig //打开配置选项
在此处我遇到了乱码问题
可以通过在cmd中执行 CHCP 437 设置编码为 MS-DOS 美国英语 来解决,也可以在 export.bat 文件的开头添加这个命令,实现自动切换编码。
menuconfig
在此附上其他编码信息

65001 UTF-8代码页
950 繁体中文
936 简体中文默认的GBK
437 MS-DOS 美国英语

另外,使用 cmd 界面时,可以使用 方向键Tab 进行操作。但是使用 VSCode 和 Windows Terminal 的时候需要使用 +-Tab 按键来进行操作。

idf.py build //编译
build过程
idf.py -p COM5 flash //下载

你可以在设备管理器中找到你的设备 COM 标识
设备管理器
idf.py -p COM5 monitor //打开监视器
启动ESP32

至此,我们就可以在 Window10 上进行 ESP32 的开发啦。不必在搭建 Ubuntu 虚拟机或者Linux子系统了。在 Windows 上愉快的使用 CMake 进行编译,速度还是很快的。

欢迎大家来和我一起交流呀。O(∩_∩)O哈哈~

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: neo4j是一种开源的图形数据库,它的4.4.7版本是它的一个稳定版本。使用neo4j 4.4.7版本进行开发可以带来许多好处。 首先,neo4j 4.4.7版本具有改进的性能和稳定性。这意味着在开发过程中,可以更高效地处理大量的数据,并且系统不太容易崩溃或出现错误。这对于开发者来说非常重要,因为他们可以专注于开发应用程序的功能,而不必过多地担心数据库的稳定性。 其次,neo4j 4.4.7版本引入了新的功能和改进。例如,它支持更高级的查询语言,可以更方便地查询和遍历图形数据库。此外,它还提供了更好的事务管理和数据一致性,使开发者能够更好地管理和维护他们的数据库。 此外,neo4j 4.4.7版本还具有更好的可伸缩性。这意味着它可以处理更大规模的数据,并且可以与其他系统集成得更好。这对于需要处理大量数据的开发项目来说尤为重要,因为它可以确保系统能够高效地处理和存储数据。 最后,neo4j 4.4.7版本具有广泛的社区支持。这意味着开发者可以从社区中获取帮助和支持,解决遇到的问题。此外,社区还会定期发布更新和修补程序,以确保neo4j保持安全和可靠。 总的来说,neo4j 4.4.7版本是开发图形数据库应用程序的一个理想选择。它具有改进的性能和稳定性,提供了新的功能和改进,具有良好的可伸缩性,并且有广泛的社区支持。使用neo4j 4.4.7版本进行开发可以帮助开发者更高效地构建和管理他们的应用程序。 ### 回答2: Neo4j是一款开源的图数据库,它提供了丰富的图数据库功能和强大的图算法,用于处理复杂的关联数据。Neo4j 4.4.7版本是Neo4j的一个更新版本,带来了一些新的功能和改进。 首先,Neo4j 4.4.7版本增强了性能和可伸缩性。它引入了多个性能优化,提高了查询速度和数据加载速度。它还改进了数据备份和恢复机制,增加了数据复制的灵活性,使得数据更安全可靠。 其次,Neo4j 4.4.7版本提供了更好的开发者体验。它改进了图形用户界面(GUI),使得用户可以更轻松地管理和查询数据库。此外,Neo4j还提供了丰富的开发工具和API,方便开发者进行数据导入、数据查询和数据分析等操作。 另外,Neo4j 4.4.7版本还加强了图数据库的数据一致性和完整性。它引入了新的数据校验功能,可以在插入和更新数据时进行检查,保证数据的正确性。同时,它还提供了事务支持,可以在多个操作之间保持数据的一致性和完整性。 综上所述,Neo4j 4.4.7版本提供了更高性能、更好的开发者体验和更强的数据一致性。它是一个非常优秀的图数据库版本,可以帮助开发者处理复杂的关联数据,实现高效的数据查询和分析。无论是对于开发者还是对于企业来说,Neo4j 4.4.7版本都是一个非常不错的选择。 ### 回答3: Neo4j 4.4.7版本是一个图数据库管理系统,它具有强大的图处理能力和灵活的数据模型。 在开发使用Neo4j 4.4.7版本可以带来以下优势: 1. 高性能:Neo4j 4.4.7版本在处理大规模数据时表现出色,并且具有快速的查询和更新性能。它使用了图数据库的特殊存储结构和查询优化技术,能够高效地处理图数据。 2. 强大的查询语言:Neo4j 4.4.7版本支持Cypher查询语言,它是专门用于图数据库的查询语言,简洁而强大。通过使用Cypher,开发人员可以轻松地查询和操作图数据库中的数据。 3. 灵活的数据模型:Neo4j 4.4.7版本使用节点和关系来表示数据,这种数据模型非常适合表示和处理复杂的关系结构。开发人员可以轻松地设计和修改图数据库的数据模型,以满足特定的业务需求。 4. 可扩展性和高可用性:Neo4j 4.4.7版本支持水平扩展和多个副本,可以处理大规模的数据和高并发的访问请求。它还提供了高可用性的功能,确保系统在节点故障时仍然可用。 5. 生态系统支持:Neo4j 4.4.7版本有一个活跃的社区和丰富的生态系统,提供了各种各样的工具和库,用于开发和集成Neo4j。开发人员可以方便地与其他流行的编程语言和框架集成,如Java、Python和Spring Framework等。 总之,Neo4j 4.4.7版本是一款功能强大且易于使用的图数据库管理系统,在开发中可以帮助我们处理复杂的关系数据,并提供高性能、灵活的数据模型和丰富的生态系统支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值