试试用树莓派调试 ESP32模块

2018-07-021.8万
AI 快速预览详细 收起
本文介绍了如何使用树莓派调试ESP32模块并烧录固件。首先,通过USB线连接树莓派和ESP32模块,然后安装esptool工具。使用dmesg | grep ttyUSB命令检测ESP32是否被识别,接着使用esptool.py --port /dev/ttyUSB0 flash_id命令查看设备信息。确认无误后,使用esptool.py --port /dev/ttyUSB0 erase_flash命令擦除flash,再下载最新固件并通过esptool.py写入。最后,通过rshell工具管理ESP32文件系统并进入repl环境。
在百忙之中抽出时间给大家写一个 ESP32的烧录固件的方法,我先给大家看看我购买的 ESP32模块长啥样子:

试试用树莓派调试 ESP32模块图1
价格有点儿小贵, 但是听一个老外说不错,我就被老外忽悠下了海, 买回来后发现的确很精致.
网上还有很多,你们自己看着买.
这些都可以满足你的需求,就是要看看是否他们把所有引脚都引出来了.
这个板子的特点是:
1. 支持 wifi 和蓝牙
2. 240Mhz 双核 520KB SRAM  如果你选择的是 WROOM 可能没有 WROVER 屌, 但是都可以用.
3. 超级低功耗, Ultra LOW POWER CONSUMPTION 不是哪个厂家都敢挂的.哈哈
4. ADC, DAC, 加密, PWM, TOUCH 一应俱全, 估计可以满足你装 X 的所有需要吧.
更让我觉得很爽的是, micropython 直接可以支持它...那就舒服很多了, Arduino IDE? 你给我坐下, 复杂? 不存在的,喜欢的朋友来刷一波关注.

试试用树莓派调试 ESP32模块图3
看看大蟒蛇, 就感觉一阵舒爽~来吧.
试试用树莓派调试 ESP32模块图2
接驳方法super 简单,只需要一根 usb 转 microUSB 线就可以搞定了,插入树莓派就可以识别了.
然后树莓派去官方站点下载最新的镜像,通过 win32imager 工具或者 etcher 工具烧录到 TF 卡上,插入树莓派 TF 卡槽,然后记得用一个5v2.5A 足量的电源供电,第一启动最好接个显示器,如果没有显示器就接家里的电视机, 通过 HDMI 线连上去,再找一个键盘和鼠标,插 usb 口上,启动后,连接 wifi. 当然得先设置一下 wifi 国家,通过打开一个终端,然后输入:
sudo apt-get update && sudo apt-get upgrade
试试用树莓派调试 ESP32模块图4
这里更新仓库和软件包升级的时间可能会根据网络的环境不同时间有所不同,这个时候你就可以去泡杯咖啡,调戏一下前台的小姐姐.
然后回来继续:

sudo raspi-config
然后再跳出来的画面里面选择:
试试用树莓派调试 ESP32模块图5
然后选择 wifi
试试用树莓派调试 ESP32模块图6
试试用树莓派调试 ESP32模块图7
然后就点击 wifi 图标去连接你的 wifi 吧,这里我就不想写用命令行连接 wifi 的方法了,虽然也是非常简单,如果有想知道的,给我评论的时候写出来哦.
再然后,记得开启 ssh 服务,不然远程连不上来操作非常不方便,我习惯了直接开 ssh 连接, 通过我 Mac 直接 ssh Pi@IP 地址 就可以访问树莓派是最方便的.
就是选择 interfacing Options 然后选择 ssh 服务开启就好了. 这里不再赘述了.
设置好,就可以通过 pi 用户远程登录到树莓派了. 接下来,是我在 mac 上的操作,如果你是用 windows, 那么请去找个 putty.exe 的软件,或者 rshell, 或者 xshell, 或者 SecureCRT, 只要是支持 ssh 协议的终端工具都行.
-----------------------------------------------------------------------这是我华丽的分割线---------------------------------------------------------------------------------
下面的操作是我通过 ssh 远程登录到树莓派以后在树莓派上完成的操作.
安装完 esptool 就完成了一大半了,这个是为了方便我们烧录的工具, esptool 一看名字你就应该猜出了个大概.
然后接着接好了 esp32的模块后,通过下面的命令检测一下是否识别了你的模块.

