From 2470013ef384be2ff12af4a13c67a2ed29da45bf Mon Sep 17 00:00:00 2001 From: jeremygan2021 Date: Tue, 3 Mar 2026 21:12:03 +0800 Subject: [PATCH] 1 --- .DS_Store | Bin 0 -> 8196 bytes main.py | 394 +++--------------- .../__pycache__/server.cpython-312.pyc | Bin 12855 -> 14717 bytes websocket_server/received_audio.mp3 | Bin 7244 -> 6812 bytes websocket_server/received_audio.raw | Bin 71680 -> 67584 bytes websocket_server/server.py | 137 +++++- 6 files changed, 175 insertions(+), 356 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0ef48d91a4fc329f014e6b5a30d5923db233151c GIT binary patch literal 8196 zcmeHMPj3@P6n|r<*h>m5i3y>o)e1{hB|^abM;vOLpeij@qBu<*{?y&ICuWuPjJ3PA zNz+Kax2N_4@B!$lhf2L6PJ97+s#J+1r+$D+<;@?*X5%O)P$Xuoo!|4!dvD(R&F+q8 z3;?9mt``8N0U(Q)Kzkgk5k>TiYgb9>mZOLS?EyHK;c8_&m^_to+U>JBW84&LW2QPs|jXj0()q$1V0w9iIvn(j%K0w+y8jBix z3Z*IfRJ#YFO^M!O5M_@2j!;J|YV0Xg=0KD=5Ir){I}{>EM>|KV11TyrwPC<8u$uv~ zch7J`u zLM;vq)-j64D8DK3zz;`pSVkP-c|(BlZ;rGH6E+$2FGd*|dFtgZ?IwEmQGe%DV~|05 zIiYRAGTeq+Fb`iN&O#IFZ|0nSmarIy2qU?MpX+c#oSTdqXY69aY7)9YaRwsHqy`%( z$52Hnz)0y{xk|~#CgVS0 zQdo#yQ{agDzEl5<(!PoMwT@1d{M}FVAN#mYHESIn|M1AsWA^ch$=t+=iK(gF)XC{n zADuq^an+vm+}cJX6iLkSfQO}^P46{Azg}*+HJ>#qF?|%5{U2!6o=B)J)B1OVrj^YW z>f{Cu(%ly!rA+!;Twjl9Tp5zr?z)dwcDx^pY9SATB_8>)&)M4j2xns}D*pOEOzMgV@Nh8TWZ8%b1VVqIR$`_Y(R~F8}94tZwAHN^rS9lCh;175X zFW?pYM-Gu3`IMX|*U2sNCAmYsA*-Z8TBJ=nq^mrn`uD;o+M@>2Lt)>0p;Hc7z*z%z z`+l^&0mHySV<4>pnil*2+jw`IbAW?3Lna=>z}shljLnzl#Sikm)-3VU+rjI5yhIUt qJ%!Q)E1@FV<#rr#=MO`a9o<*d*i(o-Sl; -50: - signal_desc = "Excellent" - elif rssi > -60: - signal_desc = "Good" - elif rssi > -70: - signal_desc = "Fair" - else: - signal_desc = "Weak" - - print(f" Signal: {signal_desc}") - print("") - - except Exception as e: - print(f"Network scan failed: {e}") - - print("="*50 + "\n") - def connect_wifi(max_retries=3): - """ - 连接WiFi网络,包含完整的错误处理和重试机制 - - Args: - max_retries: 最大重试次数,默认为3次 - - Returns: - bool: 连接成功返回True,失败返回False - """ wlan = network.WLAN(network.STA_IF) - # 首先确保WiFi模块处于干净状态 try: - wlan.active(False) # 先关闭WiFi - time.sleep(1) # 等待1秒让模块完全关闭 - wlan.active(True) # 重新激活WiFi - time.sleep(1) # 等待模块初始化完成 + wlan.active(False) + time.sleep(1) + wlan.active(True) + time.sleep(1) except Exception as e: - print(f"WiFi module initialization error: {e}") + print(f"WiFi init error: {e}") return False - # 尝试连接,包含重试机制 for attempt in range(max_retries): try: - print(f"WiFi connection attempt {attempt + 1}/{max_retries}") - - # 检查是否已连接 if wlan.isconnected(): - print('Already connected to WiFi') - print('Network config:', wlan.ifconfig()) + print('WiFi connected') return True - # 尝试连接 print(f'Connecting to WiFi {WIFI_SSID}...') wlan.connect(WIFI_SSID, WIFI_PASS) - # 等待连接完成,设置超时 - start_time = time.time() + start_time = time.ticks_ms() while not wlan.isconnected(): - if time.time() - start_time > 20: # 单次连接超时20秒 - print("WiFi connection timeout!") + if time.ticks_diff(time.ticks_ms(), start_time) > 20000: + print("WiFi timeout!") break time.sleep(0.5) - print(".", end="") - print("") # 换行 - - # 检查连接结果 if wlan.isconnected(): - print('WiFi connected successfully!') - print('Network config:', wlan.ifconfig()) + print('WiFi connected!') return True - else: - print(f"Connection attempt {attempt + 1} failed") - - # 在重试前进行清理 - if attempt < max_retries - 1: # 如果不是最后一次尝试 - print("Resetting WiFi module for retry...") - wlan.disconnect() # 断开连接 - time.sleep(2) # 等待2秒 - - except OSError as e: - print(f"WiFi connection error on attempt {attempt + 1}: {e}") - if "Wifi Internal State Error" in str(e): - print("Detected internal state error, resetting WiFi module...") - try: - wlan.active(False) - time.sleep(2) - wlan.active(True) - time.sleep(1) - except: - pass if attempt < max_retries - 1: - print(f"Retrying in 3 seconds...") - time.sleep(3) - - except Exception as e: - print(f"Unexpected error on attempt {attempt + 1}: {e}") - if attempt < max_retries - 1: + wlan.disconnect() time.sleep(2) + + except Exception as e: + print(f"WiFi error: {e}") + if attempt < max_retries - 1: + time.sleep(3) - # 所有尝试都失败 - print("All WiFi connection attempts failed!") - try: - wlan.active(False) # 关闭WiFi模块节省电力 - except: - pass + print("WiFi connection failed!") return False -# ============================================================================= -# 硬件引脚配置 (从 config.py 获取) -# ============================================================================= -def print_nice_asr(text, display=None): - """在终端美观地打印ASR结果,并在屏幕显示""" - print("\n" + "*"*40) - print(" ASR RESULT:") - print(f" {text}") - print("*"*40 + "\n") - +def print_asr(text, display=None): + print(f"ASR: {text}") if display and display.tft: - # 清除之前的文本区域 (保留顶部的状态栏和底部的可视化条) - # 假设状态栏 30px,底部 240-200=40px 用于可视化? - # init_ui 画了 0-30 的白条。 - # update_audio_bar 在 240-bar_height 画条。 - # 我们使用中间区域 40 - 200 display.fill_rect(0, 40, 240, 160, st7789.BLACK) display.text(text, 0, 40, st7789.WHITE) -def main(): - print("\n" + "="*40) - print("AUDIO & MIC DIAGNOSTIC V5 (Modular & Clean)") - print("="*40 + "\n") - - # 0. 初始化 Boot 按键 (GPIO 0) - boot_btn = machine.Pin(0, machine.Pin.IN, machine.Pin.PULL_UP) - # 1. 初始化背光 - # 使用配置中的引脚 +def main(): + print("\n=== ESP32 Audio ASR ===\n") + + boot_btn = machine.Pin(0, machine.Pin.IN, machine.Pin.PULL_UP) + bl_pin = CURRENT_CONFIG.pins.get('bl') - if bl_pin is not None: + if bl_pin: try: bl = machine.Pin(bl_pin, machine.Pin.OUT) bl.on() - except Exception as e: - print(f"Backlight error: {e}") - - # 2. 音频测试 (重点排查) + except: + pass + speaker = AudioPlayer() - if speaker.i2s: - # 默认播放马里奥 - # speaker.play_mario() - - # 播放简单方波 (1kHz, 1秒) - # 直接在 main.py 中实现分块播放,避免因 audio.py 未同步导致的 MemoryError - print("Playing 1kHz square wave...") - try: - import struct - - # 1. 参数设置 - sr = 24000 # 默认采样率 - if hasattr(speaker, 'config') and speaker.config: - sr = speaker.config.get('sample_rate', 24000) - freq = 1000 - duration = 1000 # ms - vol = 10000 # 音量 (max 32767) - - # 2. 准备缓冲区 (只生成一小段,循环播放) - # 1kHz @ 24kHz -> 24 samples/cycle - period = sr // freq - # 生成约 1000 字节的 buffer (包含整数个周期) - cycles_in_buf = 10 - buf = bytearray(period * cycles_in_buf * 4) # 16bit stereo = 4 bytes/frame - - # 3. 填充方波数据 - for i in range(period * cycles_in_buf): - # 方波逻辑 - sample = vol if (i % period) < (period // 2) else -vol - # 写入左右声道 (Little Endian, 16-bit signed) - struct.pack_into(' 0: - speaker.i2s.write(buf) - - except Exception as e: - print(f"Tone error: {e}") - - else: - print("!!! Speaker initialization failed") - - # 3. 屏幕初始化 - display = Display() - - # 4. 麦克风实时监测 mic = Microphone() - print("\n>>> Starting Mic Monitor...") + display = Display() - read_buf = bytearray(4096) - - # UI if display.tft: display.init_ui() - last_print = time.ticks_ms() - last_bar_height = 0 - - # 录音状态变量 is_recording = False - - # WebSocket 连接 ws = None - # 定义连接函数 def connect_ws(): nonlocal ws - # Reset existing connection object to ensure clean slate try: if ws: ws.close() @@ -290,131 +102,74 @@ def main(): ws = None try: - print(f"Connecting to WebSocket Server: {SERVER_URL}") + print(f"Connecting to {SERVER_URL}") ws = WebSocketClient(SERVER_URL) - print("WebSocket connected successfully!") - - # Pass WebSocket to display for font loading + print("WebSocket connected!") if display: display.set_ws(ws) - return True except Exception as e: - print(f"WebSocket connection failed: {e}") + print(f"WS connection failed: {e}") return False - - # 先运行WiFi诊断 - print("Running WiFi diagnostics...") - diagnose_wifi() - # 尝试连接WiFi - print("Starting WiFi connection process...") - if connect_wifi(max_retries=3): - print("WiFi connected successfully!") + if connect_wifi(): connect_ws() else: - print("WiFi connection failed after all attempts!") - print("Continuing in offline mode without WebSocket functionality...") - print("You can still use the device for local audio recording and visualization.") - + print("Running in offline mode") + + read_buf = bytearray(4096) - # 调试:打印一次 Boot 键状态 - print(f"Boot Button Initial State: {boot_btn.value()}") - - heartbeat_state = False - while True: try: - # === 心跳指示器 (右上角) === - # 每隔 100ms 翻转一次,证明循环在跑 - if display.tft: - heartbeat_state = not heartbeat_state - color = st7789.GREEN if heartbeat_state else st7789.BLACK - display.tft.fill_rect(230, 0, 10, 10, color) - - # === 按键录音逻辑 (Boot 键按下) === btn_val = boot_btn.value() - # === 按键状态指示器 (左上角) === - # 红色表示按下,蓝色表示未按下 - if display.tft: - btn_color = st7789.RED if btn_val == 0 else st7789.BLUE - display.tft.fill_rect(0, 0, 10, 10, btn_color) - if btn_val == 0: if not is_recording: - print("\n>>> Start Recording (Boot Pressed)...") + print(">>> Recording...") is_recording = True if display.tft: - print(">>> Filling Screen WHITE") display.fill(st7789.WHITE) - else: - print(">>> Display TFT is None!") - # 尝试重连 WS if ws is None or not ws.is_connected(): - print(">>> WS not connected, trying to reconnect...") connect_ws() - # 发送开始录音指令 if ws and ws.is_connected(): try: ws.send("START_RECORDING") - except Exception as e: - print(f"WS Send Error: {e}") - ws = None # Disconnect on error - else: - print(">>> Warning: No WebSocket connection! Audio will be discarded.") + except: + ws = None - # 录音并流式传输 if mic.i2s: num_read = mic.readinto(read_buf) if num_read > 0: if ws and ws.is_connected(): try: - # 发送二进制数据 ws.send(read_buf[:num_read], opcode=2) - # 检查是否有回传的 ASR 结果 (非阻塞) poller = uselect.poll() poller.register(ws.sock, uselect.POLLIN) - events = poller.poll(0) # 0 = return immediately + events = poller.poll(0) if events: msg = ws.recv() if isinstance(msg, str) and msg.startswith("ASR:"): - print_nice_asr(msg[4:], display) - - except Exception as e: - print(f"WS Send/Recv Error: {e}") - # 如果发送失败,视为断开 - try: - ws.close() - except: - pass + print_asr(msg[4:], display) + + except: ws = None - else: - # 如果没有 WS,就不保存了,避免内存溢出 - pass - continue # 跳过可视化逻辑 - - # === 按键释放处理 === + continue + elif is_recording: - print(f"\n>>> Stop Recording.") + print(">>> Stop") is_recording = False if display.tft: display.init_ui() - # 停止录音并通知服务器 if ws: try: - print(">>> Sending STOP to server...") ws.send("STOP_RECORDING") - # 不再等待回放,直接退出录音状态 - # 稍微等待一下可能的最后 ASR 结果 (非阻塞) - # 等待 500ms 接收剩余的 ASR 结果 t_wait = time.ticks_add(time.ticks_ms(), 500) while time.ticks_diff(t_wait, time.ticks_ms()) > 0: poller = uselect.poll() @@ -423,59 +178,18 @@ def main(): if events: msg = ws.recv() if isinstance(msg, str) and msg.startswith("ASR:"): - print_nice_asr(msg[4:], display) - # 不需要处理其他类型的消息了 - except Exception as e: - print(f"Stop recording error: {e}") - try: - ws.close() - except: - pass + print_asr(msg[4:], display) + except: ws = None gc.collect() - - # === 原有的可视化逻辑 === - if mic.i2s: - num_read = mic.readinto(read_buf) - if num_read > 0: - sum_squares = 0 - count = num_read // 4 - step = 4 - samples_checked = 0 - max_val = 0 - - for i in range(0, count, step): - val = struct.unpack_from('> 8 - sum_squares += val * val - if abs(val) > max_val: max_val = abs(val) - samples_checked += 1 - - if samples_checked > 0: - rms = math.sqrt(sum_squares / samples_checked) - else: - rms = 0 - - if time.ticks_diff(time.ticks_ms(), last_print) > 1000: - print(f"Mic Level -> RMS: {int(rms)}, Max: {max_val}") - last_print = time.ticks_ms() - - if display.tft: - # 调整缩放比例 - bar_height = int((max_val / 40000) * 200) - if bar_height > 200: bar_height = 200 - if bar_height < 0: bar_height = 0 - - last_bar_height = display.update_audio_bar(bar_height, last_bar_height) - - else: - time.sleep(0.1) - + + time.sleep(0.01) + except Exception as e: - print(f"Loop error: {e}") + print(f"Error: {e}") time.sleep(1) + if __name__ == '__main__': main() diff --git a/websocket_server/__pycache__/server.cpython-312.pyc b/websocket_server/__pycache__/server.cpython-312.pyc index 333045ea8e575309c1291a0ec30fb8f5e1117e24..3be65f6d2c122c8cf7863be9b38faa5d8e5a4888 100644 GIT binary patch delta 4514 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 diff --git a/websocket_server/received_audio.mp3 b/websocket_server/received_audio.mp3 index b0d90577106dc4393f1621617745fabafa1c5de0..10b03fd71b8671b41f605931c88eeeb87e5a9338 100644 GIT binary patch literal 6812 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%0DsdKWqkQ*(Pl90<^ENa8R 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 literal 71680 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 None: print("ASR Session started") @@ -37,6 +42,7 @@ class MyRecognitionCallback(RecognitionCallback): if result.get_sentence(): text = result.get_sentence()['text'] print(f"ASR Result: {text}") + self.final_text = text # 保存识别结果 # 将识别结果发送回客户端 try: asyncio.run_coroutine_threadsafe( @@ -65,6 +71,74 @@ def process_chunk_32_to_16(chunk_bytes, gain=1.0): processed_chunk.extend(struct.pack('> 3) & 0x1F + g6 = (g >> 2) & 0x3F + b5 = (b >> 3) & 0x1F + + # 小端模式:低字节在前 + rgb565 = (r5 << 11) | (g6 << 5) | b5 + rgb565_data.extend(struct.pack('