准备工作

  • 1 × ESP-EYE V2.1 开发板
  • 1 × Micro USB B 电缆
  • 1 × PC(Windows10)

简介

ESP-EYE 是一款面向人脸识别和语音识别市场的开发板,搭载 ESP32 芯片、200 W 像素摄像头、数字麦克风、8 MB PSRAM 和 4 MB Flash,可满足各种 AI 应用开发需求。此外,该开发板还支持 Wi-Fi 图像传输、Micro USB 调试和供电,可以实现语音唤醒、人脸检测与识别等功能,可协助用户开发高度集成的 AI 解决方案。

硬件组成

ESP-EYE 开发板的产品图请见下方:

具体包括以下硬件组成:

  • 3D_PIFA Antenna(3D_PIFA 天线)

    3D PIFA 天线。用户可通过选贴 R14/R15 电阻,选用 3D 天线(选贴 R15)或外接 IPEX 天线(选贴 R14)。

  • IPEX Connector(IPEX 连接器)

    用于外接 IPEX 天线。用户可通过选贴 R14/R15 电阻,选用 3D 天线(选贴 R15)或外接 IPEX 天线(选贴 R14)。

  • ESP32 Chip(ESP32 芯片)

    集成 2.4 GHz Wi-Fi 和蓝牙双模的单芯片。

  • Crystal(晶振)

    ESP32 的外部晶振时钟源。

  • Flash & PSRAM

    存储芯片,用于储存程序。

  • CP2102 USB-UART Chip(USB 转 UART 芯片)

    实现 USB 到 UART 的转换功能。

  • USB Port(USB 供电接口)

    为整个系统供电。

  • LDO Power Supply(LDO 供电芯片)

    为 ESP32 芯片、摄像头、LED 指示灯等部件提供各自所需的电压。

  • Side Tactile Button(侧面轻触按键)

    功能按键。

  • Top Tactile Button(正面轻触按键)

    用于 ESP32 的 RST(复位)、BOOT(下载),不建议设置他用。

  • LED 指示灯

    红灯和白灯各一个,可用于指示唤醒、联网、人脸检测、人脸录入、人脸识别等不同过程中的状态。

  • Camera(摄像头)

    实现检测识别等功能。

  • Camera Connector(摄像头连接器)

    用于外接摄像头模块。

  • MIC(麦克风)

    数字型麦克风,实现语音控制功能。

  • SPI Port(SPI 接口)

    预留数据传输接口。

准备工作

设置工具链

快速设置的方法是从 dl.espressif.com 下载集成在一起的工具链和 MSYS2 压缩文件:

https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip

将 zip 压缩文件解压到 C:\ (或其它路径,这里假设是 C:\),它会使用预先准备的环境创建一个 msys32 目录。

检出

运行 C:\msys32\mingw32.exe 打开一个 MSYS2 的终端窗口。该窗口的环境是一个 bash shell。创建一个 esp 目录作为开发 ESP32 应用的默认地址。运行指令

mkdir -p ~/esp

输入 cd ~/esp 就进入到新创建的目录。如果没有错误信息出现则表明此步骤已完成。

准备 Micro USB 线,连接 PC 和 ESP-EYE 开发板

打开windows10 设备管理器,找到 有感叹号的 CP2102N USB to UART Bridge Controller的设备,说明他还没有安装驱动

官网地址:https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

打开上述链接,按照自己系统下载驱动,并解压和安装。

比如:win10  64位系统的下载后打开图中的“CP210xVCPInstaller_x64.exe”,即可安装成功。

软件获取

打开MSYS2 的终端窗口 ,将软件代码克隆到本地,我是使用windows的git clone,然后把目录copy到c:\msys32\home\user\esp目录下

git clone --recursive https://github.com/espressif/esp-who.git

执行以上命令会默认生成一个 esp-who 的文件夹。

设置路径

在windows全局环境变量中, 将 IDF_PATH 设置为 esp-who/esp-idf

软件烧写

