134 lines
3.9 KiB
Python
134 lines
3.9 KiB
Python
from micropython import const
|
||
|
||
|
||
from machine import Pin, SPI
|
||
from time import sleep_ms
|
||
|
||
# ----------------------------打印机引脚配置-------------------------------------------------
|
||
|
||
# TTL 引脚配置
|
||
ttl_tx = Pin(2) # TTL TX 连接到引脚22
|
||
ttl_rx = Pin(1) # TTL RX 连接到引脚23
|
||
|
||
ttl_Dtr = Pin(6) # TTL TX 连接到引脚22
|
||
|
||
# ----------------------------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
|
||
|
||
# # 初始化 SPI2(HSPI/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}"
|
||
|