久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

四博 AI 智能音箱 4G S3 版本技術(shù)方案:ESP32-S3 三模聯(lián)網(wǎng)與 MCP 接入 TaoToken 實(shí)踐

四博 AI 智能音箱 4G S3 版本技術(shù)方案:ESP32-S3 三模聯(lián)網(wǎng)與 MCP 接入 TaoToken 實(shí)踐 1. 四博 AI 智能音箱 4G S3 版本要解決的三模聯(lián)網(wǎng)與 MCP 接入問(wèn)題四博 AI 智能音箱 4G S3 版本本質(zhì)是一臺(tái)基于 ESP32-S3 的可二次開(kāi)發(fā) AI 語(yǔ)音邊緣終端。它要解決的核心問(wèn)題不是“能不能說(shuō)話(huà)”而是設(shè)備在家庭、戶(hù)外、商用部署等不同環(huán)境下如何穩(wěn)定地把語(yǔ)音送到云端大模型再把結(jié)果變成音箱能播報(bào)、屏幕能顯示、MCU 能執(zhí)行的動(dòng)作。這里面有三個(gè)技術(shù)難點(diǎn)第一是聯(lián)網(wǎng)方式要覆蓋 Wi-Fi、藍(lán)牙、4G 三模并且能自動(dòng)降級(jí)切換第二是語(yǔ)音前端要支持遠(yuǎn)場(chǎng)拾音和實(shí)時(shí)打斷第三是云端大模型能力要通過(guò) MCP 協(xié)議和統(tǒng)一 API 通道接進(jìn)來(lái)讓設(shè)備端不用為每家模型廠(chǎng)商寫(xiě)一套適配代碼。我試過(guò)把 ESP32-S3 直接對(duì)接多個(gè)模型廠(chǎng)商的 HTTP 接口結(jié)果就是鑒權(quán)邏輯散落在各個(gè)任務(wù)里換一個(gè)模型就要改一遍網(wǎng)絡(luò)層。后來(lái)把 TaoToken 作為統(tǒng)一 Key/API 通道接進(jìn)來(lái)設(shè)備端只認(rèn)一個(gè) Base URL 和一把 Key模型切換在服務(wù)端完成固件側(cè)幾乎不用動(dòng)。這篇文章就按“三模聯(lián)網(wǎng)配置 → MCP 服務(wù)端對(duì)接 → TaoToken 鑒權(quán)調(diào)用 → 連通性驗(yàn)證 → 常見(jiàn)報(bào)錯(cuò)排查”的順序把可復(fù)制的配置和代碼給出來(lái)。適合誰(shuí)看正在用 ESP32-S3 做 AI 音箱、AI 學(xué)習(xí)機(jī)、AI 桌寵、AI 中控的嵌入式工程師需要把大模型能力接進(jìn)硬件、又不想被單一廠(chǎng)商綁定的產(chǎn)品團(tuán)隊(duì)以及想用 MCP 協(xié)議把“人話(huà)”映射成 MCU 控制幀的開(kāi)發(fā)者。下面所有配置都基于 ESP-IDF 5.4.1 環(huán)境4G 模塊以 UART AT 指令模式為例Wi-Fi 和藍(lán)牙走 ESP32-S3 原生協(xié)議棧。先明確整體數(shù)據(jù)流設(shè)備端語(yǔ)音前端完成喚醒和降噪錄音通過(guò) WebSocket 上傳到 AI 服務(wù)AI 服務(wù)調(diào)用 TaoToken 統(tǒng)一通道訪(fǎng)問(wèn)大模型返回文本和 TTS 音頻設(shè)備端播放音頻的同時(shí)通過(guò) MCP 把語(yǔ)義結(jié)果轉(zhuǎn)成 UART 控制幀發(fā)給客戶(hù) MCU。整條鏈路里TaoToken 承擔(dān)的是鑒權(quán)和模型路由MCP 承擔(dān)的是設(shè)備控制語(yǔ)義映射兩者職責(zé)不重疊。2. TaoToken 前置準(zhǔn)備統(tǒng)一 Key 與 API 通道接入 ESP32-S3在寫(xiě)設(shè)備端代碼之前先把云端通道準(zhǔn)備好。TaoToken 在這里的角色是統(tǒng)一 Key/API 通道你不需要在固件里分別配置 OpenAI、Anthropic 或其他模型的鑒權(quán)信息只需要一個(gè) Base URL 和一把 API Key模型選擇通過(guò)請(qǐng)求里的 model 字段指定。對(duì) ESP32-S3 這種資源受限設(shè)備來(lái)說(shuō)少一套鑒權(quán)邏輯就少一份 Flash 和 RAM 開(kāi)銷(xiāo)。第一步打開(kāi)官網(wǎng) https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注冊(cè)賬號(hào)。注冊(cè)完成后進(jìn)入控制臺(tái)地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。在控制臺(tái)里創(chuàng)建 API Key建議按設(shè)備批次或項(xiàng)目創(chuàng)建獨(dú)立的 Key方便后續(xù)做用量歸因和吊銷(xiāo)。第二步拿到 Key 之后去 API Keys 頁(yè)面確認(rèn) Key 狀態(tài)地址 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。這里能看到 Key 的創(chuàng)建時(shí)間、最后使用時(shí)間和可用額度。設(shè)備端固件里不要硬編碼 Key建議通過(guò)配網(wǎng)流程下發(fā)或者存在 NVS 加密分區(qū)里。第三步確認(rèn) API 接入地址。TaoToken 的 API 端點(diǎn)是 https://taotoken.net/api 注意這個(gè)地址不帶 UTM 參數(shù)直接用于設(shè)備端請(qǐng)求。設(shè)備端需要配置三個(gè)東西Base URL、API Key、Model ID。這三件套在后面 MCP 服務(wù)端對(duì)接和 WebSocket 會(huì)話(huà)里都會(huì)用到。如果你用的是 Claude Code 或類(lèi)似的編碼 Agent 做固件開(kāi)發(fā)輔助可以在本地配置里把 Base URL 指向 TaoToken這樣代碼補(bǔ)全和調(diào)試建議也走統(tǒng)一通道。Claude Code 的接入文檔在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有完整的 settings 配置示例。對(duì)于長(zhǎng)期做嵌入式 AI 開(kāi)發(fā)的團(tuán)隊(duì)Coding Plan 頁(yè)面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 提供了適合持續(xù)編碼場(chǎng)景的套餐說(shuō)明。這里要強(qiáng)調(diào)一點(diǎn)TaoToken 是合規(guī)的 API 聚合通道設(shè)備端通過(guò) HTTPS 直接訪(fǎng)問(wèn)不需要任何額外的網(wǎng)絡(luò)層工具。ESP32-S3 的 TLS 棧用 mbedTLS 即可證書(shū)用 ESP-IDF 自帶的根證書(shū)包。下面給出一段設(shè)備端讀取 NVS 中 Key 并構(gòu)造請(qǐng)求的骨架代碼實(shí)際項(xiàng)目中 Key 通過(guò) BluFi 配網(wǎng)下發(fā)。// main/taotoken_config.h #pragma once #define TAOTOKEN_BASE_URL https://taotoken.net/api #define TAOTOKEN_MODEL_ID claude-sonnet-4-20250514 #define TAOTOKEN_KEY_MAX 128 typedef struct { char api_key[TAOTOKEN_KEY_MAX]; char base_url[128]; char model_id[64]; } taotoken_cfg_t; esp_err_t taotoken_cfg_load(taotoken_cfg_t *cfg); esp_err_t taotoken_cfg_save(const taotoken_cfg_t *cfg);// main/taotoken_config.c #include taotoken_config.h #include nvs_flash.h #include nvs.h #include esp_log.h static const char *TAG TAOTOKEN_CFG; #define NVS_NS taotoken esp_err_t taotoken_cfg_load(taotoken_cfg_t *cfg) { nvs_handle_t h; esp_err_t err nvs_open(NVS_NS, NVS_READONLY, h); if (err ! ESP_OK) { ESP_LOGW(TAG, NVS 命名空間不存在使用默認(rèn)配置); strlcpy(cfg-base_url, TAOTOKEN_BASE_URL, sizeof(cfg-base_url)); strlcpy(cfg-model_id, TAOTOKEN_MODEL_ID, sizeof(cfg-model_id)); cfg-api_key[0] \0; return ESP_ERR_NVS_NOT_FOUND; } size_t len sizeof(cfg-api_key); nvs_get_str(h, api_key, cfg-api_key, len); len sizeof(cfg-base_url); nvs_get_str(h, base_url, cfg-base_url, len); len sizeof(cfg-model_id); nvs_get_str(h, model_id, cfg-model_id, len); nvs_close(h); ESP_LOGI(TAG, 配置加載完成, model%s, cfg-model_id); return ESP_OK; }這段代碼的關(guān)鍵點(diǎn)是Base URL 固定為 https://taotoken.net/api Model ID 可以在不重新燒錄固件的情況下通過(guò) NVS 修改。設(shè)備量產(chǎn)時(shí)產(chǎn)線(xiàn)工具把 Key 寫(xiě)進(jìn) NVS 加密分區(qū)用戶(hù)拿到手只需要配網(wǎng)即可。3. 三模聯(lián)網(wǎng)可復(fù)制配置Wi-Fi、藍(lán)牙、4G 切換與 MCP 服務(wù)端參數(shù)三模聯(lián)網(wǎng)的核心是網(wǎng)絡(luò)管理層要有一個(gè)清晰的狀態(tài)機(jī)并且每種網(wǎng)絡(luò)模式的成功/失敗回調(diào)要統(tǒng)一。ESP32-S3 原生支持 Wi-Fi 和 Bluetooth4G 模塊通過(guò) UART AT 指令接入。下面給出 sdkconfig.defaults.board 的完整配置片段路徑與 ESP-IDF 工程一致。# main/boards/doit-ai-speaker-4g-s3/sdkconfig.defaults.board CONFIG_IDF_TARGETesp32s3 # Wi-Fi CONFIG_ESP_WIFI_ENABLEDy CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM16 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM32 # Bluetooth BluFi 配網(wǎng) CONFIG_BT_ENABLEDy CONFIG_BT_BLUEDROID_ENABLEDy CONFIG_BT_BLE_ENABLEDy CONFIG_USE_BLUFI_NET_CONFIGURINGy # 4G 模塊 UART CONFIG_4G_MODEM_UART_NUM2 CONFIG_4G_MODEM_TX_GPIO17 CONFIG_4G_MODEM_RX_GPIO18 CONFIG_4G_MODEM_BAUD_RATE115200 # 網(wǎng)絡(luò)優(yōu)先級(jí)Wi-Fi BT 4G CONFIG_NET_PRIORITY_WIFI0 CONFIG_NET_PRIORITY_BT1 CONFIG_NET_PRIORITY_4G2 # OTA 與 AI 服務(wù) CONFIG_OTA_URLhttps://your-domain.com/v1/ota/ CONFIG_AI_WS_URLwss://your-domain.com/v1/ai/ws # 音頻前端 CONFIG_USE_DEVICE_AECy CONFIG_USE_SERVER_AECn CONFIG_USE_LCD_DISPLAYy CONFIG_USE_DUAL_LCD_DISPLAYy網(wǎng)絡(luò)狀態(tài)機(jī)的實(shí)現(xiàn)要點(diǎn)開(kāi)機(jī)后先讀 NVS 里保存的上次成功網(wǎng)絡(luò)模式優(yōu)先嘗試失敗后按優(yōu)先級(jí)切換到下一種。每種模式連接成功后統(tǒng)一調(diào)用 ai_websocket_start() 建立 AI 會(huì)話(huà)。下面給出網(wǎng)絡(luò)切換的核心邏輯。// main/network_manager.c #include network_manager.h #include esp_log.h #include freertos/FreeRTOS.h #include freertos/task.h static const char *TAG NET_MGR; typedef enum { NET_MODE_WIFI 0, NET_MODE_BLUETOOTH, NET_MODE_4G, } net_mode_t; typedef enum { NET_STATE_IDLE 0, NET_STATE_CONNECTING, NET_STATE_CONNECTED, NET_STATE_FAILED, } net_state_t; typedef struct { net_mode_t mode; net_state_t state; int retry_count; bool ai_ws_ready; } network_ctx_t; static network_ctx_t g_net { .mode NET_MODE_WIFI, .state NET_STATE_IDLE, .retry_count 0, .ai_ws_ready false, }; static void network_switch_to_next(void) { if (g_net.mode NET_MODE_WIFI) { g_net.mode NET_MODE_BLUETOOTH; } else if (g_net.mode NET_MODE_BLUETOOTH) { g_net.mode NET_MODE_4G; } else { g_net.mode NET_MODE_WIFI; } g_net.state NET_STATE_IDLE; g_net.retry_count 0; ESP_LOGW(TAG, 切換到網(wǎng)絡(luò)模式 %d, g_net.mode); } static void network_manager_task(void *arg) { while (1) { switch (g_net.state) { case NET_STATE_IDLE: g_net.state NET_STATE_CONNECTING; if (g_net.mode NET_MODE_WIFI) { wifi_connect_start(); } else if (g_net.mode NET_MODE_BLUETOOTH) { bt_net_connect_start(); } else { modem_4g_connect_start(); } break; case NET_STATE_CONNECTED: if (!g_net.ai_ws_ready) { ai_websocket_start(); g_net.ai_ws_ready true; } break; case NET_STATE_FAILED: g_net.retry_count; if (g_net.retry_count 3) { network_switch_to_next(); } else { g_net.state NET_STATE_IDLE; } break; default: break; } vTaskDelay(pdMS_TO_TICKS(1000)); } }4G 模塊的 AT 指令檢測(cè)是另一個(gè)關(guān)鍵點(diǎn)。模塊上電后要依次確認(rèn) AT 響應(yīng)、SIM 卡就緒、網(wǎng)絡(luò)附著、信號(hào)質(zhì)量。下面這段代碼可以直接用在 modem_4g_connect_start() 里。// main/modem_4g.c static bool modem_send_cmd(const char *cmd, const char *expect, int timeout_ms) { uart_write_bytes(MODEM_UART, cmd, strlen(cmd)); return uart_wait_for_pattern(expect, timeout_ms); } bool modem_4g_check_ready(void) { if (!modem_send_cmd(AT\r\n, OK, 1000)) { ESP_LOGE(TAG, 4G 模塊無(wú)響應(yīng)); return false; } modem_send_cmd(ATE0\r\n, OK, 1000); if (!modem_send_cmd(ATCPIN?\r\n, READY, 3000)) { ESP_LOGE(TAG, SIM 卡未就緒); return false; } modem_send_cmd(ATCSQ\r\n, OK, 1000); if (!modem_send_cmd(ATCGATT?\r\n, CGATT: 1, 3000)) { ESP_LOGE(TAG, 4G 網(wǎng)絡(luò)未附著); return false; } ESP_LOGI(TAG, 4G 模塊已就緒); return true; }MCP 服務(wù)端對(duì)接參數(shù)方面設(shè)備端通過(guò) UART 與 AI 模組通信標(biāo)準(zhǔn)串口參數(shù)是 115200、8N1、無(wú)校驗(yàn)、1 位停止位所有指令以回車(chē)換行結(jié)束。MCP 注冊(cè)用 ATADDMCP 指令把語(yǔ)音語(yǔ)義映射成 MCU 可執(zhí)行的二進(jìn)制控制幀。下面給出音箱場(chǎng)景的 MCP 注冊(cè)示例。// main/mcp_register.c static void sibo_mcp_register_default(void) { uart_send_line(AT\r\n); // 音量調(diào)節(jié)Type1AI 參數(shù)返回 volume uart_send_line(ATADDMCP1,set_volume,設(shè)置音箱音量,F2,1,V\r\n); // 場(chǎng)景切換Type0固定返回場(chǎng)景 ID uart_send_line(ATADDMCP0,set_kitchen_mode,切換到廚房高噪音模式,2,F3,01\r\n); // 網(wǎng)絡(luò)切換Type1返回網(wǎng)絡(luò)類(lèi)型1WiFi,2BT,34G uart_send_line(ATADDMCP1,switch_network,切換聯(lián)網(wǎng)方式,F4,1,N\r\n); // 屏幕顯示天氣 uart_send_line(ATADDMCP0,show_weather,在屏幕上顯示天氣,2,F5,01\r\n); }MCU 側(cè)解析返回幀時(shí)幀頭是 55 AA幀尾是 AA 55中間是長(zhǎng)度、命令字和數(shù)據(jù)。收到 55 AA 01 FC AA 55 時(shí)MCU 需要重啟 AI 模組并重發(fā) MCP 映射。這個(gè)機(jī)制保證了設(shè)備在異?;謴?fù)后控制語(yǔ)義不丟失。4. 驗(yàn)證請(qǐng)求與成功結(jié)果從設(shè)備端發(fā)起一次完整 AI 會(huì)話(huà)配置寫(xiě)完之后必須做連通性驗(yàn)證。驗(yàn)證分三層第一層是網(wǎng)絡(luò)層確認(rèn) Wi-Fi/藍(lán)牙/4G 至少有一種能拿到 IP第二層是 API 層確認(rèn)設(shè)備端能用 TaoToken 的 Key 成功調(diào)用模型第三層是 MCP 層確認(rèn)語(yǔ)音指令能轉(zhuǎn)成正確的 UART 控制幀。先做 API 層驗(yàn)證。在設(shè)備端發(fā)起一次 HTTPS 請(qǐng)求Base URL 用 https://taotoken.net/api 路徑按 TaoToken 文檔拼接。下面給出用 esp_http_client 發(fā)起請(qǐng)求的代碼骨架。// main/taotoken_client.c #include esp_http_client.h #include esp_log.h #include cJSON.h static const char *TAG TAOTOKEN; esp_err_t taotoken_chat_once(const taotoken_cfg_t *cfg, const char *user_text, char *out_buf, size_t out_len) { char url[256]; snprintf(url, sizeof(url), %s/v1/messages, cfg-base_url); cJSON *root cJSON_CreateObject(); cJSON_AddStringToObject(root, model, cfg-model_id); cJSON_AddNumberToObject(root, max_tokens, 256); cJSON *messages cJSON_AddArrayToObject(root, messages); cJSON *msg cJSON_CreateObject(); cJSON_AddStringToObject(msg, role, user); cJSON_AddStringToObject(msg, content, user_text); cJSON_AddItemToArray(messages, msg); char *body cJSON_PrintUnformatted(root); esp_http_client_config_t http_cfg { .url url, .method HTTP_METHOD_POST, .timeout_ms 15000, }; esp_http_client_handle_t client esp_http_client_init(http_cfg); char auth[256]; snprintf(auth, sizeof(auth), Bearer %s, cfg-api_key); esp_http_client_set_header(client, Authorization, auth); esp_http_client_set_header(client, Content-Type, application/json); esp_http_client_set_post_field(client, body, strlen(body)); esp_err_t err esp_http_client_perform(client); if (err ESP_OK) { int status esp_http_client_get_status_code(client); ESP_LOGI(TAG, HTTP 狀態(tài)碼: %d, status); if (status 200) { int read_len esp_http_client_read_response(client, out_buf, out_len - 1); if (read_len 0) { out_buf[read_len] \0; ESP_LOGI(TAG, 模型返回: %s, out_buf); } } } else { ESP_LOGE(TAG, 請(qǐng)求失敗: %s, esp_err_to_name(err)); } esp_http_client_cleanup(client); cJSON_Delete(root); free(body); return err; }成功的結(jié)果是串口日志里先出現(xiàn)“HTTP 狀態(tài)碼: 200”然后打印出模型返回的 JSON里面包含 content 字段。如果狀態(tài)碼是 401說(shuō)明 Key 無(wú)效或沒(méi)帶上 Authorization 頭如果是 403檢查 Key 是否有對(duì)應(yīng)模型的權(quán)限。第二層驗(yàn)證用模型對(duì)話(huà)頁(yè)面做交叉確認(rèn)。打開(kāi) https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 用同一把 Key 在網(wǎng)頁(yè)端發(fā)一條消息確認(rèn)模型能正?;貜?fù)。網(wǎng)頁(yè)端能通、設(shè)備端不通問(wèn)題就在設(shè)備端 TLS 或請(qǐng)求構(gòu)造上。第三層驗(yàn)證 MCP。設(shè)備端喚醒后說(shuō)“把音量調(diào)到 80”觀(guān)察 UART 是否輸出 55 AA 03 F2 50 AA 55。如果 MCU 側(cè)收到幀但沒(méi)執(zhí)行檢查 MCU 解析代碼里的幀頭幀尾判斷和命令字分支。下面給出 MCU 側(cè)解析的完整示例。// mcu/ai_frame_parser.c #define FRAME_HEAD_0 0x55 #define FRAME_HEAD_1 0xAA #define FRAME_TAIL_0 0xAA #define FRAME_TAIL_1 0x55 typedef struct { uint8_t len; uint8_t cmd; uint8_t data[16]; } ai_frame_t; static void handle_ai_frame(const ai_frame_t *frame) { switch (frame-cmd) { case 0xF2: audio_set_volume(frame-data[0]); break; case 0xF3: if (frame-data[0] 0x01) { audio_set_noise_mode_kitchen(); display_show_status(廚房高噪音模式); } break; case 0xF4: if (frame-data[0] 0x01) { net_switch_to_wifi(); } else if (frame-data[0] 0x02) { net_switch_to_bluetooth(); } else if (frame-data[0] 0x03) { net_switch_to_4g(); } break; case 0xF5: display_show_weather(); break; case 0xFC: ai_module_reset(); sibo_mcp_register_default(); break; default: ESP_LOGW(MCP, 未知 AI 指令: 0x%02X, frame-cmd); break; } }驗(yàn)證通過(guò)的標(biāo)準(zhǔn)是語(yǔ)音說(shuō)“切換到 4G 上網(wǎng)”設(shè)備端網(wǎng)絡(luò)狀態(tài)機(jī)切到 4G 模式屏幕顯示“聯(lián)網(wǎng)中”隨后 WebSocket 重連成功AI 會(huì)話(huà)恢復(fù)。整個(gè)過(guò)程不需要重啟設(shè)備。5. 本篇常見(jiàn)錯(cuò)排查401、local proxy failed、reading choices、OAuth設(shè)備端接入最容易踩的坑集中在鑒權(quán)和網(wǎng)絡(luò)層。下面按真實(shí)報(bào)錯(cuò)逐條排查。401 Unauthorized。設(shè)備端日志里出現(xiàn) HTTP 401先檢查 Authorization 頭格式。正確格式是Bearer api_key注意 Bearer 和 Key 之間有一個(gè)空格。如果 Key 是從 NVS 讀出來(lái)的確認(rèn)沒(méi)有把換行符或空格讀進(jìn)去。另一個(gè)常見(jiàn)原因是 Key 被吊銷(xiāo)或額度用完去 API Keys 頁(yè)面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 確認(rèn) Key 狀態(tài)。設(shè)備端建議在 401 時(shí)觸發(fā)重新配網(wǎng)讓用戶(hù)重新下發(fā) Key。local proxy failed。這個(gè)報(bào)錯(cuò)通常出現(xiàn)在設(shè)備端配置了本地代理但代理不可達(dá)的情況下。ESP32-S3 直連 TaoToken 不需要任何本地代理檢查 sdkconfig 里有沒(méi)有誤開(kāi) CONFIG_HTTP_PROXY 相關(guān)選項(xiàng)。如果代碼里手動(dòng)設(shè)置了 proxy_host把它清掉。設(shè)備端 TLS 握手失敗也會(huì)報(bào)類(lèi)似錯(cuò)誤確認(rèn)系統(tǒng)時(shí)間已同步證書(shū)驗(yàn)證用 ESP-IDF 默認(rèn)根證書(shū)包即可。reading choices 報(bào)錯(cuò)。這個(gè)錯(cuò)誤一般出現(xiàn)在解析模型返回 JSON 時(shí)代碼期望的字段路徑和實(shí)際返回結(jié)構(gòu)不一致。TaoToken 返回的是標(biāo)準(zhǔn) messages 格式content 是一個(gè)數(shù)組每個(gè)元素有 type 和 text 字段。解析時(shí)不要直接取 choices[0].message.content那是另一種 API 格式。下面給出正確的解析片段。// 解析 TaoToken 返回的 content 數(shù)組 cJSON *root cJSON_Parse(response); cJSON *content cJSON_GetObjectItem(root, content); if (cJSON_IsArray(content)) { cJSON *item NULL; cJSON_ArrayForEach(item, content) { cJSON *type cJSON_GetObjectItem(item, type); if (cJSON_IsString(type) strcmp(type-valuestring, text) 0) { cJSON *text cJSON_GetObjectItem(item, text); if (cJSON_IsString(text)) { ESP_LOGI(TAG, 模型文本: %s, text-valuestring); } } } }OAuth 相關(guān)報(bào)錯(cuò)。如果你在設(shè)備端或本地開(kāi)發(fā)工具里看到 OAuth token 失效的提示說(shuō)明用的是 OAuth 流程而不是 API Key 流程。設(shè)備端固件應(yīng)該用 API Key 鑒權(quán)OAuth 適合網(wǎng)頁(yè)端或桌面端。檢查請(qǐng)求頭里是不是混入了 Authorization: Bearer 之外的 OAuth token。Claude Code 接入時(shí)如果報(bào) OAuth 錯(cuò)誤參考接入文檔 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里的 settings 配置確認(rèn) apiKeyHelper 或 env 里的 ANTHROPIC_BASE_URL 指向 https://taotoken.net/api 。4G 模塊撥號(hào)失敗。ATCGATT 返回 CGATT: 0 說(shuō)明網(wǎng)絡(luò)沒(méi)附著。先確認(rèn) SIM 卡有流量、沒(méi)欠費(fèi)再檢查天線(xiàn)是否接好。ATCSQ 返回值第一個(gè)數(shù)在 10 以上才算信號(hào)可用。如果模塊一直返回 ERROR檢查 UART 波特率是否匹配4G 模塊默認(rèn)可能是 115200 或 9600。藍(lán)牙配網(wǎng)失敗。BluFi 配網(wǎng)時(shí)設(shè)備端要處于配網(wǎng)模式小程序搜索不到設(shè)備就檢查 CONFIG_USE_BLUFI_NET_CONFIGURING 是否打開(kāi)以及藍(lán)牙廣播是否被其他任務(wù)阻塞。配網(wǎng)成功后設(shè)備會(huì)保存 Wi-Fi 信息到 NVS下次開(kāi)機(jī)優(yōu)先用 Wi-Fi。MCP 指令不生效。語(yǔ)音說(shuō)“打開(kāi)廚房模式”但 MCU 沒(méi)反應(yīng)先確認(rèn) ATADDMCP 注冊(cè)成功串口有 OK 返回。然后確認(rèn) MCU 解析的幀頭幀尾和 AI 模組發(fā)送的一致。如果收到 55 AA 01 FC AA 55說(shuō)明 AI 模組要求 MCU 重啟并重發(fā)映射MCU 側(cè)要處理這個(gè)命令字。6. 語(yǔ)義一致 CTA把三模聯(lián)網(wǎng)與 MCP 接入落到你的項(xiàng)目里走到這一步設(shè)備端的三模聯(lián)網(wǎng)、MCP 注冊(cè)、TaoToken 鑒權(quán)調(diào)用和連通性驗(yàn)證都已經(jīng)跑通了。接下來(lái)要做的是把這套配置固化到你的量產(chǎn)工程里。建議按三個(gè)方向推進(jìn)第一把 API Key 的寫(xiě)入流程接到產(chǎn)線(xiàn)工具里通過(guò) NVS 加密分區(qū)存儲(chǔ)避免固件里出現(xiàn)明文 Key第二把網(wǎng)絡(luò)狀態(tài)機(jī)的重試次數(shù)和切換閾值做成可配置項(xiàng)不同產(chǎn)品形態(tài)對(duì)聯(lián)網(wǎng)實(shí)時(shí)性要求不一樣第三把 MCP 指令表整理成文檔交給客戶(hù) MCU 團(tuán)隊(duì)對(duì)接減少聯(lián)調(diào)時(shí)間。如果你在排障或接入過(guò)程中遇到問(wèn)題優(yōu)先去 API Keys 頁(yè)面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 確認(rèn) Key 狀態(tài)再對(duì)照接入文檔 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 檢查請(qǐng)求格式。需要快速驗(yàn)證模型返回時(shí)用模型對(duì)話(huà)頁(yè)面 https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 做交叉測(cè)試。長(zhǎng)期做嵌入式 AI 編碼和 Agent 開(kāi)發(fā)的團(tuán)隊(duì)可以看 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 的套餐說(shuō)明把固件開(kāi)發(fā)和云端調(diào)試都放在統(tǒng)一通道里。最后給一個(gè)實(shí)用技巧設(shè)備端 WebSocket 斷線(xiàn)重連時(shí)不要立即重新發(fā)起 TLS 握手先等 2 到 3 秒避免在網(wǎng)絡(luò)切換瞬間反復(fù)握手導(dǎo)致內(nèi)存碎片。ESP32-S3 的 mbedTLS 握手需要約 30KB 堆空間三模切換時(shí)確保堆余量在 50KB 以上否則容易出現(xiàn)握手失敗但日志不明顯的現(xiàn)象。把 heap_caps_get_free_size(MALLOC_CAP_8BIT) 的打印加到網(wǎng)絡(luò)狀態(tài)機(jī)里聯(lián)調(diào)時(shí)會(huì)省很多時(shí)間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
青娱乐淫乱1314| 九九久久久久久爱| 亚洲精品国产无码高清| 日韩欧美中文字亚洲慕| 天天综合网亚洲综合网| 欧美 日韩 婷婷 五月| 激情五月天婷婷| 欧美日韩电影成人在线| 日本道不卡| 久9爱经典视频| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产极品精品美女视频| 国内毛片欧美香蕉精品| 欧美天天弄| 亚洲双插| 加勒比海人人操超碰在线| 和协影院中文字幕三区| q2午夜理论片夜色av| 青青色综合| av天堂影视中文在字幕在线中文 | 欧美 亚洲 偷拍自拍| 新久久AV| 3d成人精品一区二区| 婷婷超| 久久久免费高清中文视频| 九九热精彩视频| 蜜桃臀 后入 一区 二区 三区 在线| 桃花色涩综合影院| 超碰九色| caopeng97| 天堂av2019| 亚洲欧洲综合视频在线| 熟女自慰久久久| 国产精品经典一卡久久久 | 日本三级精品| 九九热精品| 天天天干977| 五十路熟女人妻一区二区在线观看| 午夜福利 成人 91| 国产精品亚洲色婷婷久久久| 超碰在线欧美性爱激情| 夜夜操美女| 国产9 9在线 | 亚洲| 91久久青青草原精品| 久久夜夜| 熟女激情综合网| 日韩强奸av| 国内毛片欧美香蕉精品| 亚洲成人在线高清| 亚州操逼网| 欧美拳交在线播放| 日日橹狠狠爱欧美超碰| 国产精品69久久久久孕妇欧美| 97操在线| 亚州性色| 人妻丰满熟妇一区二区三| 丁香婷婷五月| 五月天激情小说| 超AV色女| 欧美爱国产综合、| 99re免费| 综合欧美激情网| 国产欧美亚洲精品a第2页| 免费观看啪视频| 日韩人妻大香蕉| 精品人妻一区二区三区-国产精品| 欧美熟妇精品黑人巨大一二三区| 我爱搞逼综合网| 久久中久文96| av资源在线播放天堂| 综合欧美色图| 六月丁丁香| 插老姨肥穴| 日本精品一级二级三级| 麻豆国产96在线| 五月色综合| 91暧暧| 精品国产99| 亚欧美无遮挡| 少妇厨房愉情理伦片bd在线观看| 激情啪啪拍91| 欧美色图私拍91| 性爱AV天堂| 97天天| 乱伦3P视频| 麻豆久久视频在线地址| 热G综合热G中文| 99re免费视频精品全部| 精品一区二区三区蜜桃臀赵总| 日han少妇无码| 日韩本不卡视频在线观看 | 天天色天天干天天射| 国产视频一区二区免费| 亚洲情色在线| 美国日韩黄片| 久久久久骚| 熟妇女伦乱视频视频| 国产一级舔足在线观看| 亚洲不卡av在线| 欧美激情 亚洲色图| 国产精品婬乱一级毛片彝族| 性性久久| 国内偷自视频区视频综合| 婷婷丁香五月综合| 强乱老妇中文字幕| 8050无码八戒| 国产精品久久久久久9999| 国模无码人体一区二区三| 亚洲天堂人妻一区二区| 久9无限国产| 婷婷综合| 国语精品对白| 亚洲精品男人的天堂| 色五月激情AV在线| 国产午夜激片Av毛片不卡| 亚洲第一色页夜| 最新日本中文字幕| 大香网伊人久久综合网eew| 新亚洲无码| 情色AV电影| 男人精品区| 五月丁香六月激情综合| 日本 色 导航| 日韩久草| 少妇蜜汁| 老熟女搡BBBB搡BBBB视频| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 99re超碰| 国内精品999| 精品一区二区三区国产 | 久啪视频| 欧美熟爽综合| 91亚洲色人| 久久精品人妻一区二区| 3p国产欧美99热| 天天日熟妇| 亚洲精品无码少妇久久| 春色91| 91无码中出人妻视频| 亚洲久9| 中文字幕日韩国产传媒欧美精品| 最新日本中文字幕| 欧美高潮| 黄色十八禁网站| 亚洲成熟国产精品美女| 久久少妇| 麻豆精品三区视频| 天天日天天色| 殴美大黄片| 亚洲欧美伦综合| 夜夜一区二区| 午夜无码精品免费看性色| 欧美96交| 97精品久久久久久久| 99re国产精品视频| 精品人妻一区二区三区免费视频| 91爱综合| 日本 欧美 国产一区| 免费视频一二三区| 人妻少妇久久中文| 一区二区三区日韩欧美| 精品一区二区人妖| 色激情综合网站| 亚州中文字幕超碰97| 浪人综合网| 国产区日韩区在线观看| 亚洲一区二区AV| 97精品97| 人人妻人人操人人乐| 大学生口爆吞精| 偷窥自拍亚洲| 超碰在线第一页| 97资源超碰| 久久久久久国产精品免费网站| 欧美日本不卡在线| 夜夜嗨免费视频| 9热9热综合网| 国产在线不卡导航| 国产亚洲在线观看| 色天使亚洲综合在线观看| 日韩十八禁| 热热色色综合| 大香蕉宅男伊人| 91碰碰| 18禁中文字幕| 性久久久| 国产在线综合福利网站| 玖玖久久久| 久久人妻一区二区三区高清| 欧美大战久久久伊人| 白嫩嫩一区| 久久精品国产亚洲AV高级北京| 成 人 A V免费视频在线观看| 欧美日韩亚洲少妇寂寞影院正在播放 | 国产第二页| 99在线观看无大码| 丝袜综合| 国产熟女二区| 欧美日韩亚洲五月天婷婷| 中文字幕乱碼在线| 色91综合网| 国产日本熟女顶级一区二区三区视频| 国产婷婷一区| 中文乱码99| 蜜桃久久久久久久| 亚欧美天堂在线| 超碰三级秋霞| 久久成年精品| 欲射影视| 超碰午夜| 亚洲中文丝袜美腿诱惑字幕| 久久国产乱子伦精品免费女,网站| 欧美黑人日韩少妇色情| 女人天堂网| 妇女乱色二区| 久久线上视频免费看| 中国少妇啪啪视频| 中文字幕蜜乳av| 亚洲在线| 岛国网址国产| 制服乱伦| 天天综合日韩网| 吻戏激情性巴克| 97在线国产精品| 91+欧美| 中文字幕女同在线| 五月天人妻综合| 三久久久四久久久久| 日韩性爱啪啪视频| 入口操逼网站| 情色AV电影| 91肏屄网| 黄色十八禁| 欧美图片校园春色| 国产主播福利| 在线国产一区二区av| 亚洲AV成人在线| 97干日韩| 2020天天色综合| 性欧美91| 欧美经典一区二区三区| 99久久婷婷| 偷窥自拍亚洲色图| 美女丝袜激情小说| 91青青草| 国产精品久久久久综合| 在线人妻熟女一区二区三区四区五区| 18禁久久| 操逼逼一区视频| 黑人嘿嘿嘿超爽免费视频| 99爱在线视频| 欧美乱妇狂野欧美在线视频| 亚洲一区二区av| 精品国产Av无码久久久亚洲| 蜜桃无码AV一区二区| 日本高清电影欧美色图| 欧美综合色,www| 亚洲AV无码乱码| 亚欧性爱在线无码| 97天天弄| 美女被啪到深处抽搐视频| 中日韩久久久| 欧洲射精91| 亚洲色交| 欧美做爰无码A片视频| 操人妻逼91| 欧美成97爱| 大黄片做爱的大的| 白丝1区2区3区| 91美女視頻| 91夜色| 国产欧美一区激情交| 人妻天天爽夜夜爽精品2| 人人澡人人澡人人| 欧美久久人人网| 欧美日韩国产电影| 亚洲无无码αⅴ每日更新| 性爱久久| 亚洲色电影在线| 精品国产久热在线观看| 动漫av中文| 另类TS人妖一区二区三区| 狠狠中文字幕| 欧美+日产+中文| 国内毛片无码一级毛片| 大香蕉日韩| 免费黄色片子| 成人性交午夜免费片| 日本在线视频导航| 色婷婷国产精品一区在线观看| 日韩一级免费性爱| 亚洲影视第一页| 永久免费发布性爱网| 中文一区在线日| 欧美aa一级片| KK色在线影院| 五月激情在线| 97综合在线| 天天干少妇| 九热中文字幕| 青青草视频爽一爽| 收看日本人日bb| 日韩视频小说在线观看| 久久99午夜精品一区人妻| 中文字幕免费看| 亚洲aV无码成人在线观看| 人妻色情天天操| 色综合久久88色综合久久天天| 久久久成人精品| 日韩国产成人自拍视频| 91日韩网站| 91一起操| 日韩免费a级毛片无码a∨| 麻豆区99999| 色欲Av人妻精品一区二| 天天看高清麻豆| 亚欧视频在线| 91高清欧美| 91亚洲人电影| 无码区蜜乳| 五十路人妻在线| 久久艹逼视频| 18啪啪手机免费性爱| 性性久久| 色婷婷六月| 欧州一区二区三区四区| 91国精产品| 日亚韩精品视频二区三| 诱惑网综合| 日本最新免费韩国1区2区视频播放| 国产不良强奸视频免费看| 亚洲诱惑天堂| 蜜臀AV成人精品蜜臀| 欧美精品1区2区3区| 精品九九九| a片亚洲一本通视频| 五月丁香综合网| 成人免费看吃奶视频网站| 久久久久久裸体| 熟女精品一区二区三区| 免费a在线播放v| 亚洲天堂五月天国产| 精品美女人人干| 欧美超碰96| 国产精品久久伊人| 日韩黄色片子| 欧美AB在线| 欧美激情亚洲情色| 成人色女网| 婷婷97| 免费在线黄片视频| 国产h小视频在线观看免费| 日韩精品一区,二区 九九...老司机| 美女黄色一级A视频| 日韩图区 偷拍| 69视频入口| 天天天干977| 久久久久元码视频| 免費人妻夜夜爽天天爽爽一区| 日韩不卡毛片Av免费高清| 亚洲欧美国产va在线播放频| 中文字幕青青草| 欧美玖玖爱免费玖玖| 熟妇艹鸡八| 久久秀这里有精品| 久热伊人| 国产免费一区在线观看| 一本大道不卡一二三区| www.亚洲黄色| 色综合一本| 久操电影| 一区二区视频在看| 亚洲性刺激| 99日免费视频中文字幕| 久久久99999久网站| 少妇免费视频| 蜜桃臀 后入 一区 二区 三区 在线| 国内精品伊人久久久久影院会| 国产二区视频在线观看电影| 伊人一区二区在线播放| 手机看片日韩人妻| 天天干天天燥| 国产精品点击进入在线影院| 成人小说视频在线精品欧美| 看免费的黄片| 波多野结衣被操50分钟免费视频 | 午夜精品探花| 自拍鲍鱼一区在线高清观看免费| 岛国片国产成人亚洲播放| 成人性爱av| 视频国产精品未满十八禁止在线观看| 成人七区| 手机在线视频国内精品| 操逼网免费无码视频| 日韩精品永久在线观看| 色香色欲天天综合网天天来吧| 大香蕉免费乱伦视频| 国产亚州高清国产拍精| 欧美色图天堂在线| 91亚洲不卡一区| 国模不卡一本二本三电影| 久9久精品视频| 天天干人妻| 亚洲日本大香蕉1| 国产农村妇女毛片精品久久| 国产精品99999| 综合影院永久入口国产| 精品久久久高清无码| 日本五十路熟女一区二区| 精品伊人久久久大香线蕉小说| 99久久精品国产高潮| 六月丁丁香| 色999偷自拍拍| 亚洲熟妇综合久久久久久| 综合亚州欧美| 国产视频一区二区三区在线免费观看| 久久久久亚洲Aⅴ无码| 五月婷婷久久综合| 中文字幕少妇色| 久久久内射良家| 男人综合网| 亚洲欧洲av影音| Blackedraw视频一区二区| 人人操AV| 国产精品乱码久久久久久久| 天天躁日日躁狠狠躁| 欧美人妻一区| 色诱avtt| 麻豆成人影音在线| 国产精品自在自拍视频| 91人妻视频在线| 久久亚州大香蕉| 加勒比伊人| 91人妻尻屄视频| 国产自产91区13区| 美女十八禁| 二男一女成人A片| 天天日天天爽| 欧洲精品欧洲精品| 手机在线免费看的av| 日韩中文字幕在线视频观看| 久久有码| 亚洲丰满很很操| 综合久久9| 强奸乱伦资源| 青木玲在线不卡| 九热超碰| 福利视频一区二区微拍| 亚洲丝袜天堂| 日本中文字幕不卡视频| 五月综合色| 99在线啪| 大伊香蕉在线视频免费| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 91久久久亚洲| 色嘟嘟人妻天堂网| 99热精品在线观看| 色汉综合| 欧亚免费视频| 蜜桃视频啊啊啊啊| 久久成人国产| 不卡一区视频| 亚洲国产精品成人无码久久久| 久热色情精品| 网站A V在线| 天天综合网国产| 99re超碰| 亚洲国产综合久久久性感熟妇| 东京太热男人的天堂久久久| 日韩啪啪视频| 亚洲丝袜少妇在线| 性爱动态120秒| 大香蕉视频啪啪啪啪| 色人久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲视频中文一区| 天天天天天天天天综合| 乱伦Av网| 久久r精品| 久久国模av| 成人97人人超碰人人| AV高清一区| 欧美中文字幕日韩在线| 91久久国产综合精品| 精品中文字幕一区二区| 蜜桃狠狠色伊人亚洲综合 | 国产精品亚洲一级av第二区| 97热视频在线观看| 国产无套粉嫩白浆在| 欧美丝袜亚洲| 九久9热| 日本熟女不卡视频| 白丝在线一区| 日本三级中国三级99人妇网站| 熟人人妻少妇精品久久| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 大香蕉欧美国产日韩高潮| 久久精品中文字幕观看| 日日摸日日弄日日拍| 色99在线| 精品国产一区二区三区香蕉欧美| 国产AV天美传媒一区二区三区 | 欧美顶级黄色大片免费| 果冻传媒A片麻豆熟妇人妻| 青青草自拍视频在线播放| 国产日韩精品无码去免费专区国产| 色网综合网| 丰满人妻一区二区三区| 性爱综合一区二区| 哈哈操 大香蕉| 久久色一区| 欧美成人黄网色网站| 少妇久久久久久| 久久日本熟女精品一区| 欧美日韩夜夜| 人人操人人大香蕉| 无码久久国产| 婷婷综合在线| 91搞逼视频| 美女91网址| 欧美日韩亚洲高清不卡一区二区三区| 午夜黄色免费在线观看| 亚洲国产成人精品999| 亚洲欧美激情小说| 91l欧美在线| 国产原创自拍| 日韩精品在线观看网站| 欧美一级美片在线观看免费| 密臀视频三区免费网站| 941超碰| 天天日日日射| 久久99黄色卞西瓜| 97香蕉碰碰人妻国产欧美| 99久久久无码精品国产人| 97国产精品一区二区传媒公司| 嗯嗯啊啊视频一区二区三区| 男人亚洲91首页在线| 久久久久亚洲Aⅴ无码| 日韩免费av片高清无码| 亚洲欧美999| 国产激情在线| 99久久免费看精品国产一区| 久久人妇| #NAME?| 精品十三区| 欧洲综合视频| 天综合网| 亚洲天堂另类美腿| 91是天天| 人人操天天爽| 亚洲欧美九九九| 91啪9色| 四月丁香婷婷| 熟妇视频一区二区三区在线观看| 精品久久青青草| 欧美极品女人的天堂| 深爱五月天| 思思热在线视频精品| 丁香五月天视频| 婷婷五月天丁香| 久热99| 性爱视频久久| 五月天黄色av| 97综合国产精品高潮久久| 亚洲一区二区三区麻豆传媒| 久久精品一区| 亚热日本熟女| 欧美狠狠狠| 人妻少妇精品| 波多野结衣AV无码一区| 韩国一级婬片A片无码天美 | 青青草黑寡妇男人天堂| 熟女一区二区三区| 四虎免费视频| 91九色丨风韵犹存| 日韩成年人性爱视频| 国产亚洲深夜激情| 乱伦日本色图AⅤ| 日本福利二区视频| 亚洲有码 欧美精品| 亚洲91色在线| 内射中国少妇高清视频免费视频| 蜜区区视频79| 家庭乱伦麻豆| 韩国午夜理伦三级好看| 婷婷久草| 亚州人妻| 精品国产乱码久久久久久久| 超碰在线一区| 乳欲人妻办公室奶水| 日韩AV一起草| 日韩在线人妻网站| 国产精品粉嫩福利在线| 丝袜亚洲综合| 日本一区二区成人在线| 久久久久国产亚洲一区欧美色图日韩| 91av天美性媒精品视频| q2午夜理论片夜色av| 日韩色| 欧美aa一级片| 99这里有精品| 久久久九| 国产一区二区免费福利片| 午夜理论片在线观看免费| 伊人97超碰| 九草九九九| 日本一级特级毛片视频| 国产精品岛国片在线观看| 欧美色偷拍 | 日本不卡在线二区三区| 人妻人人澡人人爽人人| 久久久亚洲熟妇资源| 亚洲精品国产精品成人| 五月色综合| 日本新免费二区三区| 97色碰| 日本精品高清一二区一本到| 天天干天天日天天射黄色大片| 大香蕉日亚洲日本亚大| 熟女这里只有精品6| 青青草中文-久久青草精品一区二区三 | 啊啊啊男女| 中文字幕久热视频在线| 日本人妻一区二区| 日韩精品一二三| 亚洲一本色道中文无码aV天美| 天天天乱色综合全| 日韩在线国产字幕| 深爱激情五月天| 欧美色老汉| 无码国产精品久久久久| 天美传媒Av在线| 少妇熟女1区2区3区| 麻豆视频test| 偷拍盗拍亚洲色图图片| 99热精品在线| 国内外激情在线| 亚洲AV无码乱码在线观看性色| 夜精品久无码| 亚洲 自拍偷拍 欧美| 青青草五月天| αⅴ天堂| 欧美第一页| 欧美性爱三区二区| 丝袜色综合| 秋霞曰韩R级| 久久亚洲日韩国产欧| 亚洲av综合色区无码一| 欧美色图在线视频少妇| 亚洲第一黄色av网站| 亚洲熟女乱色一区二区三区久久久| 国产Av超碰| 欧美暴力猛交| 欧美日韩国产高清在线一二三区| 少妇内射www在线观看视频 | 久色99999| 不卡一区二区日本视频| 欧美黑人91| 亚欧高清v| 久热这里只有精品9| 国产精品另类| 国内91熟女人妻丝袜天天精品视频在线| 91日韩国产欧美亚洲另类精盘州至城都| 99在线精品观看99| 97超碰欧美中文字幕| 澳门成人网站久国产日韩| 成人av毛片在线观看| 亚洲自拍一区夜夜操| 特级毛片特黄久久免费看 | 日本国产成人亚洲精品无码| 超碰97人妻自拍| 久久欧美按摩999| 乱伦一二三区| 中文在线视频| 混色激情av| 国产精品一区av在线| AV男人天堂网| 97网址www| 国产性爱在线视频一区二区| 91少妇高潮| 国产免费大片| 国产懂色精品国产av| 亚洲男人天堂手机版| 北京专精特新企业招聘信息| AV污污污污| 九九九九九精品| 天美精品一区二区三区四区在线观看 | 又黄又爽在线观看视频 | 91欧美丝袜| 96AV精品| 国产强奸超碰AV| 神马久久久久久| 老熟女中文字幕高清| 99视频只有精品| 天天色天天干天天爱| 日韩一级二级三级| 国产欧美后入| 欧美亚洲激情小说| 亚欧韩av| 成人免费看吃奶视频网站| 这里只有97精品| 大香蕉男人的天堂| 国产不卡精品91| 亚洲欧美日韩精品久| 人妻精品视频一区二区三区| 国产熟女自拍| 欧美日韩亚洲天堂网| www.夜夜操| av在线一区二区三区| 大香蕉中文| 久久风骚城市| 亚洲熟女乱综合一区二区三区| 色欧美天天| 破苞ⅩXXX性无码动漫无码| 亚欧免费| 69视频入口| 久久免费9| 久久精品成人| 啊啊啊在线看| 天天综合网AV91| 麻豆区99999| 少妇 综合| 久操大香蕉手机视频在线看 | 久久久久亚洲精品| 高树玛利亚无码流出| 久久午夜伦| 丁香六月激情综合| 亚洲操人| 中文字幕av乱伦| 久久精品中文字幕无码l| 日韩精品在线视频在线观看| 色哟哟 日韩精品| 国产高清自拍| aa片毛片| 国产女同在线观看视频| 色悠久| 久久久久9999| 波多野结衣之双飞调教在线播放 | 99超级碰免费视频| 亚洲成av人片色午夜乱码| 久操视频资源站公开| www.大香| 欧美一级做a爰片免费视频| 日韩人妻中文视频| 囯产乱伦一区二区三女| 欧美日韩操逼嗦吊| 国产精品久久伊人| 色色色综合网| 台湾佬激情综合| 亚洲熟女国产综合另类| 蜜桃臀 后入 一区 二区 三区 在线| 欧美第一页性| 9热9热综合网| 日本精品久久久久久久| 久久是精品| 黑人精品欧美一区二区蜜桃| 精品夜夜澡人妻无码AV| 一本久道久久综合狠狠爱一密臀精| 欧美激情内射| 日韩啊V| 国产一区在线观看无码AV| 91碰超| www…国产操逼| 激情综合五月婷婷| 欧亚乱色熟一区二区三四区| 亚洲AV不卡在线观看尤物| 999 久久久| 午夜噜噜噜| 欧美激情一区| 岛国黄色短视频| 99啪啪| 精产国品一区二三产品| 屁股久久久久久久久| 97日韩欧美亚洲| 天天综合网日韩| 蜜乳AV.COM| 色色99| 亚洲精品天天影视综合网| 亚州欧美综合| 蜜臀久久99精品久久久久| 中字幕人妻一区二区三区| 91干熟女| 久久偷拍人| 亚洲欧美综合网| 久久国产熟女影院| 我爱大香蕉| 久久蜜色情在线视频xxx免费观看| 日韩特一级久久| 欧美Ⅴ性爱| 性色av婷婷久久一区二区点复制| 久久欧美1卡2卡3| 99色在线| 亚洲 日本 国产 综合| 九热视频| 色眯眯av| 欧美性爱第一页久久| 手机看av网站在线看| 少妇同性| 欧美超碰在线| 男人的天堂一区三区| 欧美午夜色妇色鬼| 天天日夜干| 91精品啪在线观看国产城中村| 毛片视频白嫩| 好吊色青靑草| 在线观看综合精品亚洲| 久久综合女优| 黄片www视频免费| 91超碰人人操| 中文字幕免费看| 国产人妖的免费的视频| 99re6久热只有精品6在线直播| 狠狠操狠狠燥| 午夜福利精品| 自拍欧美| 91性高朝久久久久久久久| 人人摸人人干| 日韩精品啪啪啪| 色欲日韩欧美在线一区| 欧美国产一区二区三区麻豆传媒| 在线视频亚洲无码| 欧美男人一区| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 91操人| 日本黄页视频在线观看| 国产亚洲日韩在线三区黑人| 亚洲熟女综合| 亚洲性爱成人| 日韩影片中文字幕一区二区三区| 日本506070| 日韩中文欧美| 亚洲色交| 怡红院视频在线| 精品999一区二区| 一区二区 韩日AV| 不卡日本一区二区| 午夜精品一区二区三区三上悠亚| 91白虎| 淫妻综合网| 92一区二区| 久久综合日韩亚洲欧美| 亚洲欧美日韩免费观看| 91丝袜在线观看视频在线观看| 久久久新亚洲AV| 久热久一区二区三区| 免费精品无码一级毛片牛牛影视| 日韩丝袜人妻AV| 无码一区免费在线不卡| 欧美72网页| 美女极品一区二区三区| 超碰97在线中文| 国产又操| 97chaopengongkai| 91n美女视频| 日逼视频日本| 久久久久久人| 男人兔费天堂| 大屁股人妻女教师撅着屁股| 性爱AV天堂| 精品久久久亚洲AV成人网站| 久久久久久久9999| 天天综合有色网| 久久精品高清AV| 日韩本不卡视频在线观看| 97日本超碰综合| 在线无码视频| 狠狠97| 久操99| 色噜噜精品一区二区三| 久久精品无码专区| 看黑人AV不卡| 国产成人bd在线观看| 友优传媒精品在线一区二区| 91亚州欧美| 天堂8在线新版官网| 久久精品—区二区三区内射| 免费网色网站| 色婷五月| 日日插夜夜| 国产精品农村妇女| 久久中出在线| 1024日韩| 强奸乱伦大香蕉| 欧美加勒比| 鸥美极品| 亚洲情色1区| 手机在线看片免费人成视频| 日本韩高清无砖码22o| 久久精品99久久久久久| 成年女人一区| 91精品无码人妻系列| V A在线| 久久精品噜噜噜成人看免欧美大片| 久久精彩视频9| 日韩999| 黄色AAAAA欧美| 欧美亚洲情色| 蜜区区视频79| 中文字幕久久亚州无码| 亚洲AV免费在线观看| 久久久九九网站| av无线看| 26UUU欧美日本| 农村妇女精品一二区| 久久精品99久久久久久| 伊人丝袜美腿高跟在线观看高清 | 起碰97| 亚洲欧美91| 国产欧洲精品亚洲午夜拍精品| 女人妻一区| 久久香蕉国产传媒一区剧情天美| 久久鲁干| 男人a天堂手机在线版| 成人性爱免费播放| 国产精品操| 色97干| 97久操| 欧美日韩亚洲少妇寂寞影院正在播放| www.高清无码诱惑一区.com| 肉丝网站91| 97超碰69| 亚洲另类久操网| 亚洲天堂男人在线| 色婷婷久久| 五月天激情四射| 激情五月天丁香社区| 国产成人亚洲精品无码古代早漏男 | 日韩 欧美 视频 在线 一区| 国产精品麻豆免费视频| 日韩操p| 十八禁视频一区二区| 久操91视频| 思思热在线视频免费| 国产主播福利| 最新国内自拍av免费| 女欧美一区二三区| 一区二区三区亚洲| 中文字幕在线观看永久| 亚洲一曲日韩精品| 亚一综合久久久久久久久久| 狠日操| 午夜久久无码1000合集| 久久精品国产亚洲AV高级北京| 狠狠操夜夜| 一级啊性爱在线视频| 黄aaaaaaaaaaaaaaaaaa色网站| 亚洲性爱无码乱伦av| 亚洲精品日韩国产欧美| 99人人干| 日韩偷拍色图| 亚州乱码中文字幕综合久久久| 丝袜无码a片| 试看60秒| 一卡二卡在线播放| 亚州色综合| 一级性爱视频免费观看| 亚洲小电影免费涩涩成人在线高清| 秋霞成人一级在线观看| 日韩欧美经典在线观看| 性爱综合网| 国产伊人自拍| 久久亚洲人妻| 骚熟女AV网| 久久夜夜| 啪啪资源网| 91操操| 人妻在线臀日韩| 日韩欧美偷拍美女视频| 噜噜噜噜天天狠狠| 97香蕉网| 岛国艾薇凹凸视频天堂| 欧洲色| 97中文字幕色| av2014 日韩在线中文字幕| 欧美性爱一区二区 | 日韩欧美天堂| 亚欧成人一级片在线播放| 午夜视频久久久久一区| 激情久久久| 北京专精特新企业招聘信息| 色综合久久夜色精品国产天堂| 理论久久婷婷网8| 伊人一区二区在线播放| 久久这里只精品99re66图| av婷婷色网| 黑人精品欧美一区二区蜜桃| 国产高清亚洲日韩一区| 日本性爱网址| 少妇被玩视频二三区| 国产精品69久久久久久久| 蜜乳AV免费观看| 欧美顶级黄片AAAAA在线免费看| 97青青操视频| 51一区二区三区| 无码人妻精品一区二区三区99不卡 | 日韩久久超碰色| 97国产精选| 国产精品亚洲无码| 亚洲丝袜色| 国产精品电| 免费国产电影一区二区| 激情综合五月| 天天操天天日天天干| 永久电影三级在线观看| 久久精品99| 91精品免费| 久久无码一区二区二三区性色| 欧美婷婷| 肉丝中文无码高清| 波多野结衣一级视频| 色呦呦、国产精品| 91综合网站| 丁香五月大香蕉| 国产精品97超碰| 天天色天天干天天爱| 97日本超碰综合| 亚洲骚逼少妇| 爱做久久久久久| 五月天亚洲网| 亚洲情色中文字幕一区| 黄呦呦在线| 天天干天天舔| 97青青操视频| 97资源久久| 成人五月香网在线| 亚洲 欧美 第一页| 人人插人人搞人人操| 玖玖超碰熟| 欧美日韩精品一区二区三区高清| 亚洲精品国产AV天美传媒| 久久专区| 国产少妇与亚洲av| 女性91网站| 97午夜剧场日韩| 欧美色图综合| 色穴精品| 黄片免费日韩| 麻豆国产av网| 蜜乳AV免费观看| 色五月69夫妻| 在线播放免费av福利片| A啊啊在线观看| 亚洲精品国产专区在线观看| 亚洲一本色码中文字幕| 思思热免费在线视频| 亚洲综合校园春色| hd成人一区二区在线| 欧美肥臀在线| 久久精彩视频| 成人线上超碰| 97在线欧洲| 国产特级毛片AAAAAA高潮流水 | 成人免费福利网站国产| 欧洲亚洲综合| 亚洲精品三| 亚洲色图91| 美腿丝袜偷拍亚洲欧美| 午夜一级免费毛片| 99这里都是精品| 三级三久久线久久99久目本WW| 欧美春色| 婷婷五月天久久精品视频一区二区三区| 亚洲国产成人精品999| 熟女AV一区| 国产超碰人人操| 久久区| 亚州久久9| 日本中文字幕在线视频| 91亚洲综合在线| wwe 天天干.com| 蜜乳AV网址| 夜色91| 偷拍综合亚洲| www.婷婷五月天| 综合av社区| 色偷偷综合91久久噜噜| 啊啊啊啊嗯嗯嗯用力好爽 | 日本精品第一视频在'| 人人妻人人玩人人澡人人爽| 中文字幕日韩精品一区二区三区| 加勒比在线视频一区二区三区| 四虎在线视频| 884t在线| 中文激情网| 国产精品久久久久久高清无码免费看| 日本最新1区2区3区| 神马久久久久眼| 日韩一性一交一A片俄罗斯| 亚州男人天堂| 国产热av| 四虎AV无码| 一区二区娱乐网站| 熟妇xxxxx性春色| 精品国产乱码久久久久久久| 91天堂视频| 99在线观看| 370p日韩欧美亚洲精品| 日韩精品啪啪啪| 色综合20p| 91麻豆天美国产| 中文字幕 码 自拍 视频 区| 2020中文在线一区二区三区| 国产99999| 中文字幕欧洲有码| 97色色国产视频| 亚洲av在线免费观看| 亚洲美女自拍偷拍视频| 熟女激情综合网| 精品九区| 久久久熟女一区| 丝袜美腿校园春色| 蜜臀精品1区2区| 国产激情久久久| 国产成人www免费人成看片| 一级婬片120分钟试看| 91黄站| 99色在线| 任你干在线视频| 亚洲青色欧美| 超碰 另类 欧美 | 日韩精品熟妇| 粉嫩av平台| 96精品久久久久中文字幕| 毛片久久| 午夜精品久久久久| 日韩一级成人毛片免费观看 | 亚洲黄a三级三级三级看三级| 在线一道啪| 99热精品在线观看| 91在线欧色| 东北丰满熟女国产一区| 免费超碰97久久| 色人久久| 婷婷av在线中文字幕| 风月影院男女十八禁| 色999五月色| 操操操五月天婷婷丁香影院| 国产精品在线一区二区| 67914亚洲精品| 亚洲一区二区三区中文字幕| 日本久久久久久久久久| 日本三级日本三级三级人妇四虎| 欧美国产伊人久久久久| 国产精品视频内谢女人| 后入式999| 欧美日韩少妇色情| 夜夜操天| AA丁香综合激情| 91丨九色丨东北熟女| 国产女同视频在线播放| 欧美亚洲首页| 亚洲综合色在线| 99久久9| 亚洲精品一区二区三区新线路| 亚洲αv一区二区三区| 男女做爰猛烈动高潮A片免费应用| 激情婷婷黑人91| 91n.欧美| 黑人综合色| 日韩有码回春沙龙第一页|