下面,我们以Windows 10  环境为例,介绍向 ESP-EYE 烧写程序的过程:

  • 首先将 ESP-EYE 接入 PC,接入即上电;
  • 通过设备管理器 端口 查看开发板是否成功接入 PC。成功接入后将看到它的串口号信息: 默认为COM3
  • 打开MSYS2 的终端窗口, 进入一个 example 工程文件中,例如 cd esp-who/examples/single_chip/recognition_solution
  • 执行 make defconfig 进行默认配置;
  • 执行 make menuconfig,在 Serial flasher config 中设置 Default serial port 设备名称(与第二步查看的设备名称一致,默认为COM3),保存退出;
  • 执行一下命令 更新依赖    pacman -S mingw-w64-i686-python2-cryptography
  • 执行一下命令 更新依赖    python2.7 -m pip install --user -r $IDF_PATH/requirements.txt
  • 执行 make flash,进行软件烧写。

完成烧写

使用方法

ESP-EYE 开发板的工作流程如下图所示:

1. 语音唤醒

开发板上电后,会进入“等待唤醒”状态(红灯常亮、白灯常灭),需要用户通过语音进行唤醒。支持“Hi 乐鑫”唤醒,当用户说出“Hi 乐鑫”的唤醒词后,开发板唤醒并进入“等待联网”状态(红灯闪烁,白灯常灭)。此时,用户可进行联网操作。

2. 连接网络

用户可通过 PC、手机等设备,连接 ESP-EYE 创建的 Wi-Fi 热点。该热点的默认信息如下:

  • 用户名:esp-eye-xxxx(xxxx 为设备 MAC 地址)
  • 密码:无需密码

用户也可通过如下方式,自行设置用户名和密码:

  • 打开终端;

  • 执行 make menuconfig,并按照下图进行设置:

注:用户重新设置 Wi-Fi 热点的用户名和密码后,需要重新进行软件烧录。

3. 人脸检测

联网成功后,ESP-EYE 会进行“人脸检测”。用户可以打开浏览器,输入地址 192.168.4.1/face_stream,在网页上即可看到实时图像信息。此时,开发板红灯熄灭、白灯常亮。

4. 人脸识别

当开发板检测到人脸时,如已存在录入的 Face ID,则开发板将进行“人脸识别”:

  • “人脸识别”匹配成功 -- 开发板红灯闪烁 1 次,网页显示 HELLO ID XXX
  • “人脸识别”匹配失败 -- 开发板无反应,网页显示 WHO?”

否则,开发板仅进行“人脸检测”。此时,若用户希望使用人脸识别功能,则请首先录入至少一个 Face ID。

5. 人脸录入与删除

在联网成功的前提下,可通过摄像头采集人脸,录入 Face ID。

5.1 录入 Face ID

  • 用户单击侧面轻触按键,可进入“录入 Face ID”(红灯常亮),网页显示: START ENROLLING;
  • 用户面对摄像头,开始采集人像。每次成功一次采集,开发板将红灯闪烁,网页显示对应的采集次数,比如 THE 1st SAMPLE 等。默认情况下,用户每录入一个 Face ID 需要采集 3 次人像(可配置)。在人像采集过程中,如果红灯长时间未闪烁,建议用户调整姿态和角度,然后再试;
  • 人像采集完成后,开发板红灯常灭,表明已完成录入该 Face ID。此时,网页显示:ENROLLED FACE ID xxx;
  • Face ID 录入成功后,系统将返回“人脸检测”。

目前,ESP-EYE 开发板默认可录入 10 个 Face ID(可配置,具体与用户的 flash 内存分配有关,但建议不要超过 30 个 Face ID)。

5.2 删除 Face ID
  • 用户双击侧面轻触按键,进入“删除 FACE ID”;
  • 双击后,开发板白灯闪烁,系统将自动删除系统中存在的最早一条 FACE ID,终端显示:XXX ID(S) LEFT。

异常情况

当出现“网络断开”或“联网超时”等异常情况时,开发板会回到“等待唤醒”状态。