dmesg | grep ttyUSB
如果看到如下内容就说明 ok 的.
竟然用是 CP210x 的串口芯片...这个比起 FTDI真的是差了很远,不过看上去是识别出来了,可以用就好.哈哈
EPS32模块被识别到/dev/ttyUSB0设备.
接下来可以尝试检查一下你的 ESP32的设备信息.
通过使用:

esptool.py --port /dev/ttyUSB0 flash_id
看看效果是这样的:
好吧,啥信息都给你们看到了. mac地址,芯片ID, 还检测到4MB flash, 恩,不错,最后提示硬件重置要按下 RTS 引脚.也就是要下载程序的时候要按一下 boot 按键, 是不是 so easy?
接下来,我要刷一下flash, 就是类似格式化一下硬盘.哈哈
esptool.py --port /dev/ttyUSB0 erase_flash
然后看到这样的效果:
接下来就去 micropython.org 下载最新的固件呗...
试试用树莓派调试 ESP32模块图8
选择 Download, 然后再找esp32...
接下来可以看看你是否支持 SPIRAM, 如果支持选择下面的固件,如果不支持选择标准固件.我不在我电脑上下载,所以我只是右击复制了连接,然后到树莓派的终端上用 wget 直接下载就好,我尝试的是支持 SPIRAM 固件的版本发现刷了固件后,无法进入 REPL 的环境,所以我又刷了标准的固件.
连接如下:http://micropython.org/resources ... 4-225-gd8dc918d.bin利用 wget 下载到树莓派上,然后再 erase_flash 后在 write_flash, 不知道我这样说你们能否看懂,看不懂就自己尝试一下.
接下来就是直接烧录到你的 ESP32上去.
耐心等待1分钟左右, 可以看到我高亮标注的内容,自动检测到 flash 就好了.

