Google AIY Vision Kit安装及国内配置

news2024/10/6 22:31:25

Google AIY Vision Kit安装及国内配置

  • 1. AIY Vision Kit组装环节
    • Step 1:收集其他附件
      • 选择1:使用AIY项目应用程序
      • 选择2:使用显示器、鼠标和键盘
    • Step 2:检查硬件清单
    • Step 3:构建AIY Vision Kit
      • Step 3.1:获取最新AIY Vision Kit系统映像
      • Step 3.2:折叠内部框架
      • Step 3.3:连接电路板
      • Step 3.4:将电路板添加到框架
      • Step 3.5:构建Vision Kit盒子
      • Step 3.6:把它们放在一起
      • Step 3.7:安装发光二极管
      • Step 3.8:安装按钮硬件
  • 2. AIY Vision Kit使用环节
    • 2.1 开机
    • 2.2 使用Joy Detector
    • 2.3 连接到套件:方法一
    • 2.4 连接到套件:方法二
    • 2.5 查看照片
    • 2.6 停止Joy Detector
    • 2.7 查看哪些演示可用
    • 2.8 在实时摄像机中尝试图像分类
    • 2.9 尝试在实时摄像头中进行人脸检测
    • 2.10 检测到人脸时拍照
    • 2.11 使用raspistill拍照
    • 2.12 尝试对图像进行人脸检测
    • 2.13 在图像上尝试对象检测
    • 2.14 在图像上尝试菜肴分类
    • 2.15 尝试对图像进行图像分类
    • 2.16 关闭AIY Vision Kit
  • 3. AIY Vision Kit配置环节
    • 3.1 apt国内本地源配置修改
    • 3.2 屏蔽aiyprojects更新源(烦心!!!)
    • 3.3 pip国内本地源配置修改
    • 3.4 vim重装(兼容模式)
    • 3.5 配置VNC远程支持
    • 3.6 安装并配置samba服务
  • 4. 参考资料

鉴于中国特色,我们出色的Great Wall要求我们IT从业人员具备高超的应变和适应能力。

当然如果自认为没有这种基本能力,玩这种老外的东东,基本上很难上手,不是智商不够,而是现实太残酷。

想当年,研发大多采用Google查资料,那真的叫一个准。虽然现在国内已经无法直接上Google了,只能默默的百度各种翻页,甚至翻上10页都找不到合适的(吐槽下)。

从业以来,多年的绕弯弯经验让我这次装Google AIY Vision Kit如鱼得水。通过整理,将一些非技术环节的门槛给大家提炼出来,希望大家能更多的将精力从事在技术上面。

1. AIY Vision Kit组装环节

这个环节其实只要有一些简单的小学折纸动手能力,都能很好的应对。不过前提是要有一个安装指南,大概率情况下,这就死翘翘节奏,因为安装指南的网页无法打开。

好吧,这里给大家整理下

Step 1:收集其他附件

选择1:使用AIY项目应用程序

  • Android智能手机
  • Windows、Mac或Linux计算机
  • Wi-Fi连接(路由器)

选择2:使用显示器、鼠标和键盘

  • Windows、Mac或Linux计算机
  • 鼠标
  • 键盘
  • 带有HDMI输入的显示器或电视(任何尺寸均可)
  • 普通尺寸HDMI电缆和迷你HDMI适配器
  • 将鼠标和键盘连接到套件的适配器

适配器选项A:USB随身(OTG)适配器电缆,用于将Raspberry Pi USB微型端口转换为普通大小的USB端口。然后,您可以使用只需要一个USB端口的键盘/鼠标组合。

适配器选项B:Micro-USB集线器,提供多个USB端口以连接到任何传统键盘和鼠标。

Step 2:检查硬件清单

硬件清单

  1. Vision Bonnet x 1
  2. Raspberry Pi Zero WH x 1
  3. Raspberry Pi Camera v2 x 1
  4. 长柔性电缆 x 1
  5. 按钮 x 1
  6. 按钮线束 x 1
  7. Micro USB电缆 x 1
  8. 压电蜂鸣器 x 1
  9. 发光二极管 x 1
  10. 短柔性电缆 x 1
  11. 按钮螺母 x 1
  12. 三脚架螺母 x 1
  13. 发光二极管镶圈 x 1
  14. 支座 x 2
  15. microSD卡 x 1
  16. 相机盒纸板 x 1
  17. 内部框架纸板 x 1

