yoyojacky 发表于 2018-7-2 18:06:41

试试用树莓派调试 ESP32模块

在百忙之中抽出时间给大家写一个 ESP32的烧录固件的方法,我先给大家看看我购买的 ESP32模块长啥样子:
价格有点儿小贵, 但是听一个老外说不错,我就被老外忽悠下了海, 买回来后发现的确很精致.网上还有很多,你们自己看着买.https://b01.ickimg.com/201806/9c67d75901755e754f247d9b8ba8d72d.png这些都可以满足你的需求,就是要看看是否他们把所有引脚都引出来了.这个板子的特点是:1. 支持 wifi 和蓝牙2. 240Mhz 双核 520KB SRAM如果你选择的是 WROOM 可能没有 WROVER 屌, 但是都可以用.3. 超级低功耗, Ultra LOW POWER CONSUMPTION 不是哪个厂家都敢挂的.哈哈4. ADC, DAC, 加密, PWM, TOUCH 一应俱全, 估计可以满足你装 X 的所有需要吧.更让我觉得很爽的是, micropython 直接可以支持它...那就舒服很多了, Arduino IDE? 你给我坐下, 复杂? 不存在的,喜欢的朋友来刷一波关注.
看看大蟒蛇, 就感觉一阵舒爽~来吧.接驳方法super 简单,只需要一根 usb 转 microUSB 线就可以搞定了,插入树莓派就可以识别了.然后树莓派去官方站点下载最新的镜像,通过 win32imager 工具或者 etcher 工具烧录到 TF 卡上,插入树莓派 TF 卡槽,然后记得用一个5v2.5A 足量的电源供电,第一启动最好接个显示器,如果没有显示器就接家里的电视机, 通过 HDMI 线连上去,再找一个键盘和鼠标,插 usb 口上,启动后,连接 wifi. 当然得先设置一下 wifi 国家,通过打开一个终端,然后输入:sudo apt-get update && sudo apt-get upgrade这里更新仓库和软件包升级的时间可能会根据网络的环境不同时间有所不同,这个时候你就可以去泡杯咖啡,调戏一下前台的小姐姐.然后回来继续:
sudo raspi-config然后再跳出来的画面里面选择:然后选择 wifi然后就点击 wifi 图标去连接你的 wifi 吧,这里我就不想写用命令行连接 wifi 的方法了,虽然也是非常简单,如果有想知道的,给我评论的时候写出来哦.再然后,记得开启 ssh 服务,不然远程连不上来操作非常不方便,我习惯了直接开 ssh 连接, 通过我 Mac 直接 ssh Pi@IP 地址 就可以访问树莓派是最方便的.https://b01.ickimg.com/201806/59231214cff02a72c24e8d2ebe372af7.png就是选择 interfacing Options 然后选择 ssh 服务开启就好了. 这里不再赘述了.设置好,就可以通过 pi 用户远程登录到树莓派了. 接下来,是我在 mac 上的操作,如果你是用 windows, 那么请去找个 putty.exe 的软件,或者 rshell, 或者 xshell, 或者 SecureCRT, 只要是支持 ssh 协议的终端工具都行.-----------------------------------------------------------------------这是我华丽的分割线---------------------------------------------------------------------------------下面的操作是我通过 ssh 远程登录到树莓派以后在树莓派上完成的操作.https://b01.ickimg.com/201806/729017d1b9589d824c2f8ac3b810ff76.png安装完 esptool 就完成了一大半了,这个是为了方便我们烧录的工具, esptool 一看名字你就应该猜出了个大概.然后接着接好了 esp32的模块后,通过下面的命令检测一下是否识别了你的模块.
dmesg | grep ttyUSB如果看到如下内容就说明 ok 的.https://b01.ickimg.com/201806/a5433d698c15961f320427545662fa39.png竟然用是 CP210x 的串口芯片...这个比起 FTDI真的是差了很远,不过看上去是识别出来了,可以用就好.哈哈EPS32模块被识别到/dev/ttyUSB0设备.接下来可以尝试检查一下你的 ESP32的设备信息.通过使用:
esptool.py --port /dev/ttyUSB0 flash_id看看效果是这样的:https://b01.ickimg.com/201806/11c77788640977f90eb3d6c82f4c1ae2.png好吧,啥信息都给你们看到了. mac地址,芯片ID, 还检测到4MB flash, 恩,不错,最后提示硬件重置要按下 RTS 引脚.也就是要下载程序的时候要按一下 boot 按键, 是不是 so easy?接下来,我要刷一下flash, 就是类似格式化一下硬盘.哈哈esptool.py --port /dev/ttyUSB0 erase_flash然后看到这样的效果:https://b01.ickimg.com/201806/03888a3e496c37fbc852511a4b9d37f3.png接下来就去 micropython.org 下载最新的固件呗...选择 Download, 然后再找esp32...https://b01.ickimg.com/201806/f460991197179d6ab54a4f5aa5a27383.png https://b01.ickimg.com/201806/bbb3b3fdf81bde0245fd5495a0c42b64.png接下来可以看看你是否支持 SPIRAM, 如果支持选择下面的固件,如果不支持选择标准固件.我不在我电脑上下载,所以我只是右击复制了连接,然后到树莓派的终端上用 wget 直接下载就好,我尝试的是支持 SPIRAM 固件的版本发现刷了固件后,无法进入 REPL 的环境,所以我又刷了标准的固件.连接如下:http://micropython.org/resources/firmware/esp32-20180628-v1.9.4-225-gd8dc918d.bin利用 wget 下载到树莓派上,然后再 erase_flash 后在 write_flash, 不知道我这样说你们能否看懂,看不懂就自己尝试一下.https://b01.ickimg.com/201806/b049d4cf0ddebe441cff89f9aa8e8507.png https://b01.ickimg.com/201806/ac405ab3d90aac58acafd29e29629f14.png接下来就是直接烧录到你的 ESP32上去.https://b01.ickimg.com/201806/464b83a5b538c57cece816191d6d39db.png耐心等待1分钟左右, 可以看到我高亮标注的内容,自动检测到 flash 就好了.
https://b01.ickimg.com/201806/4c4193b7d43ad52b824013535acea44d.png再接下来就要进入一个 Read-Eval-Print-Loop 里面了,在 micropython 里面这个叫 repl,一旦进去了就像是进入了一个 python 的 IDLEshell 环境, 交互式输入输出的状态.就像你在你的机器上输入 python 回车后进入的环境一样.网上有个叫 webREPL 的东西,可以让你访问的时候通过网页进入到编辑器里面,我觉得要如果有点儿逼格,必须直接命令行执行啊!就可以用 putty 或者 linux 下面的 screen 命令进入,或者也可以使用 rshell 工具.我是树莓派上操作,所以直接安装 rshell 比较方便,应为它可以让我在树莓派上直接管理 esp32的文件系统,例如上传下载啥的,比较方便:安装:sudo pip3 install rshellhttps://b01.ickimg.com/201806/d524519e794e756d4968e222c300a9c7.png接下来让我们连一下 esp32吧,命令很简单哦:rshell --buffer-size=40 -p /dev/ttyUSB0看看效果:https://b01.ickimg.com/201806/382ccf3b0484935a4b508937d26e2034.png然后可以输入 boards, help 等命令来查看接驳的状态,和启动文件/boot.pyhttps://b01.ickimg.com/201806/8ab8fa898d70f45ed9b357ac631d9e1b.png1. boards 看到连接的板子, 以及目录中的 boot.py 文件2. help 可以查看在这里能够使用的命令.3. boot.py 就是esp32启动时候读取的配置,可以把你想加入的加入这里,但是要加错了就凉凉了..4. 输入 repl 就可以进入 python 的 IDLE 的 loop 里面...就无法退出了.哈哈~再下来,就可以自己在树莓派上写*.py的文件,然后通过 rshell 的环境直接通过 cpxxx.py/pyboard/xxx.py 拷贝到 esp32上了.最后直接 repl 后, import 你的 python 文件名就可以执行python 脚本了.Micropython 现在越来越强大了. ESP32模块也是如日中天,赶紧去试试吧.具体做啥,看大家的大脑洞了.我决定用 esp32来驱动一下ws2812的灯带, 效果应该还是不错的...希望大神轻拍板砖...

