DFH1NfqaeF4 发表于 2019-6-16 16:12:02

IOT套件测评:开箱展示、主控板无限重启BUG修复

IOT套件测评:开箱展示、主控板无限重启BUG修复
很荣幸能够参与IOT套件的测评,感谢DFROBOT社区!
首先介绍下这次的套件:
阿里云IOT入门套件是一款基于阿里云平台和ESP32为主控的物联网套件。可通过WiFi将数据传输到阿里云平台。套件含多款Gravity黄安琪,接线方便简单,提供整套教程及代码,让你轻松搭建物联网环境。
接下来是开箱展示,以及板子无限重启BUG的成功修复过程

开箱展示
包装十分精美且具有特色。



主控板以及扩展版设计的很好,将Vcc、Gnd和信号口放在一起,十分便于接线。



USB线也十分精致,还有个扣子便于收纳。



主控板无限重启BUG修复
前天使用板子的时候,不知道写入了什么程序,之后板子就像抽风了一样,只要连接串口就会不断地重启,如下图所示:



之后原本的程序也无法正确运行,同时也无法写入新的程序,板子就像陷入了一种死循环一样。
我在论坛发现有其他人也出现了这种情况,但是没有得到解决,于是到了esp系列开发板的官方网站寻求答案。
espressif官网
在官网我发现了一种官方原生框架:ESP-IDF (Espressif IoT Development Framework)。
我们使用的Arduino等软件其实是依赖于这个框架之上搭建的应用框架,可以理解为将较底层的东西封装了起来。
所以我尝试用原生框架ESP-IDF来清除板子的数据,重刷板子。最终成功修复了这个开发板。

ESP-IDF环境搭建

1.设置工具链

首先我们需要设置工具链,
快速设置的方法是从 dl.espressif.com 下载集成在一起的工具链和 MSYS2 压缩文件:
工具链下载
将 zip 压缩文件解压到 C:\ (或其它路径,这里假设是 C:),它会使用预先准备的环境创建一个 msys32 目录。
运行 C:\msys32\mingw32.exe 打开一个 MSYS2 的终端窗口。该窗口的环境是一个 bash shell。创建一个 esp 目录作为开发 ESP32 应用的默认地址。
运行指令:

mkdir -p ~/esp
输入 cd ~/esp 就进入到新创建的目录。如果没有错误信息出现则表明此步骤已完成。如下图:



2.获取ESP-IDF
设置完工具链后,我们还需要 ESP32 相关的 API/库,<br />github仓库地址:github仓库<br />我们还可以通过以下方式获得,在刚才的终端里,输入:
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
然后esp-idf就会被下载到esp文件夹里。

3.环境变量设置
在C:/msys32/etc/profile.d/目录中创建一个新的脚本文件。命名为:export_idf_path.sh。
找到ESP-IDF目录的路径。就是刚刚从GitHub下载的东西C:\msys32\home\user-name\esp\esp-idf
将export命令添加到脚本文件,例如:
export IDF_PATH="C:/msys32/home/user-name/esp/esp-idf"(这里为正斜杠)

注意:
user-name需要替换
请记住在原始Windows路径中使用正斜杠替换反斜杠。
保存脚本文件。
关闭MSYS2窗口并再次打开它。IDF_PATH通过键入以下内容检查是否已设置:
printenv IDF_PATH
输入后应打印出在脚本文件中输入的路径。如下图这样:



4.安装必要的python库ESP-IDF所需的python包位于IDF_PATH/requirements.txt。通过运行下面命令来安装它们:

python -m pip install --user -r $IDF_PATH/requirements.txt
至此,环境已搭建好了。

连接开发板
将板子连接至电脑,在设备管理器里查看端口名称,比如:COM13
然后打开终端,输入
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
新建示例程序helloworld,然后输入
cd ~/esp/hello_world
make menuconfig
然后会出现下面的页面:



在菜单中,进入 Serial flasher config > Default serial port 配置串口(工程将会加载到该串口上)。输入回车确认选择,选择 < Save > 保存配置,然后选择 < Exit > 退出应用程序。
如下图,输入端口号(COM13),之后保存退出。



擦除板子原有数据
此时板子与电脑已连接成功,输入命令:
make erase_flash
输入完之后,板子中原有数据被全部清除,此时就可以重新在Arduino里重新烧录我们的IOT程序了。

最后附上官方环境搭建文档:esp32环境搭建官方文档

页: [1]
查看完整版本: IOT套件测评:开箱展示、主控板无限重启BUG修复