ESP-EYE V2.1 开发板 WINDOWS 10 开发入门的更多相关文章

  1. Windows 10开发基础——文件、文件夹和库(一)

    原文:Windows 10开发基础--文件.文件夹和库(一) 主要内容: 1.枚举查询文件和文件夹 2.文本文件读写的三种方法——创建写入和读取文件 3.获得文件的属性 枚举查询文件和文件夹 先了解一 ...

  2. Windows 10 开发人员预览版中的新增功能(转自 IT之家)

    Windows 10 开发人员预览版中的新增功能 在Win10预览版中安装工具与SDK后,即可着手创建Windows通用应用或先浏览目前的环境与此前相比都发生了什么变化. 应用建模 文件资源管理器: ...

  3. iTOP-4418开发板和6818开发板-第五路串口介绍

    iTOP-4418开发板和6818开发板 的除去默认 4 个串口的配置和用法. 4418 的开发板最多支持 5 路串口,如下图所示,4418 的 datasheet.   6818 的开发板最多支持 ...

  4. 基于树莓派的微型气象站设计与开发(Windows 10 IoT Core)

    前言 树莓派(Raspberry Pi,RPi)是专门为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,可以运行Linux或者Windows 10 IoT Core操作系统.本文将利用树莓派和U ...

  5. 欢迎参加MVP主讲的Windows 10开发线上课程

    博客地址:http://blog.csdn.net/FoxDave Windows 10 Developer Readiness - Powered by MVPs - 由微软最有价值专家(MVP)主 ...

  6. Go语言之Windows 10开发工具LiteIDE初步使用

    Intel Core i5-8250U,Windows 10家庭中文版,go version go1.11 windows/amd64,LiteIDE X34.1 在RUNOOB.COM的Go语言教程 ...

  7. Go语言Windows 10开发环境搭建:Eclipse+GoClipse

    Intel Core i5-8250U,Windows 10家庭中文版,go version go1.11 windows/amd64, Eclipse IDE for C/C++ Developer ...

  8. windows 10 开发学习资料,Windows-universal-samples学习笔记系列一:App settings

    windows 10 通用代码范例: https://github.com/Microsoft/Windows-universal-samples 相关视频:https://mix.office.co ...

  9. 【HC89S003F4开发板】 10汇编指令

    HC89S003F4开发板汇编指令 一.数据传递类指令 MOV.MOVC.MOVX 1.MOV,用于片内数据存储器中的数据传递指令中. 2.MOVC是与ROM之间的数据传送,而MOVX是与外部RAM数 ...

随机推荐

  1. Number Sequence kmp

    Problem Description Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], .... ...

  2. mybatis提示Invalid bound statement (not found)错误的可能原因

    https://www.cnblogs.com/liaojie970/p/8034525.html

  3. pip软件包安装 + Anaconda软件库安装 教程

    PIP软件包安装(适用于Ubuntu和Windows10): 下载pip的安装包,官网链接如下:https://pypi.python.org/pypi/pip 我选择了Source源的安装方式,单击 ...

  4. Idea问题:“marketplace plugins are not loaded”解决方案

    博主本人遇见该问题时是想要通过Idea的plugins工具下载阿里巴巴的代码规约工具 但是在我点开settings,然后打开plugins工具时竟然给我提示“marketplace plugins a ...

  5. JavaEE 之 Spring(三)

    1.Spring Web MVC a.定义:是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是 ...

  6. 新版的 selenium已经放弃PhantomJS改用Chorme headless

    新版的 selenium已经放弃PhantomJS改用Chorme headless   使用pip show selenium显示默认安装的是3.1.3版本目前使用新版selenium调用Phant ...

  7. Django 学习第九天——请求与响应

    一.HttpRequest 对象: 服务器接收到http协议的请求后,会根据报文创建 HttpRequest 对象视图函数的第一个参数是HttpRequest 对象再django.http 模块中定义 ...

  8. shell编程第五天

  9. 解决Echarts封装成组件时只有最后一个才会缩放的问题

    参考了此文,并且强烈建议去看http://blog.csdn.net/crper/article/details/76091755 一般网上的方法都是 mounted() { this.drawCha ...

  10. 洛谷P3375 [模板]KMP字符串匹配

    To 洛谷.3375 KMP字符串匹配 题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果 ...