i.mx287学习笔记7-与图灵机器人对话

2023-10-27

上面是我的微信和QQ群,欢迎新朋友的加入。

1.创建QT界面

目前界面比较简单,就是两个按键加两个文本窗口

第一个文本窗口用于输入聊天信息

第二个文本窗口用于显示图灵的返回信息

send按键发送聊天信息

clear按键清除文本框内容

2.修改pro增加模块

#-------------------------------------------------
#
# Project created by QtCreator 2019-08-22T21:01:43
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4):
QT += widgets
QT += network
QT += script

TARGET = untitled
TEMPLATE = app

SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

主要增加了网络和script两个模块

3.控制界面的实现

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QNetworkReply>
#include <QScriptValue>
#include <QScriptValueIterator>
#include <QScriptEngine>


const QString URL="http://www.tuling123.com/openapi/api";
const QString API_KEY="xxxxxx";//这里自己去申请


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::replyFinish(QNetworkReply *reply)
{
     QString data=reply->readAll();//读取回话信息
     QString strText="";
     QScriptValue jsontext;
     QScriptEngine engineText;
     jsontext=engineText.evaluate("value="+data);
     QScriptValueIterator iteratorText(jsontext);
     //解析回话信息
     while(iteratorText.hasNext())
    {
         iteratorText.next();
        if(iteratorText.name()=="text")
          {
             strText=iteratorText.value().toString();
             ui->textEdit_2->setText(strText);
             //回话对话框设置为回话信息
             break;
           }
     }

}

void MainWindow::on_readyRead()
{
    qDebug()<<"changing ~~~"<<endl;//打印表示回话成功
}

void MainWindow::on_send_clicked()
{
    QString Url=URL+"?key="+API_KEY+"&info="+ui->textEdit->toPlainText();
    //拼接对话信息
    QUrl url;
    url.setUrl(Url);//格式转换
    QNetworkRequest request(url);//传输对话信息
    QNetworkAccessManager *manager=new QNetworkAccessManager(this);
    QNetworkReply *reply=manager->get(request);
    //等待回话信息
    //回话的信号与槽
    connect(manager,SIGNAL(finished(QNetworkReply *)),this,SLOT(replyFinish(QNetworkReply *)));
    connect(reply,SIGNAL(readyRead()),this,SLOT(on_readyRead()));
}

void MainWindow::on_clear_clicked()
{
    QString str="";//空字符串
    ui->textEdit->setText(str);//回应对话框变为空字符串
    ui->textEdit_2->setText(str);//输入对话框变为空字符串
}

功能很简单,实现按键发生输入信息,再显示返回信息

4.API申请

上面的代码copy之后是没有用的,因为key被我删了,这个东西自己申请,如果我放出来,很可能我自己就没得用了

申请链接:http://www.tuling123.com

登录之后,创建一个机器人

然后将自己的key拷贝出来

注意:如果不掏钱,使用是有限制的

5.PC端测试

6.在I.mx287上运行图灵机器人

编译嵌入式qt程序

拷贝到设备上面

7.设备端测试

先测试一下,设备能否连接外网

如果不行

输入rote确定网关正常

route add default gw 192.168.1.1

修改vi /etc/resolv.conf

 增加如下内容:

   nameserver 114.114.114.114 (电信的DNS)

   nameserver 8.8.8.8(googel的DNS)

   就可以实现ping通外网了

我发个123上去

图灵回了个321,不过目前QT不支持中文显示。之后抽时间将QT的中文显示处理一下

同时可以在管理后台可以看到访问了API

我现在没认证,一天就能用两次

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

