【FireBeetle 2 ESP32 C6】测试 circuitpython
[复制链接]
虽然circuitpython中还没有FireBeetle 2 ESP32 C6开发板,但是有一个类似的开发板 Feather ESP32-C6 4MB Flash No PSRAM(https://circuitpython.org/board/adafruit_feather_esp32c6_4mbflash_nopsram/),所以我们可以先用这个开发板的固件进行测试。
先在 circuitpython 网站下载bin格式的固件,目前的版本是 9.0.4:
https://downloads.circuitpython.org/bin/adafruit_feather_esp32c6_4mbflash_nopsram/en_US/adafruit-circuitpython-adafruit_feather_esp32c6_4mbflash_nopsram-en_US-9.0.4.bin
因为 ESP32-C6 还不支持 UF2 模式,所以还是需要用 esptool 等传统方式将固件写入开发板,这里就不重复了。写入固件后复位,circuitpython就可以运行了。
和 ESP32C3 一样,ESP32C6 也不支持 usb 磁盘模式,只能通过 usb 串口访问,可以使用 thonny、 putty、 mobaxterm等软件。
几个基本功能测试:
闪灯
import digitalio, board ,time
LED = digitalio.DigitalInOut(board.LED)
LED.direction=digitalio.Direction.OUTPUT
while True:
LED.value = not LED.value
time.sleep(0.5)
呼吸灯
import pwmio, board ,time
LED=pwmio.PWMOut(board.LED)
cnt = 0
while True:
LED.duty_cycle = abs(31-cnt)<<11
cnt = (cnt + 1)%63
time.sleep(0.05)
RTC时间
import rtc
r = r.RTC()
r.datetime
>>> struct_time(tm_year=2000, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=22, tm_sec=29, tm_wday=5, tm_yday=1, tm_isdst=-1)
r.datetime=(2024,5,4,8,0,0,0,0,0)
r.datetime
>>> struct_time(tm_year=2024, tm_mon=5, tm_mday=4, tm_hour=8, tm_min=0, tm_sec=3, tm_wday=5, tm_yday=125, tm_isdst=-1)
内部 nvm 存储
from microcontroller import nvm
len(nvm)
nvm[0]
芯片的频率、温度、uid
import microcontroller
cpu = microcontroller.cpu
cpu.temperature
cpu.frequency
cpu.uid
连接网络
import os
import ipaddress
import wifi
import socketpool
wifi.radio.connect('ssid', 'password')
虽然也是单片机上的pythpn,甚至是micropython的分支,但circuitpython使用方法上和micropython有较大差异,很多micropython程序都不能直接在circuitpython上运行。circuitpyhon自己还搞了一个驱动库(https://circuitpython.org/libraries),里面已经有几百个常用传感器和外设的驱动。
|