摘要:本文介绍linux和ubuntu的区别,以及在ubuntu下配置idf编程环境。
1.linux和ubuntu有什么区别?
Linux设计的初衷并不是针对普通用户设计的,而是针对有经验的开发者。有句话说:“图形界面都是浮云,命令行解决一切。”这就提高了新手使用的门槛。来自“知乎”为什么都推荐ubuntu系统作为Linux入门? - 知乎
Linux是围绕Linux内核构建的开放源代码和免费的操作系统,随着社会的发展以及进步,Linux操作系统广受大家的喜欢,在市场占据了非常重要的份额。
而Ubuntu是开源、免费的系统版本之一,Ubuntu桌面个人电脑、服务器,用于服务器的Ubuntu和Ubuntu核心的俗称物理设备的网络市场的Ubuntu的几种口味的物联网。(来自知乎,作者:沈小南,链接:https://www.zhihu.com/question/380163584/answer/2312845598)
其实很简单,linux相当于一个没有图形界面的“内核”,然后有很多厂家在这个系统上套了自己的“壳”,图形界面是这个“壳”的关键内容之一。ubuntu就是一种套了壳的linux系统。只不过它太成功了,以至于很多人只知道ubuntu,不知道linux。
2.idf编程环境是什么
ESP-IDF 是乐鑫官方的物联网开发框架,适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。. 它基于 C/C++ 语言提供了一个自给自足的 SDK,方便用户在这些平台上开发通用应用程序。. ESP-IDF 目前已服务支持数以亿计的物联网设备。
IDF是由三个单词的首字母组成的。IoT, Development和Framework。意思就是物联网开发框架。
3.在ubuntu系统下安装idf编程环境
安装的话,一定要参考官方文档。因为版本会有更新,如果贸然跟着一些过期的博客来安装,可能会出现一些问题。这并不是作者写错了,而是因为版本更新了。而大厂技术文档是第一手资料,因此建议从最官方的资料开始学起。
Linux 和 macOS 平台工具链的标准设置 - ESP32 - — ESP-IDF 编程指南 v5.2.1 文档
我们需要在ubuntu 下安装,IDF的版本是
首先简要列一下所需要的所有指令,然后再写一下注意事项。
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
一般情况下会提示错误
出现上面的画面,意味着需要更新软件源
设置为华为软件源,或者其他软件源,反复测试,直到能够正常安装。
接着查看python的版本
python --version
我的python版本是3.8.10
接着下载安装包
mkdir -p ~/esp
cd ~/esp
git clone -b v5.2.1 --recursive https://github.com/espressif/esp-idf.git
接着开始安装
cd ~/esp/esp-idf
./install.sh esp32
界面如下
提示export就可以了
如果想速度快点,可以从乐鑫专用服务器进行下载。
cd ~/esp/esp-idf
export IDF_GITHUB_ASSETS="dl.espressif.cn/github_assets"
./install.sh
设置环境变量
. $HOME/esp/esp-idf/export.sh
新建工程,下面的指令,其实就相当于从idf编程框架的例程文件夹中,将helloworld例子复制过来了。
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
编译
idf.py build
烧录,idf.py -p PORT flash,这个命令经过测试是不用的,例如idf.py -p ttyUSB0 flash,实际上用下面的命令也可以。
idf.py flash
烧录的话,一般默认是ttyUSB0,通过命令行ls /dev查看串口号,进一步确认存在