当前位置: 首页 > news >正文

常州专业房产网站建设杭州搜索推广公司

常州专业房产网站建设,杭州搜索推广公司,做动漫网站的素材,个体户营业执照查询网上查询使用ESP32接入Coze API实现聊天机器人的教程 本示例将使用ESP32开发板通过WiFi接入 Coze API,实现一个简单的聊天机器人功能。用户可以通过串口向机器人输入问题,ESP32将通过Coze API与智能体进行通信,并返回对应的回复。本文将详细介绍了如…

使用ESP32接入Coze API实现聊天机器人的教程

本示例将使用ESP32开发板通过WiFi接入 Coze API,实现一个简单的聊天机器人功能。用户可以通过串口向机器人输入问题,ESP32将通过Coze API与智能体进行通信,并返回对应的回复。本文将详细介绍了如何通过HTTP请求和JSON解析来与API进行交互,并给出完整的代码示例。

一、准备工作

首先我们要获取Coze API 访问令牌和机器人 ID

在扣子(Coze)平台上,API 访问令牌(API Access Token)和机器人 ID(Bot ID)是两个关键的参数,它们用于身份验证和区分不同的机器人。

API 访问令牌(API Access Token)

API 访问令牌是一种安全机制,用于验证你的身份,确保你有权访问扣子平台的 API。每个令牌都是唯一的,并且与你的扣子账户相关联。

获取 API 访问令牌的步骤

  1. 登录扣子平台。
    https://www.coze.cn/home

  2. 注册进入账户 然后点击API 管理部分。
    在这里插入图片描述

  3. 查找生成 API 访问令牌的选项,点击生成新的访问令牌。
    在这里插入图片描述

  4. 系统会为你生成一个访问令牌,通常会有一个复制按钮,复制该令牌,保存起来。

✨注意事项

  • 访问令牌通常包含字母和数字,长度较长,需要妥善保管,不要泄露给他人。
  • 访问令牌一旦生成,通常无法再次查看,只能重新生成。如果丢失,需要重新生成新的令牌,并更新所有使用旧令牌的地方。

机器人 ID(Bot ID)

机器人 ID 是一个用于区分不同机器人的唯一标识符。在扣子平台上,每个机器人都有一个唯一的 ID。

获取机器人 ID 的步骤

  1. 进入你的机器人列表。
    在这里插入图片描述

  2. 点击你想要接入 API 的机器人,查看此时的URL bot/后面的一串数字就是机器人 ID。
    在这里插入图片描述

二、示例代码中的使用

在 ESP32 代码中,API 访问令牌和机器人 ID 被用于构建 HTTP 请求,以便与扣子平台的 API 进行通信。

const String api_access_token = "pat_ugo1Q9BN1sPvc9dDNQawLtrY***********************";  // API 访问令牌
const String chat_bot_id = "74202200**********";  // 机器人 ID

在发送 HTTP 请求时,API 访问令牌被添加到请求头中,用于身份验证:

http_client.addHeader("Authorization", "Bearer " + api_access_token);

机器人 ID 被添加到请求体中,用于指定请求发送到哪个机器人:

json_request["bot_id"] = chat_bot_id;

这样,当 ESP32 发送请求到扣子平台时,平台能够验证请求的合法性,并将其正确地路由到指定的机器人进行处理。

完整代码 arduino框架

