python自动化编程-树莓派的介绍与使用

moying-wq moying-wq     2022-12-02     701

关键词:

 

Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) [1]  是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。  随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。
研发树莓派的目的是通过低价硬件及自由软件来推动学校的基础计算机学科教育。但很快树莓派就得到计算机和硬件爱好者的青睐,他们用它学习编程,并创造出各种各样新奇的、风靡一时的软硬件应用。 [1]

技术图片

 

目前树莓派最新版本是第三代B型和B+型,一般简称B和3B+,下面是参数对比。

技术图片

技术图片


你还需要以下这些东西:
一张SD记忆卡
一个SD读卡器,用于将系统映像写入到SD卡中供电来源。我们用的是一个旧的安卓手机充电器,你需要一个5V的micro USB接口充电器为它供电。
如果你是用的普通显示器而不是高清电视,你需要一条HDMI连接线与HDMI-DVI转换器。如果你的显示器支持HDMI或者你打算使用电视机进行连接,那么你就可以省去转换器了。
USB接口的键盘和鼠标
一条以太网线

可选设备:
用于保护Raspberry Pi的盒子
除了键盘和鼠标之外,如果你打算要连接更多的USB设备,那么你需要一个USB Hub集线器。
我们在本文中使用的东西:
一个Model B Raspberry Pi
一张16GB Class 10 SanDisk Ultra SDHC记忆卡(传输率标为300MB/s)
一个原本用于HTC Inspire的旧充电器
罗技K260无线键鼠套装(两件只用一个接收器,因此只占用一个USB口)
一条RJ-45网线

设置
当你把上面的一切都准备好以后,我们就可以开始设置Raspberry Pi了

将Raspbian映像安装到SD卡中
Raspberry Pi出来已经有一段时间了,也正因如此,无论你是在用Windows、Mac OS X还是Linux,都有好几种方法将Raspbian的映像写到你的SD卡中。然而为了让这篇文章不变成介绍各种映像写入软件的文章,我们将会把最常用的方法展示给大家看:在OS X与Linux中我们将会用系统自带的dd工具写入,而在Windows中我们将会使用一个叫Win32DiskImager的工具进行。

为了让过程便得简单,我们建议你在开始操作前,先把下载文件夹清空。然后,从这里下载Raspbian.zip。在里面,选择最新的Raspbian来下载。当然你也可以选择使用BT来下载,为了能让其他人继续用BT下载,我们建议你在下载完成后继续上传。

把压缩文件解压以后,你将得到Raspbian的映像文件,这个时候打开终端窗口。如果你使用的是OS X 10.7或更高版本,你可以从应用程序中的工具(10.7)或者其他(10.8)中找到终端窗口。打开后,使用”cd ~/Downloads”来进入下载文件夹。

如果你在开始前清空了你的下载文件夹,那么现在里面应该有两个文件,输入”ls”来确认是否分别有一个img后缀与一个zip后缀的文件,如下图:

技术图片

接下来就要开始将解压出来的映像文件写到SD卡中了,很可惜这个操作并不是直接把文件拷到卡中那么简单。首先,我们在把SD卡插到你的Mac之前,要把你电脑分区状态先搞清楚。如果你已经迫不及待把卡插了进去,那么先把它安全移除吧。

在终端窗口中输入”df –h”,你应该会看到类似这样的结果

技术图片

现在,插入你的SD卡,再运行一次刚才的命令,你会发现多了一个”/dev/disk1s1”的设备。把它先记下来,等一会儿把它转换成原始设备名称时会用到的。

技术图片

接下来,你需要先从系统中把卡卸载掉,以便”dd”这个工具可以将映像写入到SD卡中。在终端窗口输入”sudo diskutil unmount /dev/disk1s1”,然后输入你的系统密码。

技术图片

如果操作成功的话,你会看到最后那一行字:”Volume XXX unmounted”中的XXX是你SD卡的名称。现在我们就可以往卡上写入映像了。

记得刚才让你记下来的设备名么?现在就是用到它的时候了。将你的设备名(例如/dev/disk1s1)最后的s1去掉,然后在disk前面加上r,变成”/dev/rdisk1”,这样你就得到SD卡的原始设备名称了。