Step 3:构建AIY Vision Kit

Step 3.1:获取最新AIY Vision Kit系统映像

  1. 从GitHub上的发布页面下载最新的.img.xz文件。
  2. 使用适配器将microSD卡连接到计算机。
  3. 下载、安装并启动树莓派镜像烧录工具。
  4. 单击选择操作系统,滚动到底部,选择使用自定义,然后找到上面下载的.img.xz文件。
  5. 单击选择存储以选择microSD卡,然后单击写入以开始将镜像文件烧录到SD卡。

Step 3.2:折叠内部框架

  1. 凑齐折叠内部框架所需的部件
    在这里插入图片描述
  2. 打开连接器插销

在这里插入图片描述

  1. 将长柔性电缆插入插销

在这里插入图片描述
4. 关闭连接器闩锁
在这里插入图片描述
5. 确定纸板的方向
在这里插入图片描述
6. 拆下粘合衬
在这里插入图片描述
7. 折叠如图所示A指向的纸板,并且按平粘住
在这里插入图片描述
8. 如图翻转过来
在这里插入图片描述
9. 插入压电蜂鸣器
在这里插入图片描述
10. 安装摄像头
在这里插入图片描述
11. 翻转到另一侧
在这里插入图片描述
12. 向下折叠顶部纸板

在这里插入图片描述
13. 折叠左右两侧的纸板
在这里插入图片描述
14. 折叠底部纸板
在这里插入图片描述
15. 穿上蜂鸣器电线
在这里插入图片描述
16. 将长柔性电缆向上折叠
在这里插入图片描述
17. 向左折叠长柔性电缆
在这里插入图片描述
18. 穿上长柔性电缆
在这里插入图片描述
19. 继续穿线
在这里插入图片描述
20. 再穿线
在这里插入图片描述

Step 3.3:连接电路板

  1. 清点所需部件
  • Raspberry Pi x 1
  • Vision Bonnet x 1
  • 支座 x 2
  • 短柔性电缆 x 1
  • 按钮线束 x 1
    在这里插入图片描述
  1. 确定树莓派的方向

在这里插入图片描述
23. 打开顶部电缆接头
在这里插入图片描述
24. 插入短柔性接头
在这里插入图片描述
25. 关闭电缆连接器闩锁
在这里插入图片描述
26. 定位您的 Vision Bonnet板子方向
在这里插入图片描述
27. 打开电缆连接器闩锁
在这里插入图片描述
28. 插入短柔性接头
在这里插入图片描述
29. 关闭电缆连接器闩锁
在这里插入图片描述

  1. 插入支座
    在这里插入图片描述
  2. 对齐电路板
    在这里插入图片描述
  3. 向内推软柔性电缆线
    在这里插入图片描述
  4. 连接电路板并检查连接
    在这里插入图片描述

Step 3.4:将电路板添加到框架

  1. 调整板的方向
    在这里插入图片描述
  2. 连接板和框架
    在这里插入图片描述
  3. 将电路板滑入框架
    在这里插入图片描述
  4. 检查框架和电缆
    在这里插入图片描述
  5. 插入按钮线束
    在这里插入图片描述

Step 3.5:构建Vision Kit盒子

  1. 确定纸板盒的方向
    在这里插入图片描述
  2. 折叠A
    在这里插入图片描述
  3. 折叠B
    在这里插入图片描述
  4. 折叠C
    在这里插入图片描述
  5. 剥离粘合剂
    在这里插入图片描述
  6. 折叠D
    在这里插入图片描述
  7. 插入三脚架螺母
    在这里插入图片描述
  8. 折叠E
    在这里插入图片描述
  9. 折叠F
    在这里插入图片描述
  10. 去除E上的粘合剂
    在这里插入图片描述
  11. 折叠G
    在这里插入图片描述
  12. 折叠并固定另一侧
    在这里插入图片描述
  13. 折叠底部纸板
    在这里插入图片描述

