【物联网初探】- 01 - ESP32 开发环境搭建 (Arduino IDE)

没有目的,单纯好玩,忙里偷闲,嵌入式设备入门点滴备忘。

1. 写在前面

  • 乐鑫提供了 ESP-IDF 的开发环境,也有详细的指南,无奈折腾了挺久也没搞定,试过 vscode 的插件方式,也总是在 python 环境那里卡住,又不想搞乱已经配置好的 conda 虚拟环境,所以尝试了熟悉的 arduino 路线,没想到非常顺滑。
  • 本篇博客是备忘在 ubuntu 20.04 下配置 arduino 中的 esp32 开发环境流程,对其他系统也有一定启发性,尤其是现在教程繁多,大家的代码和板子又不是完全相同,如何调通自己的板子和程序,需要一定的搜索和思考能力。

2. Step by step 配置流程

基本流程是,在 Arduino 中添加板子,添加库,测试例子。

2.1 硬件情况
  • 本文所使用的 ESP32 购自某宝,宣称使用乐鑫官方 ESP-WROOM-32 模组,支持 wifi & 蓝牙,名字叫 Goouu-esp32,如下图。

    在这里插入图片描述

  • 这块板子的引脚如下,标号与其他 ESP32 稍有区别,这里也着实让我这个新手多花了点时间,板子上标注的 GXX 就是 GPIO 的编号,在连接其他设备时遵循编号去找对应的针脚就可以。

  • 注意:这里主机我用的是 Ubuntu 20.04 ,主要是装库方便,寻求 win 下步骤的可以不用看了。

2.2 Arduino 中添加 ESP32 板子支持
  • Ubuntu 下的 ArduinoGit 安装就省略了,直接从 Arduino 这里开始。在 File - Preferences 偏好设置中加入额外的板子管理器链接 https://dl.espressif.com/dl/package_esp32_index.json 如下图:
    在这里插入图片描述

  • 打开 Tools - Board - Boards Manager,在其中搜索 esp32 ,能够看到乐鑫官方的板子库,安装它。
    在这里插入图片描述

  • 安装完成后就可以在 Tools - Board - ESP32 Arduino 中选择 ESP32 Dev Module ,选好后,Arduino 右下角如下图所示:
    在这里插入图片描述

2.3 测试 ESP32 GetChipID 例程
  • 下面我们测试一个例子能否编译并烧录进去,在 File - Examples - ESP32 中选择 GetChipID,别忘了 usb 连上 ESP32 板子,然后给串口开个权限,我这里是 ttyUSB0,请酌情修改:

      sudo chmod 777 /dev/ttyUSB0
    
  • 例子代码如下。

    uint32_t chipId = 0;
    void setup() 
    {
    	Serial.begin(115200);
    }
    void loop() 
    {
        for(int i=0; i<17; i=i+8) 
        {
    	  chipId |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i;
        }
    	Serial.printf("ESP32 Chip model = %s Rev %d\n", ESP.getChipModel(),ESP.getChipRevision());
    	Serial.printf("This chip has %d cores\n", ESP.getChipCores());
        Serial.print("Chip ID: "); Serial.println(chipId);
    	delay(3000);
    }
    
  • 点击对勾编译,报错如下:

    ModuleNotFoundError: No module named 'serial'
    exit status 1
    Error compiling for board ESP32 Dev Module.
    
  • 这里 ESP32 编译使用了 python 环境,而我们缺少一个 pyserial 包,目前我的 Arduino 是从桌面快捷方式启动的,没有共享到命令行的环境变量,而我命令行里是配置好了 python 的虚拟环境,里面有这个包,所以在 Arduino 的快捷方式里添加一下环境变量:

    sudo gedit /usr/share/applications/arduino-arduinoide.desktop
    #在 Exec 这一行添加指令 zsh -i -c ,使其从命令行执行,我使用的命令行是 zsh 
    Exec = zsh -i -c /home/arduino-1.8.16/arduino
    
  • 配置好后,重启 Arduino 再次编译这个例子,这回就没问题了。
    在这里插入图片描述

  • 点击箭头进行烧录,烧录没问题,打开 Tools - Serial Monitor 串口监视器,可以看到循环输出的板子 ID 号类似如下,到这一步板子的基本编程环境就搞定了。

    15:07:39.062 -> ESP32 Chip model = ESP32-D0WDQ5 Rev 3
    15:07:39.095 -> This chip has 2 cores
    15:07:39.095 -> Chip ID: 11308360
    
