《树莓派Python编程入门与实战(第2版)》——1.6 让你的树莓派正常工作

简介:

本节书摘来自异步社区《树莓派Python编程入门与实战(第2版)》一书中的第1章,第1.6节,作者[美] Richard Blum Christine Bresnahan,陈晓明 马立新 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.6 让你的树莓派正常工作

一旦你决定要购买树莓派,并拿到树莓派和必要的外围设备后,你就可以开始享受乐趣了。当树莓派第一次启动后,你就会知道这是一个多么强大的小机器,你真的会为此感到惊讶的。下面的小节将会介绍你需要为开机启动所做的准备。

1.6.1 自己研究一下

就像生活中许多其他的东西,如果你未雨绸缪并且研究一下,启动树莓派并让它运行起来的过程就会平稳而迅速。提前花费一些时间和精力是非常值得的。有许多优秀的资源可以提供帮助。例如,Eben Upton和Gareth Halfacree编著的《树莓派用户指南(第3版)》[1]一书将真正帮助你获得愉快的树莓派体验。很多像本书一样的书籍,也可以帮助你让树莓派运行并排除故障。

另外,互联网上还有许多资源可以帮助你进行树莓派的研究。其中最好的网站来自于树莓派基金会。这个网站(www.raspberrypi.org)充满了精彩的内容,包括常见问题的解答、帮助论坛和其他各种资源。这个网站提供了软件下载,以及关于树莓派和基金会的最新新闻。这是你入门树莓派的第一步。

1.6.2 安装软件

在完成了最初的研究之后,下一步就是下载并安装软件了。树莓派基金会的网站raspberrypi.org提供了最新开箱即用的软件(New Out Of Box Software,NOOBS),它能够:
初始启动树莓派;

设置microSD卡;

允许选择一个操作系统;

安装所选的操作系统。

NOOBS是树莓派新手的最佳选择,并且它对老手来说也很好用。因此,本书只是介绍如何使用NOOBS。

NOTE 技巧:预装操作系统的SD卡

假如你买的是一个预包装套件,它可能已经包含了一个装有NOOBS的microSD卡了。如果是这样的话,就可以跳到第2章。

1.6.3 下载操作系统

在下载操作系统的机器上,需要有SD卡或microSD卡的读卡器。如果你有不同的计算机可供使用(如Windows机器和Linux机器),选最顺手的那一个。

TIP 提示:需要更多细节?

如果你需要下载并把NOOBS移入到一个microSD卡,参见本书附录A。该附录将会带你一步一步地经过该过程,并提供了比这里更深入的介绍。

选好机器后,从raspberrypi.org/downloads网站下载NOOBS。在站点上,有两种NOOBS可供选择:离线的和网络安装的,或只支持网络安装的。只支持网络安装的选项通常比下载更快,因为它并不包含任何预先选择的操作系统;然而,必须让树莓派连接到互联网以保证安装过程能够正常进行。两个版本都允许选择要在microSD卡上安装哪一种操作系统。

NOTE 技巧:网络和NOOBS

唯一不需要树莓派连接到互联网的情况是,如果下载了离线和网络安装NOOBS并且随后安装了Raspbian。否则的话,树莓派必须要联网。

在下载完成之后,检查一下下载的NOOBS.Zip文件的SHA-1校验和,以确保它和最初的文件的校验和一致。这将会验证在文件下载的过程中没有发生文件损坏。

树莓派基金会在他们的下载页面上,靠近NOOBS软件下载选项的地方,提供了正确的SHA-1校验和。Windows、OS X和Linux的每一次安装都会产生一个不同的校验和。如果需要进一步了解如何验证校验和,请查阅附录A。

TIP 提示:什么是校验和

校验和是使用一种特殊的数学算法计算出来的数字和字母的一个字符串。例如,一个SHA-1校验和是通过一种叫做SHA-1的标准算法产生的。通过一个校验和算法来运行一个文件的数据,会产生唯一的校验和。如果任何的文件数据改变了,校验和也会发生变化。因此,校验和能够确保文件的数据没有改变过或者文件没有损坏。这为检查下载的文件提供了方便。

如果下载的NOOBS文件的校验和与Web站点上的最初的文件的校验和不一致,那么,请重新下载文件。当校验和不一致,通常意味着文件在下载的过程中损坏了。

