当前位置:   article > 正文

齐护AIcam_pro ESP32Cam 如何连接百度腾讯实现人工智能?_esp32结合百度ai

esp32结合百度ai

AIcam_pro

一、开发板

AIcam_pro 学习开发板是在AIcam V2的基础上进行升级而来的,更全面的功能,在兼容V2的所有功能基础上增加设计了功放(可以直接在主板上接喇叭播放)、锂电充放电路(可以直接插3.7V锂电池运行)、外壳、摄像头可正反面转动安装等更个性化的学习应用功能。

AIcam pro将常见的百度,旷视以及腾讯等人工智能平台进行了整合提供了统一的接入方式,提供了几十种常用固件整合的方式,简化了人工智能的使用方法,为广大师生与爱好者提供了一种人工智能学习的简单方法。

正面背面扩展功能演示
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

二、功能说明

在这里插入图片描述
在这里插入图片描述

四、应用

4.1 知识

4-1-1 人工智能

人工智能是让计算机像人一样思考和学习的技术。就像人类可以通过学习和经验来做出决策一样,计算机也可以通过学习和处理大量数据来做出类似的决策。比如,你可以让计算机通过学习识别图片中的物体,或者让它通过学习自然语言处理来理解人类的语言。这些技术可以应用于各种领域,例如医疗、金融、交通等,帮助人们更好地解决问题和做出决策。而在线人工智能则是各大云平台为人工智能提供的一个API接口,我们将原始素材通过这个API接口提交到服务器,服务器经过处理便可得到我们想要的处理结果从而实现机器辅助人类协同工作的作用。

4-1-2 API接口使用

API接口是一种让不同的软件系统之间进行交流和数据传输的方式。就像人们通过电话进行交流一样,不同的软件系统可以通过API接口进行数据传输和交流。API接口可以让不同的软件系统之间进行数据共享,从而实现更高效的数据处理和应用开发。例如我们这里人工智能的应用,我们不关心它的处理过程,只需要得到最终的处理结果因此我们通过API接口提交这个图片音频或者文字,服务器经过处理后给我们返回想要的结果。想要使用API接口我们需要懂一点编程语言、网络协议、数据格式等知识。

4-1-3 串口通讯

串口通讯是一种通过串行接口进行数据传输的通讯方式。串口通讯是计算机和外部设备(如传感器、控制器等)之间进行数据交换的一种常见方式。串口通讯具有传输距离远、传输稳定可靠、支持多种数据类型、硬件成本低、易于实现等优点。AIcam Pro利用串口通讯进行数据交互,其他开发板通过串口发送特定指令给AIcam Pro从而控制AIcam Pro进行拍照上传云处理或者拍照保存等功能并将结果返回其他开发板从而实现让 任意开发板接入人工智能。

4.2 AIcam Pro功能

如下是AIcam的可实现功能,在此教程中我们选择有代表性的应用就行分析教学,不对基础应用进行说明或教学,因为AIcam的主控芯片是基于ESP32的,所以它离线编程功能或在线物联网功能也是非常强大的,这部分功能完全兼容AIcam V2的,所以可以在齐护教育版Mixly中学习查看有相关丰富的应用教程案例。

AIcam及齐护云服在我们的项目中起到的作用。AIcam 相当于我们的控制中心负责拍照或收集单片机数据并传给齐护云,而齐护云负责将AIcam收集到的数据处理后,整理成第三方平台可以读取分析的数据再分发给不同的第三方云平台处理,并将第三方平台传回的数据又整理成AIcam可以读取方式传给AIcam,AIcam再将数据处理成其它单片机或用户可以读取的信息分发,也可能要再次返回给云平台,如此循环。

在这里插入图片描述

4.3 固件烧录的方法

在AIcam的出厂程序中,我们除了提供Mixly图形化软件编程(全开源代码可视)方式外,同时提供了多功能固件的方式,这样让AIcam使用更简单稳定,功能更多,用户拿到手只要按教程上传一个对应的固件就可以直接使用了。

使用Type c数据线连接电脑,并安装打开【齐护固件上传工具】(工具可在本教程最后的资料包或齐护教育版Mixly上找到)与AIcam Pro选择所需功能的固件(固件见附录文件)按下图方式使用齐护固件上传工具将固件写入AIcam Pro。

在这里插入图片描述

在这里插入图片描述

4.4 TF卡配置

在使用对应的AI固件的时候我们需要配置AIcam Pro连接的网络,同时不同AI功能对应的平台网址也不同,某些情况下我们还需设置摄像头的水平镜像与垂直镜像以符合当前的需求,那么如何简单便利的对其进行配置呢?

AIcam Pro采用了TF卡配置的方法,在TF卡内新建一个命名为admin.txt的文本文件,写入如下的json字符串进行配置

注:在所有参数中不建议有空格,确认是标准的json格式