2.4 测试 ESP32 Blink 例程
  • 再测试一个最简单的亮灯例子,直接选择 File - Examples - 01 Basics 中的 Blink 闪灯例子,代码如下:

    int LED_BUILTIN = 1;
    void setup() 
    {
      pinMode(LED_BUILTIN, OUTPUT);
    }
    void loop() 
    {
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(200);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(200);                       // wait for a second
    }
    
  • 注意,这里 ESP32 没有定义 LED_BUILTIN ,这里看到了一些别的博客,有写 2 的,有写 23 的,对于这块板子都不行,实际上是这块板子的电路设计跟其他 ESP32 可能不完全相同,这也是我花了一点时间琢磨的地方,那么首先我们们看一下ESP32比较通用的针脚定义图,如下:

    在这里插入图片描述

  • 那么,即使不同厂家画板子的走线不同,但是 GPIO 号对应的功能是不会变的,我们再上某宝看一下手头这块板子的电路图如下。虽然我不是专业搞硬件的,但是基本的电路原理还是懂一点,观察发现 LEDTXD0 是串在一起的,而下面的电路图中 TXD0 没有标 GPIO 号,它上面是 GPIO22,我们对应到上图中去看一看,TXD0(TX0) 实际上对应了 GPIO = 1 号。

    在这里插入图片描述

  • 在代码中将 LED_BUILTIN 定义为 1 ,编译后烧录完毕,成功点亮小蓝灯,并按间隔闪烁,虽然中间走了一点弯路,但是整个流程还是奔着 “知其所以然” 的方向去的,即使再换个厂家的 ESP32 板子,我相信也能给你一定的启发。

esp32 blink 程序效果

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 Arduino IDE 来搭建 ESP32开发环境。在 Arduino IDE 中选择菜单栏的 "工具" - "板" - "管理器",搜索 "esp32" 并安装对应的驱动。然后在 "工具" - "板" 中选择 "ESP32 Dev Module" 即可使用 ESP32 开发板进行编程。 ### 回答2: ESP32是一种基于32位的微控制器,它具有高度集成、低功耗、可靠性高等优点。如果您想使用ESP32进行开发,您需要先搭建一个开发环境,这样才能进行编码和测试操作,本文将针对Arduino环境下ESP32开发环境搭建进行详细介绍。 第一步:下载及安装Arduino IDE Arduino IDE是一款开源免费的软件,它提供了编写和上传代码的一个界面。首先,您需要前往官网(https://www.arduino.cc/en/software)下载最新版本的Arduino IDE软件,并安装好。 第二步:添加ESP32开发板 Arduino IDE已经内置了大量的开发板,我们需要添加ESP32的支持。进入“文件>首选项”下的设置窗口,找到“附加开发板管理器的网址”,输入以下链接地址: https://dl.espressif.com/dl/package_esp32_index.json 接下来,进入“工具>开发板>开发板管理器”窗口进行ESP32的添加,搜索框输入“ESP32”,找到“esp32 by Espressif Systems”,点击“安装”。 第三步:选择开发板及串口 在完成开发板的添加后,我们需要选择开发板及其对应的串口。进入“工具”下选择“ESP32 Dev Module”开发板,然后选择正确的串口,如果您不知道该串口位置,可以到设备管理器中查看。 第四步:测试示例程序 在本地文件中新建文件夹,输入一个名字。接着,进入“文件>示例>ESP32>WiFi”下选择想要运行的示例程序,例如选择“ScanNetworks”无线网络扫描示例程序。代码中要修改的地方,主要是WLAN名和密码,修改成所在无线局域网的账号密码。 确认串口都是选择好的,设备已经连接电脑或是单片机板,然后上传程序,等待运行结束。上传结束之后,打开“工具>串口监视器”,等待串口接收到ESP32扫描到的无线局域网信息。 综上可见,ESP32开发环境搭建比较简单,只需要经过上述几个步骤即可完成。有了这个环境,我们可以更方便地进行ESP32开发工作,创造出更多神奇、实用的应用。 ### 回答3: ESP32是一款非常受欢迎的物联网开发板,其使用广泛且功能强大。如果你是个初学者,想要学习ESP32开发,建立一个基础的开发环境是非常重要的。本文将教你如何使用Arduino搭建ESP32开发环境。 步骤1:安装Arduino IDE 首先,你需要下载和安装Arduino IDE。到官方网站下载即可。 步骤2:添加ESP32开发板支持 打开Arduino IDE,点击菜单栏中的“文件”→“首选项”打开首选项窗口。在“附加开发板管理器网址”中输入以下网址: https://dl.espressif.com/dl/package_esp32_index.json 点击“确定”后关闭首选项窗口,在菜单栏中选择“工具”→“开发板”→“开发板管理器”,找到ESP32开发板,点击“安装”。 步骤3:选择开发板 在菜单栏选择“工具”→“开发板”,找到“ESP32 Dev Module”,即可选择它。 步骤4:选择端口 将ESP32开发板与电脑连接,打开“工具”菜单,选择“端口”,选择正确的端口。 步骤5:写代码 你可以在Arduino IDE中编写代码,然后通过“上传”按钮将代码烧录到ESP32上。上传按钮位于IDE右上角。 步骤6:测试 通过烧录程序测试,确保ESP32硬件和开发板都正常工作。如果一切正常,你的ESP32就已准备好开始开发啦! 总结 以上就是ESP32搭建Arduino开发环境的步骤,要搭建好开发环境需要时间和耐心。一定要确保步骤正确,最好再对重要步骤进行再次确认,才能顺利地开始ESP32开发工作。希望这篇文章能够帮助你更轻松地搭建ESP32开发环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值