再接下来就要进入一个 Read-Eval-Print-Loop 里面了,在 micropython 里面这个叫 repl,
一旦进去了就像是进入了一个 python 的 IDLEshell 环境, 交互式输入输出的状态.就像你在你的机器上输入 python 回车后进入的环境一样.
网上有个叫 webREPL 的东西,可以让你访问的时候通过网页进入到编辑器里面,我觉得要如果有点儿逼格,
必须直接命令行执行啊!就可以用 putty 或者 linux 下面的 screen 命令进入,或者也可以使用 rshell 工具.
我是树莓派上操作,所以直接安装 rshell 比较方便,应为它可以让我在树莓派上直接管理 esp32的文件系统,例如上传下载啥的,比较方便:
安装:
[mw_shl_code=shell,true]sudo pip3 install rshell[/mw_shl_code]
接下来让我们连一下 esp32吧,命令很简单哦:
[mw_shl_code=shell,true]rshell --buffer-size=40 -p /dev/ttyUSB0[/mw_shl_code]
看看效果:
然后可以输入 boards, help 等命令来查看接驳的状态,和启动文件/boot.py
1. boards 看到连接的板子, 以及目录中的 boot.py 文件
2. help 可以查看在这里能够使用的命令.
3. boot.py 就是esp32启动时候读取的配置,可以把你想加入的加入这里,但是要加错了就凉凉了..
4. 输入 repl 就可以进入 python 的 IDLE 的 loop 里面...就无法退出了.哈哈~
再下来,就可以自己在树莓派上写*.py的文件,然后通过 rshell 的环境直接通过 cp  xxx.py  /pyboard/xxx.py 拷贝到 esp32上了.
最后直接 repl 后, import 你的 python 文件名就可以执行python 脚本了.
Micropython 现在越来越强大了. ESP32模块也是如日中天,赶紧去试试吧.
具体做啥,看大家的大脑洞了.我决定用 esp32来驱动一下ws2812的灯带, 效果应该还是不错的...
希望大神轻拍板砖...


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(10)
yoyojacky
yoyojacky
作者
哈哈, 多听听就懂了...加油~
Shuuei
Shuuei
噢 还有,楼主,最新的固件是从0x1000了,之前从0x00开始刷大概是Rshell没法进入的原因吧?
From then on program the firmware starting at address 0x1000:
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-20190125-v1.10.bin
Shuuei
Shuuei回复yoyojacky
哎 学习ing 学习ing 要不然一些都听不懂 /捂脸
yoyojacky
yoyojacky
作者
回复Shuuei
都可以的,没什么特别大的关系,只是类似于 app 分了个区而已.
rshell 退出用 ctrl+D
repl 退出用 ctrl + X
其实我那个说法是在开玩笑呢,大家都不明白我的梗...让我好伤心...
Shuuei
Shuuei
报告 其实我看不懂 “最后提示硬件重置要按下 RTS 引脚.也就是要下载程序的时候要按一下 boot 按键”,啥意思啊,为啥下载程序要按boot按键啊 我用Arduino IDE的时候直接上传就行 可是结尾也有Hard resetting via RTS button, 搞不懂诶
yoyojacky
yoyojacky
作者
回复Shuuei
就是板子上面有个按钮, 那个按钮的丝印是 RST, 就是下载的时候,按一下那个按钮就执行下载了.arduino 自动帮你拉高了那个引脚应该是,其实用树莓派操作 ESP32真的是非常方便的.
gada888
gada888
技术贴
luna
luna
[align=left][backcolor=rgb(250, 250, 250)][font=微软雅黑][align=left][align=left]中文版 : ESP32教程汇总贴[/align][/align][align=left][backcolor=initial]英文版 : ESP32 tutorial汇总贴[/backcolor][/align][/font][/backcolor][/align][backcolor=initial][font=微软雅黑][font=微软雅黑][url=https://www.dfrobot.com.cn/goods-1441.html]
[/url][/font][/font][/backcolor][backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]ESP32教程汇总:[/font][/font][/backcolor][backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]
[/font][/font][/backcolor][backcolor=initial][font=微软雅黑][font=微软雅黑]用于构建ESP32编译环境的Arduino IDE[/font][/font][/backcolor][backcolor=initial][font=微软雅黑][font=微软雅黑][url=https://mc.dfrobot.com.cn/thread-271932-1-1.html][backcolor=initial]
[/backcolor]
[align=center][align=left]ESP32教程:MicroPython支持[/align][/align][align=center][backcolor=initial][/backcolor][/align][backcolor=initial][/backcolor][/url][/font][/font][/backcolor][align=left][backcolor=rgb(250, 250, 250)][font=微软雅黑][backcolor=initial][backcolor=initial][font=微软雅黑][backcolor=initial][backcolor=initial][backcolor=initial][backcolor=initial]ESP32 MicroPython教程:连接Wi-Fi网络[/backcolor][/backcolor][/backcolor][/backcolor][/font][/backcolor][/backcolor][/font][/backcolor][/align][align=left][backcolor=rgb(250, 250, 250)][font=微软雅黑][backcolor=initial][backcolor=initial][font=微软雅黑][backcolor=initial][backcolor=initial][backcolor=initial][backcolor=initial]ESP32 MicroPython教程:解析JSON[/backcolor][/backcolor][/backcolor][/backcolor][/font][/backcolor][/backcolor][/font][/backcolor][/align][align=left][backcolor=rgb(250, 250, 250)][font=微软雅黑][backcolor=initial][backcolor=initial][font=微软雅黑][backcolor=initial][backcolor=initial][backcolor=initial][backcolor=initial]ESP32 MicroPython教程:编码JSON[/backcolor][/backcolor][/backcolor][/backcolor][/font][/backcolor][/backcolor][/font][/backcolor][/align][align=left][backcolor=rgb(250, 250, 250)][font=微软雅黑][backcolor=initial][backcolor=initial][font=微软雅黑][backcolor=initial][backcolor=initial][backcolor=initial]ESP32 / ESP8266 MicroPython教程:从计算机运行脚本[/backcolor][/backcolor][/backcolor][/font][/backcolor][/backcolor][/font][/backcolor][/align][align=left][backcolor=rgb(250, 250, 250)][font=微软雅黑][backcolor=initial][backcolor=initial][font=微软雅黑][backcolor=initial][backcolor=initial][backcolor=initial]ESP32 / ESP8266 MicroPython教程:HTTP GET请求[/backcolor][/backcolor][/backcolor][/font][/backcolor][/backcolor][/font][/backcolor][/align][backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]ESP32 / ESP8266 MicroPython教程:自动连接WiFi[/font][/font][/backcolor]
[backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]ESP32 MicroPython教程:使用SHA-256[/font][/font][/backcolor]
[backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]ESP32 / ESP8266 MicroPython教程:从文件系统运行脚本[/font][/font][/backcolor][backcolor=initial][font=微软雅黑]ESP32 / ESP8266 MicroPython:HTTP POST请求[/font][/backcolor]
[backcolor=initial][font=微软雅黑]ESP32 MicroPython教程:用uPyCraft执行脚本[/font][/backcolor]
[backcolor=initial][font=微软雅黑]ESP32 MicroPython教程:uPyCraft IDE入门[/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【FireBeetle基础教程】电源供电说明[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]如何在树莓派上给firebeetle esp32编程[/font][/font][/backcolor]
[backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]【ESP-WROOM-32教程—Lesson 1】Arduino IDE for ESP32编译环境的搭建[/font][/font][/backcolor]
[backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]ESP32项目汇总[/font][/font][/backcolor][backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑][/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑][ESP32酷炫应用] 8X8X8光立方[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][backcolor=initial][/backcolor][backcolor=initial]关于Firebeetle Board-ESP32低功耗水果电池的实验[/backcolor]
【FireBeetle Board-ESP32教程之一】Blynk—控制LED灯
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴
【FireBeetle Board-ESP32应用教程】跑步运动的计步神器[/font][/backcolor]
[backcolor=initial][font=微软雅黑]【ESP32教程之BLE】让废旧的电插板Smart
[table=98%]
[tr][td][align=left]【ESP32教程之保险柜】让饮品不再被偷走[/align][align=left]【ESP32教程】音乐播放机[/align][align=left]【ESP32教程】DIY智能机械臂[/align][align=left]ESP32太阳能气象站[/align][align=left]ESP32太阳能气象站[/align][align=left]让我们造一把红外测温枪来感受夏天 - 使用FireBeetle ESP32[/align][align=left]使用FireBeetle Board ESP32 制作电子徽章[/align]
[/td][/tr]
[/table]【ESP8266教程—Lesson 1】Arduino IDE for ESP8266编译环境的搭建[/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【ESP8266教程—Lesson2】智能化你的浇花神器[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【ESP8266教程—Lesson3】小风扇的变形记[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]ESP32测评报告:[/font][/font][/backcolor][backcolor=initial][font=微软雅黑][font=微软雅黑]
[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【FireBeetle Board-ESP32评测报告之一】开箱并驱动oled[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【FireBeetle Board-ESP32评测报告之二】温度上送物联网OLED显示[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【FireBeetle Board-ESP32评测报告之三】LED温度表[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【FireBeetle Board-ESP32评测报告之四】bylnk之桥(心率显示)[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【FireBeetle Board-ESP32评测之】micropython上传小工具[/font][/font][/backcolor]
[backcolor=initial][font=微软雅黑][font=微软雅黑]【FireBeetle开箱】ESP32 Wi-Fi+BLE~~~[/font][/font][/backcolor]
gada888
gada888
学习了
luna
luna
[align=left][backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]查看更多ESP32/ESP8266教程和项目,请点击 : ESP32教程汇总贴[/font][/font][/backcolor][/align][align=left][backcolor=rgb(250, 250, 250)][font=微软雅黑][font=微软雅黑]英文版教程 : ESP32 tutorial[/font][/font][/backcolor][/align]
yoyojacky
yoyojacky
作者
都是纯干货啊~~~
pATAq
pATAq
有人看,支持一下~写的很认真,支持楼主原创!
yoyojacky
yoyojacky
作者
竟然没有人看啊..
- 没有更多了 -