Skip to content

Commit 4e3c1c5

Browse files
陈志和陈志和
authored andcommitted
test demo
1 parent 10c5eed commit 4e3c1c5

4 files changed

Lines changed: 25 additions & 13 deletions

File tree

src/OTA_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ def __init__(self,mac):
3131
"iccid": "89860125801125426850"
3232
}
3333
}
34-
self.url = "https://api.tenclass.net/xiaozhi/ota/"
35-
# self.url ="http://xiaozhi.pandastroller.com:8002/xiaozhi/ota/"
34+
# self.url = "https://api.tenclass.net/xiaozhi/ota/"
35+
self.url ="http://xiaozhi.pandastroller.com:8002/xiaozhi/ota/"
3636
self.response = None
3737
self.UDP_IP = None
3838
self.UDP_PORT = None

src/main.py renamed to src/_main.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from usr.threading import Thread, Event, Condition
1010
from usr.logging import getLogger
1111
import sys_bus
12+
import _thread
1213
# from usr import UI
1314

1415

@@ -114,26 +115,27 @@ def __init__(self):
114115
self.__record_thread_stop_event = Event()
115116
self.__voice_activity_event = Event()
116117
self.__keyword_spotting_event = Event()
117-
118+
118119
def __record_thread_handler(self):
119120
"""纯粹是为了kws&vad能识别才起的线程持续读音频"""
120121
logger.debug("record thread handler enter")
121122
while not self.__record_thread_stop_event.is_set():
122123
self.audio_manager.opus_read()
123124
utime.sleep_ms(5)
124125
logger.debug("record thread handler exit")
126+
125127

126128
def start_kws(self):
127129
self.audio_manager.start_kws()
128130
self.__record_thread_stop_event.clear()
129131
self.__record_thread = Thread(target=self.__record_thread_handler)
130132
self.__record_thread.start(stack_size=64)
131-
133+
132134
def stop_kws(self):
133135
self.__record_thread_stop_event.set()
134136
self.__record_thread.join()
135137
self.audio_manager.stop_kws()
136-
138+
137139
def start_vad(self):
138140
self.audio_manager.start_vad()
139141

@@ -199,9 +201,9 @@ def on_keyword_spotting(self, state):
199201
self.__keyword_spotting_event.set()
200202

201203
def on_voice_activity_detection(self, state):
202-
# gc.collect()
203204
logger.info("on_voice_activity_detection: {}".format(state))
204205
if state == 1:
206+
# gc.collect()
205207
# self.__protocol.abort()
206208
self.__voice_activity_event.set() # 有人声
207209
else:
@@ -215,7 +217,8 @@ def on_json_message(self, msg):
215217
return getattr(self, "handle_{}_message".format(msg["type"]))(msg)
216218

217219
def handle_stt_message(data, msg):
218-
raise NotImplementedError("handle_stt_message not implemented")
220+
print("stt数据",msg)
221+
# raise NotImplementedError("handle_stt_message not implemented")
219222

220223
def handle_tts_message(self, msg):
221224
state = msg["state"]
@@ -225,16 +228,21 @@ def handle_tts_message(self, msg):
225228
self.wifi_green_led.off()
226229
else:
227230
pass
228-
raise NotImplementedError("handle_tts_message not implemented")
231+
print("tts数据",msg)
232+
# raise NotImplementedError("handle_tts_message not implemented")
229233

230234
#"happy" "cool" "angry" "think"
231235
# ... existing code ...
232236
def handle_llm_message(data, msg):
233237
raise NotImplementedError("handle_llm_message not implemented")
234238

235239
def handle_iot_message(data, msg):
236-
raise NotImplementedError("handle_iot_message not implemented")
240+
print("iot数据",msg)
241+
# raise NotImplementedError("handle_iot_message not implemented")
237242

243+
def handle_error_message(data, msg):
244+
print("error数据",msg)
245+
# raise NotImplementedError("handle_error_message not implemented")
238246

239247
def run(self):
240248
self.charge_manager.enable_charge()

src/protocol.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from usr.logging import getLogger
77
import sys_bus
88
from usr.OTA_test import OTA
9+
import gc
10+
911

1012

1113

@@ -136,7 +138,7 @@ def connect(self):
136138
__client__ = ws.Client.connect(
137139
self.host,
138140
headers={
139-
"Authorization": "Bearer {}".format(WSS_HOST["websocket"]["token"]),
141+
# "Authorization": "Bearer {}".format(WSS_HOST["websocket"]["token"]),
140142
"Protocol-Version": PROTOCOL_VERSION,
141143
"Device-Id": self.get_mac_address(),
142144
"Client-Id": self.generate_uuid()
@@ -213,7 +215,8 @@ def recv(self):
213215

214216
# 对比 text_value 和上次的值是否相同
215217
if text_value != self.__last_text_value and text_value is not None:
216-
print(text_value) # 仅在不同时打印
218+
# print(text_value) # 仅在不同时打印
219+
print("内存:",gc.mem_free())
217220
self.__last_text_value = text_value # 更新为最新的 text_value
218221
# logger.debug("recv data: ", data)
219222
return data

src/utils.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def __init__(self, channel=0, volume=10, pa_number=29):
2525
self.aud.setVolume(volume) # 设置音量
2626
self.aud.setCallback(self.audio_cb)
2727
self.rec = audio.Record(channel)
28-
self.rec.gain_set(4,9)
28+
self.rec.gain_set(3,9)
2929
self.__skip = 0
3030

3131
# ========== 音频文件 ====================
@@ -75,7 +75,8 @@ def wrapper(state):
7575
self.__skip += 1
7676
return
7777
return cb(state)
78-
self.rec.vad_set_callback(wrapper)
78+
self._callable = wrapper
79+
self.rec.vad_set_callback(self._callable)
7980

8081
def end_cb(self, para):
8182
if(para[0] == "stream"):

0 commit comments

Comments
 (0)