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

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

  1. Python自动化编程-树莓派GPIO编程(二)

    树莓派我们编程一般都直接用高效的python,针对于GPIO编程,python也是有这一方面的库的,这里最有名也是最常用的就是RPI.GPIO了.这个库是专门为树莓派GPIO编程所设计的,利用它你可以 ...

  2. python 并发编程 IO模型介绍

    gevent 底层是怎么实现? io模型4个重要概念: 两类 一类:同步.异步 提交任务的方式 同步: 提交完任务后,在原地等待结果,拿到结果后,才执行下一行代码 #所谓同步,就是在发出一个功能调用时 ...

  3. python自动化运维篇

    1-1 Python运维-课程简介及基础 1-2 Python运维-自动化运维脚本编写 2-1 Python自动化运维-Ansible教程-Ansible介绍 2-2 Python自动化运维-Ansi ...

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

    1.python 中常见的集中存储数据的结构: 列表 集合 字典 元组 字符串 双队列 堆 其中最常见的就是列表,字典. 2.下面讲一些运用循环获取字典列表的元素 >>> dic={ ...

  5. python 并发编程 io模型 目录

    python 并发编程 IO模型介绍 python 并发编程 socket 服务端 客户端 阻塞io行为 python 并发编程 阻塞IO模型 python 并发编程 非阻塞IO模型 python 并 ...

  6. 《Python编程快速上手 —让繁琐工作自动化》|百度网盘免费下载|Python自动化办公

    Python编程快速上手—让繁琐工作自动化 提取码:u8vj 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过 P ...

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

    原创作品,转载请注明出处:点我 上一篇文章Python高级编程之生成器(Generator)与coroutine(一):Generator中,我们介绍了什么是Generator,以及写了几个使用Gen ...

  8. 【python自动化第十一篇】

    [python自动化第十一篇:] 课程简介 gevent协程 select/poll/epoll/异步IO/事件驱动 RabbitMQ队列 上节课回顾 进程: 进程的诞生时为了处理多任务,资源的隔离, ...

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

    玄魂 玄魂工作室 今天 之前开启了一个<Python黑客编程>的系列,后来中断了,内容当时设置的比较宽,不太适合入门.现在将其拆分成两个系列<Python黑客编程之极速入门>和 ...

随机推荐

  1. Day1数据结构和算法

    2019-02-27 程序设计=数据结构+算法 数据结构就是关系,是数据元素相互之间存在的关系集合 逻辑结构:数据对象中数据元素的相互关系 集合结构:集合里的数据元素除了同属于一个集合外没有其他关系 ...

  2. stm32-arduino-f103

    希望给工作中偶尔要用的一些辅助板卡(例如运行信息现场记录)找一个快速开发的手段,Arduino作为流行的开源嵌入硬件框架,组件丰富,资料众多,所以想以Arduino作为平台.但是Arduino板子基本 ...

  3. centos-0 基础

    netstat -nap #会列出所有正在使用的端口及关联的进程/应用kill -9 1777        #杀掉编号为1777的进程(请根据实际情况输入) http://www.cnblogs.c ...

  4. svg绘制一个简单地饼图

    一个简单地svg绘制饼图的demo,代码如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  5. 查看linux是否为虚拟机,以及其它信息,cpu,主机型号,主板型号等

    dmidecode -s system-product-name 物理机: [root@swnode1]# dmidecode -s system-product-name I840-GS 虚拟机: ...

  6. Navicat Premium 出现2059错误解决办法

    1,登陆后可查询默认加密规则,键入 use mysql; select user,plugin from user where user ='root'; 解决办法: 1,更新用户密码:ALTER U ...

  7. SGD训练时收敛速度的变化研究。

    一个典型的SGD过程中,一个epoch内的一批样本的平均梯度与梯度方差,在下图中得到了展示. 无论什么样的网络结构,无论是哪一层网络的梯度,大体上都遵循下面这样的规律: 高信号/噪音比一段时间之后,信 ...

  8. 地磁应用中的低功耗无线数传模块xbee PRO S2C

    地球上每一个地理坐标点,在一段时间内磁场强度是恒定的,当车辆这种铁磁物质经过这个点时,对这个点的磁场强度产生一个连续的扰动,通过磁传感器采样数据与初始采样数据(该点的地球磁场值)进行对比,其差值为车辆 ...

  9. spring切换多数据源

    应用场景:在一个项目需要用到两个或两个以上的数据库时,要进行切换数据库,来操作相应的表. 框架:用的是spring 的org.springframework.jdbc.datasource.looku ...

  10. 第五周助教工作总结——NWNU李泓毅

    第五周助教总结 注:因第四次实验安排两个标准时间完成,因此本周未提交完整作业. 本周心得: 第四次实验进行过半,八组同学都在实验课上进行了一次中期总结,并形成书面总结在微信群中讨论. 根据各组同学的中 ...