yoyojacky 发表于 2018-7-5 17:08:48

竟然没有人看啊..

pATAq 发表于 2018-7-6 23:47:00

有人看,支持一下~写的很认真,支持楼主原创!

yoyojacky 发表于 2018-7-26 13:06:33

都是纯干货啊~~~

luna 发表于 2018-12-19 14:33:11

查看更多ESP32/ESP8266教程和项目,请点击 : ESP32教程汇总贴英文版教程 : ESP32 tutorial

gada888 发表于 2018-12-23 13:46:27

学习了

luna 发表于 2018-12-26 17:05:33

中文版 : ESP32教程汇总贴英文版 : ESP32 tutorial汇总贴
ESP32教程汇总:
用于构建ESP32编译环境的Arduino IDE
ESP32教程:MicroPython支持ESP32 MicroPython教程:连接Wi-Fi网络ESP32 MicroPython教程:解析JSONESP32 MicroPython教程:编码JSONESP32 / ESP8266 MicroPython教程:从计算机运行脚本ESP32 / ESP8266 MicroPython教程:HTTP GET请求ESP32 / ESP8266 MicroPython教程:自动连接WiFi
ESP32 MicroPython教程:使用SHA-256
ESP32 / ESP8266 MicroPython教程:从文件系统运行脚本ESP32 / ESP8266 MicroPython:HTTP POST请求
ESP32 MicroPython教程:用uPyCraft执行脚本
ESP32 MicroPython教程:uPyCraft IDE入门


