Files
V2_micropython/config.py
jeremygan2021 efbe08f2cd
All checks were successful
Deploy WebSocket Server / deploy (push) Successful in 3s
action
2026-03-04 21:06:56 +08:00

125 lines
3.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from micropython import const
from machine import Pin, SPI
from time import sleep_ms
# ----------------------------epaper配置-------------------------------------------------
# SPI引脚配置
sck = Pin(47) # SCK pin47
miso = Pin(46) # MISO pin46
mosi = Pin(21) # SDI/MOSI pin21
# 控制引脚配置
dc = Pin(40) # D/C pin40
cs = Pin(45) # CS pin45
rst = Pin(41) # RES pin41
busy = Pin(42) # BUSY pin42
# 按钮引脚配置
btn1 = Pin(46, Pin.IN, Pin.PULL_UP) # 按钮1连接到引脚46
btn2 = Pin(20, Pin.IN, Pin.PULL_UP) # 按钮2连接到引脚20
btn3 = Pin(12, Pin.IN, Pin.PULL_UP) # 按钮3连接到引脚12
btn4 = Pin(11, Pin.IN, Pin.PULL_UP) # 按钮4连接到引脚11
# 蜂鸣器引脚配置
buzzer_pin = 14 # 蜂鸣器连接到引脚14
# epaper屏幕尺寸
WIDTH = 400
HEIGHT = 300
# 初始化 SPI2HSPI/VSPI 视固件而定)
spi = SPI(2, baudrate=2_000_000, polarity=0, phase=0,
sck=sck, miso=miso, mosi=mosi)
# 如果你板子上真有单独的 EPD 电源控制 FET就按实际 IO 改;
# 若只是直接 3.3V 供电,可以把下面这一段去掉。
epd_power = Pin(2, Pin.OUT)
epd_power.on()
sleep_ms(10)
# ----------------------------epaper配置-------------------------------------------------
class BoardConfig:
def __init__(self, name):
self.name = name
self.pins = {}
self.audio = {}
self.mic = {}
# -----------------------------------------------------------------------------
# 非摄像头版本配置 (NON_CAMERA_VERSION)
# 对应 C++: NON_CAMERA_VERSION_CONFIG
# -----------------------------------------------------------------------------
NON_CAMERA = BoardConfig("NON_CAMERA")
NON_CAMERA.pins = {
'bl': 3, # 背光
'mosi': 10, # SPI MOSI / SDA
'sck': 9, # SPI CLK / SCK
'dc': 46, # Data/Command
'rst': 11, # Reset
'cs': 12, # Chip Select
'btn': 0 # Boot按键
}
NON_CAMERA.audio = {
'enabled': True,
'sd': 7, # Serial Data (DOUT) -> 扬声器
'bck': 15, # Bit Clock (BCLK)
'ws': 16, # Word Select (LRCK)
'sample_rate': 24000
}
NON_CAMERA.mic = {
'enabled': True,
'sd': 6, # Serial Data (DIN) <- 麦克风
'sck': 5, # Bit Clock (SCK)
'ws': 4, # Word Select (WS)
'sample_rate': 16000
}
# -----------------------------------------------------------------------------
# 摄像头版本配置 (CAMERA_VERSION)
# 对应 C++: CAMERA_VERSION_CONFIG
# -----------------------------------------------------------------------------
CAMERA = BoardConfig("CAMERA")
CAMERA.pins = {
'bl': 38,
'mosi': 45,
'sck': 48,
'dc': 47,
'rst': 1,
'cs': None # 无 CS 引脚
}
# 摄像头版本使用 Duplex I2S (同一组引脚)
CAMERA.audio = {
'enabled': True,
'sd': 39, # DOUT
'bck': 42,
'ws': 40,
'sample_rate': 16000
}
CAMERA.mic = {
'enabled': True,
'sd': 41, # DIN
'sck': 42, # 复用 BCLK
'ws': 40, # 复用 WS
'sample_rate': 16000
}
# =============================================================================
# 当前使用的配置
# =============================================================================
# 默认使用 NON_CAMERA (普通版),请根据你的实际硬件选择
CURRENT_CONFIG = NON_CAMERA
# =============================================================================
# 服务器配置
# =============================================================================
SERVER_IP = "118.196.74.38"
SERVER_PORT = 8811
SERVER_PATH = "/ws/audio"
SERVER_URL = f"ws://{SERVER_IP}:{SERVER_PORT}{SERVER_PATH}"