2120| 5
|
[ESP8266/ESP32] Beetle ESP32-C3的CircuitPython入门课 |
本帖最后由 忙碌的死龙 于 2023-6-2 12:17 编辑 前言 很高兴有机会参加本次试用活动。这是一个宝贵的机会,我将尽心尽力,准备充分,并以专业和客观的态度完成评测任务,期待在本次评测中做出有益的贡献。 开发板简介 本次试用的Beetle ESP32-C3 是一款基于 ESP32-C3 芯片的微型开发板,支持 Wi-Fi 和蓝牙连接,适用于物联网应用和原型设计。它具有小尺寸、丰富的引脚和多种电源选项,可通过 Arduino IDE、MicroPython 或 CircuitPython 进行编程和开发。它是一个功能强大、易于使用的开发板,适合构建各种连接的物联网设备和项目。 开发板实物照片如下图: 开发语言选择 由于个人时间安排问题,本次项目开发时间有限,我选择使用CircuitPython开发本次项目。 选择CircuitPython有几个原因。首先,它提供了易于使用和学习的编程语言,对于我来说是一个有利的因素。其次,CircuitPython提供了丰富的库和模块,涵盖了各种硬件和外设的驱动,使得与硬件的交互变得更加简单和高效。这对于项目的快速原型设计和开发非常重要。CircuitPython的高效开发和调试环境可以帮助我更快地实现项目的核心功能。同时,CircuitPython社区也提供了丰富的文档和示例代码,可以作为参考和学习的资源。 尽管使用CircuitPython可能在某些方面有一些限制,但考虑到我的时间限制和个人技能,它是我能够快速交付项目的最佳选择。 通过CircuitPython官网快速烧录固件 CircuitPython提供了非常方便的web安装和配置方式,可以让用户轻松完成固件烧录和web开发环境的使用。以下为步骤描述。 1. 将你的Beetle ESP32-C3连接到电脑(保持短接IO9和GND后再插入USB),IO9接地上电,设备会进入ISP下载模式,否则无法烧录设备。一定要短接IO9和GND后,再插入USB,否则无法进入ISP下载模式。 2. 打开你的浏览器并访问 Adafruit CircuitPython 的官方网站提供的beetle-esp32-c3固件地址(https://circuitpython.org/board/beetle-esp32-c3/)。 3. 在该下载页面上,点击带魔法棒图标的 OPEN INSTALLER 的按钮。 4. 在弹出界面选择第一个蓝色的链接Full CircuitPython 8.1.0 Install,然后在新窗口选择Next按钮(只是提醒该web烧录工具可能不稳定,不需要管) 5. 在新窗口选择Connect按钮,选择正确的串口,点Next,然后会弹出一个警告,提示你烧录固件会遗失所有数据,不用管,选择Continue按钮继续。 6. 然后就会自动下载固件,下载完成后就自动烧录到flash了。烧录完毕后会弹出新窗口提示烧录完成,烧录完成点击close按钮即可。 配置wifi信息和登录密码(web编辑器用)
3. 然后在新的窗口填写2.4G wifi的名称和密码(2.4G,2.4G,2.4G 重要的事情说三遍),最后填写web编辑器的登陆密码,上传代码和库需要用到(重要,必须记住,忘记了可以用同样步骤重新设置一遍wifi信息)。端口保持80端口即可,不需要修改,填完选Next继续。 4. 然后页面会弹出一个窗口提示等待获取IP,成功获取到IP后,就可以通过CircuitPython.local,或者IP地址/code链接来打开web编辑页面了(建议使用后者,更稳定)。 CircuitPython的web编辑器介绍
2. 成功连上开发板后,会弹出开发板信息面板,关闭即可。 3. 然后就可以开始使用web编辑器了,串口输出建议直接用web这边的,重启设备会自动重连。常见功能见下图。 4. save-as按钮点开后,常见功能见下图 接下来,我们学习一下最简单的点灯程序
首先导入time(延时),board(IO定义),digitalio(配置数字输出模式)
创建一个led实例,指定引脚,并配置引脚输入输出模式(目前配置为输出)
然后创建一个死循环,在这个循环里,不断重复给led的值赋值1和0,中间有延时和输出。 这样一个简单的点灯和输出信息的程序就写好了。 如何找到程序错误 可以通过web编辑器的串口输出功能找到错误位置,如下图,具体是什么错误需要自行分析,也有比较规范的提示,例如参数数量、参数类型错误,库找不到(需要上传到板子上),内存分配错误等等 接下来,我们学习一下如何使用CircuitPython的官方库,以及上传文件。 首先需要先到CircuitPython官网下载所有的库和案例代码。地址:(https://circuitpython.org/libraries) 打开页面后,下拉到几个长条形紫色按钮处,下载 Bundle for Version 8.x (版本要和烧录的CircuitPython版本一致,例如烧录8.1版本,则下载8.x库),建议也把源码下载一下(可以使用源码库,也可以使用压缩后的Bundle库)。区别如下图。 解压缩后的Bundle库,重要的是lib和example两个目录,分别是官方库和案例。 然后我们打开web编辑器,按下图步骤操作 完成后的lib目录如图(imageload目录文件多,要等几秒) 然后复制以下代码到code.py,覆盖原有所有代码,并按下图将开发板和屏幕插入面包板即可点亮屏幕(效果如图)。由于C3没有PSRAM,不能加载更大的图片,只放了个小图。
点亮屏幕后,也可以不显示任何内容,只使用以下代码初始化屏幕,这样CircuitPython可以在屏幕上显示错误信息和print输出内容(不建议输出太快,屏幕跟不上)
|
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed