1、所有日志和上报数据的MAC地址从WiFi MAC改为蓝牙MAC(eFuse读取,无需启动蓝牙);

2、电量上报扩展为设备状态上报,新增is_online/volume/brightness字段;
3、新增RTC火山引擎连接状态追踪(检测kDeviceStateDialog);
4、新增重启前上报设备离线状态(OnBeforeRestart虚方法);
5、重命名BATTERY_REPORT为DEVICE_STATUS_REPORT(Kconfig/变量/函数/日志);
6、对齐服务端接口:URL端口和路径修正,JSON字段名battery_level改为battery,移除wifi_rssi;

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Rdzleo 2026-02-12 14:38:31 +08:00
parent 903a61678c
commit 60a2c7b068
8 changed files with 808 additions and 225 deletions

View File

@ -1,175 +1,733 @@
I (34411) VolcRtcProtocol: 上行音频统计: PCM帧=52 字节=16640, G711A帧=0 字节=0, 速率=65234 bps I (2151) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (34411) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0 I (2151) AudioCodec: 将运行时输出音量设置为40
2025-12-10 10:36:44.167 [E] LiteSocket.c:316 Send data to fd 58 realSend/should 0/36 I/O error type 2 I (2151) Application: 设备启动完成,播放开机播报语音
I (36151) Application: Simple VAD state change: speaking=true, device_state=7 I (2151) pp: pp rom version: e7ae62f
2025-12-10 10:36:44.599 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=0, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=20 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0 I (2151) net80211: net80211 rom version: e7ae62f
2025-12-10 10:36:44.639 [W] EventReportControl.c:195 PEventReportControl pAvailableLogdataQueue is empty, need drop this message, isStat 1 I (2161) wifi:wifi driver task: 3fce4d24, prio:23, stack:6656, core=0
I (36471) Application: AFE输出统计: 帧=32 样本=512 I (2161) wifi:wifi firmware version: bea31f3
I (36471) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=63503 bps I (2161) wifi:wifi certification version: v7.0
I (36471) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0 I (2161) wifi:config NVS flash: disabled
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=266 binary=1 free_heap=7732388 I (2161) wifi:config nano formatting: disabled
I (36721) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi:Init data frame dynamic rx buffer num: 32
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=266 binary=1 free_heap=7732392 I (2161) wifi:Init dynamic rx mgmt buffer num: 5
I (36731) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi:Init management short buffer num: 32
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=266 binary=1 free_heap=7732948 I (2161) wifi:Init static tx buffer num: 16
I (36791) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi:Init tx cache buffer num: 32
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=278 binary=1 free_heap=7732532 I (2161) wifi:Init static tx FG buffer num: 2
I (37021) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi:Init static rx buffer size: 1600
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=278 binary=1 free_heap=7732268 I (2161) wifi:Init static rx buffer num: 16
I (37041) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi:Init dynamic rx buffer num: 32
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=278 binary=1 free_heap=7734640 I (2161) wifi_init: rx ba win: 16
I (37091) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi_init: accept mbox: 6
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=284 binary=1 free_heap=7732556 I (2161) wifi_init: tcpip mbox: 32
I (37311) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi_init: udp mbox: 6
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=284 binary=1 free_heap=7732548 I (2161) wifi_init: tcp mbox: 6
I (37321) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi_init: tcp tx win: 5760
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=284 binary=1 free_heap=7734652 I (2161) wifi_init: tcp rx win: 5760
I (37391) VolcRtcProtocol: 接收下行消息: subv I (2161) wifi_init: tcp mss: 1440
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=296 binary=1 free_heap=7732348 I (2161) wifi_init: WiFi/LWIP prefer SPIRAM
I (37571) VolcRtcProtocol: 接收下行消息: subv I (2161) phy_init: phy_version 701,f4f1da3a,Mar 3 2025,15:50:10
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7730264 I (2201) wifi:mode : sta (20:6e:f1:b9:af:a0)
I (37601) VolcRtcProtocol: 接收下行消息: subv I (2201) wifi:enable tsf
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7731628 I (2201) Application: 开始播放下行音频: 样本=960 采样率=16000
I (37701) VolcRtcProtocol: 接收下行消息: subv I (4611) wifi: 发现可连接 AP: airhub, BSSID: 70:2a:d7:85:bc:eb, RSSI: -32, Channel: 6, Authmode: 3
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7730676 I (4611) WifiBoard: Starting WiFi connection, playing network connection sound
I (37791) VolcRtcProtocol: 接收下行消息: subv W (4611) wifi:Password length matches WPA2 standards, authmode threshold changes from OPEN to WPA2
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7732580 I (4711) wifi:new:<6,1>, old:<1,0>, ap:<255,255>, sta:<6,1>, prof:1, snd_ch_cfg:0x0
I (37971) VolcRtcProtocol: 接收下行消息: subv I (4711) wifi:state: init -> auth (0xb0)
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7732304 I (4731) wifi:state: auth -> assoc (0x0)
I (37991) VolcRtcProtocol: 接收下行消息: subv I (4751) wifi:state: assoc -> run (0x10)
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7730792 I (4771) wifi:connected with airhub, aid = 2, channel 6, 40U, bssid = 70:2a:d7:85:bc:eb
I (38101) VolcRtcProtocol: 接收下行消息: subv I (4771) wifi:security: WPA2-PSK, phy: bgn, rssi: -31
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7732624 I (4771) wifi:pm start, type: 1
I (38271) VolcRtcProtocol: 接收下行消息: subv
2025-12-10 10:36:46.603 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=0, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=20 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0 I (4771) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7730804 I (4771) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (38301) VolcRtcProtocol: 接收下行消息: subv I (4791) wifi:<ba-add>idx:0 (ifx:0, 70:2a:d7:85:bc:eb), tid:0, ssn:0, winSize:64
2025-12-10 10:36:46.628 [W] EventReportControl.c:195 PEventReportControl pAvailableLogdataQueue is empty, need drop this message, isStat 1 I (4841) wifi:AP's beacon interval = 102400 us, DTIM period = 1
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7730700 I (5081) Airhub1: 📤 电量上报功能已启用每30秒上报一次
I (38401) VolcRtcProtocol: 接收下行消息: subv I (6501) wifi: Got IP: 192.168.124.25
I (38511) Application: AFE输出统计: 帧=32 样本=512 I (6501) esp_netif_handlers: sta ip: 192.168.124.25, mask: 255.255.255.0, gw: 192.168.124.1
I (38511) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64025 bps I (11181) Airhub1: ADC: 963, 原始电压: 0.96V, 计算电池电压: 4.18V, 电量: 98%, 满电电压: 4.20V
I (38511) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0 I (11181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7732516 I (11501) VolcRtcProtocol: 设置Agent配置参数: {"Config":{"WebSearchAgentConfig":{"ParamsString":"{\"bot_id\":\"7585449675889608233\",\"stream\":true,\"location_info\":{\"city\":\"广州市\"}}"}}}
I (38551) VolcRtcProtocol: 接收下行消息: subv I (11501) VolcRtcProtocol: VolcRtcProtocol 开始启动...
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=297 binary=1 free_heap=7732620 I (11501) VolcRtcProtocol: 使用Wi-Fi MAC地址作为设备名称(已替换冒号为下划线): 20_6e_f1_b9_af_a0
I (38601) VolcRtcProtocol: 接收下行消息: subv I (11501) VolcRtcProtocol: NVS凭证已加载secret=1 appid=1 device_name=20_6e_f1_b9_af_a0, free_heap=8289960
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=303 binary=1 free_heap=7732904 [INF|volc_rtc.c:597]volc_rtc_create: set param[0]: {"debug":{"log_to_console":1}}
I (38691) VolcRtcProtocol: 接收下行消息: subv [INF|volc_rtc.c:597]volc_rtc_create: set param[1]: {"audio":{"codec":{"internal":{"enable":1}}}}
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=303 binary=1 free_heap=7732548 [INF|volc_rtc.c:597]volc_rtc_create: set param[2]: {"rtc":{"access":{"concurrent_requests":1}}}
I (38871) VolcRtcProtocol: 接收下行消息: subv [INF|volc_rtc.c:597]volc_rtc_create: set param[3]: {"rtc":{"ice":{"concurrent_agents":1}}}
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=303 binary=1 free_heap=7730464 1970-01-01 08:00:43.149 [I] VolcEngineRTCLite.c:153 ****************** HELLO BOOKA (68f0bc7617b8520178bef12c)(1.57.207.001)(HASH-5c3aa20fe851886d21cede0115044e17c3ec8a67) ********************
I (38891) VolcRtcProtocol: 接收下行消息: subv 1970-01-01 08:00:43.150 [I] VolcEngineRTCLite.c:158 Platform esp32s3
I (38971) Application: Simple VAD state change: speaking=false, device_state=7 1970-01-01 08:00:43.150 [I] VolcEngineRTCLite.c:161 OsVersion FreeRTOS/unknown
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=303 binary=1 free_heap=7734720 1970-01-01 08:00:43.150 [I] VolcEngineRTCLite.c:164 CompilerInfo GCC/14.2.0
I (38991) VolcRtcProtocol: 接收下行消息: subv 1970-01-01 08:00:43.150 [I] VolcEngineRTCLite.c:100 BOOKA_DEVICE_LOW_RESOURCE : ON
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=303 binary=1 free_heap=7732640 1970-01-01 08:00:43.151 [I] VolcEngineRTCLite.c:104 BOOKA_ENABLE_EVENT_REPORT : ON
I (39181) VolcRtcProtocol: 接收下行消息: subv 1970-01-01 08:00:43.151 [I] VolcEngineRTCLite.c:108 ENABLE_G722_CODEC : ON
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=303 binary=1 free_heap=7732368 1970-01-01 08:00:43.151 [I] GlobalParams.c:232 pGlobalParams->configParams.rtc.access.concurrent_requests from 2 to 1
I (39191) VolcRtcProtocol: 接收下行消息: subv 1970-01-01 08:00:43.152 [I] GlobalParams.c:233 pGlobalParams->configParams.rtc.ice.concurrent_agents from 2 to 1
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=303 binary=1 free_heap=7732952 1970-01-01 08:00:43.152 [I] GlobalParams.c:239 pGlobalParams->configParams.audio.codec.internal.enable from 0 to 1
I (39321) VolcRtcProtocol: 接收下行消息: subv 1970-01-01 08:00:43.152 [I] GlobalParams.c:244 pGlobalParams->configParams.debug.log_to_console from 0 to 1
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=301 binary=1 free_heap=7734480 1970-01-01 08:00:43.153 [I] GlobalParams.c:247 pGlobalParams->configParams.rtc.root_path to .
I (39331) VolcRtcProtocol: 接收下行消息: subv I (11511) wifi:<ba-add>idx:1 (ifx:0, 70:2a:d7:85:bc:eb), tid:3, ssn:0, winSize:64
I (39341) Application: Free internal: 13235 minimal internal: 4807 1970-01-01 08:00:43.156 [E] Cache.c:273 operation returned status code: 0x00000009
2025-12-10 10:36:48.637 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=0, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=20 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0 2026-02-12 11:07:27.040 [E] SocketConnection-Lite.c:191 bind local ip failed
2025-12-10 10:36:48.639 [W] EventReportControl.c:195 PEventReportControl pAvailableLogdataQueue is empty, need drop this message, isStat 1 2026-02-12 11:07:27.043 [I] LiteResolver.c:213 start resolve rtc-log-service.volcvideo.com by sep thread
2025-12-10 10:36:48.734 [I] rx_net_audio_jitterbuffer.c:1785 fir pkt seq=0 2026-02-12 11:07:27.046 [I] API byte_rtc_set_audio_codec engine 0x3c2eb4f0 audio_codec_type 4
2025-12-10 10:36:48.735 [I] rx_net_audio_jitterbuffer.c:1792 first recv dia cnt=1, fir pkt=0 2026-02-12 11:07:27.047 [I] Common.c:82 rtcAudioCodec2SdkAudioCodec codec 5
2025-12-10 10:36:48.736 [I] rx_net_audio_jitterbuffer.c:1617 [a_jb]reset jb bsize=0, needr=1, rst_cur_round=1, rst_cnt=-1 2026-02-12 11:07:27.047 [I] API byte_rtc_set_video_codec engine 0x3c2eb4f0 video_codec_type 0
2025-12-10 10:36:48.738 [I] rx_net_audio_jitterbuffer.c:1785 fir pkt seq=1 I (11521) VolcRtcProtocol: RTC实例已准备就绪房间加入将在监听状态后执行
2025-12-10 10:36:48.763 [I] rx_net_audio_jitterbuffer.c:1443 build_target_delay over need_extract_packet s=100 I (11521) Application: 🌐 开始初始化WebSocket协议...
I (40481) VolcRtcProtocol: 接收下行音频首包: 类型=PCM 大小=320 I (11521) Application: 🔧 创建WebsocketProtocol实例
I (40481) Application: 收到下行音频首包入队: 字节=320 I (11521) Application: 🚀 启动WebSocket协议
I (40581) Application: AFE输出统计: 帧=32 样本=512 I (11521) Application: ✅ WebSocket协议初始化完成
I (40591) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=62849 bps I (11521) VolcRtcProtocol: VolcRtcProtocol初始化任务已创建
I (40591) VolcRtcProtocol: 下行音频统计: PCM字节=1920, OPUS字节=0 I (11531) EspHttp: Opening HTTP connection to https://xiaozhi-dev-web.goods.fun/xiaozhi/ota/
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=280 binary=1 free_heap=7678168 I (11531) Application: 打印设置设备状态日志: idle
I (40711) VolcRtcProtocol: 接收下行消息: subv I (11531) Application: Entering idle state, playing standby sound
2025-12-10 10:36:49.018 [W] EngineImplX.c:1047 callback pEngineImplX->eventHandler.on_message_received used too many times 4 I (11531) WeatherApi: [AutoDetectAndSetLocation] 调用全局函数自动检测位置
I (40951) Application: Simple VAD state change: speaking=true, device_state=7 I (11531) WeatherApi: [AutoDetectLocation] ===== 开始自动检测位置 =====
2025-12-10 10:36:50.283 [I] rx_net_audio_jitterbuffer.c:1717 is burst ver, [a_jb] rtt_to_s: 24, e2e_avg: -1, e2e_max: 0 I (11531) WeatherApi: [AutoDetectLocation] 从NVS命中位置: '广州市',已更新默认城市
I (42091) Application: Simple VAD state change: speaking=false, device_state=7 I (11531) WeatherApi: [AutoDetectLocation] ===== 位置检测完成 =====
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=275 binary=1 free_heap=7665536 I (11531) main_task: Returned from app_main()
I (42111) VolcRtcProtocol: 接收下行消息: subv 2026-02-12 11:07:27.095 [I] LiteResolver.c:213 start resolve rtc-log-info.volcvideo.com by sep thread
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=281 binary=1 free_heap=7673992 2026-02-12 11:07:27.115 [I] LiteResolver.c:213 start resolve access.rtc.volcvideo.com by sep thread
I (42311) VolcRtcProtocol: 接收下行消息: subv I (12051) esp-x509-crt-bundle: Certificate validated
2025-12-10 10:36:50.638 [W] EventReportControl.c:195 PEventReportControl pAvailableLogdataQueue is empty, need drop this message, isStat 1 2026-02-12 11:07:27.987 [E] Cache.c:311 operation returned status code: 0x00000009
W (42381) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.31, dist=0.10, echo=0.900 I (12651) Ota: HTTP response status code: 0
I (42391) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (12661) Ota: Server role: , Device role: RTC_Test
2025-12-10 10:36:50.744 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 119:3:122,in: jitter nor=36 reor=281, wj=11, out: pkt=99 t_diff=52 seq_diff=1 buffer_ms=420 target_ms=100 expand_npkt=0 expand_loss=0 start_seq 1 end_seq 118 W (12661) Ota: Role mismatch (Device:RTC_Test vs Server:), upgrade denied
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=287 binary=1 free_heap=7672624 W (12661) Ota: ✗ Upgrade conditions not met - Role: ✗, Version check: skipped
I (42501) VolcRtcProtocol: 接收下行消息: subv I (12661) Ota: Running partition: ota_0
W (42531) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.30, dist=0.10, echo=0.900 2026-02-12 19:07:28.179 [I] IceAgent.c:2533 cur nominatedCandidatePair local 192.168.124.25:0 remote 183.60.131.168:50000 state ICE_CANDIDATE_PAIR_STATE_SUCCEEDED
I (42561) Application: Simple VAD state change: speaking=true, device_state=7 I (21181) Airhub1: ADC: 964, 原始电压: 0.96V, 计算电池电压: 4.18V, 电量: 98%, 满电电压: 4.20V
I (42561) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (21181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=293 binary=1 free_heap=7673932 I (21181) Airhub1: 🔋 进入低功耗模式CPU降频、Light Sleep启用、功放关闭
I (42611) VolcRtcProtocol: 接收下行消息: subv I (21181) I2S_IF: Pending out channel for in channel running
I (42621) Application: AFE输出统计: 帧=32 样本=512 I (21181) AudioCodec: Set output enable to false
I (42621) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64105 bps I (21181) Airhub1: 🔊 功放已关闭
I (42621) VolcRtcProtocol: 下行音频统计: PCM字节=32640, OPUS字节=0 I (31181) Airhub1: ADC: 964, 原始电压: 0.96V, 计算电池电压: 4.18V, 电量: 98%, 满电电压: 4.20V
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=299 binary=1 free_heap=7671932 I (31181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (42811) VolcRtcProtocol: 接收下行消息: subv I (34081) Airhub1: 📤 准备上报电量: 98%
W (42811) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.38, dist=0.10, echo=0.420 I (34081) Airhub1: 当前WiFi信号强度: -33 dBm
I (42871) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (34081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":98,"wifi_rssi":-33}
I (42891) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (34081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=305 binary=1 free_heap=7672820 I (34301) esp-x509-crt-bundle: Certificate validated
I (43011) VolcRtcProtocol: 接收下行消息: subv I (34931) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
W (43051) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.36, dist=0.10, echo=0.243 I (34931) Airhub1: ✅ 电量上报完成
I (43071) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (41181) Airhub1: ADC: 965, 原始电压: 0.96V, 计算电池电压: 4.19V, 电量: 99%, 满电电压: 4.20V
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=311 binary=1 free_heap=7672764 I (41181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (43111) VolcRtcProtocol: 接收下行消息: subv I (51181) Airhub1: ADC: 966, 原始电压: 0.97V, 计算电池电压: 4.19V, 电量: 99%, 满电电压: 4.20V
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=317 binary=1 free_heap=7672320 I (51181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (43211) VolcRtcProtocol: 接收下行消息: subv I (61181) Airhub1: ADC: 966, 原始电压: 0.97V, 计算电池电压: 4.19V, 电量: 99%, 满电电压: 4.20V
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=323 binary=1 free_heap=7671932 I (61181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (43411) VolcRtcProtocol: 接收下行消息: subv I (64081) Airhub1: 📤 准备上报电量: 99%
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=336 binary=1 free_heap=7670376 I (64081) Airhub1: 当前WiFi信号强度: -36 dBm
I (43711) VolcRtcProtocol: 接收下行消息: subv I (64081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":99,"wifi_rssi":-36}
2025-12-10 10:36:52.286 [I] rx_net_audio_jitterbuffer.c:1717 is burst ver, [a_jb] rtt_to_s: 13, e2e_avg: 0, e2e_max: 0 I (64091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
2025-12-10 10:36:52.628 [W] EventReportControl.c:195 PEventReportControl pAvailableLogdataQueue is empty, need drop this message, isStat 1 I (64261) esp-x509-crt-bundle: Certificate validated
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=342 binary=1 free_heap=7669460 I (65141) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (44411) VolcRtcProtocol: 接收下行消息: subv I (65141) Airhub1: ✅ 电量上报完成
2025-12-10 10:36:52.762 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 101:0:101,in: jitter nor=12 reor=0, wj=9, out: pkt=101 t_diff=26 seq_diff=1 buffer_ms=420 target_ms=100 expand_npkt=0 expand_loss=0 start_seq 119 end_seq 219 I (71181) Airhub1: ADC: 967, 原始电压: 0.97V, 计算电池电压: 4.20V, 电量: 99%, 满电电压: 4.20V
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=348 binary=1 free_heap=7674988 I (71181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (44611) VolcRtcProtocol: 接收下行消息: subv I (81181) Airhub1: ADC: 968, 原始电压: 0.97V, 计算电池电压: 4.20V, 电量: 100%, 满电电压: 4.20V
I (44661) Application: AFE输出统计: 帧=32 样本=512 I (81181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (44661) VolcRtcProtocol: 上行音频统计: PCM帧=52 字节=16640, G711A帧=0 字节=0, 速率=65288 bps I (91181) Airhub1: ADC: 969, 原始电压: 0.97V, 计算电池电压: 4.21V, 电量: 100%, 满电电压: 4.20V
I (44661) VolcRtcProtocol: 下行音频统计: PCM字节=32640, OPUS字节=0 I (91181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=354 binary=1 free_heap=7673600 I (94081) Airhub1: 📤 准备上报电量: 100%
I (44711) VolcRtcProtocol: 接收下行消息: subv I (94081) Airhub1: 当前WiFi信号强度: -37 dBm
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=360 binary=1 free_heap=7675268 I (94081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-37}
I (44911) VolcRtcProtocol: 接收下行消息: subv I (94081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=366 binary=1 free_heap=7672820 I (94251) esp-x509-crt-bundle: Certificate validated
I (45011) VolcRtcProtocol: 接收下行消息: subv I (94771) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=372 binary=1 free_heap=7671928 I (94781) Airhub1: ✅ 电量上报完成
I (45301) VolcRtcProtocol: 接收下行消息: subv I (101181) Airhub1: ADC: 970, 原始电压: 0.97V, 计算电池电压: 4.21V, 电量: 100%, 满电电压: 4.20V
W (45381) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.34, dist=0.10, echo=1.915 I (101181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (45411) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (111181) Airhub1: ADC: 971, 原始电压: 0.97V, 计算电池电压: 4.21V, 电量: 100%, 满电电压: 4.20V
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=378 binary=1 free_heap=7668812 I (111181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (45501) VolcRtcProtocol: 接收下行消息: subv I (121181) Airhub1: ADC: 972, 原始电压: 0.97V, 计算电池电压: 4.22V, 电量: 100%, 满电电压: 4.20V
W (45531) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.32, dist=0.15, echo=0.180 I (121181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (45561) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (124081) Airhub1: 📤 准备上报电量: 100%
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=384 binary=1 free_heap=7670824 I (124081) Airhub1: 当前WiFi信号强度: -35 dBm
I (45711) VolcRtcProtocol: 接收下行消息: subv I (124081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-35}
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=401 binary=1 free_heap=7667360 I (124091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (45821) VolcRtcProtocol: 接收下行消息: subv I (124271) esp-x509-crt-bundle: Certificate validated
W (45891) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.30, dist=0.10, echo=1.012 I (124871) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (45951) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (124871) Airhub1: ✅ 电量上报完成
2025-12-10 10:36:54.285 [I] rx_net_audio_jitterbuffer.c:1717 is burst ver, [a_jb] rtt_to_s: 10, e2e_avg: 12, e2e_max: 18 I (131181) Airhub1: ADC: 973, 原始电压: 0.97V, 计算电池电压: 4.22V, 电量: 100%, 满电电压: 4.20V
W (46191) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.33, dist=0.10, echo=1.166 I (131181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (46291) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (141181) Airhub1: ADC: 974, 原始电压: 0.97V, 计算电池电压: 4.23V, 电量: 100%, 满电电压: 4.20V
2025-12-10 10:36:54.644 [W] EventReportControl.c:195 PEventReportControl pAvailableLogdataQueue is empty, need drop this message, isStat 1 I (141181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
2025-12-10 10:36:54.783 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 101:0:101,in: jitter nor=9 reor=0, wj=13, out: pkt=101 t_diff=29 seq_diff=1 buffer_ms=420 target_ms=100 expand_npkt=0 expand_loss=0 start_seq 220 end_seq 320 I (151181) Airhub1: ADC: 975, 原始电压: 0.98V, 计算电池电压: 4.23V, 电量: 100%, 满电电压: 4.20V
I (46711) Application: AFE输出统计: 帧=32 样本=512 I (151181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (46711) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=63624 bps I (154081) Airhub1: 📤 准备上报电量: 100%
I (46711) VolcRtcProtocol: 下行音频统计: PCM字节=32640, OPUS字节=0 I (154081) Airhub1: 当前WiFi信号强度: -35 dBm
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=270 binary=1 free_heap=7673108 I (154081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-35}
I (46911) VolcRtcProtocol: 接收下行消息: subv I (154081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=276 binary=1 free_heap=7675136 I (154351) esp-x509-crt-bundle: Certificate validated
I (47011) VolcRtcProtocol: 接收下行消息: subv I (154971) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=288 binary=1 free_heap=7671228 I (154971) Airhub1: ✅ 电量上报完成
I (47211) VolcRtcProtocol: 接收下行消息: subv I (161181) Airhub1: ADC: 976, 原始电压: 0.98V, 计算电池电压: 4.24V, 电量: 100%, 满电电压: 4.20V
W (47481) AudioProcessor: 🔴 Entering HIGH INTERFERENCE mode - vol=0.37, dist=0.10, echo=0.957 I (161181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (47511) AudioProcessor: 🟢 Exiting high interference mode - returning to adaptive suppression I (171181) Airhub1: ADC: 977, 原始电压: 0.98V, 计算电池电压: 4.24V, 电量: 100%, 满电电压: 4.20V
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_Airhub_rtc33_20251210103631000 src=bot_20251210103631000 size=294 binary=1 free_heap=7670656 I (171181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (47811) VolcRtcProtocol: 接收下行消息: subv I (181181) Airhub1: ADC: 978, 原始电压: 0.98V, 计算电池电压: 4.24V, 电量: 100%, 满电电压: 4.20V
I (181181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (184081) Airhub1: 📤 准备上报电量: 100%
I (184081) Airhub1: 当前WiFi信号强度: -34 dBm
I (184081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (184081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (184271) esp-x509-crt-bundle: Certificate validated
I (184821) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (184821) Airhub1: ✅ 电量上报完成
I (191181) Airhub1: ADC: 979, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (191181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (201181) Airhub1: ADC: 980, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (201181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (211181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (211181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (214081) Airhub1: 📤 准备上报电量: 100%
I (214081) Airhub1: 当前WiFi信号强度: -39 dBm
I (214081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-39}
I (214081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (214281) esp-x509-crt-bundle: Certificate validated
I (214771) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (214771) Airhub1: ✅ 电量上报完成
I (221181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (221181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (231181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (231181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (241181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (241181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (244081) Airhub1: 📤 准备上报电量: 100%
I (244081) Airhub1: 当前WiFi信号强度: -42 dBm
I (244081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-42}
I (244081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (244291) esp-x509-crt-bundle: Certificate validated
I (244791) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (244791) Airhub1: ✅ 电量上报完成
I (251181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (251181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (261181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (261181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (271181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (271181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (274081) Airhub1: 📤 准备上报电量: 100%
I (274081) Airhub1: 当前WiFi信号强度: -39 dBm
I (274081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-39}
I (274081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (274271) esp-x509-crt-bundle: Certificate validated
I (274891) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (274891) Airhub1: ✅ 电量上报完成
I (281181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (281181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (291181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (291181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (301181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (301181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (304081) Airhub1: 📤 准备上报电量: 100%
I (304081) Airhub1: 当前WiFi信号强度: -41 dBm
I (304081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-41}
I (304091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (304271) esp-x509-crt-bundle: Certificate validated
I (304921) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (304921) Airhub1: ✅ 电量上报完成
I (311181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (311181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (321181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (321181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (331181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (331181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (334081) Airhub1: 📤 准备上报电量: 100%
I (334081) Airhub1: 当前WiFi信号强度: -32 dBm
I (334081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-32}
I (334081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (334271) esp-x509-crt-bundle: Certificate validated
I (334811) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (334811) Airhub1: ✅ 电量上报完成
I (341181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (341181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (351181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (351181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (361181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (361181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (364081) Airhub1: 📤 准备上报电量: 100%
I (364081) Airhub1: 当前WiFi信号强度: -33 dBm
I (364081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (364081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (364331) esp-x509-crt-bundle: Certificate validated
I (365021) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (365021) Airhub1: ✅ 电量上报完成
I (371181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (371181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (381181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (381181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (391181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (391181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (394081) Airhub1: 📤 准备上报电量: 100%
I (394081) Airhub1: 当前WiFi信号强度: -33 dBm
I (394081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (394081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (394251) esp-x509-crt-bundle: Certificate validated
I (394791) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (394791) Airhub1: ✅ 电量上报完成
I (401181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (401181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (411181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (411181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (421181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (421181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (424081) Airhub1: 📤 准备上报电量: 100%
I (424081) Airhub1: 当前WiFi信号强度: -33 dBm
I (424081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (424081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (424271) esp-x509-crt-bundle: Certificate validated
I (424861) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (424861) Airhub1: ✅ 电量上报完成
I (431181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (431181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (441181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (441181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (451181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (451181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (454081) Airhub1: 📤 准备上报电量: 100%
I (454081) Airhub1: 当前WiFi信号强度: -33 dBm
I (454081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (454081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (454271) esp-x509-crt-bundle: Certificate validated
I (454951) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (454951) Airhub1: ✅ 电量上报完成
I (461181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (461181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (471181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (471181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (481181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (481181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (484081) Airhub1: 📤 准备上报电量: 100%
I (484081) Airhub1: 当前WiFi信号强度: -33 dBm
I (484091) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (484091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (484251) esp-x509-crt-bundle: Certificate validated
I (484831) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (484841) Airhub1: ✅ 电量上报完成
I (491181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (491181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (501181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (501181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (511181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (511181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (514081) Airhub1: 📤 准备上报电量: 100%
I (514081) Airhub1: 当前WiFi信号强度: -33 dBm
I (514081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (514081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (514251) esp-x509-crt-bundle: Certificate validated
I (514831) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (514831) Airhub1: ✅ 电量上报完成
I (521181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (521181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (531181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (531181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (541181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (541181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (544081) Airhub1: 📤 准备上报电量: 100%
I (544081) Airhub1: 当前WiFi信号强度: -32 dBm
I (544091) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-32}
I (544091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (544251) esp-x509-crt-bundle: Certificate validated
I (544821) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (544821) Airhub1: ✅ 电量上报完成
I (551181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (551181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (561181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (561181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (571181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (571181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (574081) Airhub1: 📤 准备上报电量: 100%
I (574081) Airhub1: 当前WiFi信号强度: -31 dBm
I (574081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-31}
I (574081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (574321) esp-x509-crt-bundle: Certificate validated
I (574931) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (574931) Airhub1: ✅ 电量上报完成
I (581181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (581181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (591181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (591181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (601181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (601181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (604081) Airhub1: 📤 准备上报电量: 100%
I (604081) Airhub1: 当前WiFi信号强度: -32 dBm
I (604081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-32}
I (604081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (604261) esp-x509-crt-bundle: Certificate validated
I (604791) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (604791) Airhub1: ✅ 电量上报完成
I (611181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (611181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (621181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (621181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (631181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (631181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (634081) Airhub1: 📤 准备上报电量: 100%
I (634081) Airhub1: 当前WiFi信号强度: -33 dBm
I (634081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (634081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (634351) esp-x509-crt-bundle: Certificate validated
I (634921) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (634921) Airhub1: ✅ 电量上报完成
I (641181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (641181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (651181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (651181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (661181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (661181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (664081) Airhub1: 📤 准备上报电量: 100%
I (664081) Airhub1: 当前WiFi信号强度: -33 dBm
I (664081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (664081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (664321) esp-x509-crt-bundle: Certificate validated
I (664921) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (664931) Airhub1: ✅ 电量上报完成
I (671181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (671181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (681181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (681181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (691181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (691181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (694081) Airhub1: 📤 准备上报电量: 100%
I (694081) Airhub1: 当前WiFi信号强度: -33 dBm
I (694081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (694081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (694251) esp-x509-crt-bundle: Certificate validated
I (694841) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (694851) Airhub1: ✅ 电量上报完成
I (701181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (701181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (711181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (711181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (721181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (721181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (724081) Airhub1: 📤 准备上报电量: 100%
I (724081) Airhub1: 当前WiFi信号强度: -34 dBm
I (724091) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (724091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (724281) esp-x509-crt-bundle: Certificate validated
I (724821) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (724831) Airhub1: ✅ 电量上报完成
I (731181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (731181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (741181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (741181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (751181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (751181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (754081) Airhub1: 📤 准备上报电量: 100%
I (754081) Airhub1: 当前WiFi信号强度: -34 dBm
I (754081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (754081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (754261) esp-x509-crt-bundle: Certificate validated
I (754831) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (754831) Airhub1: ✅ 电量上报完成
I (761181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (761181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (771181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (771181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (781181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (781181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (784081) Airhub1: 📤 准备上报电量: 100%
I (784081) Airhub1: 当前WiFi信号强度: -34 dBm
I (784081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (784081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (784291) esp-x509-crt-bundle: Certificate validated
I (784841) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (784841) Airhub1: ✅ 电量上报完成
I (791181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (791181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (792291) wifi:new:<6,0>, old:<6,1>, ap:<255,255>, sta:<6,0>, prof:1, snd_ch_cfg:0x0
I (801181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (801181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (811181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (811181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (814081) Airhub1: 📤 准备上报电量: 100%
I (814081) Airhub1: 当前WiFi信号强度: -33 dBm
I (814081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (814081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (814261) esp-x509-crt-bundle: Certificate validated
I (814811) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (814811) Airhub1: ✅ 电量上报完成
I (821181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (821181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (831181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (831181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (841181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (841181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (844081) Airhub1: 📤 准备上报电量: 100%
I (844081) Airhub1: 当前WiFi信号强度: -36 dBm
I (844081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-36}
I (844081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (844271) esp-x509-crt-bundle: Certificate validated
I (844881) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (844881) Airhub1: ✅ 电量上报完成
I (846321) Airhub1: BOOT button clicked
I (846321) Airhub1: 触摸任务已解锁,可以接收新的触摸
I (846321) Airhub1: 当前设备状态: 3
I (846321) Airhub1: 所有触摸状态已重置
I (846321) Airhub1: 从待命状态切换到聆听状态
I (846321) Airhub1: 强制重新初始化音频输出
I (846371) I2S_IF: channel mode 0 bits:16/16 channel:2 mask:1
I (846371) I2S_IF: STD Mode 1 bits:16/16 channel:2 sample_rate:16000 mask:1
I (846381) Adev_Codec: Open codec device OK
I (846381) AudioCodec: Set output enable to true
I (846381) Airhub1: 播放提示音:卡卡在呢
I (846381) Airhub1: 等待音频播放完成...
I (846901) Airhub1: 音频队列已清空,等待硬件输出完成...
I (847401) Airhub1: 音频播放完成
I (847401) Application: 打印设置设备状态日志: connecting
I (847401) Application: 正在尝试打开音频通道
I (847401) WifiBoard: 🔋 电源管理模式切换: 禁用低功耗模式(恢复正常模式)
I (847401) wifi:Set ps type: 0, coexist: 0
I (847401) VolcRtcProtocol: Join RTC: handle=0x3c2eb440 bot=botCL63FJgWe iot_ready=1 free_heap=8146300
[INF|volc_rtc.c:695]volc_rtc_start: bot_id=botCL63FJgWe audio_codec=4 heap_free=8146300
[INF|volc_device_manager.c:594]Get RTC config URL: https://iot-cn-shanghai.iot.volces.com/2021-12-14/GetRTCConfig?Action=GetRTCConfig&Version=2021-12-14
[INF|volc_device_manager.c:595]RTC config request body: {"InstanceID":"68f0bc7611a5cf890711f2d0","product_key":"69080ba98219e1f34702d133","device_name":"20_6e_f1_b9_af_a0","random_num":847353,"timestamp":847353,"signature":"gbKoU5hIRCWtMFWRF8zO2lJgrNSpNCdGaCKR82oeiWA=","bot_id":"botCL63FJgWe","audio_codec":4,"task_id":"test","Config":{"WebSearchAgentConfig":{"ParamsString":"{\"bot_id\":\"7585449675889608233\",\"stream\":true,\"location_info\":{\"city\":\"广州市\"}}"}}}
I (847401) VOLC_HTTP: HTTP POST attempt 1/3
I (847401) VOLC_HTTP: Performing HTTP request...
I (847601) esp-x509-crt-bundle: Certificate validated
I (848261) VOLC_HTTP: HTTP_EVENT_ON_DATA: read 307 bytes, total: 307
I (848261) VOLC_HTTP: HTTP_EVENT_ON_DATA: read 130 bytes, total: 437
I (848261) VOLC_HTTP: HTTP response status: 200
I (848261) VOLC_HTTP: Content-Length: 437, actually read: 437
I (848261) VOLC_HTTP: Successfully read response: 437 bytes
I (848261) VOLC_HTTP: HTTP POST request completed, response_buffer=0x3c306be8
[INF|volc_device_manager.c:605]Get RTC config response received
[INF|volc_device_manager.c:606]RTC config response content: {"ResponseMetadata":{"Action":"GetRTCConfig","Version":"2021-12-14"},"Result":{"RoomID":"aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000","TaskID":"test","UserID":"20_6e_f1_b9_af_a0","Token":"00168f0bc7617b8520178bef12ceQDWARICM0eNabOBlmkyAGFpYm90cnRjX0c3MTFBXzIwXzZlX2YxX2I5X2FmX2EwXzIwMjYwMjEyMTEyMTIzMDAwEQAyMF82ZV9mMV9iOV9hZl9hMAYAAACzgZZpAQCzgZZpAgCzgZZpAwCzgZZpBACzgZZpBQCzgZZpIAAz13We5AQ3wm2mdgrjyIJ7WrpV3a7KGezOUZhPFuYd9g=="}}
[INF|volc_device_manager.c:702]Retrieved RTC config: channel_name=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000, uid=20_6e_f1_b9_af_a0, task_id=test
[INF|volc_rtc.c:701]volc_get_rtc_config success heap_free=8145632
[INF|volc_rtc.c:119]Joining channel: aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000, uid: 20_6e_f1_b9_af_a0, token: 00168f0bc7617b8520178bef12ceQDWARICM0eNabOBlmkyAGFpYm90cnRjX0c3MTFBXzIwXzZlX2YxX2I5X2FmX2EwXzIwMjYwMjEyMTEyMTIzMDAwEQAyMF82ZV9mMV9iOV9hZl9hMAYAAACzgZZpAQCzgZZpAgCzgZZpAwCzgZZpBACzgZZpBQCzgZZpIAAz13We5AQ3wm2mdgrjyIJ7WrpV3a7KGezOUZhPFuYd9g==, vpub: 0, vsub: 0, apub: 1, asub: 1
[INF|volc_rtc.c:123]Memory before byte_rtc_join_room - Heap: 8145632 bytes, SPIRAM: 8128012 bytes
2026-02-12 19:21:23.754 [I] API byte_rtc_join_room engine 0x3c2eb4f0 channel_name aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 user_name 20_6e_f1_b9_af_a0 token 00168f0bc7617b8520178bef12ceQDWARICM0eNabOBlmkyAGFpYm90cnRjX0c3MTFBXzIwXzZlX2YxX2I5X2FmX2EwXzIwMjYwMjEyMTEyMTIzMDAwEQAyMF82ZV9mMV9iOV9hZl9hMAYAAACzgZZpAQCzgZZpAgCzgZZpAwCzgZZpBACzgZZpBQCzgZZpIAAz13We5AQ3wm2mdgrjyIJ7WrpV3a7KGezOUZhPFuYd9g== audio sub 1 pub 1 video sub 0 pub 0
[INF|volc_rtc.c:132]Memory after byte_rtc_join_room - Heap: 8145032 bytes (change: -600), SPIRAM: 8127412 bytes (change: -600)
2026-02-12 19:21:23.759 [I] RoomImplX.c:632 [room_event] key: join_room, type: begin, result: true
2026-02-12 19:21:23.950 [I] Rtp.c:139 video_retrans_buffer_duration_ms = 3000
2026-02-12 19:21:23.951 [I] Rtp.c:141 enable_video_transport_cc = 1
2026-02-12 19:21:23.952 [I] Rtp.c:190 audio_retrans_buffer_duration_ms = 1000
2026-02-12 19:21:23.953 [I] Rtp.c:193 enable_audio_transport_cc = 1
2026-02-12 19:21:23.958 [I] RoomImplX.c:816 [room_event] key: join_room, type: end, result: true
[INF|volc_rtc.c:254]join channel success aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 elapsed 189 ms
I (848471) VolcRtcProtocol: RTC连接成功
I (848471) VolcRtcProtocol: Wait connect bits=0x1 free_heap=8058124
2026-02-12 19:21:23.967 [W] IceMessageProcessor.c:360 TODO: handle signal engineControlMessage content {"roomId":"aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000","type":"changeCodec","body":{"media":"audio","codec":"PCMA"},"appId":"68f0bc7617b8520178bef12c","messageId":"41c946850f08409b96c31e86329fcfb7","sessionId":"x13PHSuP5pOouRKG4jEopddQYIxtYX5W"}
[INF|volc_rtc.c:268]remote user joined aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000:bot_20260212112123000 elapsed 0 ms
I (848771) VolcRtcProtocol: RTC远程用户加入
I (848771) Application: Dialog watchdog started, initial device state: 7
I (848771) Application: 打印设置设备状态日志: dialog
I (848771) Application: 🟢 音频通道已打开
I (848771) Application: 当前设备状态: dialog
I (848771) VolcRtcProtocol: 延迟发送StartListening等待会话就绪
I (848771) Airhub1: 🔋 退出低功耗模式CPU恢复正常、Light Sleep禁用、功放打开
I (848771) Application: 进入对话框状态:启用全双工
I (848771) Airhub1: 🔊 功放已打开
I (848771) Airhub1: 🔋 PowerSaveTimer已唤醒从低功耗模式恢复到正常模式
I (848771) Application: 🔄 禁用电源低功耗管理模式
I (848781) WifiBoard: 🔋 电源管理模式切换: 禁用低功耗模式(恢复正常模式)
I (848781) wifi:Set ps type: 0, coexist: 0
I (848781) Application: 🔊 启用音频编解码器输出
I (848781) Application: 🔄 音频通道打开,准备播放欢迎语音
I (848781) Application: 当前设备状态: dialog
I (848781) Application: 🟢 音频通道初始化完成
2026-02-12 19:21:24.267 [W] EngineImplX.c:598 callback pEngineImplX->eventHandler.on_user_joined used too many times 6
2026-02-12 19:21:24.340 [I] rx_net_audio_jitterbuffer.c:183 first_frame_build_target_delay:1, direct_mode:0, direct_mode_max_wait_time:200
2026-02-12 19:21:24.350 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=0, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=20 expand_npkt=1 expand_loss=0 start_seq 0 end_seq 0
2026-02-12 19:21:24.384 [I] StreamSubscriber.c:336 [room_event] key: first_frame, media: audio, type: begin_recv
2026-02-12 19:21:24.804 [I] rx_net_audio_jitterbuffer.c:1785 fir pkt seq=0
2026-02-12 19:21:24.805 [I] rx_net_audio_jitterbuffer.c:1792 first recv dia cnt=0, fir pkt=0
2026-02-12 19:21:24.807 [I] rx_net_audio_jitterbuffer.c:1785 fir pkt seq=1
2026-02-12 19:21:24.879 [I] rx_net_audio_jitterbuffer.c:1443 build_target_delay over need_extract_packet s=320
2026-02-12 19:21:24.883 [I] MediaService.c:405 [room_event] key: first_frame, media: audio, type: recv_end
I (849401) VolcRtcProtocol: 接收下行音频首包: 类型=PCM 大小=320
I (849401) Application: 收到下行音频首包入队: 字节=320
2026-02-12 19:21:25.398 [I] rx_net_lite_cc_bandwidth_estimation.c:200 lite-cc bandwidth up bandwidth = 4630000
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=275 binary=1 free_heap=7888840
I (849951) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=282 binary=1 free_heap=7891252
I (850041) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=288 binary=1 free_heap=7891936
I (850131) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=306 binary=1 free_heap=7893180
I (850241) VolcRtcProtocol: 接收下行消息: subv
2026-02-12 19:21:25.798 [I] rx_net_lite_cc_bandwidth_estimation.c:200 lite-cc bandwidth up bandwidth = 5000000
I (850771) Application: dialog对话空闲倒计时剩余: 40 秒
I (850791) VolcRtcProtocol: 上行音频统计: PCM帧=52 字节=16640, G711A帧=0 字节=0, 速率=66288 bps
I (850791) VolcRtcProtocol: 下行音频统计: PCM字节=22400, OPUS字节=0
2026-02-12 19:21:26.372 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 98:1:99,in: jitter nor=66 reor=84, wj=11, out: pkt=75 t_diff=35 seq_diff=1 buffer_ms=480 target_ms=100 expand_npkt=23 expand_loss=0 start_seq 1 end_seq 97
2026-02-12 19:21:26.374 [I] rx_net_audio_jitterbuffer.c:1717 is burst ver, [a_jb] rtt_to_s: 57, e2e_avg: -1, e2e_max: 0
I (851181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (851181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=312 binary=1 free_heap=7889932
I (851251) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=318 binary=1 free_heap=7889872
I (851331) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=324 binary=1 free_heap=7891156
I (851541) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=330 binary=1 free_heap=7886636
I (851731) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=332 binary=1 free_heap=7888552
I (851931) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=338 binary=1 free_heap=7887972
I (852131) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=345 binary=1 free_heap=7885020
I (852331) VolcRtcProtocol: 接收下行消息: subv
I (852401) wifi:new:<6,1>, old:<6,0>, ap:<255,255>, sta:<6,1>, prof:1, snd_ch_cfg:0x0
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=355 binary=1 free_heap=7888240
I (852541) VolcRtcProtocol: 接收下行消息: subv
I (852811) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63241 bps
I (852811) VolcRtcProtocol: 下行音频统计: PCM字节=32320, OPUS字节=0
2026-02-12 19:21:28.389 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 96:0:96,in: jitter nor=32 reor=0, wj=28, out: pkt=101 t_diff=38 seq_diff=1 buffer_ms=380 target_ms=100 expand_npkt=0 expand_loss=0 start_seq 98 end_seq 193
I (854771) Application: dialog对话空闲倒计时剩余: 39 秒
I (854821) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64937 bps
I (854821) VolcRtcProtocol: 下行音频统计: PCM字节=7360, OPUS字节=0
2026-02-12 19:21:30.393 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=18 t_diff=37 seq_diff=1 buffer_ms=0 target_ms=100 expand_npkt=82 expand_loss=0 start_seq 0 end_seq 0
I (856771) Application: dialog对话空闲倒计时剩余: 37 秒
I (856831) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63682 bps
I (856831) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:32.400 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (858771) Application: dialog对话空闲倒计时剩余: 35 秒
I (858841) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63702 bps
I (858841) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:34.418 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (860771) Application: dialog对话空闲倒计时剩余: 33 秒
I (860851) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63681 bps
I (860851) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:36.428 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (861181) Airhub1: ADC: 980, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (861181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (862771) Application: dialog对话空闲倒计时剩余: 31 秒
I (862861) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64946 bps
I (862861) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:38.439 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (864771) Application: dialog对话空闲倒计时剩余: 29 秒
I (864871) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63676 bps
I (864871) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:40.459 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (866771) Application: dialog对话空闲倒计时剩余: 27 秒
I (866881) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63695 bps
I (866881) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:42.468 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (868771) Application: dialog对话空闲倒计时剩余: 25 秒
I (868891) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63681 bps
I (868891) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:44.488 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (870771) Application: dialog对话空闲倒计时剩余: 23 秒
I (870901) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64944 bps
I (870901) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:46.501 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (871181) Airhub1: ADC: 979, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (871181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (872771) Application: dialog对话空闲倒计时剩余: 21 秒
I (872911) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63672 bps
I (872911) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:48.522 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (874081) Airhub1: 📤 准备上报电量: 100%
I (874081) Airhub1: 当前WiFi信号强度: -34 dBm
I (874081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (874081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (874261) esp-x509-crt-bundle: Certificate validated
I (874771) Application: dialog对话空闲倒计时剩余: 19 秒
I (874931) VolcRtcProtocol: 上行音频统计: PCM帧=48 字节=15360, G711A帧=0 字节=0, 速率=60678 bps
I (874941) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
I (874981) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (874991) Airhub1: ✅ 电量上报完成
2026-02-12 19:21:50.529 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (876771) Application: dialog对话空闲倒计时剩余: 17 秒
I (876941) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63704 bps
I (876941) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:52.540 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (878771) Application: dialog对话空闲倒计时剩余: 15 秒
I (878951) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63681 bps
I (878951) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:54.558 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (880771) Application: dialog对话空闲倒计时剩余: 13 秒
I (880961) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64941 bps
I (880961) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:56.569 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (881181) Airhub1: ADC: 979, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (881181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (882771) Application: dialog对话空闲倒计时剩余: 11 秒
I (882971) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63682 bps
I (882971) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:58.583 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (884771) Application: dialog对话空闲倒计时剩余: 9 秒
I (884981) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63691 bps
I (884981) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:00.608 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (886771) Application: dialog对话空闲倒计时剩余: 7 秒
I (886991) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63684 bps
I (886991) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:02.614 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (888771) Application: dialog对话空闲倒计时剩余: 5 秒
I (889001) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64941 bps
I (889001) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:04.639 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (890771) Application: dialog对话空闲倒计时剩余: 3 秒
I (891011) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63678 bps
I (891021) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:06.648 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (891181) Airhub1: ADC: 978, 原始电压: 0.98V, 计算电池电压: 4.24V, 电量: 100%, 满电电压: 4.20V
I (891181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (892771) Application: dialog对话空闲倒计时剩余: 1 秒
I (893021) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63694 bps
I (893021) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:08.663 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (894771) Application: Dialog watchdog idle reached, elapsed=41, marking and rebooting
I (894771) Application: Dialog watchdog: preparing NVS writes (system)
I (894771) Application: Dialog watchdog: committing NVS (system)
I (894771) Settings: Committed NVS namespace system
I (894771) Application: Dialog watchdog (task) set reboot_cause=1, verify=1, restart in 2000ms
I (895031) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63685 bps
I (895031) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:10.688 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (896771) wifi:state: run -> init (0x0)
I (896771) wifi:pm stop, total sleep time: 550614139 us / 891994376 us
I (896771) wifi:<ba-del>idx:0, tid:0
I (896771) wifi:<ba-del>idx:1, tid:3
I (896771) wifi:new:<6,0>, old:<6,1>, ap:<255,255>, sta:<6,1>, prof:1, snd_ch_cfg:0x0
I (896771) wifi: Reconnecting airhub (attempt 1 / 5)
2026-02-12 19:22:12.265 [E] IceUtils.c:183 operation returned status code: 0x00000101
I (896811) wifi:flush txq
I (896811) wifi:stop sw txq
I (896811) wifi:lmac stop hw txq
2026-02-12 19:22:12.294 [E] IceUtils.c:183 operation returned sESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0xb (SPI_FAST_FLASH_BOOT)
Saved PC:0x40379db5
--- 0x40379db5: esp_restart_noos at /Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/components/esp_system/port/soc/esp32s3/system_internal.c:162
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x56c
load:0x403c8700,len:0x4
load:0x403c8704,len:0xb88
load:0x403cb700,len:0x2df4
entry 0x403c88f4
I (49) WeatherApi: 初始化天气API配置 - 默认城市: 北京
I (49) WeatherApi: WiFi位置缓存限制已设置为: 5 条
I (50) coexist: coex firmware version: 7b9a184
I (50) coexist: coexist rom version e7ae62f
I (50) main_task: Started on CPU0
I (60) main_task: Calling app_main()
I (80) BackgroundTask: background_task started
I (80) BluetoothProvisioning: 蓝牙配网对象创建完成
I (80) button: IoT Button Version: 3.5.0
I (80) gpio: GPIO[0]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (80) button: IoT Button Version: 3.5.0
I (80) gpio: GPIO[4]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (80) Airhub1: 初始化按钮...
I (80) Airhub1: Boot button initialized on GPIO0
I (80) Airhub1: Volume up button initialized on GPIO-1
I (80) Airhub1: Volume down button initialized on GPIO-1
I (80) Airhub1: 故事按键已初始化GPIO引脚 =4
I (80) Airhub1: 所有按键已成功初始化!

View File

@ -6,10 +6,11 @@ config OTA_VERSION_URL
help help
The application will access this URL to check for updates. The application will access this URL to check for updates.
config BATTERY_REPORT_URL config DEVICE_STATUS_REPORT_URL
string "Battery Report URL" string "Device Status Report URL"
default "http://192.168.124.24:9001/api/v1/public/device/update-battery/" default "http://192.168.124.24:8000/api/v1/devices/report-status"
help "URL for reporting battery level to server" help
URL for reporting device status to server
choice choice
prompt "语言选择" prompt "语言选择"

View File

@ -30,8 +30,9 @@
#include <nvs.h> #include <nvs.h>
#define TAG "Application" #define TAG "Application"
#define MAC_TAG "WiFiMAC" #define MAC_TAG "BluetoothMAC"
// 设备空闲无对话状态 倒计时
#define DIALOG_IDLE_COUNTDOWN_SECONDS 40 #define DIALOG_IDLE_COUNTDOWN_SECONDS 40
@ -1599,8 +1600,8 @@ void Application::OnClockTimer() {
int free_sram = heap_caps_get_free_size(MALLOC_CAP_INTERNAL); int free_sram = heap_caps_get_free_size(MALLOC_CAP_INTERNAL);
int min_free_sram = heap_caps_get_minimum_free_size(MALLOC_CAP_INTERNAL); int min_free_sram = heap_caps_get_minimum_free_size(MALLOC_CAP_INTERNAL);
// ESP_LOGI(TAG, "Free internal: %u minimal internal: %u", free_sram, min_free_sram);// 打印内部内存空闲大小和最小空闲大小 // ESP_LOGI(TAG, "Free internal: %u minimal internal: %u", free_sram, min_free_sram);// 打印内部内存空闲大小和最小空闲大小
// // 打印Wi-Fi的Mac地址 // // 打印蓝牙MAC地址
// ESP_LOGI(MAC_TAG, "Wi-Fi MAC Address: %s", SystemInfo::GetMacAddress().c_str());// 生产测试打印 // ESP_LOGI(MAC_TAG, "Bluetooth MAC Address: %s", SystemInfo::GetBleMacAddress().c_str());// 生产测试打印
//ESP_LOGI(TAG, "此设备角色为: %s",CONFIG_DEVICE_ROLE); //ESP_LOGI(TAG, "此设备角色为: %s",CONFIG_DEVICE_ROLE);
// ESP_LOGI(TAG, "此设备角色为: KAKA 1028 升级成功!"); // ESP_LOGI(TAG, "此设备角色为: KAKA 1028 升级成功!");
@ -1709,6 +1710,8 @@ void Application::StartDialogWatchdog() {
ESP_LOGW(TAG, "建议: 检查NVS空间是否不足、确认nvs_flash_init成功、避免并发写入(system)"); ESP_LOGW(TAG, "建议: 检查NVS空间是否不足、确认nvs_flash_init成功、避免并发写入(system)");
} }
ESP_LOGI(TAG, "Dialog watchdog (task) set reboot_cause=1, verify=%d, restart in 2000ms", (int)verify); ESP_LOGI(TAG, "Dialog watchdog (task) set reboot_cause=1, verify=%d, restart in 2000ms", (int)verify);
// 重启前上报设备离线状态
Board::GetInstance().OnBeforeRestart();
vTaskDelay(pdMS_TO_TICKS(2000)); vTaskDelay(pdMS_TO_TICKS(2000));
esp_restart();// 重启设备 esp_restart();// 重启设备
app->dialog_watchdog_running_ = false;// 设置看门狗运行标志为false app->dialog_watchdog_running_ = false;// 设置看门狗运行标志为false

View File

@ -49,6 +49,7 @@ public:
virtual std::string GetJson(); virtual std::string GetJson();
virtual void SetPowerSaveMode(bool enabled) = 0; virtual void SetPowerSaveMode(bool enabled) = 0;
virtual void WakeUp() = 0; virtual void WakeUp() = 0;
virtual void OnBeforeRestart() {} // 重启前回调,子类可重写执行上报等操作
}; };
#define DECLARE_BOARD(BOARD_CLASS_NAME) \ #define DECLARE_BOARD(BOARD_CLASS_NAME) \

View File

@ -101,14 +101,15 @@ private:
uint32_t battery_level_;// 电池电量百分比 uint32_t battery_level_;// 电池电量百分比
int battery_ticks_; int battery_ticks_;
int battery_alert_ticks_; int battery_alert_ticks_;
int battery_report_ticks_; // 电量上报计数器 int status_report_ticks_; // 设备状态上报计数器
bool battery_report_enabled_; // 电量上报是否启用 bool status_report_enabled_; // 设备状态上报是否启用
bool rtc_online_; // RTC火山引擎连接状态开机默认false连接成功后设为true
const int kBatteryAdcInterval = 10; // 10秒检测一次 const int kBatteryAdcInterval = 10; // 10秒检测一次
const int kBatteryReportInterval = 30; // 30秒上报一次 const int kStatusReportInterval = 30; // 30秒上报一次
const int kBatteryReportDelay = 3; // 启动3秒后才开始上报 const int kStatusReportDelay = 3; // 启动3秒后才开始上报
const int kBatteryAdcDataCount = 20; // 保存20个ADC值用于平均增加采样次数 const int kBatteryAdcDataCount = 20; // 保存20个ADC值用于平均增加采样次数
const int kBatteryAdcSampleCount = 10; // 每次读取采样10次增加采样次数 const int kBatteryAdcSampleCount = 10; // 每次读取采样10次增加采样次数
const char* BATTERY_REPORT_URL = CONFIG_BATTERY_REPORT_URL; // 电量上报服务器URL const char* DEVICE_STATUS_REPORT_URL = CONFIG_DEVICE_STATUS_REPORT_URL; // 设备状态上报服务器URL
Button boot_button_{BOOT_BUTTON_GPIO}; // 初始化列表 Button boot_button_{BOOT_BUTTON_GPIO}; // 初始化列表
Button volume_up_button_{VOLUME_UP_BUTTON_GPIO}; Button volume_up_button_{VOLUME_UP_BUTTON_GPIO};
Button volume_down_button_{VOLUME_DOWN_BUTTON_GPIO}; Button volume_down_button_{VOLUME_DOWN_BUTTON_GPIO};
@ -123,7 +124,7 @@ private:
void EnterProductionTestMode();// 进入生产测试模式函数 void EnterProductionTestMode();// 进入生产测试模式函数
void ReportBatteryToServer(int battery_level);// 上报电量到服务器 void ReportDeviceStatus(int battery_level);// 上报设备状态到服务器
public: public:
// 将静态队列句柄移到public以便静态函数访问 // 将静态队列句柄移到public以便静态函数访问
@ -167,8 +168,9 @@ public:
battery_level_(0), battery_level_(0),
battery_ticks_(0), battery_ticks_(0),
battery_alert_ticks_(0), battery_alert_ticks_(0),
battery_report_ticks_(0), status_report_ticks_(0),
battery_report_enabled_(false), status_report_enabled_(false),
rtc_online_(false),
production_test_mode_(false), production_test_mode_(false),
touch_detected_flag_(false), touch_detected_flag_(false),
touched_pad_index_(-1) touched_pad_index_(-1)
@ -527,7 +529,7 @@ public:
auto* wifi_board = dynamic_cast<WifiBoard*>(this); auto* wifi_board = dynamic_cast<WifiBoard*>(this);
if (wifi_board && wifi_board->IsBleProvisioningActive() && !production_test_mode_) { if (wifi_board && wifi_board->IsBleProvisioningActive() && !production_test_mode_) {
ESP_LOGI(Pro_TAG, "🔵 当前为蓝牙配网模式,[BOOT按键]被按下长按BOOT按键5秒可进入生产测试模式!");// 生产测试打印 ESP_LOGI(Pro_TAG, "🔵 当前为蓝牙配网模式,[BOOT按键]被按下长按BOOT按键5秒可进入生产测试模式!");// 生产测试打印
ESP_LOGI("WiFiMAC", "Wi-Fi MAC Address: %s", SystemInfo::GetMacAddress().c_str());// 生产测试打印 ESP_LOGI("BluetoothMAC", "Bluetooth MAC Address: %s", SystemInfo::GetBleMacAddress().c_str());// 生产测试打印
ESP_LOGI(Pro_TAG, "当前电量值: %" PRIu32 "%%", battery_level_);// 生产测试打印 ESP_LOGI(Pro_TAG, "当前电量值: %" PRIu32 "%%", battery_level_);// 生产测试打印
return; return;
} }
@ -537,7 +539,7 @@ public:
if (production_test_mode_) { if (production_test_mode_) {
ESP_LOGI(Pro_TAG, "🔧 生产测试模式BOOT按键已被按下!");// 生产测试打印 ESP_LOGI(Pro_TAG, "🔧 生产测试模式BOOT按键已被按下!");// 生产测试打印
ESP_LOGI(Pro_TAG, "当前电量值: %" PRIu32 "%%", battery_level_);// 生产测试打印 ESP_LOGI(Pro_TAG, "当前电量值: %" PRIu32 "%%", battery_level_);// 生产测试打印
ESP_LOGI("WiFiMAC", "Wi-Fi MAC Address: %s", SystemInfo::GetMacAddress().c_str());// 生产测试打印 ESP_LOGI("BluetoothMAC", "Bluetooth MAC Address: %s", SystemInfo::GetBleMacAddress().c_str());// 生产测试打印
// 播放BOOT按键测试音频 // 播放BOOT按键测试音频
auto& app = Application::GetInstance(); auto& app = Application::GetInstance();
@ -1091,10 +1093,10 @@ public:
return; return;
} }
// 检查是否启用电量上报启动3秒后 // 检查是否启用设备状态上报启动3秒后
if (!battery_report_enabled_ && battery_ticks_ >= kBatteryReportDelay) { if (!status_report_enabled_ && battery_ticks_ >= kStatusReportDelay) {
battery_report_enabled_ = true; status_report_enabled_ = true;
ESP_LOGI(TAG, "📤 电量上报功能已启用,每%d秒上报一次", kBatteryReportInterval); ESP_LOGI(TAG, "📤 设备状态上报已启用,每%d秒上报一次", kStatusReportInterval);
} }
// 如果电池电量数据充足,则每 kBatteryAdcInterval 个 tick 读取一次电池电量数据 // 如果电池电量数据充足,则每 kBatteryAdcInterval 个 tick 读取一次电池电量数据
@ -1124,13 +1126,13 @@ public:
}); });
} }
// 电量上报逻辑每30秒上报一次启动3秒后配网模式下跳过 // 设备状态上报逻辑每30秒上报一次启动3秒后配网模式下跳过
if (battery_report_enabled_) { if (status_report_enabled_) {
battery_report_ticks_++; status_report_ticks_++;
if (battery_report_ticks_ % kBatteryReportInterval == 0) { if (status_report_ticks_ % kStatusReportInterval == 0) {
auto& wifi_station = WifiStation::GetInstance(); auto& wifi_station = WifiStation::GetInstance();
if (wifi_station.IsConnected()) { if (wifi_station.IsConnected()) {
ReportBatteryToServer(battery_level_); ReportDeviceStatus(battery_level_);
} }
} }
} }
@ -1139,6 +1141,12 @@ public:
auto& app = Application::GetInstance(); auto& app = Application::GetInstance();
auto state = app.GetDeviceState(); auto state = app.GetDeviceState();
// 检测RTC火山引擎连接状态进入dialog状态说明RTC已连接、音频通道已打开
if (!rtc_online_ && state == kDeviceStateDialog) {
rtc_online_ = true;
ESP_LOGI(TAG, "🔗 检测到RTC火山引擎已连接");
}
if (battery_level_ <= 30 && battery_level_ > 25) { if (battery_level_ <= 30 && battery_level_ > 25) {
if (battery_alert_ticks_ % 10 == 0) { if (battery_alert_ticks_ % 10 == 0) {
if (state == kDeviceStateIdle) { if (state == kDeviceStateIdle) {
@ -1262,8 +1270,8 @@ public:
ESP_LOGI(TAG, "ADC: %d, 原始电压: %.2fV, 计算电池电压: %.2fV, 电量: %d%%, 满电电压: %.2fV", ESP_LOGI(TAG, "ADC: %d, 原始电压: %.2fV, 计算电池电压: %.2fV, 电量: %d%%, 满电电压: %.2fV",
average_voltage_mv, average_voltage_mv / 1000.0f, battery_voltage, battery_percentage, kVoltage100Percent); average_voltage_mv, average_voltage_mv / 1000.0f, battery_voltage, battery_percentage, kVoltage100Percent);
// 打印Wi-Fi的Mac地址 // 打印蓝牙MAC地址
ESP_LOGI("WiFiMAC", "Wi-Fi MAC Address: %s", SystemInfo::GetMacAddress().c_str());// 生产测试打印 ESP_LOGI("BluetoothMAC", "Bluetooth MAC Address: %s", SystemInfo::GetBleMacAddress().c_str());// 生产测试打印
} }
void InitializeStoryButton() { void InitializeStoryButton() {
@ -1275,7 +1283,7 @@ public:
if (wifi_board && wifi_board->IsBleProvisioningActive() && !production_test_mode_) { if (wifi_board && wifi_board->IsBleProvisioningActive() && !production_test_mode_) {
//ESP_LOGI(Pro_TAG, "🔵 设备正在进行蓝牙配网长按BOOT按键5秒可进入生产测试模式!"); //ESP_LOGI(Pro_TAG, "🔵 设备正在进行蓝牙配网长按BOOT按键5秒可进入生产测试模式!");
ESP_LOGI(Pro_TAG, "🔵 当前为蓝牙配网模式,[故事按键]被按下长按BOOT按键5秒可进入生产测试模式!"); ESP_LOGI(Pro_TAG, "🔵 当前为蓝牙配网模式,[故事按键]被按下长按BOOT按键5秒可进入生产测试模式!");
ESP_LOGI("WiFiMAC", "Wi-Fi MAC Address: %s", SystemInfo::GetMacAddress().c_str());// 生产测试打印 ESP_LOGI("BluetoothMAC", "Bluetooth MAC Address: %s", SystemInfo::GetBleMacAddress().c_str());// 生产测试打印
ESP_LOGI(Pro_TAG, "当前电量值: %" PRIu32 "%%", battery_level_);// 生产测试打印 ESP_LOGI(Pro_TAG, "当前电量值: %" PRIu32 "%%", battery_level_);// 生产测试打印
return; return;
} }
@ -1283,7 +1291,7 @@ public:
// 如果处于生产测试模式,记录按键测试并播放音频 // 如果处于生产测试模式,记录按键测试并播放音频
if (production_test_mode_) { if (production_test_mode_) {
ESP_LOGI(Pro_TAG, "🔧 生产测试模式:故事按键已被按下!");// 生产测试打印 ESP_LOGI(Pro_TAG, "🔧 生产测试模式:故事按键已被按下!");// 生产测试打印
ESP_LOGI("WiFiMAC", "Wi-Fi MAC Address: %s", SystemInfo::GetMacAddress().c_str());// 生产测试打印 ESP_LOGI("BluetoothMAC", "Bluetooth MAC Address: %s", SystemInfo::GetBleMacAddress().c_str());// 生产测试打印
ESP_LOGI(Pro_TAG, "当前电量值: %" PRIu32 "%%", battery_level_);// 生产测试打印 ESP_LOGI(Pro_TAG, "当前电量值: %" PRIu32 "%%", battery_level_);// 生产测试打印
// 播放故事按键测试音频 // 播放故事按键测试音频
auto& app = Application::GetInstance(); auto& app = Application::GetInstance();
@ -1567,32 +1575,35 @@ public:
ESP_LOGI(TAG, "🔋 PowerSaveTimer已唤醒从低功耗模式恢复到正常模式"); ESP_LOGI(TAG, "🔋 PowerSaveTimer已唤醒从低功耗模式恢复到正常模式");
} }
} }
};
void MovecallMojiESP32S3::ReportBatteryToServer(int battery_level) { // 重启前回调:上报设备离线状态
ESP_LOGI(TAG, "📤 准备上报电量: %d%%", battery_level); void OnBeforeRestart() override {
// 获取当前已连接的Wi-Fi信号强度 ESP_LOGI(TAG, "📤 设备即将重启,上报离线状态");
int8_t rssi = -100; // 默认值,表示未连接或获取失败 rtc_online_ = false;
auto* wifi_board = dynamic_cast<WifiBoard*>(this);
if (wifi_board) {
auto& wifi_station = WifiStation::GetInstance(); auto& wifi_station = WifiStation::GetInstance();
if (wifi_station.IsConnected()) { if (wifi_station.IsConnected()) {
rssi = wifi_station.GetRssi(); ReportDeviceStatus(battery_level_);
ESP_LOGI(TAG, "当前WiFi信号强度: %d dBm", rssi);
} else {
ESP_LOGW(TAG, "WiFi未连接无法获取信号强度");
} }
} else {
ESP_LOGW(TAG, "无法获取WifiBoard实例");
} }
};
void MovecallMojiESP32S3::ReportDeviceStatus(int battery_level) {
ESP_LOGI(TAG, "📤 准备上报设备状态,电量: %d%%", battery_level);
// 获取当前音量(语音调整后的音量优先,否则为系统默认音量)
auto codec = GetAudioCodec();
int volume = codec ? codec->output_volume() : AudioCodec::default_output_volume();
// 构造JSON数据 // 构造JSON数据
char json_buffer[512]; char json_buffer[512];
snprintf(json_buffer, sizeof(json_buffer), snprintf(json_buffer, sizeof(json_buffer),
"{\"mac_address\":\"%s\",\"battery_level\":%d,\"wifi_rssi\":%d}", "{\"mac_address\":\"%s\",\"is_online\":%s,"
SystemInfo::GetMacAddress().c_str(), "\"battery\":%d,\"volume\":%d,\"brightness\":%d}",
SystemInfo::GetBleMacAddress().c_str(),
rtc_online_ ? "true" : "false",
battery_level, battery_level,
rssi); volume,
50); // brightness默认50后续根据实际调整
ESP_LOGI(TAG, "📤 上报数据: %s", json_buffer); ESP_LOGI(TAG, "📤 上报数据: %s", json_buffer);
@ -1607,8 +1618,8 @@ void MovecallMojiESP32S3::ReportBatteryToServer(int battery_level) {
http->SetHeader("Content-Type", "application/json"); http->SetHeader("Content-Type", "application/json");
// 打开连接 // 打开连接
if (!http->Open("POST", BATTERY_REPORT_URL, json_buffer)) { if (!http->Open("POST", DEVICE_STATUS_REPORT_URL, json_buffer)) {
ESP_LOGE(TAG, "❌ 连接服务器失败: %s", BATTERY_REPORT_URL); ESP_LOGE(TAG, "❌ 连接服务器失败: %s", DEVICE_STATUS_REPORT_URL);
delete http; delete http;
return; return;
} }
@ -1621,7 +1632,7 @@ void MovecallMojiESP32S3::ReportBatteryToServer(int battery_level) {
http->Close(); http->Close();
delete http; delete http;
ESP_LOGI(TAG, "电量上报完成"); ESP_LOGI(TAG, "设备状态上报完成");
} }
// 初始化静态成员变量 // 初始化静态成员变量

View File

@ -41,7 +41,7 @@ extern "C" void app_main(void)
// esp_log_level_set("system_api", ESP_LOG_NONE); // esp_log_level_set("system_api", ESP_LOG_NONE);
// esp_log_level_set("MovecallMojiESP32S3", ESP_LOG_NONE); // 生产环境:屏蔽MovecallMojiESP32S3板级日志 // esp_log_level_set("MovecallMojiESP32S3", ESP_LOG_NONE); // 生产环境:屏蔽MovecallMojiESP32S3板级日志
// //esp_log_level_set("MovecallMojiESP32S3", ESP_LOG_INFO); // 启用MovecallMojiESP32S3板级日志以支持触摸检测 // //esp_log_level_set("MovecallMojiESP32S3", ESP_LOG_INFO); // 启用MovecallMojiESP32S3板级日志以支持触摸检测
// esp_log_level_set("WiFiMAC", ESP_LOG_INFO); // 仅允许WiFiMAC组件的INFO级别日志Wi-Fi MAC地址 // esp_log_level_set("BluetoothMAC", ESP_LOG_INFO); // 仅允许BluetoothMAC组件的INFO级别日志蓝牙MAC地址
// //esp_log_level_set("Airhub", ESP_LOG_INFO); // 仅允许Airhub组件的INFO级别日志生产测试日志 // //esp_log_level_set("Airhub", ESP_LOG_INFO); // 仅允许Airhub组件的INFO级别日志生产测试日志
// // ======================================================================================================= // // =======================================================================================================

View File

@ -37,6 +37,14 @@ std::string SystemInfo::GetMacAddress() {
return std::string(mac_str); return std::string(mac_str);
} }
std::string SystemInfo::GetBleMacAddress() {
uint8_t mac[6];
esp_read_mac(mac, ESP_MAC_BT);
char mac_str[18];
snprintf(mac_str, sizeof(mac_str), "%02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
return std::string(mac_str);
}
std::string SystemInfo::GetChipModelName() { std::string SystemInfo::GetChipModelName() {
return std::string(CONFIG_IDF_TARGET); return std::string(CONFIG_IDF_TARGET);
} }

View File

@ -12,6 +12,7 @@ public:
static size_t GetMinimumFreeHeapSize(); static size_t GetMinimumFreeHeapSize();
static size_t GetFreeHeapSize(); static size_t GetFreeHeapSize();
static std::string GetMacAddress(); static std::string GetMacAddress();
static std::string GetBleMacAddress();
static std::string GetChipModelName(); static std::string GetChipModelName();
static esp_err_t PrintRealTimeStats(TickType_t xTicksToWait); static esp_err_t PrintRealTimeStats(TickType_t xTicksToWait);
}; };