也就是说,”/dev/disk1s1” = “/dev/rdisk1”。懂了吗?

然后在终端中输入以下命令:”sudo ddb s=1m if=2012-06-15-wheezy-raspbian.img of=/dev/YOURDISKNAME”。将YOURDISKNAME改成你的原始设备名称,通常这个都是/dev/rdisk1。

技术图片

写入的过程需要一点时间。当”dd”完成了它的工作以后,将桌面的SD卡图标拖进回收站中以将SD卡安全移除。

准备工作就完成了!直接到“初次启动你的Pi”部分吧。

Our prep work is finished! Skip ahead to "Booting your Pi for the first time."

如果你使用的是Linux

无论你使用的是哪一个发行版的Linux,”dd”这个工具通常都是默认安装的。对于接下来的操作,我们假设:

1) 你的sudo程序已经设置妥当,而且你知道如何使用它

2) 你的Linux中已安装fdisk工具(大多数发行版都默认安装)

在这里我们使用的是最为流行的Linux发行版Ubuntu,其中”dd”, “fdisk”已默认安装,并且”sudo”也已预先为用户配置好了。

首先,从这里下载Raspbian的最新版本压缩包。同样,你也可以选择使用BT下载。在你下载完成以后,第一个操作自然就是解压。

打开一个终端窗口,然后使用”cd ~”命令将工作目录变更到你的主目录中。输入”unzip imagename.zip”,将imagename替换为刚才你下载文件的名字。

如果你找不到刚才下载的压缩包,你可以尝试使用”cd ~/Downloads/”进入下载目录寻找。

技术图片

接下来,我们要确定你的SD卡在系统中的设备名称。插入你的SD卡,然后在终端中输入”sudo fdisk –l”。

技术图片

注意看列出来的设备:你运行命令后得出的结果跟上面显示的应该很相似

这里看到,/dev/sda是一个大小250.1GB的设备,而/dev/sdb是一个15.9GB的设备。很明显,/dev/sdb就是我们的SD卡。留意一下/dev/sdb下面显示的分区:/dev/sdb1与/dev/sdb2,我们要在写入映像之前将这两个分区先从系统中卸载掉:

sudo umount /dev/sdb1

sudo umount /dev/sdb2

技术图片

接下来,我们使用”dd”将映像文件写入到SD卡中:”sudo dd bs=1M if=2012-08-16-wheezy-raspbian.img of=/dev/sdb”。跟在Mac中操作相同,这个过程需要一些时间来完成。

技术图片

如果你看到终端显示跟上面类似的文字,那么写入已经完成了。现在,你可以跳到“初次启动你的Pi”部分继续阅读。


如果你正在使用Windows

如果你正在使用的是Windows系统,有一个叫做Win32DiskImager的小工具可以帮你完成这项工作。把它下载下来以后,再把Raspbian的映像从这里下载下来。记得选择最新版本的Raspbian。

当你把Win32DiskImager和Raspbian映像文件都下载下来以后,把他们都解压出来。你可以把所有文件都解压到桌面的一个文件夹中,方便接下来的操作。

将你的SD卡插入到你的读卡器中,留意一下读卡器在电脑中的盘符。将读卡器接到电脑以后,打开刚解压出来的Win32DiskImager程序:

技术图片

在启动时,Win32DiskImager可能会提示以下错误:(至少在Windows 7中是这样的)

技术图片

这个错误可以忽略掉,点OK继续

技术图片

点击右边的蓝色文件夹图标,然后选中刚才解压出来的Raspbian映像文件。确保最右边Device中的盘符为你读卡器的盘符。

打开映像文件以后,点Write,然后点一下Yes确定操作。整个写入过程需要一些时间来完成。

技术图片

写入完毕以后,你会看到下面的信息,这时你就可以把你的SD卡安全移除了。

技术图片

 

初次启动你的Pi

初次启动Raspberry Pi时,你会看到一个叫做raspi-config的配置工具。如果在日后使用过程中你需要更改这些设置,你可以通过在Pi的命令行中运行raspi-config来使用这个工具。在这里,你需要进行一些最基本的设置来继续使用你的Pi。