{
	"ssid": "WiFi名称",
	"pass": "WiFi密码",
	"url": "AI网址",
	"hmirror": "水平镜像",
	"vflip": "垂直镜像"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

json格式的字符串具备简洁与可读性高的特点,可以很方便的看出各个参数与其值的关系,现在对该json字符串的各个参数进行简要说明。

ssid:连接的WiFi名称 注意:不要使用中文,中文可能存在无法连接网络的情况;

pass:WiFi密码(WiFi需为2.4G频段WiFi);

url:图片上传的网址(参数拼接到链接整体作为上传网址);

当采用前置或后置摄像头时通过如下两个参数来调节显示方向

hmirror:为摄像头的水平镜像设置(值范围0-1);

vflip:为摄像头的垂直镜像设置(值范围0-1);

4.5 齐护AIcam离线功能

用4.3的方法,把【SD卡配置通用图像AI固件】–【万能AI固件】上传到AIcam pro, 就可以在没有网络连接的时候我们可以使用AIcam Pro的离线功能,对于图像相关功能仅需在配置AIcam Pro通用AI固件配置文件时将ssid参数与pass参数填写为空字符串即可,同时无需url参数(有没有都一样),配置如下所示:

操作说明:

1,上传【万能AI固件】;

2,把如下内容复制在SD卡里的admin.txt文件内保存即可,不要更改或其它内空。

{"ssid":"","pass":"","hmirror":"1","vflip":"0"}
  • 1

上传成功后按一下复位键(当更新固件或重启电源后都要按一下复位来启动程序的运行),使用如下图:

在这里插入图片描述

4-5-1 图像对比分析

我们知道相同硬件条件下拍摄的图片大小(这里的图片大小指的是占内存的多少)只与环境有关环境的复杂度与光照条件均会影响图片大小,在环境缓慢变化的过程当中相邻两张图片的大小是相近的其绝对值差异较小。相反,在环境变化激烈的场合,如突然有某个物体闯入或者光线剧烈变化都将明显影响图片的大小,利用这个特点我们可以粗略的实现人体检测,运动检测,颜色检测,有无检测,图像对比等功能。比如花开与没开的图像区别,有没有对应元件的图像区别,当视频中多一个人与少一个人的区别,都会体现在输出数值的不同!

操作说明:

上电复位键–按key到显示画面后–【长按Key】,会切换画面检测(图像分析)模式或者实时视频流模式,其中画面检测模式与实时视频流模式相比多了图片大小显示与串口打印图片大小,该模式会定时检测并发送图片大小,其他设备或者单片机可以使用该值进行判断,从而使用以上目标。下图中演示了画面检测模式并串口打印该值。这里你可以试着更换图像中的物品发现打印的值是不同的。

在这里插入图片描述

4-5-2 拍照保存TF卡

离线模式下有两种方式进行拍照保存到TF卡,分别是【单击Key】或者【通过串口指令】控制拍照保存。

操作说明:

1,单击Key拍照:图片将从序号0开始保存,同时序号将递增保存在SD卡的根目录下;

2,通过串口指令:可以指定拍照保存的文件名,指令格式为save_path,其中path为保存的文件路径(固件帮你添加了图片后缀名.jpg,如需要保存的文件名为test只需串口发送save_test)。

通过板载按钮Key拍照保存效果如下:

在这里插入图片描述

4-5-2 离线MP3播放

使用离线MP3播放功能需要烧录-【AIcam播放SD卡MP3】,网络连接的时候我们可以使用在线语音合成或者播放网络MP3,那么在离线情况下我们能不能将AIcam Pro当作一个离线MP3模块播放TF卡内的MP3呢?答案是肯定的,考虑到某些情况下离线的语音交互使用较广,因此AIcam Pro准备了一个播放TF卡MP3文件的实用固件,通过串口发送指定文件名进行MP3播放,使用步骤如下

在这里插入图片描述

操作说明:

  1. 将固件上传AIcam Pro,重启–按复位–开发板;
  2. 单击Key进入固件说明页,认真查看后单击Key下一步;
  3. 初始化成功显示绿色成功图标同时提示初始化成功;
  4. 串口发送音频路径如/test.mp3(不要有中文目录或文件名,播放MP3文件需指定完整路径),根目录下直接/xxx.mp3,如果在是01文件夹内,那么就是/01/xxx.mp3;
  5. 开始播放MP3显示绿色音乐图标与播放路径(串口将发送Play starts),播放完成将显示红色音乐图标与播放路径(串口将发送Play finished)。
  6. 技巧:当第三方设备可通过串口通讯判断接收到的字符串从而获取当前MP3播放状态,再播放MP3的过程当中可以打断当前播放的MP3,只需要串口发送重新指定播放一段简短无声的MP3文件即可。

注意串口互动通信消息:开始播放串口返回Play starts,播放结束返回Play finished

4-4-5 无线图传

当搭配时,可以将AIcam Pro视频流发送到手柄进行显示,同时AIcam Pro串口将定时发送手柄的按键状态,此功能另有详细的教程请查看齐护wiki 物联网手柄使用教程

在这里插入图片描述

4.6 AIcam在线功能

在线功能是通过齐护服务器的,所以也只有齐护发行的硬件才可以使用(非自定义端口 或自行二次开发的),AIcam_pro系列在出厂前默认校验登记在服务器上可直接使用,如果是AIcam V1_V2系列产品原先正常使用齐护云服的无需再次校验,直接可以用,新上手的V1_V2可以上传【打印显示MAC地址.bin】固件,将MAC地址连同产品显示MAC的相片发给齐护服务人员后台校验。

齐护机器人仅作为硬件与各人工智能云平台之间连接的桥梁,所有的接口账号均来自于各大平台需自行申请开通对应权限使用,齐护机器人平台是完全免费与AIcam硬件中转连接的一种教育学习应用云服方案,方便用户使用,不用再二次开发!

4-6-1 腾讯车牌识别

腾讯人工智能部分以腾讯云车牌识别为例(腾讯大部分接口只要注册并实名都提供了每月一定额度的免费调用次数,这对于我们的学习足够)。

查阅齐护AIcam Pro开放API附录可知其API接口格式为

http://<齐护机器人网址>/qdpai/tenxun/V1.php?secretId=&secretKey=

说明:

<齐护机器人网址>齐护AI官网:ai.qdprobot.com

<secretId>与<secretKey>:是腾讯云开通人工智能相关接口的账号授权信息,齐护机器人仅作为硬件与腾讯云之间连接的桥梁,对于其他平台仍是如此。所有的接口账号均来自于各大平台需要自行申请开通对应权限使用,现在以腾讯车牌识别为例演示如何识别车牌,下面重复的内容不再进行赘述。

其它参数请对应查阅【4.4 TF卡配置】

使用腾讯云相关的接口需要访问腾讯云官网在线体验其功能并开通相关服务,最后创建应用获取授权信息(此处请根据平台提示一步步操作获取账号授权信息),如要了解注册信息可参考:齐护AIcam操作说明

按照上面的AIcam Pro配置文件要求查询AIcam Pro开放API附录并获取腾讯云授权信息回可得到如下配置文件(后置镜像为例)

{
	"ssid": "Netcore-xxx",
	"pass": "1234567xxx",
	"url": "http://ai.qdprobot.com/qdpai/tenxun/V1.php?secretId=AKIDve7i8ML5ZnlTv73kBMHvKTLwGLBl6xxx&secretKey=SebIjvrYy94j8HAnAH8j49zav0qPixxx",
	"hmirror": "1",
	"vflip": "0"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

TF卡插入电脑打开TF卡文件夹并新建一个admin.txt文件将上面的配置字符串复制到该文件并保存(注意此处根据自己的实际情况修改不要照抄),现在弹出TF卡并插入到AIcam Pro重启开发板,AIcam显示画面如下

在这里插入图片描述

操作说明:

  1. 重启-复位开发板出现开机画面,单击Key下一步

  2. 出现配置文件,检查无误后单击Key下一步

  3. 开始联网,联网成功后显示IP地址与固件功能提示,确认后单击Key下一步

  4. 显示AIcam ProAPI接口信息与动态修改功能URL提示,确认后单击Key下一步

  5. 显示设备ID与设备AP热点名称与密码(其他设备可直连AIcam Pro使用本地API接口),确认后单击Key开始使用AIcam Pro

  6. 出现摄像头实时画面

    在这里插入图片描述

对准想要识别的车牌单击Key拍照将识别出车牌号与车牌颜色如上图所示,其中标号3为软串口连接,分别打开串口监视器进行查看,效果如下(注意硬串口与软串口的波特率不同

在这里插入图片描述

A. 串口upload触发指令

从上面串口监视器中我们可以发现两者皆可以显示AI图片处理的结果,但硬件串口会显示一些调试信息与结果,而软串口只会输出得到的最终结果,因此我们不需要使用任何第三方硬件仅通过AIcam Pro就可以体验所有AIcam Pro的人工智能相关的接口功能,而第三方硬件则可以通过串口通讯的方式发送拍照识别指令upload进行AI拍照并获得处理结果。比如硬串选115200不要换行符发送字符串upload到AIcam或软串9600通过其它单片机发送字符串(不要换行符)upload到AIcam,都会等同时按下板载的key键=触发一次拍照识别,后面其它的应用指令也是相同,只要是通用固件的都是一样操作!但要注意不同应用时的软硬串口及指定的波特率(显示在屏上)。

举例串口触发(本地及Blynk网络)拍照:

1,图形化编程:

在这里插入图片描述

2,Arduino代码

#define BLYNK_PRINT Serial
#include <HardwareSerial.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

int vpin_value;

char auth[] = "blynk项目码";
char ssid[] = "wifi帐号";
char pass[] = "wifi密码";
 BLYNK_WRITE(V0) {
vpin_value= param.asInt();
  //blynk远程触发
  Serial1.write("upload");
}

void setup(){
  Serial1.begin(9600,SERIAL_8N1,17,16);
  //定义第三方主板串口与AIcam的32-14对接
  Serial.begin(9600);
  Blynk.begin(auth,ssid,pass,IPAddress(182,61,28,31),8080);
  pinMode(36, INPUT);
}

void loop(){
  Blynk.run();

  //第三方主板按钮输入(或传感器)
  if (digitalRead(36)) {
    Serial1.write("upload");

  }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

对于局域网情况下还可以通过AIcam Pro的本地接口使用AIcam Pro,本地接口格式为/mode格式,其中为局域网内路由器分配给AIcam Pro的IP地址(前面联网成功后屏幕提示的IP地址)或者AP模式AIcam Pro的IP地址(192.168.4.1),mode为功能模式(mode有两种模式,分别为photo与upload)。效果如下所示

在这里插入图片描述

在这里插入图片描述

图中可以看到AIcam Pro接口均为GET请求模式,其中photo模式获取当前实时画面(请求用时192毫秒),upload模式将拍照上传AI平台并获取结果(请求用时1.99秒。),如果你有其他可联网 设备想要接入AIcam Pro那么AIcam Pro接口是一个不错的选择,这能与其他项目进行有机结合。

B. MQTT upload触动发

采用MQTT的专用固件,替换万能固件即可,TF卡内的admin.txt文件的使用方式完全一样,只是加入了MQTT远程触发的方式,把串口变成了MQTT,同时也支持url的远程更换功能,具体应用在AIcam上传固件后显示上有说明!

4-6-2 旷视手势识别

如要了解注册信息可参考:齐护AIcam操作说明

由于齐护机器人为接入第三方人工智能平台提供了统一的接入接口,在摄像头设置与网络连接均正常的情况下我们仅需要通过设置admin.txt配置文件中的url参数便可使用支持的第三方平台AI接口。下面以旷视的手势识别接口为例进行说明。第一步前去旷视官网注册账号并进行实名认证,旷视为广大的开发者提供了友好的政策支持,一旦注册并实名成功创建相关应用该账号授权信息可使用旗下几乎所有接口并不需要单独开通某一项服务,均提供了一定额度的免费调用次数学习足矣。通过查阅齐护AIcam Pro开放API附录可知旷视手势识别API接口格式为http://<齐护机器人网址>/qdpai/faceplusplus/V3.php?api_key=<api_key>&api_secret=<api_secret>。注册旷视账号并创建相关应用后得到授权api_key与api_secret替换对应参数后,可得到完整接口地址如下

http://ai.qdprobot.com/qdpai/faceplusplus/V3.php?api_key=ZPWFSdxUpbtuAMOZjmYA3CHT0JuYxxxx&api_secret=5lmcqRE1YU4jJeJ9A9-p845ApRAIxxxx
  • 1

C. 串口指令修改地址

在这里我们可以选择取出TF卡重新修改配置文件url参数(永久修改),也可以通过串口指令修改本次接口地址(暂时覆盖url参数,重启后将恢复TF卡admin.txt内原来的url参数),这里我们通过串口监视器输入指令url_aiurl暂时修改人工智能接口地址(aiurl为占位符需替换成真实的AI地址)通过这种方法,我们可以在一个固件下只要改变不同的url就可以切换不同的功能在项目中,其指令如下

url_http://ai.qdprobot.com/qdpai/faceplusplus/V3.php?api_key=ZPWFSdxUpbtuAMOZjmYA3CHT0JuYxxxx&api_secret=5lmcqRE1YU4jJeJ9A9-p845ApRAIxxxx
  • 1

硬件串口输入后反馈如下

在这里插入图片描述

在这里插入图片描述

注意发送不需要末尾添加换行符与结束符,软串口设置并不会有该调试信息,无返回值,仅对外输出结果。

手势识别效果如下

在这里插入图片描述

D. 第三方串口读取数据

AIcam有设置软串跟硬串口的数据输出,这样用户可以把数据应用到第三方单片机上,因为硬串采用的是Json格式,数据处理相对复杂,同时他是在typec上不怎么方便跟其它单片机连接,下面我们举例说明如何用ESP32来读取数据并处理应用。

注意:1. 一定要按不同应用的数据类型也不一样的处理方式,这里只是按【4-5-1 图像对比分析】的应用举例说明! 2. 第三方单片机串口通信时一定要与AIcam共地(GND)否则无法建立正常通信!

图形化编程的方式参考:

在这里插入图片描述

Arduino编程方式参考:

#include <HardwareSerial.h>

volatile int item;

void setup(){
  Serial.begin(9600);
  Serial1.begin(9600,SERIAL_8N1,17,16);
  item = 0;
  //定义第三方主板串口与AIcam的32-14对接
  pinMode(2, OUTPUT);
}

void loop(){
  //第三方主板读取AIcam发送的数据并从自己的硬串打印
  if (Serial1.available() > 0) {
    //注意AIcam不同项目时发送的数据类型不一样,要对应的更换
    item = Serial1.parseInt();
    Serial.println(item);
    //当数据满足条件时要执行的动作,如:2号拉高否则为低
    if (item > 4000) {
      digitalWrite(2,HIGH);

    } else {
      digitalWrite(2,LOW);

    }

  }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

4-6-3 百度人流量统计

如要了解注册信息可参考:齐护AIcam操作说明

与上面类似通过查阅齐护AIcam Pro开放API附录可知百度人流量统计API接口格式为http://<齐护机器人网址>/qdpai/baidu/V2.php?access_token=<access_token>,同样的我们要先注册百度的账号并开通对应服务创建应用后先获取百度的client_id与client_secret访问齐护百度秘钥生成网页填写client_id与client_secret点击提交获取access_token参数(所有百度相关的都需要获取access_token而不是直接使用client_id与client_secret)如下图所示

在这里插入图片描述

同样构造串口指令更改配置文件url参数并单击Key识别,其效果如下

在这里插入图片描述

4-6-5 齐护图床

在某些时候我们可能会需要用到可以远程访问的图片,因此齐护机器人官方提供了两个图床接口,

1,http://<齐护机器人网址>/qdpai/uploadimg.php(上传图片并生成外链短期内可访问,一张图片对应一个外链,存储一天,一天后自动清理)

2,http://<齐护机器人网址>/qdpai/qdprobot/upload_image.php (上传图片并生成外链长期有效且外链地址唯一不会改变的固定链接)使用齐护图床效果如下

在这里插入图片描述

4-6-6 齐护通知服务

使用AIcam Pro可以很方便的发送邮件通知,邮件通知接口如下

http://<齐护机器人网址>/qdpai/email/?Host=<Host>&Username=<Username>&Password=<Password>&Port=<Port>&AddAddress=<AddAddress>&Subject=<Subject>&Body=<Body>&Name=<Name>
  • 1

邮件通知各参数含义如下
邮件smtp服务器地址
邮箱账号
邮箱smtp密码(非邮箱密码)
smtp端口号
需发送的邮件地址
邮件主题

邮件内容(若为IMGDATA则进行拍照发送,其他情况为文本通知) 发送方名称

想要使用邮件通知服务你需要准备一个支持smtp服务的邮箱,常见的qq邮箱,163邮箱,阿里邮箱等均可,这里并不讨论如何开通smtp服务,感兴趣的同学可以自行搜索自己邮箱如何开通smtp服务并获得上述参数,下方演示了齐护邮件通知功能。

在这里插入图片描述

4-6-7 语音识别

这里语音识别采用百度的语音识别接口,因此需要在百度云平台先获取百度的access_token,想要使用语音识别功能需要烧录AIcam Pro百度语音识别固件(固件见附录文件),同时将配置文件修改为下面的格式

{
	"ssid": "WiFi名称",
	"pass": "WiFi密码",
	"access_token": "百度access_token"
}
  • 1
  • 2
  • 3
  • 4
  • 5

正确填写上述信息并保存后,将TF卡插入AIcam Pro,最后按下图操作

在这里插入图片描述

  1. 将齐护数字拾音器使用连接线连接到左侧BAT(电池接口)上方拓展接口,重启开发板
  2. 单击Key下一步观察语音识别固件的使用提示,认真查看后单击Key下一步
  3. 检查配置文件,确认无误后单击Key下一步
  4. 开始联网,联网成功后显示准备就绪字样与绿色联网成功图标
  5. 按住Key(显示绿色麦克风图标)开始录音(左上方会显示时间单位毫秒,最长时间不超过8000,即最多识别8秒音频),松开Key(显示红色麦克风图标)结束录音
  6. 录音结束后将音频提交到百度服务器获取结果(json格式数据)并显示到屏幕上(硬串口会有调试信息),同时软串口发送识别到的文字(说什么,就返回什么,直接输出结果,非json数据),其他开发板或者设备通过串口通讯便可实现语音识别功能将任意音频识别为文字(默认中文)。

4-6-8 语音合成或网络MP3播放

使用语音合成功能需要烧录AIcam Pro百度语音合成固件(固件见附录文件),语音合成采用百度语音合成接口,admin.txt配置文件格式如下

{
	"ssid": "WiFi名称",
	"pass": "WiFi密码",
	"url": "http://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=<XXXXX>&tok=<百度access_token>&vol=9&per=5118&spd=5&pit=5&aue=3&tex="
}
  • 1
  • 2
  • 3
  • 4
  • 5

使用时需开通百度语音合成服务并创建相关应用,获取百度access_token,cuid参数必须唯一建议为设备MAC地址即AIcam Pro的设备ID,以上为默认语音合成设置,若你有其他个性化设置如发言人,音调等要求请查询百度语音合成接口文档修改相关参数,使用步骤如下

在这里插入图片描述

  1. 将配置文件写入TF卡并插入AIcam Pro,重启开发板

  2. 单击Key进入语音合成固件说明页,认真查看后单击Key下一步

  3. 检查配置文件,确认无误后点击Key下一步

  4. 开始联网,联网成功后显示准备就绪字样与绿色联网成功图标

  5. 串口发送短句开始语音合成(发送的文字将拼接到百度语音合成链接作为请求地址,发送文字不能包含http字样,若含有该字样将视为网络MP3链接播放网络MP3),例如你要让AIcam说:【你好,我是齐护机器人】,那么你只要在对应的串口发送字符串【你好,我是齐护机器人】即可。在应用时会发现百度语音合成最后两个字符并不会说出来,所以发送字符串时可以多发两个没用的结尾(不能为空格或符号)。

  6. 开始语音合成或者播放网络MP3显示绿色音乐图标(串口将发送Play starts),播放完成将显示红色音乐图标(串口将发送Play finished)。第三方设备可通过串口通讯判断接收到的字符串从而获取当前语音合成或者网络MP3播放状态

  7. 发送网络MP3一定要是.mp3结尾的链接,否则无法运行,例:http:// XXXXX.com/XXXXX/123.mp3

    测试链接(可能随时关闭的网络链接,供测试用):

    http://ai.qdprobot.com/music.mp3

4-6-9 自定义图像识别接口

注:此应用供高级开发人员用,如果您看不懂,说明您还没掌握这样的技术知识,请用其它方法!或多学习。

AIcam Pro提供了一个统一的图片上传接口,拍摄的图片将以二进制文件的格式上传到通过POST请求的方式提交到给定的admin.txt配置文件的url参数的服务器地址(若存在其他参数需将参数进行拼接),任何遵循此规范的接口都可以直接使用AIcam Pro通用AI固件,例如下方的图片演示中就为一个自定义图像分类接口的使用例子,该接口区分灰色马里奥与绿色马里奥,返回json格式数据,数据中描述了识别的图像标签与置信度。

在这里插入图片描述

五、固件清单说明及下载

注意对应url中<>对应的替代内容意义,替代时包括了<>符号:

1, 以下所有带<xx>字样均为各大平台的认证信息,可注册对应平台后,开通对应服务并生成应用后在控制台获取

2, <齐护机器人网址>为: ai.qdprobot.com

在应用url前如果不楚怎么用, 请先回到【4.4TF卡配置】了解文件的应用规则。

5.0 齐护服务器校验

通常不用操作这一步,因为出厂时所有设备已经校验过!(可以先直接跳到5.1以后内容)

如果您的设备操作如下功能时提示“qdp_token invalid” 串口信息,操作如下校验:

序号url说明固件
1http://ai.qdprobot.com/qdpai/qdpcam.php在admin.txt中把除wifi信息改成自己的外url改成对应的,插入AIcampro,重启复位,按下Ket测试能否识别车牌,如果可以,说明校验成功了,如果不能则没有,或显示提示"解析错误,请联系管理员”请联系服务人员!或直接上传“打印显示MAC地址.bin”固件,并将产品显示信息拍照给服务人员后台检查设备状态!万能AI固件.bin

在这里插入图片描述

5.1 腾讯云平台

腾讯在线体验网址:https://cloud.tencent.com/act/event/ocrdemo

腾讯所有api若出错均返回:[TencentCloud\Common\Exception\TencentCloudSDKException] code:FailedOperation.OcrFailed message:OCR识别失败 requestId:8520a5b6-0046-4d2d-8ae8-cf5149b3a04e,字样,可判断[TencentCloud知晓是否有效

如果出现如上信息请检查您的帐号是否正常工作!

序号功能url说明应用固件
1车牌识别http://<齐护机器人网址>/qdpai/tenxun/V1.php?secretId=&secretKey=返回车牌与颜色,如京H44444,蓝万能AI固件.bin
2人脸检测http://<齐护机器人网址>/qdpai/tenxun/V2.php?secretId=&secretKey=返回人脸库中最可能的人脸与置信度,如刘亦菲,100.0万能AI固件.bin
3智能扫码http://<齐护机器人网址>/qdpai/tenxun/V3.php?secretId=&secretKey=返回二维码内容,如你好万能AI固件.bin
4人像动漫化http://<齐护机器人网址>/qdpai/tenxun/V4.php?secretId=&secretKey=上传后并生成外链短期内可访问,存储一天万能AI固件.bin
5人脸年龄变换http://<齐护机器人网址>/qdpai/tenxun/V5.php?secretId=&secretKey=&age=上传后并生成外链短期内可访问,存储一天,age参数年龄万能AI固件.bin
6人脸性别转换http://<齐护机器人网址>/qdpai/tenxun/V6.php?secretId=&secretKey=&gender=上传后并生成外链短期内可访问,存储一天,gender参数0:男变女,1:女变男万能AI固件.bin
7手写体文字识别http://<齐护机器人网址>/qdpai/tenxun/V7.php?secretId=&secretKey=返回每一行文字并添加换行符\n万能AI固件.bin
8通用印刷体文字识别(高速版)http://<齐护机器人网址>/qdpai/tenxun/V8.php?secretId=&secretKey=返回每一行文字并添加换行符\n万能AI固件.bin
9语音识别http://<齐护机器人网址>/qdpai/tenxun/V9.php?secretId=&secretKey=返回中文开发中

5.2 旷视平台

旷视网址:https://www.faceplusplus.com.cn/

所有错误返回:error

序号功能url说明应用固件
1车牌识别http://<齐护机器人网址>/qdpai/faceplusplus/V1.php?api_key=<api_key>&api_secret=<api_secret>识别成功返回车牌号万能AI固件.bin
2人体或人脸检测http://<齐护机器人网址>/qdpai/faceplusplus/V2.php?api_key=<api_key>&api_secret=<api_secret>检测存在返回置信度万能AI固件.bin
3手势识别http://<齐护机器人网址>/qdpai/faceplusplus/V3.php?api_key=<api_key>&api_secret=<api_secret>返回结果,手势附录https://console.faceplusplus.com.cn/documents/10065685万能AI固件.bin
4人脸对比http://<齐护机器人网址>/qdpai/faceplusplus/V4.php?api_key=<api_key>&api_secret=<api_secret>&url=返回相似度,url为对比图片网址万能AI固件.bin

5.3 百度平台

百度AI网址:https://cloud.baidu.com/products/index.html

序号功能url说明应用固件
1车牌识别http://<齐护机器人网址>/qdpai/baidu/V1.php?access_token=<access_token>返回字符串结果万能AI固件.bin
2人流量统计http://<齐护机器人网址>/qdpai/baidu/V2.php?access_token=<access_token>返回字符串结果万能AI固件.bin
3通用场景识别http://<齐护机器人网址>/qdpai/baidu/V3.php?access_token=<access_token>返回字符串结果万能AI固件.bin
4品牌logo识别http://<齐护机器人网址>/qdpai/baidu/V4.php?access_token=<access_token>返回字符串结果万能AI固件.bin
5动物识别http://<齐护机器人网址>/qdpai/baidu/V5.php?access_token=<access_token>返回字符串结果万能AI固件.bin
6植物识别http://<齐护机器人网址>/qdpai/baidu/V6.php?access_token=<access_token>返回字符串结果万能AI固件.bin
7果蔬识别http://<齐护机器人网址>/qdpai/baidu/V7.php?access_token=<access_token>返回字符串结果万能AI固件.bin
8车型识别http://<齐护机器人网址>/qdpai/baidu/V8.php?access_token=<access_token>返回字符串结果万能AI固件.bin
9手写文字识别http://<齐护机器人网址>/qdpai/baidu/V9.php?access_token=<access_token>返回字符串结果万能AI固件.bin
10语音识别无url,采用这个替代http部分: “access_token”:“百度access_token”返回字符串结果,注:url变成access_token百度语音识别.bin
11语音合成、网络MP3http://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=<XXXXX>&tok=<百度access_token>&vol=9&per=5118&spd=5&pit=5&aue=3&tex=当语音合成时,cuid参数必须唯一,建议为设备MAC地址;<百度access_token>;当用MP3时要用以.mp3结束的链接,音频道输出时返回Play starts,结束时返回 Play finished网络MP3播放与语音合成.bin

人脸识别相关网址:https://ai.baidu.com/ai-doc/index/FACE

序号功能url说明应用固件
1人脸搜索http://<齐护机器人网址>/qdpai/baidu/V12.php?access_token=<access_token>&group_id_list=<group_id_list>group_id_list为人脸列表若有多个那么英文逗号分割万能AI固件.bin
2人脸注册http://<齐护机器人网址>/qdpai/baidu/V13.php?access_token=<access_token>&group_id=<group_id>&user_id=<user_id>group_id用户ID,user_id用户id(由数字、字母、下划线组成)万能AI固件.bin

5.4 EasyDL飞桨平台

平台网址:https://ai.baidu.com/easydl/

序号功能url说明应用固件
1图像分类http://<齐护机器人网址>/qdpai/baidu/V10.php?access_token=<access_token>返回字符串结果开发中
2物体检测http://<齐护机器人网址>/qdpai/baidu/V11.php?access_token=<access_token>返回字符串结果开发中

5.5 齐护平台

序号功能url说明应用固件
1图床免费存储1http://<齐护机器人网址>/qdpai/uploadimg.php上传的图片并生成外链短期内可访问,存储一天万能AI固件.bin
2图床免费存储2http://<齐护机器人网址>/qdpai/qdprobot/upload_image.php上传的图片并生成固定外链长期可访问(一个设备一个图片的固定链接)万能AI固件.bin
3邮件通知http://<齐护机器人网址>/qdpai/email/?Host=<Host>&Username=<Username>&Password=<Password>&Port=<Port>&AddAddress=<AddAddress>&Subject=<Subject>&Body=<Body>&Name=<Name>参数含义如下: 邮件smtp服务器地址 邮箱账号 邮箱smtp密码(非邮箱密码) smtp端口号 需发送的邮件地址 邮件主题 邮件内容(若为IMGDATA则进行拍照发送,其他情况为文本通知) 发送方名称万能AI固件.bin
4齐护AIcam无线图片透传搭配齐护手柄使用,将AIcam视频流发送到手柄,并获取手柄按键值发送到软串口 ,详细的教程请查看齐护wiki物联网手柄使用教程AIcam软串口定义RX18 TX23 波特率115200,发送值为依次为A,B,C,D,F,U,D,L,R,K其中按键按下为1否则为0AIcam图传手柄
5web视频流控制台无url,采用: {“ssid”:“wifi名”,“pass”:“密码”}admin.txt只要配置wifi即可,在相同wifi下输入显示的IP地址即可打开视频流控制台SD卡配置AIcam视频流服务器.bin

5.6 TF固件配置与SPIFFS文件系统说明

通常我们采用的TF卡配置admin.txt文件,但有的情况下比如没有TF卡、TF坏了或为了更安全不让别人看到配置文件,那么我们也提供了采用ESP32文件系统来配置admin.txt的工作方式,用法跟用TF卡一样,不同时是你要手动的先装配置好的admin.txt文件放入到文件系统内。文件系统的工作方式完全跟TF卡的一样,也可以用串口upload触发或更改url。

关于怎么把admin.txt文件放入到文件系统内,可以参考[【AIcam操作说明】]中的【八、SPIFFS文件系统管理】

5.7 固件及工具的下载

【齐护AIcampro所有固件】 【齐护固件上传工具软件】 下载内容请转到 [齐护wiki]

注:文件中的admin.txt中的参数及用户名全为举例说明,一定要替换成用户自己的,实际可以用的!

六、常见问题与解决

1,使用MP3或语音合成功能时喇叭没有声音?

检查主板上的拔动开关是否拔到了喇叭侧,否则无法发音。当不用喇叭的项目时要拔回到摄像头侧,否则可能影响摄像头功能,开发板中25-26管脚复用,要通过开关来切换不同功能。

同时确保TF卡中有mp3文件,并使用了正确的路径(不可以有中文或符号在文件名或目录中)。如果是网络MP3确保链接可以正常工作!

2,网络项目时显示服务器不工作?

上传【打印显示MAC地址.bin】并拍照产品上显示的MAC内容给客服人员检查是否后台没校验,如果是第三方平台报错,比如百度,腾讯项目,那么要自行参照教程去平台查验自己的帐号是否可以正常工作,齐护无法控制这方面功能。

并检查是否使用了正确的配置文件,检查对应的admin.txt文件,正确的配置json文件格式,细检查!不同固件的配置文件参数不同,不能按你的想法来配置!

3,视频流项目时会黑屏或闪屏?

取下TF卡上传暂时不用TF卡的项目,如果能正常,很可能是TF卡不正常读取引起,重新格工化TF卡为FAT32,重新操作。或把TF卡项目更改用文件系统的方式,我们开发过程中发现有些项目采用TF卡时会影响摄像头的显示!

还有可能是供电不足,因为主板上有风扇及充电管理,比通常的应用会更耗电,所以上传程序后采用外部供电(比如大电流的充电宝,或5V端子直接外部大电流供电器,与电脑同步供电)。

4,项目上传后显示配置错误?

检查admin.txt文件是否正确,是否为正确的json格式,不可以多或少符号,必须严格按提供的文件格式进行填写!!!

5,已知wifi环境都正常,为什么AIcam不能正常联网?

ESP32的WiFi需为2.4G频段WiFi,如果你用的是5G或别的频段,是不会工作的。

连接WiFi避免使用中文名称。

6,固件列表中的<齐护机器人网址>,是什么?

<齐护机器人网址>用这个:ai.qdprobot.com

7,串口监视器上出现乱码或无数据返回是为什么?

检查串口波特率,是否使用了固件说明的一致(9600或115200),固件说明显示在AIcam复位开机屏上!细看!

同量要注意发送或接收时有的固件是不可以带换行回车的,选择no!

第三方单片机串口通信时一定要与AIcam共地(GND)否则无法建立正常通信!

有些项目采用TF卡时会影响摄像头的显示!

还有可能是供电不足,因为主板上有风扇及充电管理,比通常的应用会更耗电,所以上传程序后采用外部供电(比如大电流的充电宝,或5V端子直接外部大电流供电器,与电脑同步供电)。

4,项目上传后显示配置错误?

检查admin.txt文件是否正确,是否为正确的json格式,不可以多或少符号,必须严格按提供的文件格式进行填写!!!

5,已知wifi环境都正常,为什么AIcam不能正常联网?

ESP32的WiFi需为2.4G频段WiFi,如果你用的是5G或别的频段,是不会工作的。

连接WiFi避免使用中文名称。

6,固件列表中的<齐护机器人网址>,是什么?

<齐护机器人网址>用这个:ai.qdprobot.com

7,串口监视器上出现乱码或无数据返回是为什么?

检查串口波特率,是否使用了固件说明的一致(9600或115200),固件说明显示在AIcam复位开机屏上!细看!

同量要注意发送或接收时有的固件是不可以带换行回车的,选择no!

第三方单片机串口通信时一定要与AIcam共地(GND)否则无法建立正常通信!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/100373
推荐阅读
相关标签
  

闽ICP备14008679号