机器人编程教程4为机器人准备无头Raspberry Pi

这篇具有很好参考价值的文章主要介绍了机器人编程教程4为机器人准备无头Raspberry Pi。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

4为机器人准备无头Raspberry Pi

本章将介绍以下内容:

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

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

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

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

机器人编程教程4为机器人准备无头Raspberry Pi
与屏幕、键盘和鼠标连接的 Raspberry Pi

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

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

机器人编程教程4为机器人准备无头Raspberry Pi
机器人上的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软件。下面我们就来看看如何设置。

参考资料

  • 软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
  • 本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
  • python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
  • Linux精品书籍下载 https://www.cnblogs.com/testing-/p/17438558.html
  • Raspberry Pi(树莓派4B)4轻松入门(上)-安装 https://www.cnblogs.com/testing-/p/17604049.html
  • Raspberry Pi 基金会安装 Raspberry Pi 操作系统指南:https://www.raspberrypi.org/documentation/installation/installing-images/README.md。
  • 《Raspberry Pi By Example》,Ashwin Pajankar和Arush Kakkar,Packt Publishing,其中有一节介绍Raspberry Pi的替代操作系统,以及许多令人兴奋的 Raspberry Pi项目。
  • Raspberry Pi GPIO 引脚输出 (https://pinout.xyz/): 它介绍了不同电路板与Raspberry Pi的实际引脚连接方式。

4.3.1 为Microsoft Windows设置Bonjour

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

你可以在命令提示符中使用以下命令来检查它是否已经运行:

C:\Users\danny>ping raspberrypi.local

如果你看到这个,说明你已经安装了 Bonjour:

64 bytes from 192.168.0.53 (192.168.0.53): icmp_seq=1 ttl=64 time=0.113 ms

64 bytes from 192.168.0.53 (192.168.0.53): icmp_seq=2 ttl=64 time=0.079 ms

如果你看到这个,你需要安装它:

Ping request could not find host raspberrypi.local. Please check the name and try again.

为此,请浏览 Apple Bonjour For Windows 网站 https://support.apple.com/downloads/bonjour_for_windows 并下载,然后安装 Download Bonjour Print Services for Windows。运行该程序后,Windows 就能按名称查询 mDNS 设备了。

4.3.2 测试设置

Raspberry Pi的绿灯应该已经停止闪烁,只能看到红色的电源指示灯。这表明Pi已完成启动并连接到网络。

如果一切顺利,电脑将显示已连接到 Pi:

$ ping raspberrypi.local

PING raspberrypi.local (192.168.0.53) 56(84) bytes of data.

64 bytes from 192.168.0.53 (192.168.0.53): icmp_seq=1 ttl=64 time=0.113 ms

64 bytes from 192.168.0.53 (192.168.0.53): icmp_seq=2 ttl=64 time=0.079 ms

64 bytes from 192.168.0.53 (192.168.0.53): icmp_seq=3 ttl=64 time=0.060 ms

64 bytes from 192.168.0.53 (192.168.0.53): icmp_seq=4 ttl=64 time=0.047 ms

4.3.3 故障排除

如果 Raspberry Pi 似乎没有响应ping操作,你可以采取以下步骤尝试诊断和补救。尝试以下步骤:

  • 仔细检查连接。你应该看到绿灯闪烁几下,红灯持续亮起。如果没有,请拔下电源插头,确保 SD 卡插稳,然后再试一次。
  • 在启动Raspberry Pi时使用Wi-Fi 接入点设置,看看它是否在那里获取了IP地址。
  • 如果您在Wi-Fi路由器上找到Raspberry Pi,这可能意味着mDNS没有在您的计算机上正确运行。如果尚未安装,请重新安装。在 Windows 上,不同版本的 Bonjour 打印服务、Skype Bonjour 和 iTunes Bonjour 如果安装在一起可能会发生冲突。请使用 Windows 的添加/删除功能查看是否有多个版本,并删除所有 Bonjour 实例,然后重新安装官方版本。
  • 接下来,关闭电源,取出 SD 卡,将其放回电脑,仔细检查wpa_supplicant.conf文件是否存在,并确保 Wi-Fi 详情和国家代码正确无误。该文件中最常见的错误如下:a) Wi-Fi 详情不正确; b) 缺少引号或缺少/不正确的标点符号;c)国家代码错误或缺失;d)关键字大小写错误(关键字应小写,国家代码应大写)
  • 当 Raspberry Pi 启动时,SSH 文件会被删除。如果你确定它存在并已被移除,这意味着 Pi 确实启动了。
  • 最后,您可能需要在连接屏幕和键盘的情况下启动Pi,并尝试诊断问题。显示屏会告诉您wpa_supplicant.conf是否存在其他问题或其他问题。使用屏幕文本并在网上搜索答案。我无法在此重现所有这些问题,因为这里可能出现多种问题。我还建议使用 #raspberrypi 标签在 Twitter、Stack Overflow 或 Raspberry Pi 论坛(https://www.raspberrypi.org/forums/)上提问。

