K10通过HTTP协议GET请求免费API《时间段的温馨提示》作为每日正能量注入器- Makelog(造物记) (dfrobot.com.cn)
继上一篇K10的HTTP作业之后,又自己学习了一些,过年期间探索了几天,有了进阶思路,慢慢完善HTTP的教程,后续应该还会有系列的分享。细节这篇就不讲了,主要把思路表达清楚,大家都能实现,像我这样的小白,主要分享创意就好,另外发现,大模型真是不错的老师。

信息技术新课标2022中课程内容对以下做了指示HTTP不管在编解码,数据传输或者信息安全信息处理都是很重要的一部分,接下来让我们看看HTTP的简单应用。
步骤1 联网显示标题
步骤2 通过HTTP的get请求A键刷新网易云热评,并将文字解析出来。
通过HTTP的get请求A键刷新网易云热评,并将文字解析出来,优秀的同学会使用json格式,我还在学习中。语音合成读出来,伴随着提示音。

步骤3 点赞收藏回看
步骤4 全部
代码
/*!
* MindPlus
* esp32s3bit
*
*/
#include "asr.h"
#include <DFString.h>
#include <SimpleList.h>
#include <DFRobot_Iot.h>
#include "unihiker_k10.h"
#include <DFRobot_HTTPClient.h>
// 动态变量
String mind_s_YuanShiNaRong, mind_s_XianShi, mind_s_XiHuanZhuanWeiZiFuChuan;
volatile float mind_n_KaiShi, mind_n_JieShu;
SimpleList<String> mind_l_XiHuan;
// 函数声明
void onButtonAPressed();
void onButtonBPressed();
// 创建对象
DFRobot_Iot myIot;
UNIHIKER_K10 k10;
uint8_t screen_dir=2;
DFRobot_HTTPClient http;
Music music;
ASR asr;
// 主程序开始
void setup() {
k10.begin();
pinMode(P0, INPUT);
Serial.begin(9600);
pinMode(P1, INPUT);
k10.initScreen(screen_dir);
k10.creatCanvas();
k10.buttonA->setPressedCallback(onButtonAPressed);
http.init();
asr.setAsrSpeed(1);
k10.buttonB->setPressedCallback(onButtonBPressed);
myIot.wifiConnect("doro2020", "doro2020");
while (!myIot.wifiStatus()) {}
k10.canvas->canvasText("天狗文学", 75, 0, 0xFF0000, k10.canvas->eCNAndENFont24, 10, true);
}
void loop() {
}
// 事件回调函数
void onButtonAPressed() {
http.GET("https://v.api.aa1.cn/api/api-wenan-wangyiyunreping/index.php?aa1=text", 10000);
mind_s_YuanShiNaRong = http.getString();
mind_n_KaiShi = (dfstring.indexOf(String("<p>"), String(mind_s_YuanShiNaRong)));
mind_n_JieShu = (dfstring.lastIndexOf(String("</p>"), String(mind_s_YuanShiNaRong)));
mind_s_XianShi = (dfstring.substring(mind_s_YuanShiNaRong,0,(mind_n_KaiShi + 3),0,(mind_n_JieShu - 1)));
music.playMusic(POWER_UP);
k10.canvas->canvasText(mind_s_XianShi, 0, 25, 0x0000FF, k10.canvas->eCNAndENFont24, 10, true);
k10.canvas->updateCanvas();
asr.speak(mind_s_XianShi);
}
void onButtonBPressed() {
while (1) {
if (((digitalRead(P0))==1)) {
delay(800);
mind_l_XiHuan.insert(1-1, mind_s_XianShi);
Serial.write(mind_l_XiHuan[1-1].c_str());
Serial.println();
mind_s_XiHuanZhuanWeiZiFuChuan = mind_l_XiHuan[1-1];
}
if (((digitalRead(P1))==1)) {
delay(500);
k10.canvas->updateCanvas();
k10.canvas->canvasText(mind_s_XiHuanZhuanWeiZiFuChuan, 0, 25, 0x0000FF, k10.canvas->eCNAndENFont24, 10, true);
Serial.write(mind_s_XiHuanZhuanWeiZiFuChuan.c_str());
Serial.println();
}
}
}
附件
评论