Python自动化编程-树莓派的介绍与使用(一)

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

原文地址:https://www.cnblogs.com/moying-wq/p/10792188.html

时间: 2024-11-05 23:35:17

Python自动化编程-树莓派的介绍与使用(一)的相关文章

python函数式编程,列表生成式

1.python 中常见的集中存储数据的结构: 列表 集合 字典 元组 字符串 双队列 堆 其中最常见的就是列表,字典. 2.下面讲一些运用循环获取字典列表的元素 1 >>> dic={'name':'zhangsan','age':24,'city':'jinhua'} 2 >>> for key,value in dic.items(): 3 print(key,value) 4 5 6 name zhangsan 7 age 24 8 city jinhua 循环

Python高级编程pdf

下载地址:网盘下载 内容简介  · · · · · · <Python高级编程>通过大量的实例,介绍了Python语言的最佳实践和敏捷开发方法,并涉及整个软件生命周期的高级主题,诸如持续集成.版本控制系统.包的发行和分发.开发模式.文档编写等.<Python高级编程>首先介绍如何设置最优的开发环境,然后以Python敏捷开发方法为线索,阐述如何将已被验证的面向对象原则应用到设计中.这些内容为开发人员和项目管理人员提供了整个软件工程中的许多高级概念以及专家级的建议,其中有些内容的意义

Python高级编程之生成器(Generator)与coroutine(二):coroutine介绍

原创作品,转载请注明出处:点我 上一篇文章Python高级编程之生成器(Generator)与coroutine(一):Generator中,我们介绍了什么是Generator,以及写了几个使用Generator Function的示例,这一小节,我们会介绍Python的coroutine,以及会有一个小例子,再接下来的文章中会以代码的形式一步步介绍coroutine的高级用法. coroutine(协程) 什么是coroutine?coroutine跟Generator有什么区别?下面先看一段

《Python自动化之路》大纲

第一天 1.编程语言介绍2.Python基础,介绍历史.发展情况及现状3.Python安装.环境准备4.编程风格.语法要求.变量格式等5.编写用户交互脚本6.读取用户输入7.基本流程控制,if..else/for x in…/while True8.程序流程控制二,break\continue\ 嵌套循环9.项目实践:编写用户登录认证程序* 实现用户名密码登陆,输入错误3次后锁定用户,多用户在线! 第二天1.python I/O交互2.处理文件.通过Python修改及处理文件内容3.项目实践:编

《Python黑客编程之极速入门》正式开课

玄魂 玄魂工作室 今天 之前开启了一个<Python黑客编程>的系列,后来中断了,内容当时设置的比较宽,不太适合入门.现在将其拆分成两个系列<Python黑客编程之极速入门>和<Python黑客编程之网络安全>,以便初学者有一个入门和提升的过程. 我们首先开启的是<Python黑客编程之极速入门>,考虑到学习质量的保证问题, 这次采用的是培训的方式,图文教程+课后练习+答疑+案例介绍+扩展阅读. 培训目前只面向我们知识星球内部成员(加入星球自动享受该课程权益

Python常用的库简单介绍一下

Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable 主要用于在终端或浏览器端构建格式化的输出. difflib ,[Python]标准库,计算文本差异 . Levenshtein ,快速计算字符串相似度. Chardet 字符编码探测器,可以自动检测文本.网页.xml的编码. shortuuid ,一组简洁URL/UUID函数库. ftfy ,Uni

python自动化办公?学这些就够用了

知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手? python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音. 自动化办公无非是excel.ppt.word.邮件.文件处理.数据分析处理.爬虫这些,这次我就来理一理python自动化办公的那些知识点. python基础 excel自动化 ppt自动化 word自动化 邮件处理 文件批量处理 数据处理与分析 自动化爬虫 下面一一详解. p

Python Socket 编程——聊天室演示样例程序

上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket 编程的理解. 聊天室程序需求 我们要实现的是简单的聊天室的样例,就是同意多个人同一时候一起聊天.每一个人发送的消息全部人都能接收到,类似于 QQ 群的功能,而不是点对点的 QQ 好友之间的聊天.例如以下图: 图来自:http://www.ibm.com/developerworks/linux/tu

Python自动化运维课程学习--Day3

本文为参加老男孩Python自动化运维课程第三天学习内容的总结. 大致内容如下: 1.文件操作 2.字符编码转码相关操作 3.函数 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 python2.7.12 --Python IDE: PyCharm 2016.3.2 一.文件操作: 1.文件操作流程:以只读.写(覆盖写).追加写.读写.追加读写.二进制读写等模式打开文件 ==> 得到文件句柄,并