我们现在已经验证了 Pi 与网络的连接,并一路排除了各种问题。我们可以通过
ping 找到它。现在我们知道它就在那里,让我们连接到它。

4.4 使用PuTTY或SSH连接Raspberry Pi

windows推荐:MobaXterm或git bash, Linux和MacOS可直接使用bash,Linux的PAC也挺不错。下面以跨平台但是不太好用的PuTTY为例:

如果您已经使用SSH客户端,请注意并非所有Windows命令行SSH客户端都支持mDNS。

机器人编程教程4为机器人准备无头Raspberry Pi

PuTTY 是访问 SSH 的便捷工具,适用于 Windows、Linux 和 Mac。这些操作系统的安装信息可在 https://www.ssh.com/ssh/putty/上找到。

从上述链接安装好PuTTY后,让我们将它连接到 Raspberry Pi。继续
启动 PuTTY。你会看到如图的界面。在 "主机名(或 IP 地址)"框中输入 raspberrypi.local,然后点击 "打开 "登录到你的 Pi:

机器人编程教程4为机器人准备无头Raspberry Pi

第一次执行此操作时,PuTTY 会显示安全警告,要求你添加 Pi 的密钥(如果你信任它)。单击 "是";只有当另一个具有相同主机名的设备(例如新的 Raspberry Pi)使用不同的密钥出现时,PuTTY 才会再次询问你。当你看到 "Login as"提示时,输入pi,按Enter,并使用密码raspberry。现在你将看到类似下图的内容,表明你已连接到 Pi:

4.5 配置Raspberry Pi操作系统

我们可以使用raspi-config工具来完成许多这些任务,它是一个菜单系统,用于在 Raspberry Pi OS 上执行配置任务。

sudo raspi-config

机器人编程教程4为机器人准备无头Raspberry Pi

4.5.1 重新命名你的 Pi

在raspi-config中选择Network Options(网络选项)-> Hostname(主机名):
机器人编程教程4为机器人准备无头Raspberry Pi
机器人编程教程4为机器人准备无头Raspberry Pi

4.5.2 更改用户密码

在raspi-config顶部菜单中选择"更改用户密码":
机器人编程教程4为机器人准备无头Raspberry Pi

4.5.3 重启并重新连接

使用Tab按钮转到"完成"项,然后按 Enter:

机器人编程教程4为机器人准备无头Raspberry Pi

下一个屏幕会询问您是否要重启Pi。选择是并按回车键:
机器人编程教程4为机器人准备无头Raspberry Pi

Raspberry Pi将开始重置,在重置过程中,PuTTY会话将被断开。等待几分钟,Pi上的绿色活动指示灯会闪烁一下,然后稳定下来。PuTTY会告诉你已经失去了与它的连接。此时 Pi已关闭。红灯将一直亮着,直到你拔掉电源:
机器人编程教程4为机器人准备无头Raspberry Pi

机器人编程教程4为机器人准备无头Raspberry Pi

4.5.4 更新 Raspberry Pi 上的软件

$ sudo apt update – y && sudo apt upgrade -y

4.5.5 关闭树莓派

sudo poweroff

等待绿灯活动停止;PuTTY会检测到它已断开连接。现在可以安全断开电源了。

在不预期的情况下拔掉Raspberry Pi的电源可能会导致文件丢失和 SD卡损坏。您可能会丢失工作并损坏 SD 卡。请务必使用正确的关机程序。文章来源地址https://www.toymoban.com/news/detail-648201.html

