设置 Raspberry Pi、相机和 iRobot Create
- 简介
Raspberry Pi 是一款小型单板计算机,具有 USB、WiFi、蓝牙、以太网、HDMI、
音频和 GPIO 连接。在 cs424 中,我们将使用
Raspberry Pi 3 Model B 控制 iRobot 创建。与其他
模型相比,此特定模型是最强大的。它有 4 个主频为 1.2 GHz 的内核和 1 GB 的 RAM。运行系统所需的最低硬件
是(1) Raspberry Pi 主板,(2) MicroSD 存储卡,以及
(3) 电源。此外,我们还将使用 Raspberry Pi Camera Module v2 作为机器人的
“视觉”。在本教程中,我们使用操作系统设置 Raspberry Pi,启动它,
连接到它,安装 iRobot 和
相机分配所需的必要库。我们还将配置 IllinoisNet WiFi 和一个简单的发现协议,以便我们可以
在树莓派上开发我们的软件,并以无线方式与机器人通信。
一般注意事项
树莓派是一块裸露的主板,并且暴露了电气连接。因此,请勿将其放在金属表面上,因为它可能会使某些端子短路。将它放在 iRobot 的有效载荷
bin 上时,请注意那里有金属螺钉,因此请采取必要的预防措施以
隔离(例如将其放在纸或塑料上)。尽量不要用手去接触芯片的引脚
无论pi板是否通电。有时,我们身体的静电荷
足以破坏芯片。在放下电路板之前,握住电路板的边缘并释放身体上的静电
。运输时请使用 Raspberry Pi
原来的防静电袋。 - 安装 Raspbian 操作系统
在我们启动 pi 之前,我们需要在 32 GB MicroSD 卡上安装一个操作系统。
可以安装许多操作系统,包括不同风格的 Linux。我们
将安装 Raspbian 操作系统,这是一个基于 Debian 的发行版,针对
Pi 硬件 (https://www.raspbian.org) 进行了优化。因为它是基于 Debian 的,所以你可以从常用的 Ubuntu Linux 中继承很多
知识。
确保你有 MicroSD 卡和它的适配器。大多数笔记本电脑只有
一个全尺寸 SD 卡插槽。该适配器将 MicroSD 卡转换为
全尺寸卡的外形。将卡连接到 Mac、Linux 或 Windows 笔记本电脑。此时有
两条可用的路线可供选择。
2.1 通过 NOOBS(新的开箱即用软件)安装 Raspbian
这是最简单的方法。但是,它需要您拥有 HDMI 显示器、HDMI 电缆、USB
键盘和 USB 鼠标。您可以从以下链接下载 NOOBS。选择
3
“离线和网络安装”选项,因为它包含操作系统的全部内容
https://www.raspberrypi.org/downloads/noobs/ 一旦 NOOBS 被下载,请参阅
https://www.raspberrypi.org/documentation/installation/noobs.md 了解如何
格式化 SD 卡并在其上安装 NOOBS。安装过程基本上就是解压
zip文件,复制到卡上。复制NOOBS后,从您的
计算机中正确弹出卡。如果在未弹出的情况下将卡从插槽中取出,该卡可能会损坏。下一步
是启动树莓派。
2.1.1 将设备连接到树莓派
我们需要连接设备并为其通电。 (1) 将 MicroSD 卡插入 Raspberry
Pi。请注意,您可能需要首先将其从适配器中移除,因为 Pi 直接采用
MicroSD 外形尺寸。您可以在主板的另一侧找到 MicroSD 卡插槽(加载摩擦)。 (2) 将 HDMI 电缆的一端连接到 Pi,另一端连接到显示器。
如果该显示器是外接显示器或电视,则需要单独为其供电。 (3) 连接
一个USB键盘和一个USB鼠标。 (4) 为简单起见,暂时先忽略相机, (5)
连接 USB 5V 电源。请勿使用随意使用的 USB 充电器
,因为它们可能没有足够的额定电流。使用为此目的提供的 CanaKit 电源
。请注意,没有“开始”或“开启”开关/按钮。一旦连接电源
电源,它会像电脑一样启动。如果系统有电,它将打开一个“红色”LED
。旁边的“绿色”指示灯可能会间歇性闪烁,表示
MicroSD 卡上有活动。
2.1.2 为 Raspberry Pi 通电后安装 Raspbian
一旦启动,您需要按照屏幕上显示的说明安装 Raspbian。
以下文章更详细地说明了本节中描述的整个过程。
http://lifehacker.com/thealwaysuptodateguidetosettingupyourraspberr1781419054
安装 Raspbian 后,请跳至第 3 节以设置
2.2 无需启动树莓派即可安装操作系统镜像
本节介绍如何在不使用NOOBS的情况下直接在存储卡上安装Raspbian。
稍微有点涉及,如果您使用的是Linux或Mac,则可能需要使用终端
.但它不需要使用 HDMI 显示器、键盘和鼠标。
从
https://www.raspberrypi.org/downloads/raspbian/
选择“基于 Debian Jessie 的完整桌面映像”(即不是精简版)
点击链接
https://www.raspberrypi.org/documentation/installation/installingimages/README。 md
它展示了如何使用 Mac、Linux 或
Windows 机器安装安装在 MicroSD 卡上的 Raspbian。我们还在本节中复制了这些链接。
4
如果您想使用 Mac OS X 在 SD 卡上安装 Raspbian:
https://www.raspberrypi.org/documentation/installation /installingimages/mac.md
如果你想使用 Linux 在 SD 卡上安装 Raspbian:
https://www.raspberrypi.org/documentation/installation/installingimages/linux.md
如果您想使用 Windows 在 SD 卡上安装 Raspbian:
https://www.raspberrypi.org/documentation/installation/installingimages/windows.md
按照步骤操作后,您应该拥有 Raspbian Jessie 安装在 MicroSD 卡上。
跳到第 3 部分。 - 设置配置
在本节中,您将 (1) 将 Raspberry Pi 的主机名更改为您
组独有的名称,(2) 为 IllinoisNet 企业网络和您的家设置 WiFi 配置
网络,如果你有,(3) 为设备设置一个简单的发现协议。
如果你是从 2.1 节来到这里的,你可以直接跳到 3.1 节。
如果你从第 2.2 节来到这里,您可以选择 3.1、3.2 或 3.3
3.1 启动 Raspberry Pi 后设置初始配置
如您所料,此方法需要将显示器、键盘和鼠标连接到
Raspberry Pi。我们将启动系统并编辑其上的配置文件。如果这些
设备未连接或您尚未启动 Pi,请按照第 2.1.1 节进行操作。
3.1.1 更改主机名
在以下部分中,我们将展示进行配置更改所需的命令。
我们将使用 nano 编辑器。如果您对 nano 不满意,可以使用您喜欢的任何其他
编辑器。注意Ctrl + o 在nano 中保存文件,Ctrl + x 退出nano。
有些命令需要sudo。默认用户是pi,默认密码是raspberry
在本节中,我们要设置你的树莓派的主机名为robotpiN。将 N 替换为
您分配的组号(例如,组 4 的主机名将是 robotspi4)。要做到这一点,我们需要编辑两个文件:
sudo nano /etc/hosts
应该有一行(很可能是最后一行)127.0.1.1 raspberrypi
Change raspberrypi 到robotpiN
如果没有这样的行,或者127.0.1.1 之后的术语是别的东西,请检查您是否
打开了正确的文件。使用 Ctrl + o 保存更改,Ctrl + x 退出 nano。
5
sudo nano /etc/hostname
将术语 raspberrypi 更改为 robotspiN
使用 Ctrl + o保存更改,Ctrl + x 退出 nano
请注意,如果您进入本节是因为您被指示遵循第 3.1.1、
3.1.2、3.1.3 和 3.1.4 节,当您在第 3.3 节(如果您已将
MicroSD 卡安装在 linux 机器上而不是将其附加到 Raspberry Pi,则会发生这种情况),那么您应该编辑的文件
是 ./etc/ hosts 和 ./etc/hostname (记住开头的
点),前提是您正确地对 MicroSD 卡上的
Raspbian 的文件系统执行了 cd(更改目录)。相同的规则(即应该有一个前导点)也适用于
在第 3.1.2、3.1.3 和 3.1.4 节中编辑的文件。
3.1.2 配置 WiFi
执行sudo nano /e tc/wpa_supplicant/wpa_supplicant.conf
到文件底部,添加如下一段。鉴于您使用的是 WPAPSK 方案(这几天是默认设置),此设置将适用于您的大多数
家庭 WiFi 网络。您应该为名为 your_home_wifi_name 和
your_home_wifi_passphrase 的字段设置适当的值。请注意“引号的存在,应该
将这些值括起来。
network={
ssid=”your_home_wifi_name”
psk=”your_home_wifi_passphrase”
key_mgmt=WPAPSK
}
使用相同的机制,我们现在配置 IllinoisNet Enterprise 网络。企业
网络需要身份(您的 NetId)和密码(您的 NetId 密码)。出于
安全原因,我们将存储
密码哈希值,而不是直接以明文形式输入密码。执行以下命令生成哈希。
echo n ‘your_netid_password’ | iconv t utf16le | openssl md4
注意明文密码周围的单引号。您必须在明文密码周围使用单
引号。由于密码一般都含有
特殊字符,如果使用双引号或不使用引号可能会不起作用。
此命令的输出将类似于 (stdin)=6602f435f01b917388 9a8d3b9bdcfd0b
您的输出将包含一些其他十六进制字符串而不是 6602...fd0b,具体取决于
您的 NetId 密码。我们现在应该执行 history cw 以删除终端历史记录,因为我们
在终端中以纯文本形式输入了密码,并且不应保留在历史记录中。
一旦您获得密码哈希,请将以下块添加到wpa_supplicant.conf
文件。将 6602f435f01b9173889a8d3b9bdcfd0b 替换为您生成的实际哈希值,
6
将 your_net_id 替换为您的 net_id。注意
hash:6602…fd0b 周围没有引号(“)。确保关键字 hash:和 hash
本身(即您从 NetId 密码生成的十六进制字符串)之间没有空格
network={
ssid=”IllinoisNet”
key_mgmt=WPAEAP
proto=WPA2
eap=PEAP
ca_cert=”/etc/ssl/certs/AddTrust_External_Root.pem”
identity=” your_net_id”
password=hash:6602f435f01b9173889a8d3b9bdcfd0b
phase1=”peapver=0″
phase2=”MSCHAPV2″
}
使用 Ctrl + o 保存更改,Ctrl + x 退出 nano
您也可以从 https://courses.engr.illinois.edu/cs424/mp/wpasupplicant.txt 复制文本
3.1.3 配置 DHCP 客户端
默认 Raspbian Jessie 制作网络接口手册。我们要配置
接口以通过 DHCP 获取 IP 地址。本节我们编辑文件
/etc/network/interfaces
运行
打开文件
sudo nano /etc/network/interfaces
在文件中找到“manual”字样文件,并通过“dhcp”更改它们。应该有三个这样的
实例。最后,该文件应如下所示。我们强调了这些变化:
ifup(8) 和 ifdown(8) 使用的 interfaces(5) 文件
请注意,此文件是为与 dhcpcd 一起使用而编写的
对于静态IP,参考/etc/dhcpcd.conf 和'man dhcpcd.conf'
包含来自 /etc/network/interfaces.d 的文件:
sourcedirectory /etc/network/interfaces.d
auto lo
iface lo inet loopback
iface eth0 inet dhcp
7
allowhotplug wlan0
iface wlan0 inet dhcp
wpaconf /etc/wpa_supplicant/wpa_supplicant.conf
allowhotplug wlan1
iface wlan1 inet dhcp
wpaconf /etc/wpa_supplicant/wpa_supplicant.conf
使用Ctrl+o保存您的更改,Ctrl + x 退出 nano
3.1.4 配置发现协议
我们想配置一个简单的发现协议,这样我们就可以很容易地找到
我们的树莓派的IP地址,一旦连接到IllinoisNet无线网络。我们想向服务器 apollo3.cs.illinois.edu 发送消息
协调协议,每当我们的树莓派上的网络
接口启动时。请注意,如果3.1.3节中提到的更改没有进行,则本节中配置的发现协议可能不起作用。
sudo touch /etc/network/ifup.d/robotpi
sudo chmod 755 /etc/network/ifup.d/robotpi
通过运行打开文件
sudo nano /etc/network/ifup.d/robotpi
添加以下几行
! /bin/sh
curl 数据“hostname=/bin/hostname
&data=/sbin/ifconfig
” \
http://apollo3.cs.illinois.edu/robotpi/controller.py/send_heartbeat
注意反引号 ( ` ) 和双引号 ( ” ) 符号。为方便起见,您可以
从 https://courses.engr.illinois.edu/cs424/mp/ifupdrobotpi.txt 复制文本
使用 Ctrl + o 保存更改,Ctrl + x 退出nano.
到此,我们就完成了初始配置。通过 sudo reboot now 重新启动 Pi,然后
跳转到第 4 部分以测试我们的配置。
3.2 通过有线网络设置初始配置
这个方法和3.1节几乎一样。在这种方法中,我们仍然需要启动Raspberry
Pi。查看第 2.1.1 节,了解如何启动 Raspberry Pi。而不是连接HDMI
显示器、键盘和鼠标,将以太网电缆连接到 Pi 的相应端口。
将以太网电缆的另一端连接到运行 DHCP 的无线路由器。如果您没有无线路由器,您也可以将它连接到台式机/笔记本电脑。
开机后,等待一两分钟让 Raspbian 完全启动。现在我们可以 ssh 进入
它。如果您将以太网电缆连接到无线路由器,则需要访问
路由器的 Web 控制台以查找 Pi 的 IP 地址。假设 IP 地址是 192.168.xxx.yyy。
您现在可以使用 ssh [email protected] xxx.yyy
ssh 到 Pi,它会要求输入密码。默认用户名是pi,默认密码是raspberry
根据你路由器的设置,可以跳过IP地址这一步,也许可以
直接通过名字raspberrypi.local找到Pi并连接使用
ssh [电子邮件保护]
如果您没有无线路由器,则您已将 Pi 直接连接到机器的
以太网端口。在这种情况下,您已经创建了一个专用有线网络。您的机器很可能
获得格式为 169.254.xxx.yyy 的自动配置 IP。您可以通过名称 raspberrypi.local 直接找到
树莓派。如果这不起作用,您需要找到树莓派的
自动配置IP。运行命令 sudo arpscan l
这可能会找到树莓派的 IP 地址。您的机器中可能没有安装 arpscan。在这种情况下,您首先需要安装它。对于 Linux,它可以从您的
包管理器中获得。对于 OS X,从自制软件安装它。对于 Windows,您需要找到一个 ARP
扫描软件。
一旦您能够通过 ssh 进入 Raspberry Pi,请按照第 3.1.1、3.1.2、3.1.3 节和
3.1.4 进行配置更改。完成后,跳转到第 4 部分以测试我们的配置。
3.3 在不启动 Raspberry Pi 的情况下设置初始配置
此方法不需要使用显示器、键盘和鼠标。您甚至不需要
启动树莓派来设置初始配置。相反,我们将直接在 MicroSD 卡上编辑配置
。由于 MicroSD 卡上的 Raspbian 使用 ext4 文件系统,
您需要在您的机器上运行 Linux。如果您的机器没有读卡器(台式机的常见场景),则需要使用USB读卡器。如果
你的机器上没有安装 Linux,你可以使用 Ubuntu Live CD/DVD 暂时在 Linux 上启动它,而无需实际安装 Linux。如果您的机器是笔记本电脑,它
可能没有 CD/DVD 驱动器,在这种情况下,您可以创建一个 Ubuntu Live USB 并使用它来
临时启动 Linux。
如果您是使用 Mac OS X,以下文章展示了如何在 Mac 上创建可启动 USB
http://business.tutsplus.com/tutorials/howtocreateabootableubuntuusbdriveformacinosx
cms21253。要在 Mac 上从 USB 启动,请将 USB 驱动器连接到它,重新启动
机器,在听到启动提示音后立即按住 Option 键。在启动管理器出现后松开
键,并为您提供从 USB 启动的选项。如果您正在使用
Windows 计算机,您可以使用 https://rufus.akeo.ie 中的软件创建可引导
USB。请注意,可能可以在 Windows 或 OS
X 操作系统上安装 ext4 文件系统的驱动程序,并在不使用 Linux 的情况下编辑 MicroSD 卡上的配置文件。
对于 OS X,此类驱动程序已据报道不稳定并导致其他副作用
包括破坏 MicroSD 卡的文件系统。因此,我们不走这条路。
在您的机器上运行 Linux 后,插入 MicroSD 卡(如果需要,通过 MicroSD 到
SD 适配器)。它可能会将其安装在 /media 或 /media/ubuntu 上。在
挂载位置内,会有两个目录。其中之一将被命名为“boot”。我们对“boot”目录不感兴趣。但是我们需要编辑其他目录中的一些文件。
该目录可以有不同的名称。名称可以是 (i) 一串与 MicroSD 卡相关的十六进制
字符和破折号,或者 (ii) 名称也可以是“root”。打开一个
终端,然后改变目录如下。只有其中一个可以工作
cd /media/ubuntu/ hexadecimal_string_related_to_the_memory_card/
(OR)
cd /media/hexadecimal_string_related_to_the_memory_card/
(OR)
cd /media/ ubuntu/root
(OR)
cd /media/root
此目录对应于安装在 MicroSD 卡上的 Raspbian 文件系统。
一旦我们进入正确的目录上面提到,我们需要更改以下
文件。请注意前导点 (.),因为这些路径是相对于当前目录的。
⇒ 编辑 ./etc/hostname e(请参阅第 3.1.1 节)
⇒ 编辑 ./etc/hosts(请参阅第3.1.1)
⇒ 编辑 ./etc/wpa_sup plicant/wpa_supplicant.conf(参见第 3.1.2 节)
⇒ 编辑 ./etc/network/interfaces(参见第 3.1.3 节)
⇒ 创建一个文件 ./etc/network/ifup.d/robotpi 并设置适当的权限。 (见
3.1.4节)
这些文件对应于3.1.1、3.1.2、3.1.3、3.1.4节编辑的文件。按照那些
部分进行更改。请记住此处路径中的前导点 (.)。我们需要
编辑MicroSD卡上对应树莓派文件系统的文件。如果您忘记了
前导点,您将改为编辑主机 Linux 操作系统的文件,这可能会导致意外问题。完成后,退出终端,确保没有其他应用程序正在使用 MicroSD 卡,卸载并安全弹出 MicroSD 卡。跳到第 4 部分
来测试我们的配置。
- 测试初始配置
在本节中,我们测试我们的配置。如果您尚未将 MicroSD 卡连接到
Raspberry Pi(如果您遵循第 2.2 和 3.3 节,则可能会发生这种情况),现在是时候这样做
。查看第 2.1.1 节,了解如何将设备连接到 Raspberry Pi。在本节中,我们将测试
是否可以通过仅连接 (1)
MicroSD 卡、(2) CanaKit 5V USB 电源在无线设置中连接到 Raspberry Pi。
等等几分钟让 Pi 完全启动。现在在您的计算机上打开浏览器并
访问 http://apollo3.cs.illinois.edu/robotpi。它将出现一个如图 4.1 所示的仪表板页面。
该仪表板在校园工作时很重要,因为通过
IllinoisNet WiFi 分配的 IP 地址是动态的。
如果您已正确设置配置,则该表应包含一行,其中包含与您的 Raspberry Pi 相关的信息
。该行应具有您在第一列的 Section
3 中为其指定的唯一主机名。时间戳应该是最近的(因为您刚刚启动了机器)。
检查无线 IP。这是通过 WiFi 连接
时您的 Raspberry Pi 的当前 IP 地址。通过运行以下命令检查您是否可以通过 ssh 连接到它(用
仪表板上显示的实际 IP 地址替换 10.195.29.33)
ssh [电子邮件保护]
如果您没有更改密码,默认密码应该是 raspberry
如果到目前为止一切正常,任何时候您需要动态分配给您的树莓派的 IP 地址,您应该访问 http://apollo3.cs.illinois.edu /robotpi 找到它。
注意安全关闭树莓派的命令是 sudo shutdown now
立即重启的命令 sudo reboot now
来源:设置树莓派、相机和 iRobot 创建
制造工艺
- DIY 环境和空气质量监测器
- NodeMCU 和 Raspberry Pi 3 B+
- Python 和 Raspberry Pi 温度传感器
- Raspberry Pi 上的简易温度和湿度
- Raspberry Pi Photocell 日志和警报系统
- Raspberry Pi 温度和光传感器
- Raspberry Pi 传感器和执行器控制
- 带有 Raspberry Pi 和湿度传感器的 Aeroponics
- 带摄像头和 PIR 传感器的 Raspberry Pi 家庭安全系统
- 鸟舍中的带摄像头的树莓
- 新的 RASPBERRY PI 3 型号 B + 功能和购买
- BeagleBone 和 Raspberry Pi 获得 FPGA 附加组件