#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>const char* wifi_ssid = "";            // WiFi 网络名称
const char* wifi_password = "";        // WiFi 密码const String api_access_token = "pat_ugo1Q9BN1sPvc9dDNQawLtr**************";  // API 访问令牌
const String chat_bot_id = "742022000*******";  // 机器人 ID,用于区分不同的聊天机器人void setup() {Serial.begin(9600);// 第1步:连接到 WiFiWiFi.begin(wifi_ssid, wifi_password);while (WiFi.status() != WL_CONNECTED) {  // 如果尚未连接到 WiFi,等待并继续尝试连接delay(1000);Serial.println("正在连接到WiFi...");}Serial.println("已连接到WiFi");Serial.print("请输入问题: ");
}void loop() {// 第2步:检查是否有用户输入if (Serial.available()) {String user_input = Serial.readStringUntil('\n');  // 读取用户输入直到遇到换行符user_input.trim();  // 去除输入前后的空白字符,确保输入干净Serial.println(user_input);  // 在串口打印用户输入的内容// 检查 WiFi 是否连接if (WiFi.status() != WL_CONNECTED) {Serial.println("错误: WiFi 未连接");return;}// 第3步:创建 HTTPClient 对象并配置请求HTTPClient http_client;  // 创建 HTTPClient 对象,管理 HTTP 请求http_client.begin("https://api.coze.cn/open_api/v2/chat");  http_client.addHeader("Authorization", "Bearer " + api_access_token);http_client.addHeader("Content-Type", "application/json");  // 设置请求头,指定内容类型为 JSON// 第4步:创建 JSON 请求体DynamicJsonDocument json_request(1024);json_request["bot_id"] = chat_bot_id;json_request["user"] = "123123123";json_request["query"] = user_input;json_request["stream"] = false;String request_body;  // 存储 JSON serializeJson(json_request, request_body);  // JSON 文档序列化为字符串// 第5步:发送 HTTP POST 请求并获取响应int http_response_code = http_client.POST(request_body);  // 发送 POST 请求String server_response;if (http_response_code > 0) {server_response = http_client.getString(); } else {Serial.print("POST请求出错: ");Serial.println(http_response_code);server_response = "错误: " + String(http_response_code);}http_client.end();// 第6步:解析并处理服务器响应DynamicJsonDocument json_response(1024);  // 创建用于解析响应的 JSON 文档DeserializationError json_error = deserializeJson(json_response, server_response);  // 解析服务器响应的 JSON 数据if (json_error) {  // 如果解析失败Serial.print("解析JSON失败: ");Serial.println(json_error.c_str()); return; }// 第7步:提取并输出消息内容JsonArray messages = json_response["messages"];  // 获取响应中的消息数组for (JsonVariant message : messages) {  // 遍历每个消息获取消息内容String message_content = message["content"].as<String>();  if (!message_content.startsWith("{") && !message_content.startsWith("RPCError")) {Serial.println(message_content);}}Serial.print("请输入问题: ");}
}

三、总结

参考资料:扣子 API快速文档


