设为首页 加入收藏

TOP

机器人编程教程4为机器人准备无头Raspberry Pi(一)
2023-08-26 21:10:24 】 浏览:94
Tags:程教程 Raspberry

4为机器人准备无头Raspberry Pi

本章将介绍以下内容:

  • 什么是无头系统,为什么它对机器人有用?
  • 在Raspberry Pi上设置Wi-Fi并启用SSH
  • 在网络上找到你的Raspberry Pi
  • 连接Raspberry Pi
  • 配置Raspberry Pi操作系统

要求:一台 Raspberry Pi,最好是 3A+(但 Pi3或4也可以)

4.1 什么是无头系统,为什么它对机器人有用?

无头系统是指在键盘、屏幕和鼠标访问设备不方便的时间或地点,可以通过网络从另一台计算机上操作的计算机。无头访问可用于服务器系统、制造机器人和小工具:


与屏幕、键盘和鼠标连接的 Raspberry Pi

上图展示了一个有头的系统,用户可以坐在设备前面。您需要在机器人上安装屏幕、键盘和鼠标,因此移动性较差。您可以根据需要安装/拆卸它们,但这样做也很不方便。有一些便携式系统可以与Raspberry Pis像这样对接,但当机器人移动时,您需要断开连接或与机器人一起移动。

我曾看到过带有微型板载屏幕、由无线键盘和鼠标控制的机器人。不过,在本书中,我们将机器人作为无头设备使用:


机器人上的Raspberry Pi采用无头配置

上图中的 Raspberry Pi作为无头设备安装在机器人上。这台Raspberry Pi没有屏幕和键盘的束缚;这些都由另一台计算机来处理。代码、指令和信息通过无线网络从笔记本电脑发送到 Raspberry Pi,再从 Raspberry Pi发送出去。许多代码示例都是自主运行的,计算机可以启动/停止这些示例。手机可以启动和停止自主行为,查看机器人的状态,或者直接驱动机器人,完全不需要连接笔记本电脑。这个 Raspberry Pi没有屏幕和键盘。

虽然您通常不需要屏幕和键盘,但还是值得准备一下,以防与 Raspberry Pi失去联系时,它拒绝通过网络做出响应。这时,您可以使用屏幕和键盘与它连接,查看发生了什么。

对于无头访问Raspberry Pi,我们将使用Secure Shell(SSH)。SSH提供了向Pi发送指令的命令行,以及向 Pi 传输文件的文件传输系统。

让Pi成为无头机器人可以让它自由行动。它无需携带屏幕和键盘,也无需为其供电,从而保持了机器人的轻便。由于显示器和键盘非常笨重,因此无头设计使机器人更小巧。它还能鼓励制造者思考机器人的自主行为,因为你不能总是向机器人输入命令。

4.2 在Raspberry Pi上设置Wi-Fi并启用SSH

现在你已经看到了无头系统的功能,让我们来修改SD卡,使 Raspberry Pi启动后即可作为无头设备使用。我们需要先设置 Wi-Fi:

并创建文件:

  • ssh: 没有扩展名的空文件。
  • wpa_supplicant.conf: 该文件包含 Wi-Fi 网络配置,如图所示:
country=CN

update_config=1

ctrl_interface=/var/run/wpa_supplicant

network={

ssid="<your network ssid>"

psk="<your network password>"

}

让我们逐行查看该文件:

第一行必须指定ISO/IEC alpha2国家代码。您可以在 https://datahub.io/core/country-list 找到适合您所在位置的国家代码。如果没有,Raspberry Pi OS 将禁用Wi-Fi适配器。

接下来的两行允许其他工具更新配置。

文件的最后四行定义了机器人和 Raspberry Pi 将连接的 Wi-Fi网络。请使用您自己的网络详细信息,而不要使用此处的占位符。预共享密钥(PSK)也称为 Wi-Fi 密码。这些信息应与您将笔记本电脑或手机连接到Wi-Fi网络时使用的信息相同。我建议在电脑上保留一份 wpa_supplicant.conf 文件副本,以便在其他 Raspberry Pi SD 卡上使用。

4.3 在网络上找到你的 Pi

假设您的SSID和PSK正确无误,您的 Raspberry Pi现在已经在Wi-Fi网络上注册。不过,现在你需要找到它。Raspberry Pi使用动态地址(DHCP)。每次将它连接到网络时,它都可能获得不同的地址。访问Wi-Fi路由器的管理页面并记下IP地址在短期内有效。但每次更改地址时都这样做会令人沮丧,而且在某些情况下可能无法使用。

幸运的是,Raspberry Pi使用了一种名为mDNS(多播域名系统)的技术,因此附近的电脑都能找到它。客户端计算机会广播一条本地消息,询问是否有名称为 raspberrypi.local 的设备,Raspberry Pi会回复地址,以便找到它。这也被称为Zeroconf和Bonjour。因此,你需要做的第一件事就是确保你的电脑能做到这一点。

如果你使用的是 macOS,那么你的电脑已经在运行Bonjour软件,它已经具备mDNS功能。此外Ubuntu和Fedora桌面版本也早已兼容 mDNS。在其他 Linux 桌面上,你需要找到它们的Zeroconf或 Avahi说明。许多最新的 Linux桌面都默认启用了这一功能。

但如果你使用的是Windows,则需要使用Bonjour软件。下面我们就来看看如何设置。

参考资料

4.3.1 为Microsoft Windows设置Bonjour

如果你安装了最新版本的Skype或iTunes,你就会拥有这款软件。你可以使用本指南检查它是否已经存在并启用它:https://smallbusiness.chron.com/enable-bonjo

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇痞子衡嵌入式:借助i.MXRT10xx系.. 下一篇STM32单片机实现固件在线升级(IA..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目