如果校验文件一致,从NOOBS文件解压缩文件和目录,该文件是以.zip后缀结尾的。再一次,Windows、OS X和Linux对于每一次解压缩的处理都是不同的。附录A详细介绍了这一点。

1.6.4 移动NOOBS

在把NOOBS文件和目录放入到microSD卡之前,需要把闪存卡全面格式化为出厂状态。SD协会sdcard.org提供了一个可以在Windows和OS X上使用的免费的SD卡格式化程序。对于Linux,你可以使用GNOME分区编辑工具gparted。如果需要了解详细情况,请参阅附录A。

如果你的机器只有一个SD卡读卡器而没有一个microSD读卡器,需要在加载microSD卡之前将microSD卡插入到一个SD卡适配器。如果根本没有SD卡读卡器,可以使用一个用于SD卡的USB闪存卡适配器,在这里也管用。

NOTE 技巧:正确地准备一张microSD卡

不能只是从microSD卡删除文件,或者使用快速格式化。如果这么做的话,NOOBS软件可能无法正确地工作,由此,树莓派也无法驱动,或者会引发其他的问题。确保使用SD卡格式化程序软件将microSD卡完全格式化为出厂状态。

下一步就是将NOOBS目录和文件放入到microSD卡中。和移动操作系统不同,你只能够将文件复制到microSD卡中,不需要使用镜像写入程序或工具。

TIP 提示:需要帮助?

如果对于下载NOOBS并将其放入到一个microSD卡的过程不熟悉,别忘了购买一个预装系统的SD卡。可以参考中elinux.org/RPi_Easy_SD_Card_Setup页面的“Safe/Easy Way”部分下所列出的销售这种卡的公司。

1.6.5 连接外围设备

现在,你的树莓派、所有必要的外部设备,以及装有Raspbian操作系统的microSD卡都准备好了,是时候收获所有准备工作的成果了。完成下面步骤,以确保一切工作正常。

1.把microSD卡放入到树莓派的读卡器端口中。

2.插入树莓派的电源线。先不要把电源线接到电源上。

TIP 提示:没有打开/关闭开关

树莓派没有一个打开/关闭开关。因此,当将其插入电源的时候,它就自动启动了。

3.把USB键盘插入到树莓派的USB端口中。

4.把USB鼠标出入到树莓派的USB端口中。

5.将网线插入到树莓派的网络端口中(推荐的),或者将Wi-Fi USB适配器插入到树莓派USB端口中。

6.如果你使用HDMI,将HDMI线插到树莓派的HDMI口上。在显示器或电视关闭的情况下,将线的另一端插上。然后再打开显示器或者电视。如果使用的是电视,你可能需要调整它使用的HDMI端口,现在就这样做。

如果你使用HDMI以外的其他显示输出接口,如A/V复合视频或DVI等,你需要使用跟上述类似的方式连接你的树莓派和显示器或电视。

TIP 提示:将输出和NOOBS组合

NOOBS不会默认地把输出显示到一个复合A/V,即便没有连接到HDMI显示。当树莓派启动的时候,你必须在键盘上按下数字键3或者4来获取输出。参见本章后面的1.7节了解详细信息。

7.现在,已经准备好进行最初的测试硬盘了(是不是很兴奋?)。坐在显示器或TV前面,把树莓派的电源线插入到电源中。

如果什么也没有发生,参见本章后面的1.7节了解详细信息。

通常,你应该会在显示屏上看到一个彩色的方块,然后是NOOBS软件显示的一条消息,告诉你它在对硬盘(microSD卡)重新分区。

在硬盘重新分区好了以后,会出现一个NOOBS初始化对话框。在该对话框中,有一个菜单,其第一个条目高亮显示,如下所示:

Raspbian - [RECOMMENDED]
A Debian Wheezy port optimized for the Raspberry Pi

下面的步骤将带领你完成操作系统的安装。

1.按下键盘上的回车键,或者使用鼠标选择(将X放在该选项后的方框中)Raspbian。

TIP 提示:Raspbian操作系统

在该菜单上,你可以从Raspbian以外的其他操作系统中选一个来进行安装。然而,本教程只使用Raspbian操作系统,因此,选择该系统并继续阅读。

