记录一下使用矽递XIAO ESP32S3开发板点亮oled屏的过程以及遇到的错误

1 XIAO ESP32S3 开发板
项目Seeed Studio XIAO ESP32S3
处理器ESP32-S3R8 Xtensa LX7双核32位处理器,工作频率240 MHz
无线完整的2.4GHz Wi-Fi子系统
BLE:蓝牙5.0,蓝牙网状
存储器片上8M PSRAM和8MB闪存
接口1x UART, 1x IIC, 1x IIS, 1x SPI, 11x GPIOs (PWM), 9x ADC, 1x User LED, 1x Charge LED 1x Reset button, 1x Boot button
尺寸21 x 17.5mm
功率输入电压(Type-C):5V
输入电压(BAT):4.2V
电路工作电压(Type-C): 5V 19mA
电路工作电压(BAT):3.8V 22mA
充电电池电流:100mA
低功耗模型调制解调器睡眠模式: 3.8V 25 mA
轻度睡眠模式: 3.8V 2 mA
深度睡眠模式: 3.8V 14 μA
启用Wi-Fi的功耗活动模型: ~ 100 mA
BLE启用功耗活动模型:~ 85 mA
工作温度-40°C ~ 65°C
  • 板载组件:XIAO ESP32S3

  • 正面引脚:在这里插入图片描述

  • 背面引脚:img


2 XIAO ESP32S3 使用 MicroPython

在这里插入图片描述

  • 使用 pip 命令安装 esptool
pip install esptool
  • 命令擦除 Xiao ESP32S3 上的闪存并烧录固件
# 把 COMXX 改成设备管理器里查找到的端口号(例如COM7)
esptool.py --port COMXX erase_flash
esptool.py --port COMXX --baud 460800 --before default_reset --after hard_reset --chip esp32s3  write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x0 firmware.bin 
注:‘esptool.py’ 不是内部或外部命令,也不是可运行的程序或批处理文件

目前发现在cmd终端运行esptool.py会报错'esptool.py' 不是内部或外部命令,也不是可运行的程序或批处理文件。,只需将esptool.py中的.py删除改为esptool即可。

  • 打开Thonny IDE,点击顶部运行选择配置解释器,选择MicroPython(ESP32)COM7,点击顶部识图选择文件即可看见MicroPython设备

在这里插入图片描述
在这里插入图片描述


3 XIAO ESP32S3 连接 WiFi
# WiFi.py
import network
import time

def connect_to_network(ssid, password):
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    # 检查wlan是否已连接
    if not wlan.isconnected():
        print('WiFi连接中...')
        # 连接与处理异常
        try:
            wlan.connect(ssid, password)
        except OSError as e:
            print(f"发生错误:{e}")
            return (False, None)
        # 设置连接超时时间
        i = 1
        while not wlan.isconnected():
            print("正在连接...{}".format(i))
            i += 1
            time.sleep(1)
            if i > 10:
                print('WiFi 连接超时。')
                return (False, None)
        print('WiFi连接成功,IP:{}'.format(wlan.ifconfig()[0]))
        return (True, wlan.ifconfig()[0])
    else:
        print('WiFi连接成功,IP:{}'.format(wlan.ifconfig()[0]))
        return (True, wlan.ifconfig()[0])
# test.py
import machine
import WiFi

# pin21口为开发板上黄灯,value设置0为亮起,1为熄灭
light_pin = machine.Pin(21, machine.Pin.OUT)
light_pin.value(1)

ssid = "WiFi名称"
password = "WiFi密码"

status, wlan_ip = WiFi.connect_to_network(ssid, password)

if status:
    light_pin.value(0)	# WiFi连接成功,点亮黄灯
else:
    print('请检查WiFi用户名或密码。')
注:当修改为正确的WiFi名称或密码后运行仍可能会报连接超时,重新运行进行连接即可

4 XIAO ESP32S3 连接 oled 屏显示中英文

在这里插入图片描述

  • 因为汉字是16×16,英文是8×16,目前试了下无法使用pctolcd2002生成的英文文字,所以目前使用时要输出一句中英混合的话用的下面的方法:
# 'WiFi'四个英文字符占4*8=32位,所以'连接成功'在第32位
lcd.text('WiFi', 0, 0, 16)
lcd.text_cn('连接成功!', 32, 0, 16)

在这里插入图片描述

注:点亮oled报错

在按照教程使用过程中发现如下报错,原因是在/lib/ssd1306py/ascii16.py里第15行_file = open(sys.path[1] + '/ssd1306py/ascii16.txt', 'r')报错项目无法定位到这个文件,改为_file = open('/lib/ssd1306py/ascii16.txt', 'r')即可正常运行,包括ascii24.pyascii32.py文件内。

Traceback (most recent call last):
  File "<stdin>", line 34, in <module>
  File "/lib/ssd1306py/ops.py", line 66, in text
  File "/lib/ssd1306py/ascii16.py", line 35, in display
  File "/lib/ssd1306py/ascii16.py", line 15, in _get_ch
OSError: [Errno 2] ENOENT

以上仅是学习过程的记录与问题的分享,如有错误的地方欢迎指出及时改正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值