esp32_esp32教程 - CSDN
精华内容
参与话题
  • ESP32第一章esp32简介

    千次阅读 2019-07-31 11:58:45
    ESP32第一章esp32简介ESP32模块及开发板ESP-IDF ESP32模块及开发板 ESP32是乐鑫信息科技(以下简称乐鑫)推出的一块WIFI芯片。ESP32 集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,整个...

    ESP32第一章esp32简介

    ESP32模块及开发板

    ESP32是乐鑫信息科技(以下简称乐鑫)推出的一块WIFI芯片。ESP32 集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,整个解决方案占用了最少的印刷电路板面积。2.4 GHz Wi-Fi 加蓝牙双模芯片采用 TSMC 低功耗 40nm 技术,功耗性能和射频性能最佳,安全可靠,易于扩展至各种应用。
    使用文档下载:链接:https://github.com/Nicholas3388/LuaNode

    性价比高
    体积小。方便嵌入到任何产品
    功能强大,支持LWIP协议,freertos
    支持三种模式:AP,STA,AP+STA 共存模式
    Lua编程,让你开发更简单

    ESP-IDF

    ESP-IDF是乐鑫官方提供的开发框架,集成了LwIP,操作系统等常用功能。在esp-idf中可以很方便的添加自己需要的库或者其他功能。开发者可以在此基础之上进行二次开发。在Github上其项目主页是https://github.com/espressif/esp-idf。在其 examples目录中也包含了一些ES32的使用范例,提供给开发者学习
    esp-idf源码中有以下几个目录:
    在这里插入图片描述

    components:这是esp-idf集成的功能块,包括LwIP,操作系统FreeRTOS,蓝牙驱动等等。
    docs:说明文档
    make:make文件
    tool:esp-idf的适用工具
    值得注意的是下载下来的项目中, components/esp32/ibs目录中并没有库文件,而且编译时还会提示缺失其他文件。这些都作为依赖文件需要下载。在安装了git的Linx环境下,使用命令 git submodule update --init来更新下载这些缺少的文件(前提是之前下载 esp-idf项目时也是用gi下载的,不然会报错:类似“ not a git project"的错误),下一章开发环境设置中将详细说明。
    阅读make目录中的make文件可以知道,make首先编译各个 component(组件或模块)。当开发者需要添加自己的 component并让 esp-idf的make文件编译新添加的 component时,无需修改ep-idf的make目录下的文件,只需在新添加的 component目录下添加 component.mk文件并加入自定义编译条件或添加头文件目录即可。在后面我们在结合实例说明。

    展开全文
  • ESP32 入门教学,不入门,不教学

    千次阅读 2019-05-07 01:39:32
    1.Internet of things (iot)这个概念非常火,物联网是什么?把所有物品通过射频识别等信息传感设备与互联网连接起来,实现智能化识别和管理。物联网通过...
        

    640?wx_fmt=jpeg

    1.

    Internet of things (iot)这个概念非常火,物联网是什么?把所有物品通过射频识别等信息传感设备与互联网连接起来,实现智能化识别和管理。 物联网通过智能感知、识别技术与普适计算、泛在网络的融合应用,被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。


    最常见的就是智能家居了,比如你拉屎,拉完后有个东西自己给你擦屁股,擦完屁股又自动给你冲马桶,然后你出来后自动给你洗手,这还不完,你拉完屎后躺床上看手机,手机弹出一个提示「先生,你今天21:20分在家里拉了3斤屎」。


    我这次给大家介绍一个芯片,esp32,没有收过任何费用,就是纯技术分享,让初学者少踩点坑吧,我也是最近用这个芯片,觉得爽得一X。


    这个芯片最大的优势就是便宜,便宜和易于开发让以前很多不敢想象的智能家居变成了可能,开发环境可以在windows下开发也可以在linux 环境下开发,而且对于嵌入式来说做了这部分对于网络蓝牙都有比较深刻的了解了,以后做其他系统开发也不会有太大难度。


    2.

    先介绍下如何搭建编译和烧录环境,我用的是最傻瓜的环境,我觉得这个也是最容易上手的,我们所有的功能核心都是代码,所以我觉得这部分你习惯就好。


    https://wiki.ai-thinker.com/ai_ide_install


    链接里面有一个百度网盘,没有密码的直接下载


    https://pan.baidu.com/s/1skRvR1j#list/path=%2F


    注意下载第 1 个,截图如下

    640?wx_fmt=png

    解压安装到 D 盘,里面有一个readme按照那个操作就好了,这个没有更简单的了。


    设置好之后直接打开 eclipse 工程,就看到你的项目了,这时候你用的 sdk 是集成在压缩包里面的,肯定不是最新的,你要是做项目的话,就自己去乐鑫官网下载最新的 sdk 把这个目录下的 sdk 替换掉,别想整个不一样的名字再自己导入,替换名字是最快的,免得又出现奇葩的问题百度一天都解决不了。


    然后在 esp-idf 上面右键,最下面有一个 properties 这个里面有设置,其中就是设置你要编译哪个项目

    640?wx_fmt=png


    然后设置 make menuconfig ,在esp-idf上面右键 make targets -> create 输入 mintty.exe -e make menuconfig

    640?wx_fmt=png

    然后继续上面的,在esp-idf上面右键 make targets -> create,输入 download 和 make flash

    640?wx_fmt=png

    上面搞定了之后,就可以 编译 ,烧录了,但是正常用 make flash 烧录可能有很多问题。所以我们需要另一个稳定点的工具来烧录,我这里就不扯皮那么多了,直接给出链接。


    https://wiki.ai-thinker.com/esp_download


    如何进入烧录模式,如何设置烧录分区的地址都有说明了,按照这个来搞就好了。给出个示例图片,给初学者一些参考吧。

    640?wx_fmt=png

     

    运行了 make menuconfig 或者修改了头文件的话,第一次编译时间就会慢很多,这时候你需要耐心等待,或者换一个台式电脑,台式电脑完爆笔记本这个不用再说了。


    编译相关的一些命令

    make menuconfig – 运行配置菜单,做过kernel开发的会非常熟悉.

    make defconfig - 为所有的配置项设置默认值

    make app 只编译app模块

    make all 编译所有

    make flash 编译并刷机

    make clean – 清除编译产生的文件.

    make monitor 查看串口输出

    make erase_flash – 擦除ESP32上的整个Flash.

    make partition_table 查看分区

    make size - 显示Bin文件中各个部分的大小

    make size-components -, size-files - 每个模块所占内存的大小,这个在项目代码膨胀后还是比较有用的。


    3.

    上面是第三方公司安信可集成的开发环境还有一些文档,想获取更专业的东西,还是要去官方网站,乐鑫官方网站提供了很多资料和文档给我们,我列举一下


    中文的编程指南

    https://docs.espressif.com/projects/esp-idf/zh_CN/latest/index.html


    论坛,如果你是长期搞这个的话,注册论坛账号显得你会比较专业一些

    https://www.esp32.com/


    官网 sdk 下载,第一个就是 ESP32 的

    https://www.espressif.com/zh-hans/support/download/sdks-demos


    ESP32 技术规格书相关文档下载

    https://www.espressif.com/zh-hans/support/download/overview


    ESP32 概述

    https://www.espressif.com/zh-hans/products/hardware/esp32/overview


    开源一小步的 ESP32 入门指导

    https://blog.csdn.net/qq_24550925/article/details/85933563


    mqtt

    如果你要用 mqtt 先看看你的 sdk 里面有没有下载这部分的组件,如果没有要用命令下载,参考这里

    https://github.com/espressif/esp-mqtt/blob/master/README.md


    4.

    ESP32 是跑 freertos 系统,所以我准备了一本书籍,想学习这方面的同学可以下载来看看,不管是什么系统,都离不来进程,线程,有了进程和线程,就一定存在竞态和同步,嵌入式系统和安卓系统不一样,资源非常非常有限,所以你要去了解他的分区,要了解去如何裁剪,每加一个功能都要考虑消耗多少资源,等等。


    书籍下载链接如下


    https://pan.baidu.com/s/1LPvy6if-D5_0nUarqfM9Qg    


    提取码:     odr1 


    ESP32 的空中升级挺有意思的,它分了三个区域,factory ,A,B区域,factory是第一次默认烧录的区域,也就是出厂的程序,然后第一次空中升级会把固件写入A区域,然后重启后会运行A区域程序,这时候再进行空中升级会把固件写入B区域,这时候再重启的时候就运行B区域的代码,这样做可以保证在升级过程中断电还是可以保证原来的固件不会有问题。而且有一天觉得功能有问题,我还可以恢复出厂设置,跑factory分区的代码。这个有点像 android ,是不是有点一通百通?


    5.

    大家有什么问题可以加我交流,最近时间比较有限,而且微信消息太多,看不过来,最好加知识星球给我留言,当然你也可以认为这是一个推广,而且我做这部分也是刚开始阶段,可能有些东西帮不到你,只是希望有一个共同交流的平台,不想加知识星球的,有问题可以发邮件给我,多谢,微信可以聊天,最好不要直接涉及问题。

    640?wx_fmt=jpeg


    推荐阅读

    和我一起探索嵌入式

    我就随便BB一下

    谁都能看懂的网络模型知识

    我认识的一位前辈~


    完,各位共勉,每天多开心一点~

    觉得不错,帮忙转发一下,让更多的人看到我的小号~感激不尽~

    640?wx_fmt=gif         

    640?wx_fmt=jpeg





    展开全文
  • ESP32开发 -- 试玩ESP32

    万次阅读 2018-03-10 13:44:13
    前文要测试网络调试助手,手头正好有个ESP32一直没有试过。这次正好拿来试玩一下。 一、ESP32官网查看 官网:ESP32官网 这款最小系统开发板搭载了乐鑫最新的系统级芯片 ESP32, 支持 Wi-Fi 和蓝牙功能,具有...

    前文要测试网络调试助手,手头正好有个ESP32一直没有试过。这次正好拿来试玩一下。

    一、ESP32官网查看

    官网:ESP32官网
    这里写图片描述
    这款最小系统开发板搭载了乐鑫最新的系统级芯片 ESP32, 支持 Wi-Fi 和蓝牙功能,具有丰富的外设,能够让开发者尽情发挥想象力进行二次开发!

    二、Ubuntu系统下ESP32开发环境的搭建

    参看:Ubuntu系统下ESP32开发环境的搭建

    1、安装交叉编译工具链依赖的环境:

    sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial

    2、创建ESP32专用的工作目录:

    sudo mkdir /esp32

    3、设置文件夹的归属为当前用户:

    sudo chown user:user /esp32

    4、创建三个文件夹:

    crossTools、demos、sources分别保存交叉编译工具链、样例和SDK源码:
    cd /esp32
    mkdir crossTools demos sources

    5、进入crossTools文件夹,下载官方的交叉编译工具:

    注意,需要查看你的linux是32位还是64位的。
    在linux终端输入 getconf LONG_BIT 命令
    如果是32位机器,则结果为32
    [root@localhost ~]# getconf LONG_BIT
    32
    如果是64位机器,则结果为64
    [root@localhost ~]# getconf LONG_BIT
    64

    Linux(x32):wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-59.tar.gz
    Linux(x64):wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-59.tar.gz

    6、 解压文件到当前目录下:

    tar -xzvf xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz

    三、修改环境变量

    1、将解压后的交叉编译工具连添加到系统的PATH环境变量中

    sudo vim /etc/profile

    2、在最后面添加交叉编译工具链bin文件夹的目录

    export PATH=$PATH:/esp32/crossTools/xtensa-esp32-elf/bin

    3、然后更新一下profile文件,使之生效

    source /etc/profile

    4、检查是否安装成功

    xtensa-esp32-elf-gcc -v
    如果看到有版本信息显示,说明已经安装成功

    5、可以看到使用的gcc版本为4.8.5

    针对的目标机器格式为xtensa-esp32-elf,支持编译的源文件有C和C++,支持的线程模式是单线程single,整套的交叉编译工具链是使用crosstool-NG工具制作,如果不怕折腾,用户也可以自己制作一个新的

    $ xtensa-esp32-elf-gcc -v
    Using built-in specs.
    COLLECT_GCC=xtensa-esp32-elf-gcc
    COLLECT_LTO_WRAPPER=/esp32/crossTools/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/4.8.5/lto-wrapper
    Target: xtensa-esp32-elf
    Configured with: /home/vagrant/crosstool-NG/.build/src/gcc-4.8.5/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/home/vagrant/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/home/vagrant/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-sysroot=/home/vagrant/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-59-g8d95cad' --disable-__cxa_atexit --enable-cxx-flags='-fno-exceptions -fno-rtti' --with-gmp=/home/vagrant/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/home/vagrant/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/home/vagrant/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/home/vagrant/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-cloog=/home/vagrant/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-libelf=/home/vagrant/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-libgomp --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-nls --disable-multilib --enable-languages=c,c++
    Thread model: single
    gcc version 4.8.5 (crosstool-NG crosstool-ng-1.22.0-59-g8d95cad) 

    四、从Github上获取ESP-IDF

    可以直接通过gitclone的方式获取ESP-IDF:
    git clone –recursive https://github.com/espressif/esp-idf.git

    ESP-IDF的目录结构如下:
    components:ESP-IDF的核心组件
    examples:ESP-IDF提供的实例程序
    make:ESP-IDF工程管理目录
    tools:ESP-IDF提供的工具集
    docs:ESP-IDF相关文档

    将esp-idf拷贝到 /esp32/sources

    1、将ESP-IDF目录下examples中的hello_world样例拷贝到我们之前新建的demo文件夹中

    cp /esp32/sources/esp-idf/examples/get-started/hello_world/ /esp32/demos/ -rf

    打开Makefile,发现里面需要一个IDF_PATH的变量
    在/etc/profile中添加这样一个环境变量:
    export IDF_PATH=/esp32/sources/esp-idf
    source /etc/profile

    2、配置项目工程,在工程的根目录下使用make menuconfig

    1. 进入SDK tool configuration查看交叉编译工具链是否指定正确,已经python命令是否正确安装,ESP-IDF需要你的python属于python2的版本,最好不要实用python3
    2. 进入Bootloader config目录,配置bootloader的打印日志显示信息等级为warning
    3. 进入Secure boot configuration,开发阶段建议关闭secure boot功能
    4. 进入Serial flasher config,指定用于烧写程序的串口设备,一般使用USB转串口的选择/dev/ttyUSB0即可,设置默认的波特率为115200,Flash的SPI模式为DIO,SPI速率为40MHz,Flash的大小为2MB
    5. 进入Partition Table设置分区表,为了更好的管理SPI Flash,ESP-IDF引入了分区表的概念,默认使用Single factory app,no OTA制作分区BIN
    6. Component config是对ESP-IDF的内核进行的更加详细的配置
      这里写图片描述
      这里写图片描述
      这里写图片描述
      这里写图片描述
      这里写图片描述
      这里写图片描述

    7. 退出make menuconfig的配置界面,保存刚才的配置,将会在工程根目录下新生成一个build文件夹和sdkconfig文件

    8. 在工程根目录下输入make all将会编译所有的BIN文件,默认会编译bootloader、partition_table、app文件,并且还会提示如何进行烧写

    3、安装gcc-5.2.0

    因为gcc版本应该为gcc-5.2.0,而我的为gcc-4.8.5。所以编译出现警告。
    WARNING: Compiler version is not supported: 4.8.5
    Expected to see version(s): 5.2.0

    参看:编译安装GCC 5.2.0
    相关软件下载:
    gmp 6.0、mpfr 3.1.3、mpc 1.0.3、gcc-5.2.0

    安装gmp 6.0

    tar xvf gmp-6.0.0a.tar.bz2
    cd gmp-6.0.0
    ./configure
    make -j4
    make check
    make install

    安装mpfr 3.1.3

    mpfr依赖于gmp。

    tar xvf mpfr-3.1.3.tar.bz2
    cd mpfr-3.1.3
    ./configure –with-gmp-include=/usr/local/include \
    –with-gmp-lib=/usr/local/lib
    make -j4
    make install

    安装mpc 1.0.3

    mpc依赖于gmp和mpfr。

    tar xvf mpc-1.0.3.tar.gz
    cd mpc-1.0.3
    ./configure –with-mpfr-include=/usr/local/include \
    –with-mpfr-lib=/usr/local/lib \
    –with-gmp-include=/usr/local/include \
    –with-gmp-lib=/usr/local/lib
    make -j4
    make check
    make install

    安装GCC

    tar xvf gcc-5.2.0.tar.bz2
    cd gcc-5.2.0
    先unset若干个系统变量,以免出现某些宏找不到的情况。
    unset CPLUS_INCLUDE_PATH LIBRARY_PATH
    配置环境变量:
    vi /etc/profile
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    source /etc/profile

    配置GCC
    ./configure \
    –with-gmp-include=/usr/local/include \
    –with-gmp-lib=/usr/local/lib \
    –with-mpfr-include=/usr/local/include \
    –with-mpfr-lib=/usr/local/lib \
    –with-mpc-include=/usr/local/include \
    –with-mpc-lib=/usr/local/lib \
    –enable-languages=c,c++ \
    –enable-threads=posix \
    –disable-multilib
    详细的配置项说明可参考安装文档,这里只编译c和c++的编译器。
    然后make -j8,启用多线程编译。(时间有点长)

    安装
    如果编译顺利通过,make install即可。
    gcc和g++默认被安装到/usr/local/bin目录下,libgcc和libstdc++默认被安装到/usr/local/lib64(x64)。

    记得更下下动态库缓存。
    ldconfig

    # gcc -v
    使用内建 specs。
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/5.2.0/lto-wrapper
    目标:i686-pc-linux-gnu
    配置为:./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib --with-mpfr-include=/usr/local/include --with-mpfr-lib=/usr/local/lib --with-mpc-include=/usr/local/include --with-mpc-lib=/usr/local/lib --enable-languages=c,c++ --enable-threads=posix --disable-multilib
    线程模型:posix
    gcc 版本 5.2.0 (GCC) 
    
    展开全文
  • ESP32应用指南

    万次阅读 2020-08-18 23:11:44
    想当年,安信可公司推出一款低成本的WIFI模块(基于乐鑫公司的ESP8266芯片)之后,火了一段时间。这个模块是支持AT指令和SDK两种开发方式。 AT指令很简单,用串口发送几条指令,即可让模块进入串口透传模式,用户...

    一、简介。

    想当年,安信可公司推出一款低成本的WIFI模块(基于乐鑫公司的ESP8266芯片)之后,火了一段时间。这个模块是支持AT指令和SDK两种开发方式。

    AT指令很简单,用串口发送几条指令,即可让模块进入串口透传模式,用户基本不用涉及复杂的TCP/IP协议。

    SDK开发,相当于固件库开发,官方提供丰富的例子,有带操作系统和不带操作系统等等,代码可读性好,上手难度并不高。

    由于ESP8266本身的定位就是低成本的联网方案,所以它的性能不会太高,不适合做太复杂的事情。

    后来,安信可又推出了一款WIFI/蓝牙模块ESP32,它可以说是ESP8266的增强版。除了增加了蓝牙4.2之外,还增加了非常丰富的外设,如:ADC、SPI、IIC、IIS、SDIO、UART、PWM、红外控制器、有线以太网MAC、AES、SHA、RSA、随机数产生器、PID控制器、电容触摸传感器、低噪放、温度传感器、DAC等。同时,CPU主频高达240MHz,但是,价格也不高。

    STM32也推出了一款类似的芯片,就是STM32WB系列,也就是STM32增加了蓝牙5、OpenThread、ZigBee 3.0等功能。

    TI也有类似的芯片CC2652R,集成了48MHz主频的ARM M4F内核,支持蓝牙5、WIFI、Thread、ZigBee,可以在淘宝上买到,但是比较贵。

    显然,ESP32比STM32WB和CC2652R更有价格优势。

    以下均以ESP32S模块为例,介绍开发时的注意事项。不定期更新。

    二、硬件设计。

    2.1 串口。

    ESP8266系列的ESP-01模块默认一个串口输出调试信息以及AT指令的通信。

    ESP32系列的ESP32S模块一共有3个串口,其中,使用串口0输出调试信息以及烧录固件,串口2做AT指令的通信

    串口0也就是U0RXD、U0TXD引脚,串口2则是U2RXD、U2TXD引脚。

    也就是说使用AT指令时,ESP32不再像ESP8266那样,一上电就打印一串调试信息,用户体验有所提高。

    2.2 天线。

    ESP32模块在PCB上的布局,要求天线超出板边,如下图所示,否则可能会影响无线通信距离。

    2.3 Micro SD/TF卡。

    ESP32S模块的SDMMC Host驱动,支持两个槽:

    Slot 0:8bit模式。

    Slot 1:4bit模式。其引脚定义如下图所示。

    其中CD和WP引脚可以接任意的GPIO口,CD引脚就是SD卡的检测脚。

    Slot 0部分引脚连接了内部Flash,无法使用,建议使用Slot 1 4bit模式

    具体方法请看《ESP32使用SD卡注意事项》。

    2.4 GPIO口。

    ESP32有部分引脚只能设为输入引脚,如下图所示,黄色区域。

    其中IO6~IO11连接内部Flash,无法当GPIO口使用,如下图红色方框内的引脚,但是部分引脚可以扩展PSRAM。

    GPIO0为配置上电模式,拉低时为配置模式,可烧录固件;拉高时为正常工作模式。

    GPIO2和GPIO12做普通IO口使用,请看《ESP32使用SD卡注意事项》。

    2.5 片内温度传感器。

    ESP32有片内的温度传感器TSENS,需要使用ULP协处理器才能使用,但是读到的温度不是绝对温度,而是相对温度,而且是没有标定的相对温度。这个温度传感器实用价值并不高,不建议使用。

    2.6 RTC时钟。

    增加32.768kHz时钟,主要用于低功耗模式切换CPU主频用的,不能直接#include rtc.h,因为rtc.h在librtc.a中,而不是公共API。ESP32的RTC不能获得实时时钟,需要另外增加RTC芯片,如:DS1302、M41T62等。

    2.7 复位。

    使用电池供电时,建议增加电源监视器以防止ESP32发生异常。电源电压低于2.3V时,拉低CHIP_PU引脚。

    2.8 PSRAM。

    当任务需要大量内存时,ESP32自身的内存不足,那么就需要扩展PSRAM内存,对应的芯片型号是ESP-PSRAM64H。其原理图如下图所示。

    然后在make menuconfig中配置PSRAM。

    初始化成功的话,会在串口中打印如下信息。

    三、SDK开发环境。

    3.1 ESP32-IDF配置。

    这里的SDK使用ESP32-IDF,具体的环境配置可以参考官网《示例4:ESP32_IDF 使用》。

    需要注意的是,IDF不需要使用git下载,直接在AiThinkerIDE_V0.5的安装目录下就有了,不过是旧的IDF v2.0,我这里是C:\AiThinkerIDE_V0.5\cygwin\home\aithinker\project\esp-idf。

    而git下载的是新的IDF v4.0,在AiThinkerIDE_V0.5下,不能使用IDF v2.0的以上版本。(官方的技术支持表示在开发新版本的AiThinkerIDE)

    所以这里是把IDF v2.0拷贝出来,把example下的helloword拷贝出来,改名为app,其它的按照示例4的去做就可以了。

    IDFv2.0不支持SDIO接口的SD卡,建议使用v3.2或以上版本。

    建议使用官方推荐的lubuntu,安装vmware,直接打开就可用了。make menuconfig之前先make clean。

    vmware可以安装workstation 15,不要安装player,因为player破解不了。

    3.2 使用Eclipse烧录固件。

    Windows系统下,在Make Menuconfig那一步,进入Serial flasher config。

    进入Default serial port。

    我的这里的串口号为COM10,对应于cgywin下的串口号为ttyS9。如果是COM1,对应ttyS0,对应的数字减1。

    这里配置为/dev/ttyS9。

    此外,还要配置波特率为921600。

    我这里试了1152000,烧录失败,具体波特率视硬件上串口的信号质量而定,信号质量差,需要降低波特率。然后退出,保存即可。

    先打开Make Target窗口。

    双击download,这样,比shift+F9要方便很多。

    出现下图所示,即为烧录成功。

    这个方法比ESP Flash Download Tool要方便得多,但是串口号不要更改。

    3.3 其它问题。

    出现下图所示问题,可以不管,只要Build成功就说明代码没问题。(可能是IDE的词法分析器没做好,实际是找得到这些变量)

    四、SDK开发。

    4.1 Secure Boot。

    由于ESP32是使用外部Flash来存放代码的,如果外部Flash不加密的话,很容易被人窃取代码。所以商业应用,必须使用Secure Boot来加密代码。可以参考《ESP32-Secure Boot安全方案》。

    五、ESP32-CAM开发板。

    ESP32-CAM开发板不是开箱即用,需要重新烧写固件。

    手机打开热点,账号设置为aithinker,密码设置为aithinker888。ESP32会自动连接上这个热点,并在串口0上打印IP地址。

    手机打开浏览器,输入ESP32的IP地址+/jpg,可以看到静态图像,+jpg_stream可看到动态图像。

    但是这里测试发现,动态图像很卡,不流畅。测试用的手机为OPPO A59m。

    六、ESP32-S2。

    ESP32-S2只有WIFI功能,但是加密和温度传感器等功能有所改善,GPIO口也增多。

    ESP32-S2对应的模块为ESP-12K。

    七、参考资料。

    ESP32系列模组专题

    官方源码(包括ESP32和ESP8266等)

    ESP32常见问题

    ESP32硬件设计指南

    ESP-IDF在线API。(中文)

    ESP-IDF API手册

    ESP32技术参考

    ESP32 AT指令集与使用示例

     

    展开全文
  • ESP32概述与入门准备

    万次阅读 多人点赞 2020-04-15 09:29:13
    ESP32是乐鑫继ESP8266后推出的又一款集成WiFi功能的微控制器。ESP32拥有比ESP8266更加强大的性能,可以用来开发更加复杂的应用。就拿下章节中模块所使用的的ESP32-D0WD来说,该芯片具有下列特点: WiFi支持 802....
  • ESP32-S2可以看成是ESP32和ESP8266两个产品线之间的又一个全新的产品线,并非ESP32的升级版本,也没有要取代ESP32的意思。ESP32-S2相比ESP32并非全方位提升,例如蓝牙功能就被取消了,如果项目中需要同时使用蓝牙和...
  • 乐鑫产品树 乐鑫公司(Espressif)主要以研发用于IOT(Internet of Things 物联网)开发的芯片以及相关产品以及SDK(Software Development Kit 软件开发工具包)。本文将对乐鑫的产品做一个总述和简介。...
  • ESP32-LyraT入门 ESP32-LyraTD-MSC入门 ESP32-LyraT-Mini入门 运行流程 这里测试使用的是ESP32-LyraTD-MSC 2. ESP-ADF的开发框架 流,解码器,编码器,音频处理主要为开发框架。该API提供了一种使用诸如...
  • ESP32模组比较

    千次阅读 2019-02-21 22:05:27
    ESP32系列无线IC是乐鑫espressif出品的性价比高的蓝牙WIFI双模IC。 官网:https://www.espressif.com 最详细的手册文档为:esp32_technical_reference_manual_cn.pdf 2.模组比较 将官方和一些其他方的模组列表...
  • ESP32 低功耗方案概述

    万次阅读 2018-02-24 11:48:30
    ESP32 低功耗方案概述 ESP32 在内置 Deep-sleep 低功耗模式、RTC 外设和 ULP 协处理器的支持下,可以满足多种应用场景下的低功耗需求。当 ESP32 进入 Deep-sleep 模式时,所有由 APB_CLK 驱动的外设、CPU 和 RAM ...
  • ESP32开发指南目录(开源一小步出品)

    万次阅读 多人点赞 2019-07-12 14:32:03
    第一章 ESP32开发板介绍 第二章 开发准备 第三章 Windows搭建ESP32开发环境(vscode) 第四章 Ubuntu搭建ESP32开发环境(vscode) 第五章 新建工程 第六章 编译开源一小步等ESP32源码 第七章 ESP32程序下载...
  • ESP32 开发笔记(四)OV7670 摄像头图像采集

    万次阅读 热门讨论 2020-07-23 15:03:03
    ESP32 Camera Demo 源码地址:https://github.com/InfiniteYuan1/esp32_ov7670_video 使用的硬件有: - ESP-WROVER-KIT开发板 - OV7670 摄像头 - ST7789 控制器的 LCD 屏幕 该工程实现的功能有: - 通过手机...
  • ESP32入门Arduino开发(一)--Arduino环境搭建

    万次阅读 热门讨论 2018-08-29 10:23:51
    注:对于ESP32开源技术感兴趣的可以加群,我们一起探索交流学习,群号:782473783。群名:ESP32开源技术交流群。     在64位Windows7机器上测试   Windows Installer从arduino.cc下载并安装最新的ArduinoIDE...
  • Esp32开发教程资料

    万次阅读 2018-12-10 18:52:54
    安可信开发教程文档: ...https://wiki.ai-thinker.com/esp32/docs 乐鑫资料集合 https://blog.csdn.net/xuanze0/article/details/79093124 https://www.espressif.com/zh-hans/support/download/documents   ...
  • ESP32开发资料整理

    千次阅读 2018-03-20 15:58:03
    esp32-idf esp32-at esp32-arduino esp32-microPython esp32-lua 手册 esp32 编程指南(只有环境部署是中文的) 官网手册 注意:需要选择芯片型号,比如使用ESP-WROOM-32,就选择ESP-WROOM-32+ESP-32,因为有一...
  • 使用Arduino开发ESP32(01):开发环境搭建

    万次阅读 多人点赞 2020-07-17 21:31:10
    文章目录为什么使用Arduino开发ESP32开发环境搭建程序下载测试批量烧录固件到模块中总结 为什么使用Arduino开发ESP32 简单!(还能为什么呢?) 开发环境搭建 使用Arduino开发ESP32开发环境搭建方式和用Arduino...
  • ESP32 系列博客 - 目录

    万次阅读 2017-05-26 14:22:39
    ESP32 入门试玩之前言 搭建 ESP32 开发环境 —— Hello World [熟悉 ESP32 的图形配置系统 menuconfig] [使用 Eclipse 玩转 ESP32] [熟悉 ESP32 的构建系统] [善于使用 ESP32 的调试工具] 【项目篇】 [让 ESP32 作为...
  • ESP32-CAM实现局域网/远程视频传输

    千次阅读 2020-03-23 00:34:51
    ESP32-CAM实现局域网/远程视频传输 手上这个ESP32-CAM买回来已经放了一个学期了,最近才开始玩,试了试用它来实现视频传输。局域网的视频传输比较简单,基本能正确把例程烧进去就可以了,这篇文章主要记录一下远程...
  • 第三章 Windows搭建ESP32开发环境(vscode)

    万次阅读 热门讨论 2019-01-07 17:46:45
    ESP32开发指南QQ群:824870185,内有pdf版,排版整洁。 乐鑫开发框架esp-idf介绍 ESP-IDF (Espressif IoT Development Framework)是乐鑫ESP32开发的一套框架,乐鑫所研发的软件开发环境 ESP-IDF 能够帮助用户快速...
  • ESP32使用micropython心得

    万次阅读 2019-08-25 13:41:22
    可以先看一下eps8266和esp 32的对比介绍,了解一下eps32特点 https://www.cirmall.com/articles/398156 配置对应环境 本次环境使用工具pycharm,需依次安装 esptool,adafruit-ampy。在pycharm上安装“intellij-...
1 2 3 4 5 ... 20
收藏数 52,067
精华内容 20,826
关键字:

esp32