查看: 3211|回复: 9

[FireBeetle] 试试用树莓派调试 ESP32模块

[复制链接]
在百忙之中抽出时间给大家写一个 ESP32的烧录固件的方法,我先给大家看看我购买的 ESP32模块长啥样子:

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

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

sudo raspi-config
然后再跳出来的画面里面选择:
截图201904052038191043.png
然后选择 wifi
截图201904052038263456.png
截图201904052038315075.png
然后就点击 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 下载最新的固件呗...
截图201904052038525120.png
选择 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的文件系统,例如上传下载啥的,比较方便:
安装:
[Shell] 纯文本查看 复制代码
sudo pip3 install rshell
接下来让我们连一下 esp32吧,命令很简单哦:
[Shell] 纯文本查看 复制代码
rshell --buffer-size=40 -p /dev/ttyUSB0
看看效果:
然后可以输入 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的灯带, 效果应该还是不错的...
希望大神轻拍板砖...


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 / 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项目汇总
[ESP32酷炫应用] 8X8X8光立方
关于Firebeetle Board-ESP32低功耗水果电池的实验
【FireBeetle Board-ESP32教程之一】Blynk—控制LED灯
【FireBeetle Board-ESP32应用教程】让你的打火机可穿戴
【FireBeetle Board-ESP32应用教程】跑步运动的计步神器

【ESP32教程之BLE】让废旧的电插板Smart

【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

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail