【FireBeetle 2 ESP32 C6】测试 circuitpython
<p>虽然circuitpython中还没有FireBeetle 2 ESP32 C6开发板,但是有一个类似的开发板<strong> Feather ESP32-C6 4MB Flash No PSRAM</strong>(<a href="https://circuitpython.org/board/adafruit_feather_esp32c6_4mbflash_nopsram/" target="_blank">https://circuitpython.org/board/adafruit_feather_esp32c6_4mbflash_nopsram/</a>),所以我们可以先用这个开发板的固件进行测试。</p><p> </p>
<div style="text-align: center;"></div>
<p> </p>
<p>先在 circuitpython 网站下载bin格式的固件,目前的版本是 9.0.4:</p>
<p><a href="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" target="_blank">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</a></p>
<p> </p>
<p>因为 ESP32-C6 还不支持 UF2 模式,所以还是需要用 esptool 等传统方式将固件写入开发板,这里就不重复了。写入固件后复位,circuitpython就可以运行了。</p>
<p> </p>
<p>和 ESP32C3 一样,ESP32C6 也不支持 usb 磁盘模式,只能通过 usb 串口访问,可以使用 thonny、 putty、 mobaxterm等软件。</p>
<p> </p>
<p>几个基本功能测试:</p>
<p> </p>
<p>闪灯</p>
<pre>
<code class="language-python">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)</code></pre>
<p> </p>
<p>呼吸灯</p>
<pre>
<code class="language-python">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)</code></pre>
<p> </p>
<p>RTC时间</p>
<pre>
<code class="language-python">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)</code></pre>
<p><br />
内部 nvm 存储</p>
<pre>
<code class="language-python">from microcontroller import nvm
len(nvm)
nvm</code></pre>
<p> </p>
<p>芯片的频率、温度、uid</p>
<pre>
<code class="language-python">import microcontroller
cpu = microcontroller.cpu
cpu.temperature
cpu.frequency
cpu.uid</code></pre>
<p><br />
连接网络</p>
<pre>
<code class="language-python">import os
import ipaddress
import wifi
import socketpool
wifi.radio.connect('ssid', 'password')</code></pre>
<p> </p>
<p>虽然也是单片机上的pythpn,甚至是micropython的分支,但circuitpython使用方法上和micropython有较大差异,很多micropython程序都不能直接在circuitpython上运行。circuitpyhon自己还搞了一个驱动库(<a href="https://circuitpython.org/libraries" target="_blank">https://circuitpython.org/libraries</a>),里面已经有几百个常用传感器和外设的驱动。</p>
<p> </p>
页:
[1]