2.按下键盘上的I键,或者用鼠标单击Install图标,以开始Raspbian Linux发布的安装过程。

3.会出现一个确认界面,带有如下所示的消息:

Warning: this will install the selected Operating System(s). All existing data
on SD card will be overwritten, including any OSes that are already installed.

按下键盘上的回车键,或者用鼠标单击Yes以继续安装。

此时,安装开始了,并且显示了一个包含帮助信息的幻灯片播放。此外,有一个完成进度条显示了安装进度。安装过程需要花几分钟才能完成。

当安装完成后,你会看到屏幕显示如下内容:

OS(es) Installation Successfully

4.按下键盘上的回车键,或者使用鼠标单击OK,就完成了安装。如果很多文字在屏幕上飞过,并且你能看到如图1.8所示的一个菜单,那么恭喜你,树莓派已经启动了Raspbian操作系统。


84616aeefc78c1937d2b9da20acdf3cf70b0b624

5.一直按Tab键直到跳到菜单项上,然后按回车键。

命令行出现了,如下所示:

pi@raspberrypi~$

所有的努力得到了回报,树莓派启动并运行起来了。

在命令行上输入sudopoweroff并回车就可以关闭树莓派了。

TIP 提示:菜单去哪了?

再次启动时,如果你没有看见菜单,也不用担心。它被设置为只在第一次启动时显示。在第2章中,我们将学习如何把菜单调出来。不管树莓派是否启动,确保阅读下一小节,然后就可以安全地继续学习第2章了。

相关文章
|
9天前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
9天前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
9天前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
7天前
|
数据采集 XML 存储
Python爬虫实战:一键采集电商数据,掌握市场动态!
这个爬虫还挺实用,不光能爬电商数据,改改解析规则,啥数据都能爬。写爬虫最重要的是要有耐心,遇到问题别着急,慢慢调试就成。代码写好了,运行起来那叫一个爽,分分钟几千条数据到手。
|
7天前
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建 RESTful API
本文深入探讨了使用 Python 构建 RESTful API 的方法,涵盖 Flask、Django REST Framework 和 FastAPI 三个主流框架。通过实战项目示例,详细讲解了如何处理 GET、POST 请求,并返回相应数据。学习这些技术将帮助你掌握构建高效、可靠的 Web API。
|
7天前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
8天前
|
存储 监控 API
1688平台API接口实战:Python实现店铺全量商品数据抓取
本文介绍如何使用Python通过1688开放平台的API接口自动化抓取店铺所有商品数据。首先,开发者需在1688开放平台完成注册并获取App Key和App Secret,申请“商品信息查询”权限。接着,利用`alibaba.trade.product.search4trade`接口,构建请求参数、生成MD5签名,并通过分页机制获取全量商品数据。文中详细解析了响应结构、存储优化及常见问题处理方法,还提供了竞品监控、库存预警等应用场景示例和完整代码。
|
10天前
|
机器学习/深度学习 分布式计算 API
Python 高级编程与实战:深入理解并发编程与分布式系统
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发、API 设计、网络编程和异步IO。本文将深入探讨 Python 在并发编程和分布式系统中的应用,并通过实战项目帮助你掌握这些技术。
|
8天前
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建微服务架构
本文深入探讨了 Python 中的微服务架构,介绍了 Flask、FastAPI 和 Nameko 三个常用框架,并通过实战项目帮助读者掌握这些技术。每个框架都提供了构建微服务的示例代码,包括简单的 API 接口实现。通过学习本文,读者将能够使用 Python 构建高效、独立的微服务。
|
8天前
|
消息中间件 分布式计算 并行计算
Python 高级编程与实战:构建分布式系统
本文深入探讨了 Python 中的分布式系统,介绍了 ZeroMQ、Celery 和 Dask 等工具的使用方法,并通过实战项目帮助读者掌握这些技术。ZeroMQ 是高性能异步消息库,支持多种通信模式;Celery 是分布式任务队列,支持异步任务执行;Dask 是并行计算库,适用于大规模数据处理。文章结合具体代码示例,帮助读者理解如何使用这些工具构建分布式系统。

热门文章

最新文章