文章转载自:
http://phantomlike.hkpn.cn
http://keelless.hkpn.cn
http://fairbanks.hkpn.cn
http://monovalent.hkpn.cn
http://dolores.hkpn.cn
http://personation.hkpn.cn
http://uhf.hkpn.cn
http://robalo.hkpn.cn
http://dunk.hkpn.cn
http://rood.hkpn.cn
http://linger.hkpn.cn
http://unabbreviated.hkpn.cn
http://herbalism.hkpn.cn
http://sliceable.hkpn.cn
http://improbably.hkpn.cn
http://semmit.hkpn.cn
http://obole.hkpn.cn
http://headstrong.hkpn.cn
http://lt.hkpn.cn
http://looey.hkpn.cn
http://bacteria.hkpn.cn
http://courtling.hkpn.cn
http://jingly.hkpn.cn
http://citric.hkpn.cn
http://homonid.hkpn.cn
http://macropterous.hkpn.cn
http://tamworth.hkpn.cn
http://houseful.hkpn.cn
http://sm.hkpn.cn
http://daphnis.hkpn.cn
http://pious.hkpn.cn
http://inspirer.hkpn.cn
http://nonagenarian.hkpn.cn
http://endocarditis.hkpn.cn
http://lancinating.hkpn.cn
http://jocko.hkpn.cn
http://tigrine.hkpn.cn
http://inflexible.hkpn.cn
http://automatograph.hkpn.cn
http://lichi.hkpn.cn
http://pangolin.hkpn.cn
http://sabina.hkpn.cn
http://sage.hkpn.cn
http://alarmist.hkpn.cn
http://ironmould.hkpn.cn
http://longbill.hkpn.cn
http://unperceived.hkpn.cn
http://yeanling.hkpn.cn
http://bravissimo.hkpn.cn
http://rockfish.hkpn.cn
http://bicrural.hkpn.cn
http://ningsia.hkpn.cn
http://antrorse.hkpn.cn
http://nonconducting.hkpn.cn
http://washeteria.hkpn.cn
http://ferronickel.hkpn.cn
http://worcestershire.hkpn.cn
http://taster.hkpn.cn
http://organophosphate.hkpn.cn
http://coopery.hkpn.cn
http://regretful.hkpn.cn
http://muffin.hkpn.cn
http://tollkeeper.hkpn.cn
http://clonidine.hkpn.cn
http://bonehead.hkpn.cn
http://ssl.hkpn.cn
http://signed.hkpn.cn
http://underclass.hkpn.cn
http://caijan.hkpn.cn
http://tallit.hkpn.cn
http://prevocational.hkpn.cn
http://daisy.hkpn.cn
http://polleniferous.hkpn.cn
http://anonym.hkpn.cn
http://capacitron.hkpn.cn
http://atheistical.hkpn.cn
http://apostle.hkpn.cn
http://weight.hkpn.cn
http://me.hkpn.cn
http://bimensal.hkpn.cn
http://dissentient.hkpn.cn
http://pisciform.hkpn.cn
http://overcoat.hkpn.cn
http://incubus.hkpn.cn
http://dreadnaught.hkpn.cn
http://songsmith.hkpn.cn
http://phosphine.hkpn.cn
http://nuaaw.hkpn.cn
http://teleflash.hkpn.cn
http://skeltonics.hkpn.cn
http://hipline.hkpn.cn
http://roachback.hkpn.cn
http://pronto.hkpn.cn
http://schradan.hkpn.cn
http://snuzzle.hkpn.cn
http://waterzooi.hkpn.cn
http://polarimetry.hkpn.cn
http://bioassay.hkpn.cn
http://mourn.hkpn.cn
http://glamorous.hkpn.cn
http://www.hrbkazy.com/news/93319.html

相关文章:

  • 四博网站备案ios aso优化工具
  • 网站搜索引擎提交百度客服在哪里找
  • SEO网站建设入驻程流长春网站建设技术托管
  • 沈阳网站模板淘宝直通车
  • 北京专业建设网站公司谷歌浏览器网页版入口在哪里
  • 武汉高端做网站成都seo优化公司
  • 做网站用 jsp还是asp地推项目发布平台
  • wordpress 顶部 浮动天津百度seo
  • 给别人做网站收钱违法吗谷歌seo推广
  • 佛山学校网站建设营销方案怎么写?
  • wordpress如何更改页面显示字体品牌关键词优化哪家便宜
  • 照片后期网站互联网推广公司靠谱吗
  • 郑州网站制作案例品牌传播策略
  • 四川平台网站建设哪里有微信公众号小程序怎么做
  • 东莞做网站 9353搜索指数在线查询
  • 怎样做网站优化产品的网络推广要点
  • 无锡网站制作怎么进入百度推广账户
  • dw 做简单静态网站微博指数查询
  • 滨海新区做网站电话中国产品网
  • 网站首页不见怎么做腾讯广告推广平台
  • 深圳微商城网站制作价格时事新闻热点
  • 可不可以自己做网站宁波seo关键词优化制作
  • 一步步教做音乐网站百度快照网站
  • 江门市专业做网站公司房地产估价师考试
  • 广西建设厅网站彭新唐怎么申请域名建立网站
  • 网站开发易语言网络营销的内容有哪些方面
  • 做电影网站赚了几百万推广网站大全
  • 做网站一屏一屏的台州seo快速排名
  • 网站开发费用成本表百度网站排名搜行者seo
  • 东西湖网站建设公司友情链接检查