到了这里,关于机器人编程教程4为机器人准备无头Raspberry Pi的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人编程教程5使用Git和SD卡副本备份代码

    在本章中,您将学习到以下内容: 代码是如何破坏或丢失的 策略 1 - 将代码保存在电脑上并上传 策略 2:使用 Git 回溯历史 策略 3 - 制作 SD 卡备份 代码和它的近亲--配置,都需要时间和艰苦的努力。代码需要配置才能运行,例如 Raspberry Pi 操作系统配置、额外软件和必要的数

    2024年02月13日
    浏览(40)
  • 【轮式平衡机器人】——软硬件配置/准备

    本系列以轮式平衡移动机器人为例,将使用 基于模型设计(MBD)方法 进行介绍,涉及基础硬件、软件、控制算法等多方面内容,结合 MATLAB/Simulink 的强大仿真能力和代码生成能力辅助设计!在此过程中可以系统了解开发全流程,学习到各种知识! 很熟悉,不再赘述,也可见

    2024年01月20日
    浏览(51)
  • RobotStudio教程:ABB机器人拆垛与码垛应用示教编程与虚拟仿真

    目录 任务描述 机器人拆垛与码垛工作站创建 机器人拆垛与码垛工作流程分析 机器人位置偏移函数介绍 机器人拆垛与码垛应用示教编程 机器人拆垛与码垛虚拟仿真 在RobotStudio软件中创建ABB机器人拆垛与码垛工作站,并示教机器人拆垛与码垛程序,实现机器人拆垛与码垛应用

    2023年04月16日
    浏览(53)
  • 工业机器人编程与操作-搬运机器人码垛系统编程与仿真

    目录 一、设计背景  二、课程设计任务要求 三、设备导入并布局 四、传送带的smart组件 五、传送带整体思路 六、夹爪的smart组件6.1 LineSensor被测是否有任何对象与两点之间 七、夹爪整体思路 八、程序配置 九、各程序 参考文献 在科技和经济飞速发展的背景下,人力成本不断

    2024年02月07日
    浏览(58)
  • 医疗机器人软件中的机器人机器人编程技术:机器人技术的创新应用

    作者:禅与计算机程序设计艺术 随着科技的发展,医疗机器人逐渐成为人们关注的热门话题。医疗机器人可以在医院、康复中心等各种场合为病人提供帮助,不仅可以提高工作效率,还能降低医护人员的工作强度。而机器人编程技术则是实现医疗机器人功能的关键,本文将围

    2024年02月07日
    浏览(66)
  • python机器人编程——用python实现一个写字机器人

    本篇我们构建一个可以跟人一样写字的机器人python软件。实现如下功能:打开一个写字板,人类在屏幕上写或画出任意形状,机器人同步在纸面上画出和人类一样的形状,就好像人类在远程操控机械臂,又或是机械臂是人的另一只手。这个软件是可以扩展的,如果连上互联网

    2024年02月05日
    浏览(46)
  • 机器人编程怎么入门?

    机器人已经在我们中间存在了二三十年。如今,机器人在我们的文化中比以往任何时候都更加根深蒂固。大多数机器人机器用于各种装配线,或在世界各地的矿山或工业设施中执行密集的物理操作。 还有一些家用机器人,工程师正在对机器人进行编程,以清洁您的房屋或执行

    2024年02月10日
    浏览(43)
  • ROS 2机器人编程实战:基于现代C++和Python 3实现简单机器人项目

    💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 ROS 2是机器人开发领域中广泛使用的一个框架,ROS 2提供了很多功能强大的工具和

    2024年02月02日
    浏览(58)
  • 人类机器人编程的心理机制(二)

    qquad 本文是关于“人类机器人编程的心理机制”讨论的第二部分,内容包括: 程序员内化和无意识记忆 海量记忆存储 宿主编程 Self-状态(s)与宿主的接口 恐惧条件反射下的无意识记忆 恐惧条件反射是T.B.M.C的工作基础 qquad 注释 :本文基本内容主要参考文献[1]。 我的新浪博

    2024年02月14日
    浏览(48)
  • 人类机器人编程的心理机制(一)

    qquad 文章中的人类机器人编程(Human Robot Programming)意指“基于创伤的脑控(trauma-based mind control, T.B.M.C)”或“基于创伤的编程(trauma-based programming)”,今后用英文缩写“ T.B.M.C ”指代。T.B.M.C的操纵主体是施加编程的个人或机构,今后称为 程序员(programmer) ,操纵对象是接受编程的

    2024年02月16日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包