![深入理解OpenCV:实用计算机视觉项目解析(原书第3版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/265/29970265/b_29970265.jpg)
1.4.1 用于开发嵌入式设备代码的设备配置
首先,尽可能地简单,像使用台式机一样,通过使用USB键盘和鼠标以及HDMI监视器,在树莓派上进行本地编译并运行代码。第一步是将代码复制到设备上,安装构建工具,在嵌入式系统上编译OpenCV和源代码。
许多嵌入式设备(例如树莓派)都有一个HDMI端口和至少一个USB端口。因此,开始使用嵌入式设备的最简单方法是在使用台式机进行代码开发和测试的同时,为设备插入HDMI监视器和USB键盘和鼠标,配置设置并查看输出。如果有你备用的HDMI监视器,把它插到设备上,但是如果没有,你可以考虑购买仅适用于你的嵌入式设备的小型HDMI屏幕。
此外,如果你没有备用的USB键盘和鼠标,可以考虑购买具有单个USB无线接入器的无线键盘和鼠标,因此你需要使用一个USB端口来连接键盘和鼠标。许多嵌入式设备使用5V电源,但它们通常需要的功率(电流)比台式机或笔记本电脑的USB端口所提供的更大。所以,你应该准备一个单独的5V USB充电器(至少1.5A,理想情况下为2.5A)或是一个可提供至少1.5A的输出电流的便携式USB电池充电器。你的设备在大多数时间只能使用0.5A,但偶尔会需要超过1A的电流,因此使用额定电流至少为1.5A或更高的电源非常重要,否则你的设备偶尔会重启或者某些硬件在重要时刻可能会不正常,或者文件系统可能会损坏并丢失文件!如果你不使用相机或配件,1A就足够了,但2.0~2.5A会更可靠。
例如,下图展示了一个便捷的设置,包含树莓派3、10美元的优质8GB micro-SD卡(http://ebay.to/2ayp6Bo)、30~45美元的5英寸HDMI电阻式触摸屏(http://bit.ly/2aHQO2G)、30美元的无线USB键盘和鼠标(http://ebay.to/2aN2oXi)、5美元的5V 2.5A的电源(https://amzn.to/2UafanD)、一个USB网络摄像头(比如只需5美元且非常快的PS3Eye)(http://ebay.to/2aVWCUS),15~30美元的树莓派相机模块v1或v2(http://bit.ly/2aF9PxD),2美元的以太网线(http://ebay.to/2aznnjd),将树莓派连接到与开发PC或笔记本电脑相同的局域网。注意此HDMI屏幕是专门为树莓派设计的,因为树莓派直接插入屏幕的下面,并且有一个HDMI公对公适配器(右图所示),因此你不再需要HDMI电缆,而其他屏幕则可能需要HDMI电缆(https://amzn.to/2Rvet6H),或者MIPI DSI或SPI电缆。
还需注意,某些屏幕和触摸面板要配置后才能工作,而大多数HDMI屏幕则不需要任何配置:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/022-i.jpg?sign=1738925877-AENRZLb63lolXuCXYqGexJusXqTvjfok-0-bc35cd19f85ee3bfae9ad5127196f0fc)
注意黑色USB摄像头(在LCD的最左侧)、树莓派相机模块(位于LCD左上角的绿色和黑色板)、树莓派板(LCD下方)、HDMI适配器(将LCD连接到下方的树莓派)、蓝色以太网电缆(插入路由器)、一个小型USB无线键盘和鼠标适配器和一根micro-USB电源线(插入5V 2.5A电源)。
配置新的树莓派
以下步骤是专门针对树莓派的,若你使用了不同的嵌入式设备或你需要不同类型的设置,请在网上搜索有关如何设置的信息。要设置树莓派1、2、3(包括它们的变种,如树莓派Zero,树莓派2B、3B等,如果你使用树莓派1A++,则需插入USB以太网转换器),请按照下列步骤操作:
1. 使用比较新的、质量好且至少8GB的mirco-SD卡。如果使用廉价的mirco-SD卡或已用过多次的质量下降的旧mirco-SD,它可能不够可靠,无法启动树莓派,所以如果你在启动树莓派时遇到问题,尝试使用质量良好的Class 10 micro-SD卡(比如SanDisk Ultra或其他更好的),它可以处理至少45Mbps或者4K视频。
2. 下载并将最新的Raspbian IMG(不是NOOBS)烧录到micro-SD卡中。请注意,烧录IMG不等于将文件复制到SD。访问https://www.raspberrypi.org/documentation/installation/installing-images/并按照桌面操作系统的说明将Raspbian烧录到micro-SD卡。请注意,此操作将丢失之前在卡上的所有文件。
3. 将USB键盘、鼠标和HDMI显示器插入树莓派,这样你就可以轻松运行某些命令并查看输出。
4. 给树莓派接上至少1.5A的,理想情况下为2.5A或更高的5V USB电源。电脑USB端口功率不够,不能使用它。
5. 你应该在启动Raspbian Linux时看到滚动文本的许多页面,然后它应该在1或2分钟后准备就绪。
6. 如果在启动后,它只显示一个带文本的黑色控制台屏幕(如同下载Raspbian Lite时的屏幕),则表示处于纯文本登录提示符下。输入pi作为用户名登录,按<Enter>键。然后输入raspberry作为密码,再按<Enter>键。
7. 或者如果它启动到图形显示,单击顶部的黑色Terminal图标打开shell(命令提示符)
8. 初始化树莓派的一些设置:
●输入sudo raspi-config,按<Enter>键(参见下面的屏幕截图)。
●运行Expand Filesystem(扩展文件系统),完成后重启设备,这样树莓派即可使用整张mirco-SD卡。
●如果你使用的是普通(美式)键盘,而不是英式键盘,在Internationalisation Options(国际化选项,可更改默认语言)中,选择Generic 104-key keyboard,Other,English(US),然后对于AltGr按键和类似的问题,除非你使用特殊键盘,否则只需按<Enter>键即可。
●在Enable Camera(启用摄像头)中,启用树莓派相机模块。
●在Overlock Options(超频设置)中,设置为树莓派2或类似的设备,使得运行速度更快(但是更发热)。
●在Advanced Options(高级设置)中,启动SSH服务。
●在Advanced Options(高级设置)中,若使用树莓派2或3,选择Memory Split(内存分配)给GPU 256MB的内存,以便GPU有足够的RAM用于视频处理。若使用树莓派1或zero,请使用64MB或默认值。
●完成后重启设备。
9. (可选):删除Wolfram以节省SD卡的600MB空间:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/024-i.jpg?sign=1738925877-WyIoPsFWpCygp2V9U5m0a6SWnd6VPzy1-0-d65e743a746cae9abed6cf6478be0d33)
可以使用sudo apt-get install wolfram-engine重新安装。
查看SD卡的剩余空间,请运行df–h|head-2:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/025-i.jpg?sign=1738925877-U5EDSzHRrFrdhuMVQJgBBcrcRHZhYijc-0-1b10ee9b1a0366d5f995d4a37e9af9d7)
10.假设你把树莓派连到路由器上,它应该已经接入互联网。因此,可将树莓派更新到最新的树莓派固件、软件位置、操作系统以及软件。警告:很多树莓派教程说应该运行sudo rpi-update;然而,近年来,运行rpi-update不再是一个好主意,它会带来不稳定的系统或固件。以下指令更新树莓派可得到稳定的软件和固件(注意这些命令可能需要长达一个小时):
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/025-2-i.jpg?sign=1738925877-DIFBZahPC36hwc4S8BJ3ZCTtWx15nB3x-0-997b8c13e3f847021db1dbba637f8e8a)
11.查找设备的IP地址:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/025-3-i.jpg?sign=1738925877-fLWPhJrQtp3Guo9YMwL1Q3Piu5RUud1O-0-707282bc6cdeb669bb3cf2f4443cb2d6)
12.尝试从桌面访问该设备。例如,假设设备的IP地址为192.168.2.101。在Linux桌面上输入以下:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/025-4-i.jpg?sign=1738925877-XfPZ3dFgGSL3ZdSiyhQoqMZGmhUtKEVg-0-da12593cacd0a8295ace97c402cb58fd)
或者,在Windows桌面上执行此操作:
1)下载、安装、运行PuTTY
2)然后在PuTTY中,连接到IP地址(192.168.2.101),作为用户pi,密码为raspberry
13.如果想要命令提示符的颜色与命令不同,并在每个命令后显示错误值,请使用以下命令:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/026-i.jpg?sign=1738925877-9PgxreRtUSgOhCVsnr3Zs6sB68jBbmmU-0-3e9bb3e6229ced461f9e5b491012e140)
14.将以下行加在其底部:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/026-2-i.jpg?sign=1738925877-NhJ9pBIyGbmrSOQwSJDd3GbGV4lJih1n-0-da9ba7a5611cdca1a1ee17aa4f0b01b4)
15.保存文件(按<Ctrl+X>,然后按<Y>,最后按<Enter>)
16.开始使用新的设置:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/026-3-i.jpg?sign=1738925877-Wh6eqt8dc18FFHq29qFwAwStXsPywrFe-0-0a7ae50572d3063197898a47a5a53089)
17.要防止Raspbian中的屏幕保护程序/白屏省电功能在空闲时关闭屏幕,请使用以下命令:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/026-4-i.jpg?sign=1738925877-wUdWnxJeONbDJMMTzDyTGuJOXrr3e8dt-0-53af97d6660577c52a9c3b8d891f2eeb)
18.并遵循以下步骤:
1)查找某一行:#xserver-command=X(按<Alt+G>然后输入87并按<Enter>键跳转到第87行)
2)将其更改为xserver-command=X–s 0 dpms
3)保存文件(按<Ctrl+X>,然后按<Y>,最后按<Enter>键)
19.最后,重启树莓派:
![](https://epubservercos.yuewen.com/15B6D4/16499103604974306/epubprivate/OEBPS/Images/026-5-i.jpg?sign=1738925877-F3hRQrVdJR4H3U2YWPqXQ7j0muqUNg46-0-c83af581fa05262eebf8a73d60769cc2)
现在就可以在设备上开发了!