Step 3.6:把它们放在一起

  1. 滑入内部框架
    在这里插入图片描述
  2. 检查电路板和电线
    在这里插入图片描述

Step 3.7:安装发光二极管

  1. 清点发光二极管等部件
  • 发光二极管
  • 发光二极管镶圈

在这里插入图片描述

  1. 安装发光二极管镶圈
    在这里插入图片描述
  2. 安装发光二极管
    在这里插入图片描述
  3. 检查另一侧
    在这里插入图片描述

Step 3.8:安装按钮硬件

  1. 清点按钮等部件
  • 按钮
  • 按钮螺母
    在这里插入图片描述
  1. 将电线穿过螺母
    在这里插入图片描述
  2. 将电缆穿过接线盒
    在这里插入图片描述
  3. 将电线插入按钮
    在这里插入图片描述
  4. 插入按钮
    在这里插入图片描述
  5. 固定按钮螺母
    在这里插入图片描述
  6. 检查您完成的AIY Vision Kit盒子
    在这里插入图片描述
  7. 合上盒子
    在这里插入图片描述
  8. 插入SD卡
    在这里插入图片描述
  9. 恭喜,您刚刚组装了Vision Kit硬件!

在这里插入图片描述

2. AIY Vision Kit使用环节

2.1 开机

  1. 将视觉套件插入电源

通过设备上标有“电源”的端口将Vision Kit插入墙上的电源(5V,2A)。
在这里插入图片描述
69. 让它启动

要确认已连接到电源,请查看标有SD卡的纸板上的孔。你会看到Raspberry Pi板上的绿色LED灯闪烁。

启动时要有耐心;第一次启动需要几分钟。当你听到一个短音时,你就会知道它被启动了。软件需要这段时间来安装和配置设置。在未来,它将开始得更快。
在这里插入图片描述

2.2 使用Joy Detector

  1. 试用Joy Detector

将视觉套件指向某人的脸(或你自己的脸),以尝试Joy Detector演示。当摄像头检测到人脸时,按钮亮起。

  • 让他们微笑
  • 然后让他们大小
  • 然后让他们皱着眉头微笑

Joy Detector检测器使用机器学习来检测一个人是否在微笑或皱眉,以及他们在做什么。微笑会使按钮变黄,皱眉会使按钮变成蓝色。

如果表情真的很大,就会发出声音。如果相机看到不止一张脸,它会评估每个人的脸,并计算每个脸的快乐得分。
在这里插入图片描述
71. 拍照
在Joy Detector运行的任何时候,您都可以按下按钮拍摄照片。

如果你在相机检测到人脸时拍照(按钮亮起),它会保存照片的第二个版本,并用喜悦分数进行注释。

这些照片保存在SD卡的~/Pictures/目录中。在下一步中,您将学习如何在连接到工具包后访问这些照片。

2.3 连接到套件:方法一

  1. 下载AIY项目手机应用程序
    在这里插入图片描述

官方给出的链接地址:google.android.apps.aiy,可能国内的朋友不一定能打开,这里已经给大家下好了AIY Projects app。

  1. 遵循应用程序提示操作
    在这里插入图片描述

打开应用程序,按照屏幕上的说明与视觉套件通过蓝牙进行配对。并在App上输入RaspberryPi接入的WiFi(SSID, Password)。应用程序会显示RaspberyPi的IP地址,您将在后续使用到该IP地址。
注:如果忘记了,请重新打开App扫描树莓派即可显示该IP,请注意将手机和树莓派保持在同一个WiFi路由器下。

  1. 连接HDMI显示器

在这里插入图片描述

运行这些演示不需要监视器,但如果您有可用的监视器,它会很有用,这样您就可以看到Vision Kit所看到的内容。

  1. 将电脑连接至该无线WiFi

确保您的计算机与Vision Kit位于同一个Wi-Fi网络上。这将允许您通过SSH连接到套件。

  1. 准备好SSH终端