技术图片

首先,我们要选择expand_rootfs。它的作用是将刚才写入到SD卡中的映像文件大小扩展到整张SD卡中。如果你使用的是一张较大的SD卡(例如16GB),那么你肯定像充分利用上面的空间。因为原本的映像只有大约2GB的大小,进行该操作就能将它扩展到与你的SD卡同样的大小。

选中expand_rootfs选项,然后按下回车。你会看到如下提示,只需要再按一下回车就可以回到raspi-config的主菜单中。

技术图片

接下来就是overscan选项。你会发现,屏幕显示的图像并没有完全占用你的显示器空间;所以,最后就是将overscan禁用掉,来让系统充分利用整个屏幕。但如果你的屏幕显示没有问题,那么你就可以跳过这个步骤。假设你需要禁用overscan,那么将overscan选项选中后按下回车。

接下来的画面能够让你选择禁用(Disable)或者是启用(Enable) overscan。如果你在往后使用的过程中更换显示器或者电视机,你或许需要重新启用overscan。

技术图片

接下来,我们要确保我们的键盘正常工作。Raspbian默认的是英国键盘布局,而我们在中国使用的键盘布局与美国的相同,因此我们要对它进行更改才能正常使用。

选中configure_keyboard,然后按下回车。下面显示的画面中你会看到一个很长的列表,里面都是不同的键盘类型。你可以根据你的需要来选择,或者直接选择Generic 105-key (Intl) PC键盘。

技术图片

 在选择键盘类型以后,你需要为它选择一个键盘布局。刚开始显示的列表中,都只有英国的键盘布局,但是我们现在要选择美国的键盘布局,因此我们选中其他(Other),然后再里面的列表选择English (US)。

技术图片

技术图片

然后你会被问到关于辅助键的问题,选择默认的选项,并且在下一个画面中选择No compose key选项。同样,如果你需要更改这个设置,可以使用raspi-config来更改。

最后一个选项为是否打开CTRL+ALT+BACKSPACE的组合键。它可以在你的图形界面崩溃时,不需重启而将图形界面进程结束掉。

回到主菜单,下一步我们要设置一个用户密码。

技术图片

选中change_pass然后按下回车。一个确认窗口弹出以后,在屏幕的底下会提示你输入一个新的UNIX用户密码。

技术图片

到这里就差不多完成了。接下来设置你的“区域”,这个主要会决定系统使用的字符集和语言。同样,如果你不想使用英国英语,那么你可以在这里更改这些设置。在演示中我们选择的是美国英语,因此我们选择en_US.UTF-8,并下翻列表将en_GB选项剔除

技术图片

再下一个对话框中会让你选择默认的区域,选择你刚才选的区域然后按回车继续。

回到raspi-config的主菜单,设置适当的时区。选中change_timezone选项然后按下回车。你会先看到一个地区列表。

技术图片

选择一个地区,然后下一个菜单中会显示该区域的具体位置。

技术图片

再次回到主菜单,剩下还没选过的选项我们可以忽略,直接点击完成(Finish)。系统会提示你,一些变更需要重启才能生效。重启以后,你会看到一个登录界面,如下:

技术图片

在这里,用户名为”pi”,密码就是你刚才设置的UNIX用户密码。

使用你的Raspberry Pi

现在,你已经登录到了你之前设置的Raspberry Pi中了。你要做的第一件事,就是在命令行中输入”startx”来进入图形界面,以下我们会把这个界面称之为“窗口管理器”。

技术图片

屏幕快速闪烁几次后,你应该会看到如下画面:(除了那个终端窗口以外)

技术图片

欢迎使用LXDE窗口管理器。LXDE是一个非常轻量级,并且功能齐全的图形界面,它能够很好地运行在Raspberry Pi中。如果你从来未使用过LXDE,别担心,它用起来跟Windows非常相似。点击最左下角的图标,你会看到一个应用程序列表。

现在能干嘛呢?

当你把Pi配置完成,并且打开了LXDE窗口管理器以后,你就得到了一台运行完整 Debian的Linux机器了。在这个时候,你可以使用Midori来浏览网页,架设一个网页服务器,或者是进行一些平常的工作。