【FireBeetle基础教程】电源供电说明
如何在树莓派上给firebeetle esp32编程
【ESP-WROOM-32教程—Lesson 1】Arduino IDE for ESP32编译环境的搭建



ESP32项目汇总:
8X8X8光立方
关于Firebeetle Board-ESP32低功耗水果电池的实验
【FireBeetle Board-ESP32教程之一】Blynk—控制LED灯
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴
【FireBeetle Board-ESP32应用教程】跑步运动的计步神器
【ESP32教程之BLE】让废旧的电插板Smart

【ESP32教程之保险柜】让饮品不再被偷走【ESP32教程】音乐播放机【ESP32教程】DIY智能机械臂ESP32太阳能气象站ESP32太阳能气象站让我们造一把红外测温枪来感受夏天 - 使用FireBeetle ESP32使用FireBeetle Board ESP32 制作电子徽章

【ESP8266教程—Lesson 1】Arduino IDE for ESP8266编译环境的搭建
【ESP8266教程—Lesson2】智能化你的浇花神器
【ESP8266教程—Lesson3】小风扇的变形记
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器


ESP32测评报告:

【FireBeetle Board-ESP32评测报告之一】开箱并驱动oled
【FireBeetle Board-ESP32评测报告之二】温度上送物联网OLED显示
【FireBeetle Board-ESP32评测报告之三】LED温度表
【FireBeetle Board-ESP32评测报告之四】bylnk之桥(心率显示)
【FireBeetle Board-ESP32评测之】micropython上传小工具
【FireBeetle开箱】ESP32 Wi-Fi+BLE~~~

gada888 发表于 2019-1-13 17:25:44

技术贴

Shuuei 发表于 2019-5-5 17:42:55

报告 其实我看不懂 “最后提示硬件重置要按下 RTS 引脚.也就是要下载程序的时候要按一下 boot 按键”,啥意思啊,为啥下载程序要按boot按键啊 我用Arduino IDE的时候直接上传就行 可是结尾也有Hard resetting via RTS button, 搞不懂诶

Shuuei 发表于 2019-5-5 17:50:21

噢 还有,楼主,最新的固件是从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

yoyojacky 发表于 2020-3-19 00:30:29

Shuuei 发表于 2019-5-5 17:42
报告 其实我看不懂 “最后提示硬件重置要按下 RTS 引脚.也就是要下载程序的时候要按一下 boot 按键”,啥意 ...

就是板子上面有个按钮, 那个按钮的丝印是 RST, 就是下载的时候,按一下那个按钮就执行下载了.arduino 自动帮你拉高了那个引脚应该是,其实用树莓派操作 ESP32真的是非常方便的.

yoyojacky 发表于 2020-3-19 00:55:37

Shuuei 发表于 2019-5-5 17:50
噢 还有,楼主,最新的固件是从0x1000了,之前从0x00开始刷大概是Rshell没法进入的原因吧?

From then on...

都可以的,没什么特别大的关系,只是类似于 app 分了个区而已.
rshell 退出用 ctrl+D
repl 退出用 ctrl + X
其实我那个说法是在开玩笑呢,大家都不明白我的梗...让我好伤心...

Shuuei 发表于 2020-3-25 19:25:39

yoyojacky 发表于 2020-3-19 00:55
都可以的,没什么特别大的关系,只是类似于 app 分了个区而已.
rshell 退出用 ctrl+D
repl 退出用 ctrl + X ...

哎 学习ing 学习ing 要不然一些都听不懂 /捂脸

yoyojacky 发表于 2021-10-7 23:40:41

哈哈, 多听听就懂了...加油~
页: [1]
查看完整版本: 试试用树莓派调试 ESP32模块