在这里插入图片描述

  1. 打开Secure Shell Extension
    在这里插入图片描述

  2. 连接到树莓派
    在这里插入图片描述

  3. 授予扩展权限
    在这里插入图片描述

  4. 继续连接
    在这里插入图片描述

  5. 输入树莓派的密码
    在这里插入图片描述
    注:默认pi, raspberry。

  6. 确认您已连接
    在这里插入图片描述

2.4 连接到套件:方法二

  1. 外围设备清点
    在这里插入图片描述
  2. 拔下电源

在这里插入图片描述
85. 连接设备
在这里插入图片描述
86. 插入电源上电
在这里插入图片描述
87. 确认警告

您将看到一个背景为AIY的桌面。弹出窗口将告诉您Raspberry Pi用户的密码设置为默认值。如果您计划在其他项目中使用此工具包或将其公开到internet,这一点很重要,但目前,单击“确定”是安全的。

在这里插入图片描述
88. 打开终端

单击屏幕顶部任务栏上的黑色矩形图标打开终端。

现在,您可以向树莓派发出命令。
在这里插入图片描述
89. 确认您已连接

现在您应该看到提示

pi@raspberrypi: ~ $.

恭喜!你已经准备好向树莓派发出命令了。
在这里插入图片描述

2.5 查看照片

  1. 查看您的照片

如果您将显示器连接到视觉套件,现在就可以查看拍摄的照片。(不幸的是,如果您的视觉套件没有直接插入显示器,则无法查看照片。)

要查看Joy Detector拍摄的照片,您需要首先使用cd将终端导航到~/Pictures目录。因此,在终端中键入以下内容并按enter键:

cd ~/Pictures