但首先,我们要谈的是Raspberry Pi本身最注重的方面:教育。特别是,软件开发教育

在Raspberry Pi上撰写你的第一个程序

Raspbian中预装Python,它是Raspberry Pi的官方编程语言,还有IDLE 3,一个Python的集成开发环境(IDE)。我们将会教你如何使用IDLE在Raspberry Pi上写一个简单的程序。

在学习一门新的编程语言时,通常第一件事都是写一个”Hello World!”的小程序。接下来我们要教你的跟这个也差不多,不过要比它稍微花哨一些。这是一个会问你的名字,然后作自我介绍的Python程序。

首先,直接双击LXDE桌面上的图标来打开IDLE 3

技术图片

点击文件 > 新窗口,就会出现一个可以让你输入文字的空白窗口。

输入以下内容到你的新窗口中:

#my first Python program

username = input("Hello, I‘m Raspberry Pi! What is your name? ")

print (‘Nice to meet you, ‘ + username + ‘ have a nice day!‘)

如下图:

技术图片

现在,点击文件 > 另存为,然后将你的文件保存为”hello”,点击保存。

现在就可以运行你刚才写的程序了!

点击运行 > 运行模块,或者直接按F5键。

当IDLE 3窗口中提示你”Hello, I’m Raspberry Pi! What is your name?”的时候,输入你的名字然后按下回车。你会看到Raspberry Pi对你做出回应。

技术图片

 

树莓派的引脚对照表:

技术图片

 

 

 

 参考指南:https://post.smzdm.com/p/545912/

    http://www.waveshare.net/txt/RPi-UM.htm

 

Linux相关

l  wget

wget是一种下载软件,类似与迅雷。

通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理,

名字是World Wide Web”与“get”的结合。

l  apt-get

ap-get是一种软件安装方式,它是基于Debian

l  Debian

Debian GNU/Linux 是一个操作系统及自由软件的发行版,它是由一群自愿付出时间和精力的用户来维护并更新的。

 点亮一个LED灯的示例:https://blog.csdn.net/p09080016/article/details/79299497

使用pycharm连接树莓派远程编程

...如何在Windows操作系统上使用PyCharmIDE远程连接树莓派执行Python2.7程序。这篇教程环境是基于运行Windows10电脑和运行RaspbianOS的树莓派。第一步:确认Windows电脑和树莓派在同一个网络里。第二步:在你的Windows电脑上安装PyCharmProfessionalE... 查看详情

树莓派树莓派的启动与ssh连接