i.mx287学习笔记7-与图灵机器人对话 的相关文章

  • 20分钟轻松完成2篇申请文书?ChatGPT到底是黑科技还是黑名单?

    自从ChatGPT与2022年底正式出道并走红之后 各大领域都纷纷浮现使用这款人工智能软件完成本属于人类工作的现象 如果你以为它就像手机上呼叫一声就能帮你查看天气或者设置闹钟的机器人一样那就错了 ChatGPT能够在一段对话中结合你给的信息
  • 海思3559av100 内核启动优化

    在内核目录下 使用menuconfig去裁剪内核 配置裁剪内核 make ARCH arm64 CROSS COMPILE aarch64 himix100 linux menuconfig 然后覆盖以前的配置文件 cp config ar
  • git-lfs安装及clone常见问题

    1 安装git for windows 3 20版本 报错Could not find git can not register Git LFS 错误原因 可能这个版本有问题 参考 Could not find Git can not re
  • Stata学习笔记

    今天学习的视频是 stata入门 国泰安和锐思数据下载 哔哩哔哩 bilibili up主 差点没头 stata入门 从国泰安导入数据 哔哩哔哩 bilibili 目录 1 从CSMAR下载数据 以下载年报中的数据为例 2 导入stata中
  • 网站根目录打不开服务器拒绝,检查网站打不开的三种原因

    自己做了网站之后 如果在实际访问中 出现了网站打不开的情况 怎么去查找什么原因导致了网站打不开呢 可以通过下面三个方面去检查一下到底自己做网站时哪里出现了问题 一 检查网站域名是否出问题 网站在线方式有二种 一种是租用虚拟主机 一种是服务器
  • 经济2023---风口

    改革开放以来 中国共有12次比较好的阶级跃迁的机会 包括80年代选部委院校 办乡镇企业 倒卖商品 90年代下海 选外语外贸 炒股 00年代从事资源品行业 选金融 炒房 10年代选计算机 搞互联网 买比特币 从这里面我们能总结出什么规律呢 总
  • Intellij IDEA 插件下载慢或无法查询

    由于前段时间迷上一个臊皮的idea UI doki 以下效果 在关闭掉该插件以后 出现了UI残留的现象 重装 导入以前的setting依然无法解决这个问题 只好重新下载一个干净的idea 以前的插件又得重新下载 然鹅新的idea下载到一半直
  • hssfrow 单元格样式_poi导出excel单元格中画斜线_AnyReport报表

    下面是输出excel斜线完整的示例代码 使用的poi类库为 poi 3 8 jar import java awt Color import java io FileOutputStream import org apache poi hs
  • 深度学习对模型进行微调

    首先 为什么对模型进行微调 当我们得到一个深度学习任务时 例如 一个涉及在图像数据集上训练卷积神经网络 Covnet 的任务 我们的第一直觉将是从头开始训练网络 然而 在实践中 像 Covnet 这样的深度神经网络具有大量的参数 通常在百万
  • matlab绘制二次曲线,并找出最大值位置(找出两曲线的最大差值点)

    绘制二次曲线源代码及方法如何用matlab画Y X 2的图啊 百度知道 画出函数曲线后 找出最大值点的坐标 求助 matlab画曲线后 求其上面最大值那一点的坐标 百度知道 ymax tp max y y为你的图形中纵坐标显示的变量名 ym
  • pnpm全局安装nodejs异常

    准备使用pnpm管理nodejs 但是设置了nodejs安装路径之后 nodejs就无法安装了o o C Users 用户名 AppData Local pnpm config rc 中删除nodejs的配置 将rc的global bin
  • Robot Framework做UI自动化测试

    Selenium2Library库安装与配置 selenium是一款用于Web应用程序测试的工具 它支持多平台 多语言 多浏览器去实现自动化测试 针对robot framework的库有两个 SeleniumLibrary和Selenium
  • Vue 组件注册

    Vue 组件注册 我们先来看一下什么是组件 Vue js的组件就是提高重用性的 让代码可复用 下面是一个Vue组件的示例 现在可以不用理解下面的代码 div div
  • PowerShell 中激活anaconda的虚拟python环境

    win10 系统下 安装python 通常选择anaconda 也会面临使用PowerShell的情况 但是Power Shell和anaconda的虚拟环境不配合 无法激活 在anaconda中创建虚拟python环境 conda cre

随机推荐