现在输入ls并按enter键查看目录中的内容。(提示:这是柠檬中的“l”,而不是#1。)您应该看到一个以.jpeg结尾的文件名列表。所以让我们看看其中一个。

在终端中键入以下命令并按enter键,将替换为要打开的文件名(例如2018-05-03_19.52.00.jpeg):

DISPLAY=:0 gpicview <filename>

这张照片将在插入Vision Kit的显示器上的新窗口中打开。

Tip: If you connected to your Vision Kit with monitor, mouse, and keyboard, you can enter the command without DISPLAY=:0

要从终端关闭照片窗口,请按Ctrl-C。

2.6 停止Joy Detector

  1. 停止Joy Detector

Joy Detector默认运行,因此您需要在运行另一个演示之前停止它。要执行此操作,请键入以下命令并按enter键:

sudo systemctl stop joy_detection_demo

在这里插入图片描述

然而,下次重新启动套件时,Joy Detector演示将再次开始运行。因此,如果要完全禁用它,使其在默认情况下不会启动,请在提示符中键入以下命令,然后按enter键:

sudo systemctl disable joy_detection_demo

您可以稍后通过以下方式重新启用:

sudo systemctl enable joy_detection_demo

2.7 查看哪些演示可用

  1. 移至示例目录

要尝试其他几个Vision Kit演示,请转到它们所在的目录。在提示中键入以下命令,然后按enter键:

cd ~/AIY-projects-python/src/examples/vision

在这里插入图片描述
93. 看下有哪些应用

现在您已经更改了目录,键入ls并按enter键查看当前目录中的内容。
在这里插入图片描述

2.8 在实时摄像机中尝试图像分类

  1. 开始图像分类相机演示

图像分类相机演示使用物体检测模型来识别视觉套件中的物体。

要启动它,请键入以下命令并按enter键:

./image_classification_camera.py

在这里插入图片描述可能需要一段时间才能激发起来。

如果工作正常,监视器上会弹出一个摄像头窗口(如果已连接),模型的输出开始打印到终端。

  1. 把相机对准物体

将您的视觉套件指向一些物体,例如一些办公用品或水果。检查您的终端屏幕,看看模型在猜测什么。每个猜测旁边的数字是其置信度得分。

您可能会对模型擅长猜测的对象种类感到惊讶。它的缺点是什么?尝试同一物体的不同角度,看看置信度分数是如何变化的。
在这里插入图片描述

  1. 停止图像分类相机演示

图像分类相机演示将无限期运行,直到您中断它。

完成图像分类器演示后,按Ctrl-C结束演示。这将使您返回提示。
在这里插入图片描述

2.9 尝试在实时摄像头中进行人脸检测

  1. 启动人脸检测摄像头演示

此演示使您的视觉套件能够识别人脸。它打印出它在终端中看到的人脸数量,如果你连接了监视器,它会在它识别的每个人脸周围画一个方框。

要启动人脸检测演示,请键入以下命令并按enter键:

./face_detection_camera.py

在这里插入图片描述如果它正常工作,你会看到监视器上弹出一个摄像头窗口(如果连接了),模型的输出将开始打印到你的终端。

  1. 将相机指向面部

将相机指向某些人脸,观看演示输出。迭代告诉您模型运行的次数。num_faces是模型对相机视野中有多少人脸的最佳猜测。

尝试快速或更远地移动相机。猜脸的数量会更难吗?
在这里插入图片描述

  1. 停止面部检测摄像头演示

当你完成了人脸检测演示的实验后,按Ctrl-C结束它。这将使你回到提示。

在这里插入图片描述

2.10 检测到人脸时拍照

  1. 运行面部摄像头触发演示

通过此演示,当您的视觉套件检测到人脸时,它会自动拍摄照片。要启动它,请键入以下命令并按enter键:

./face_camera_trigger.py

在这里插入图片描述

如果你连接了监视器,你会看到一个闪烁的光标,并弹出一个相机窗口。它将保持这种状态,直到相机看到一张脸并拍摄到一张照片。

  1. 将相机指向面部

将相机对准自己或朋友。试着做一堆人脸,并用机器认为的人脸做实验。

当它看到一张脸时,它会拍照并在当前目录中创建一个名为faces.jpg的图像,然后关闭相机窗口并返回提示。

  1. 验证照片是否已创建

要验证照片是否已创建,请在提示下键入ls,然后按enter键。

您应该看到当前目录中列出了一个名为faces.jpg的文件。

在这里插入图片描述

2.11 使用raspistill拍照

  1. 拍张照片

下面的演示向您展示了如何使用现有图像文件作为输入(而不是使用实时摄像机馈送)。因此,您需要先用相机拍摄照片(或将文件保存到同一目录中)。

要捕获名为image.jpg的新照片,请键入以下命令并按enter键:

raspistill -w 1640 -h 922 -o image.jpg

在这里插入图片描述

相机将等待5秒,然后拍照。

  1. 验证您的照片是否已创建

要验证照片是否已创建,请在提示下键入ls,然后按enter键。您应该看到在上述步骤中使用的文件名。

在这里插入图片描述

2.12 尝试对图像进行人脸检测

  1. 运行人脸检测演示

现在,让我们使用上面拍摄的照片和面部检测模型。如果您跳过了这一步,请返回并拍照,或者确保您的SD卡上有一张带脸的照片。

要运行演示,请在终端中键入以下命令,然后按enter键:

./face_detection.py --input image.jpg

如果将图像文件命名为其他文件,请将image.jpg替换为要使用的文件的名称。
在这里插入图片描述

  1. 检查结果

完成后,你应该得到这样的结果:

Face #0: face_score=0.989258, joy_score=0.969556, bbox=(632.0, -15.0, 782.0, 782.0)

在这里插入图片描述

facescore是指模型是否确定找到了一张脸,joyscore是指这个人看起来有多开心(两个分数都是1分)。bbox告诉你脸在图像中的位置。

2.13 在图像上尝试对象检测

  1. 运行对象检测演示

物体检测演示会拍摄一张图像,并检查它是猫、狗还是人。

首先,您需要准备好图像:使用相机拍摄照片或将照片保存在SD卡上。

然后键入以下命令并按enter键,将image.jpg替换为要使用的文件:

./object_detection.py --input image.jpg

在这里插入图片描述

  1. 检查结果

完成后,你应该得到这样的结果:

Object #0: kind=PERSON(1), score=0.959231, bbox=(359, 108, 896, 808)

在这里插入图片描述
kind是检测到的对象类型,分数是模型对其给出的结果的信心程度。bbox是该对象在图像中的位置。

2.14 在图像上尝试菜肴分类

  1. 运行菜式分类器演示

菜肴分类器模型可以从图像中识别食物。

首先,您需要准备好图像:使用相机拍摄照片或将照片保存在SD卡上。

然后键入以下命令并按enter键,将image.jpg替换为要使用的文件:

./dish_classification.py --input image.jpg

在这里插入图片描述

  1. 检查结果

处理完成后(可能需要一分钟),你会得到一个结果列表,以及确定的食物类型和概率分数,表明模型对其答案有多自信(满分1)。

在这里插入图片描述

2.15 尝试对图像进行图像分类

  1. 运行图像分类演示

这是来自上面的相同图像分类器,但现在针对捕获的图像运行。

首先,您需要准备好图像:使用相机拍摄照片或将照片保存在SD卡上。

然后键入以下命令并按enter键,将image.jpg替换为要使用的文件:

./image_classification.py --input image.jpg

在这里插入图片描述

  1. 检查结果

像相机图像分类器一样,您将得到一个结果列表,其中包括对象的类型和模型的置信度。

在这里插入图片描述

2.16 关闭AIY Vision Kit

当您完成了一天的视觉套件后,在拔下之前正确关闭它非常重要,以确保您不会损坏SD卡。

如果您已将套件连接到显示器、鼠标和键盘,则可以通过打开应用程序菜单(桌面左上角的树莓派图标),然后单击关机来关闭它。

否则,如果您使用SSH终端连接到套件,请键入以下命令并按enter键:

sudo poweroff

几分钟后,Raspberry Pi上的绿色LED将关闭(通过标有SD卡的孔查看),表明该套件已关闭。

然后,您可以安全地从套件中拔下电源。

3. AIY Vision Kit配置环节

在国外的网络环境,其实到这里已经基本完成所有入门环节,但是(但是,但是),我们国内的用户做这个可是一个非常头大的事情。当然对于有经验的高手就不说了,反正也得花点时间,但是能搞定。

pi@PiCam:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
pi@PiCam:~ $ uname -a
Linux PiCam 5.10.103+ #1529 Tue Mar 8 12:19:18 GMT 2022 armv6l GNU/Linux

这里我们就给各位小白整理下:

3.1 apt国内本地源配置修改

$ sudo nano /etc/apt/sources.list
$ sudo nano /etc/apt/sources.list.d/raspi.list

$ cat /etc/apt/sources.list
#deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
# deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi

$ cat /etc/apt/sources.list.d/raspi.list
deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main

#deb http://archive.raspberrypi.org/debian/ buster main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ buster main

3.2 屏蔽aiyprojects更新源(烦心!!!)

注:这里是真没有办法,毕竟这关系搞僵了,也许若干年后吧,大家都懂的。

$ sudo nano /etc/apt/sources.list.d/aiyprojects.list

$ cat /etc/apt/sources.list.d/aiyprojects.list
#deb https://packages.cloud.google.com/apt aiyprojects-stable main

有好的办法一定要告诉我啊!!!

3.3 pip国内本地源配置修改

$ mkdir ~/.pip
$ nano ~/.pip/pip.conf

$ cat ~/.pip/pip.conf
[global]
timeout=1000
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
extra-index-url= http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=
        pypi.tuna.tsinghua.edu.cn
        mirrors.aliyun.com

3.4 vim重装(兼容模式)

树莓派系统预装的是vim-tiny版本,就是简易版,且默认是兼容模式。在使用vi编辑文件时,发现退格删除键(Backspace键),无法删除,方向键变成了ABCD(对应上下右左)还自动换行。

$ sudo apt-get remove vim-common
$ sudo apt-get install vim

3.5 配置VNC远程支持

$ sudo raspi-config

在这里插入图片描述在这里插入图片描述在这里插入图片描述这样就可以再Windows上使用远程VNC软件登录了。
在这里插入图片描述在这里插入图片描述

3.6 安装并配置samba服务

安装

$ sudo apt-get install samba

配置

$ sudo nano /etc/samba/smb.conf
$ sudo smbpasswd -a pi   //添加远程samba登录密码,建议使用与ssh一致。

修改如图所示内容即可
在这里插入图片描述
在这里插入图片描述

4. 参考资料

【1】The AIY Vision Kit from Google – Guide

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/173238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

旺店通·企业奇门和用友BIP接口打通对接实战

旺店通企业奇门和用友BIP接口打通对接实战接通系统&#xff1a;旺店通企业奇门旺店通是北京掌上先机网络科技有限公司旗下品牌&#xff0c;国内的零售云服务提供商&#xff0c;基于云计算SaaS服务模式&#xff0c;以体系化解决方案&#xff0c;助力零售企业数字化智能化管理升级…

Mac和Windows局域网互传文件iPhone和Windows局域网互传文件

生活中&#xff0c;我们可以通过微信和QQ或网盘等等传输工具进而实现文件互传&#xff0c;但是面临一个问题&#xff0c;大文件无法上传&#xff0c;而且受到网速的限制等诸多因素影响&#xff0c;如今我们可以通过局域网进行实现文件互传&#xff0c;进而改变此种囧境。 首先在…

17道Redis 面试题

Redis 持久化机制缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题热点数据和冷数据是什么Memcache与Redis的区别都有哪些&#xff1f;单线程的redis为什么这么快redis的数据类型&#xff0c;以及每种数据类型的使用场景&#xff0c;Redis 内部结构redis的过期策略以及…

KVM安装部署 | 举例安装虚机Windows2012R2

目录 1、基础环境准备 2、KVM的安装 3、开启服务 4、开启图形化界面 5、也可以通过浏览器管理KVM 6、举例安装一个windows2012R2 1、基础环境准备 【关闭防火墙】 systemctl stop firewalld systemctl disable firewalld 【关闭selinux】 修改文件/etc/selinux/config…

Linux常用指令及Web程序的部署

作者&#xff1a;~小明学编程 文章专栏&#xff1a;Linux 格言&#xff1a;热爱编程的&#xff0c;终将被编程所厚爱。 目录 Linux中的常见指令 ls pwd cd 文件操作 touch cat mkdir echo rm cp mv man less vim head tail grep ps netstat Linux权限 搭建Ja…

模电相关知识

6 放大电路中的负反馈 6.1 反馈的基本概念及判断方法 6.4 深度负反馈放大电路放大倍数的分析 6.4.1 深度负反馈的实质 6.4.4 基于理想运放的放大倍数分析 6.4.4.1理想运放的线性工作区 理想运放的性能指标理想运放在线性区的特点 标准运放&#xff0c;有两个输入端和一个…

aws codesuit 在codebuild和codepipeline中集成jenkins

codebuild集成jenkins https://docs.aws.amazon.com/zh_cn/codebuild/latest/userguide/jenkins-plugin.html Setting up a CI/CD pipeline by integrating Jenkins with AWS CodeBuild and AWS CodeDeploy source选择本地的gitlab仓库&#xff0c;创建一个简单的springboot项…

Cert Manager 申请 SSL 证书流程及相关概念 - 一

2022.3.9 用 cert-manager 申请成功通配符证书 (*.ewhisper.cn), 2022.4.30 该证书距离过期还有 30 天&#xff0c;cert-manager 进行自动续期&#xff0c;但是却失败了。&#x1f631;&#x1f631;&#x1f631; 然后过了几天&#xff0c;在 2022.5.8, 最终成功了。如下图&a…

Vue3 项目实战 —— 后台管理系统( pc端 ) —— 动态多级导航菜单顶部侧边联动

前期回顾 0.活在风浪里的博客_CSDN博客-vue2,开源项目,Js领域博主0.活在风浪里擅长vue2,开源项目,Js,等方面的知识,0.活在风浪里关注css,safari,html5,scss,elementui,前端,es6,正则表达式,vue.js,express,ajax,webpack,echarts,json,html,typescript,sass,https,面试,ch…

离散数学-图论-图的矩阵表示(12.1)

图的矩阵表示 1 关联矩阵 定义&#xff1a;设无向图G<V,E>,V{v1,v2,⋅⋅⋅,vnv_1,v_2,,v_nv1​,v2​,⋅⋅⋅,vn​},E{e1,e2,⋅⋅⋅,eme_1,e_2,,e_me1​,e2​,⋅⋅⋅,em​},令mijm_{ij}mij​为顶点viv_ivi​与边eje_jej​的关联次数&#xff0c;则称(mij)nm(m_{ij})_{nm}…

九龙证券|景气度复苏与库存拐点双击,这个行业获主力看好!

今天计算机职业、电子、非银金融职业净流入规划居前&#xff0c;9股主力资金净流入超2亿元。 证券时报数据宝统计&#xff0c;今天沪深两市主力资金净流出46.1亿元&#xff0c;其间创业板净流出3.57亿元&#xff0c;沪深300成份股净流入28.21亿元。 申万一级职业中&#xff0c…

SpringAMQP - Work Queue 工作消息队列

目录 介绍 案例 测试 改进&#xff1a; 介绍 Work queues也被称为&#xff08;Task queues&#xff09;&#xff0c;任务模型简单来说就是让多个消费者绑定到一个队列&#xff0c;共同消费队列中的消息当消息处理比较耗时的时候&#xff0c;可能生产消息的速度会远远大于消…

机器人与未来

我们生活在“普适机器人”时代&#xff0c;机器人将像今天的智能手机一样融入日常生活&#xff0c;完成许多专门任务&#xff0c;并经常与人类并肩工作。 机器人革命将创造一个比现在更加生动和充满活力的未来。 到 2022 年&#xff0c;机器人将获得如此大的吸引力&#xff0…

全国地名点地统计模式分析

前言用不同的空间点模式分析方法&#xff0c;综合得出全国地名数据点的空间分布模式属于随机分布、均匀分布、聚集分布中的哪一种。一、点模式分析空间点模式分析是一种根据地理实体或事件的空间位置研究其分布模式的空间分析方法 。 空间点分布模式通常分为三种&#xff1a;随…

从汇编的角度去审视函数的调用【函数栈帧】

文章目录函数栈帧栈寄存器相关汇编指令函数栈帧的创建函数栈帧的销毁函数栈帧 我们在写C语言代码的时候&#xff0c;经常会把一个独立的功能抽象为函数&#xff0c;所以C程序是以函数为基本单位的。 那函数是如何调用的&#xff1f;函数的返回值又是如何待会的&#xff1f;函数…

17种编程语言实现排序算法-冒泡排序

开源地址 https://gitee.com/lblbc/simple-works/tree/master/sort 覆盖语言&#xff1a;C、C、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、PHP。 覆盖平台&#xff1a;安卓(Java、Kotlin)、iOS(SwiftUI)、Flutter(Dart)、Window桌面(C#)、前…

离散数学-集合论-函数(10)

函数 1 函数的概念 1.1 函数的定义 设&#x1d453;是非空集A到B的关系, 如果对每个&#x1d465;∈A, 都存在唯一的&#x1d466;∈B, 使得<&#x1d465;, &#x1d466;>∈&#x1d453;, 则称关系&#x1d453;为A到B的函数(Function), 也可称为映射(Mapping)或变…

PID优化系列之给定值斜坡函数(PLC代码+Simulink仿真测试)

很多变频器里的工艺PID,都有"PID给定值变化时间"这个参数,这里的给定值变化时间我们可以利用斜坡函数实现,当然也可以利用PT1 低通滤波器对给定值进行平滑。给定值缓慢变化在很多闭环控制系统里很重要,比如收放卷在初始建张阶段目标值不建议突变容易将卷材拉断(…

聊聊外包团队的高效管理机制

这是鼎叔的第四十七篇原创文章。行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。欢迎关注本人专栏和微信公众号《敏捷测试转型》&#xff0c;大量原创思考文章陆续推出。对于大规模的外包团队&#xff0c;需要一个易用的外包管理OA系统&#xff0c;才能提高日常交付效率。…

LINUX学习之时间日期类命令(五)

date命令 命令描述 date命令用于在Linux系统中显示或设置当前系统时间。它可以显示当前日期和时间&#xff0c;并允许用户格式化输出。它还可以用于将系统时间设置为指定的日期和时间。使用格式化字符串&#xff0c;可以自定义输出格式 以下是data命令的常用参数&#xff1a…