一、树莓派启动将树莓派连接网线,并插上烧录好系统的SD卡,然后上电。二、通过ssh方式连接树莓派①首先需要下载一个SSH工具,推荐使用Putty(当然Xshell也可以,但是目前是有使用期限的限制)PUTTY(https://www.chiark.greenend.org.u... 查看详情

基于树莓派的微型气象站设计与开发

前言  树莓派(RaspberryPi,RPi)是专门为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,可以运行Linux或者Windows10IoTCore操作系统。本文将利用树莓派和UWP(UniversalWindowsPlatform)开发技术搭建一个可以实时监控的气... 查看详情

python驱动树莓派spi接口

...pi-config命令进入配置选项后选择SPI接口,打开后重启即可Python使用spidev库驱动SPI问题描述:使用逻辑分析仪测试输出,发现有SCK信号和CS信号,MOSI信号一直为高解决方法:使用raspi-config关闭SPI后重启,再打开SPI,重启,故障排除... 查看详情

树莓派的初次启动设置

这是 meelo 原创的 玩转树莓派 系列文章 材料:树莓派(已经连好电源以及插入写好操作系统的SD卡)笔记本电脑1台PuTTY步骤1:打开设置界面初次登录Raspbian系统时会自动打开设置的界面,需要根据实际情况进... 查看详情

树莓派的pwm脉宽调制功能介绍

    近期想用树莓派控制航模的电调,于是研究了下PWM。貌似控制电调比較麻烦,由于电调须要发送几个特定的信号启动,然后才干进入控制模式。今天先弄明确PWM,慢慢折腾。以下的程序亲測可用,我用的树莓派... 查看详情

在 LE 读取远程使用的功能时,树莓派的蓝牙连接失败

】在LE读取远程使用的功能时,树莓派的蓝牙连接失败【英文标题】:BluetoothconnectionfailedfromRaspberryPiatLEReadRemoteUsedFeatures【发布时间】:2021-09-2607:40:26【问题描述】:我正在尝试将RaspberryPi4型号B与Orthoremote配对,但连接失败。我... 查看详情

树莓派的详细使用,附带完整图片教程(系统安装远程访问初始设置软件下载与使用)(代码片段)

前言本文详细的介绍了树莓派从系统安装、远程访问,到初次开机设置的所有完整步骤,以及中间需要用到的软件的下载与使用方法一.树莓派系统的下载安装1.所需设备①树莓派(bz用的是4B)②TF卡(建议8G以... 查看详情

python编程时.py与.pyc文件的介绍

Python的程序中,是把原始程序代码放在.py文件里,而Python会在执行.py文件的时候。将.py形式的程序编译成中间式文件(byte-compiled)的.pyc文件,这么做的目的就是为了加快下次执行文件的速度。所以,在我们运行python文件的时候... 查看详情

树莓派python怎么获取ip地址

参考技术A你弄一个脚本,一个个ping网段内的IP地址。然后用arp-a看MAC地址。树莓派的MAC地址很特别。你在网上搜索一下就能找到。如果你是在家里上网,那就简单的。通常家里只有几个设备。树莓派的地址一定是在前几个自动分... 查看详情

环境搭建--使用pytharm远程调试树莓派

...本文将介绍如何使用PyCharm远程调试树莓派,并同步当前python文件到树莓派中。配置环境首先要在个人电脑中装上PyCharm,注意,一定要是专业版的。树莓派需已经设置好联网和SSH,并与电脑处于同一局域网下。本文所有代码均为p... 查看详情

如何修复使用 USB 端口连接到树莓派的热敏打印机的 usb.core.USBError

...题,我无法打印,但它可以正常工作。我正在使用esc-pospython模块https://python 查看详情

基于树莓派的家庭智能监控系统如何实现?

基本描述基于树莓派的家庭智能监控系统。需求大概如下:用各类传感器,树莓派,摄像头和云台构造一个家用智能监控系统。红外、超声波、声音等传感器检测周边环境,遇到情况树莓派自动控制摄像头开始录像,并且发送警... 查看详情

每周一书《python编程快速上手让繁琐工作自动化》分享!

内容简介如今,人们面临的大多数任务都可以通过编写计算机软件来完成。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过Python编程,我们能够解决现实生活中的很多任务。本书是一本面向实践的Python编... 查看详情

java介绍与术语解释

...编程语言。提供方便的内存回收处理机制。(由于牵扯到自动化,就要考虑优化的问题)避免的复杂的指针问题,而使用引用来代替指针。支持多线程编程的语言,处理的性能得到提升。提供高效的网络处理能力,可以基于NIO实... 查看详情

:python语言介绍与环境搭建(代码片段)

一、python介绍?1、python擅长做什么?【全功能语言】 系统运维 网路编程(爬虫、服务器编程、搜索引擎) 科学计算(python、R、SPASS、DA数据分析、BD大数据分析) 教学 AI(第一领域) 图像处理、... 查看详情

树莓派的 Ratchet Websocket

】树莓派的RatchetWebsocket【英文标题】:RatchetWebsocketforraspberrypi【发布时间】:2016-07-2119:26:03【问题描述】:我已经使用棘轮编写了一个websocket。网络服务器是Nginx并且存在于树莓派上。树莓派已经通过端口转发通过路由器连接到... 查看详情

基于树莓派的无线路由器改造

...来,结果昨晚收拾东西的时候发现大学买来做人脸识别的树莓派在墙角吃灰很久,于是打算对其进行改造。太久没动树莓派,上电没有正常跑起来,干脆直接从第一步刷系统开始操作。 一、系统设置 刷系统的操作前人已... 查看详情