本节书摘来自异步社区《开源硬件创客——15个酷应用玩转树莓派》一书中的第1章,第1.2节,作者 朱铁斌,更多章节内容可以访问云栖社区“异步社区”公众号查看。
正所谓“既要仰望星空,又要脚踏实地”,那在本节中,作者将给大家详细介绍树莓派的硬件配置,以及各类精彩纷呈的应用。
树莓派硬件、接口及其连接设备如图1-5所示。下面就让我们按图索骥,一同来探索树莓派的“身体构造”吧!
1.心脏—SOC(System on a Chip)
在人身体结构中,最重要的部位应该就是心脏了。那么树莓派的“心脏”是什么?下面请听作者一一道来。树莓派采用了一颗由博通公司(Broadcom Corporation)出品的、集成了GPU和CPU的BCM2835芯片。树莓派所适应的CPU是ARM架构的,和我们平时在PC上所使用的X86和AMD64架构不同,而ARM是一款精简指令集(RISC)处理器。该指令集的一大特点就是指令系统非常简单,能让硬件最快执行最常用的指令,因此指令的数量十分有限。ARM架构芯片最常见的就是用于我们熟悉的智能手机,如苹果的A7、三星的猎户座及国产华为的海思处理器等。
在树莓派上,由于BCM2835采用的是PoP(Package on Package)封装与内存堆叠在一起连接,所以只能看到堆叠在最上面的DDR2内存。BCM2835芯片的内核是在ARMv6基础上实现的ARM1176JZ,主频达到了700MHz。GPU为Broadcom VideoCrore IV,包含h.264/MPEG-4 AVC高清解码器,支持播放1080P高清视频。
在现在看来,树莓派选用的BCM2835芯片是其一块最大的短板,因为这款芯片性能平平,与目前动辄双核、四核的手机处理器相去甚远。也正是这颗芯片,制约着树莓派在各种应用上的进一步发展。但芯片的设置也是考虑到了树莓派成本、功耗等一系列因素的。相信在不久的将来,新版树莓派一定会有一颗更加强劲的“心脏”!
2.胃—Micro USB电源接口
胃有着消化和吸收的功能,能将食物转化成身体所需的能量。在树莓派中,Micro USB接口就是它的胃,为它提供必需的“能量”。与平常给手机充电一样,在树莓派的电源接口插上Micro USB电源线并通电就接通了电源,树莓派就会自动开机。
接下来还要再说说电源的选择。树莓派A型官方推荐使用的电源是5V/500mA,B型则为5V/700mA。但这里要注意,官方推荐的电源配置是指不带任何外设,即树莓派单纯启动所需的最低要求。而日常使用中,我们往往还需要连接各种外设,比如键盘、鼠标、移动硬盘等。因此,作者推荐大家使用电源配置为5V/2A。
3.大脑—SD卡槽
人的大脑控制着人体全身的活动,在树莓派中,SD卡槽就起着这个作用。树莓派使用SD卡作为操作系统的存储设备,相当于PC中的硬盘一样,有着数据存储的重要功能。因此,选择一张合适的SD卡非常重要。
如何挑选一张合适的SD卡?SD卡根据读写速度可以分为Class 2、Class 4、Class 6、Class 10这4个等级,这些数字分别代表写入速度为2Mbit/s、4Mbit/s、6Mbit/s、10Mbit/s。对于树莓派来说,Class4和Class6的SD卡是最适合的。需要注意的是,SD卡的容量至少需要在4GB以上。
4.四肢—USB接口和LAN接口
人的四肢是人活动的根本,也是人体中最灵活的器官。在树莓派中,USB接口和LAN接口就充当着这样的角色。在这两个接口上,树莓派的A型和B型略有不同。A型的树莓派只有一个USB接口,且电流较小,没有配备LAN接口。而B型树莓派则有两个USB接口,并增大了电流,配备了一个10MHz/100MHz自适应LAN接口。
关于USB接口还有一点需要强调。第二版的树莓派(Revision 2.0)去掉了USB接口上的自恢复保险丝,改成了一个固定螺丝孔,使得当大功率的设备(比如移动硬盘)插入树莓派时,电流增大,易造成供电电压跌落,而导致树莓派重启。因此,不建议大家直接用树莓派自带的USB接口连接大功率设备,而是采用自带电源的USB Hub来连接。这样既可以解决树莓派的重启问题,也可同时解决树莓派USB接口不足的问题。关于自带电源USB Hub的选择可以参见1.2.2节树莓派的各类精良装备。
5.眼睛和嘴巴—视频与音频接口
俗话说“眼睛是心灵的窗户”,而嘴巴则起着发出声音、传达思想的作用。在树莓派中,视频和音频接口就相当于人的眼睛和嘴巴,表达出树莓派的“所思所想”。
先来说说视频接口。目前,树莓派提供了3种视频输出方式:HDMI(High Definition Multimedia Interface,高清晰度多媒体接口)、Composite RCA(即AV端子)和DSI(Display Serial Interface,串行显示接口)输出。其中,HDMI运用最为广泛,清晰度也是最高的。下面作者分别来介绍下这3种输出方式。
HDMI接口的全称为High Definition Multimedia Interface(高清晰度多媒体接口),是一种全数字化的接口,支持视频、音频全输出,非常适合用于传输数字图像。HDMI接口广泛应用于各种设备,如数字电视、投影仪等,且可以通过HDMI转VGA线输出到电脑显示屏。本书中大多数应用都采用了该种输出方式。
Composite RCA接口,即我们常说的AV端子(也称“莲花”插座)。这种接口采用了AV模拟信号输出,一般由3个独立的RCA插头组成,除了可以传输视频外,还可以输出两路(左右声道)音频。但在树莓派上没有AV音频接口,只有黄色的视频输出接口。与HDMI输出相比,这种输出方式的清晰度会低很多。目前,该种输出方式主要用于一些老式不带HDMI接口的电视机,还有一些基于AV输入的移动显示设备。如果显示器附带了HDMI接口,建议读者采用HDMI的输出方式来获得更加清晰的图像。
DSI接口是一种以串行传输方式来输出视频的接口。该接口可以通过15针扁平电缆连接线来连接液晶显示屏。带DSI接口的显示屏在零售市场很少见,而且显示效果也不是很好,因此实用性不高。
最后来说说树莓派的“嘴巴”—3.5mm的音频输出接口。这个接口同大多数手机以及电脑的耳机接口是相同,因此只要插上音响或耳机,树莓派就能开口“说话”了。不过由于驱动的问题,采用这种方式输出音频的声音音质比HDMI接口连接电视输出的音质要差很多。
6.扩展接口—GPIO和CSI接口
树莓派一经推出就广受人们欢迎的一个重要原因就在于其良好的扩展性,这也是开源硬件的魅力所在。通过扩展接口可以使树莓派与其他电子设备轻易结合,大大丰富了它的应用范围,给DIY创造了无限可能。接下来,作者就来给大家介绍这两个神奇的扩展接口。
先来说说GPIO接口。GPIO接口全称为通用输入输出接口(General Purpose Input and Output),其实就是传统单片机上的I/O口。通过这个接口,树莓派就可以连接其他电子设备,如液晶屏幕、电子继电器、驱动电机以及各类传感器等。GPIO接口就相当于是一座桥梁,用于树莓派与其他电子设备的交互。树莓派的GPIO接口有26个针脚,其中第一脚在树莓派的左上角,在下方用“P1”进行了标注,并且按照“N”型的路径直至第26脚。需要引起注意的是,第一版(Revision 1.0)和第二版(Revision 2.0)树莓派在针脚接口上是有区别的。在第一版中,针脚接口4、9、14、17、20和25是保留未使用的,Pin13在第一版中对应GPIO21,而在第二版中则对应GPIO27。在本书接下来的章节中,还会利用GPIO接口来做一些有趣的应用。
再来说说CSI(Camera Serial Interface)接口。CSI接口是移动行业处理器接口中定义的一个标准,用于规范手机与摄像头的连接和通信标准。而在树莓派中,这个接口是专门为移动摄像头模块而预留的。在本书的第17章“树莓派”照相机中就将用到这个接口,教大家打造一台独特的“树莓派”照相机。
7.树莓派的晴雨表—状态指示灯
中医看一个人,通过望、闻、问、切4种手段即可判断出一个人的身体状况。对于树莓派,我们也可以像中医一样,通过观察它的状态指示灯来了解它的运行状况。在树莓派中,有5盏自上而下的指示灯,分别为ACT、PWR、FDX、LNK、100。下面通过两个表格来学习如何通过指示灯判断出树莓派的运行状况,LED亮灯介绍如表1-2所示,常见亮灯情况如表1-3所示。
注:○●○:闪烁 ●●●:常亮 ○○○:不亮 ●○●:有规律闪烁
开源硬件的一大魅力就在于其有着丰富的可扩展性,可以通过各类周边硬件来创造无限可能。在上一节中作者向大家介绍了树莓派的“身体构造”,也讲解了树莓派深厚的“内功”,但有了“内功”还是不够的,还需要有几件合手的“装备”。在本节中,作者将带领大家给树莓派挑选几件精良的“装备”。
1.键盘和鼠标
与PC一样,键盘和鼠标也是操作树莓派的必备装备。因为树莓派只提供了USB接口,所以在树莓派上只能使用USB接口的键盘和鼠标。大多数的标准USB键盘和鼠标都能在树莓派上正常使用,但小部分可能会存在一些Bug或是无法正确识别的问题。这里作者要推荐大家使用无线键盘和鼠标套装,因为树莓派只有两个USB接口,使用无线键盘和鼠标套装就只需占用一个USB接口,同时还可解决供电不足无法驱动的问题。
2.显示器连接线
在上一节中,作者向大家介绍了树莓派的3种视频输出方式,而这3种输出方式分别需要不同的连接线。只有连接了显示器,我们才能一窥树莓派的“真面目”。HDMI输出视频就需要一根HDMI线,目前市场上的HDMI线很多,价格和质量也都参差不齐。建议大家一定要买正品HDMI线,否则可能会出现黑屏的现象。另外,目前支持HDMI输入的电脑显示器并不多,大家要想将树莓派连接电脑显示器还需要一根“HDMI转VGA”或“HDMI转DVI”的转接线。这类转接线有两种,一种是需要接电源的,另一种是不需要接电源的。推荐大家使用接电源的那种,因为受树莓派供电不足的问题影响,不接电源的线可能会导致黑屏、显示器无信号等问题的出现。
3.带电源的USB Hub
在之前的文章中作者多次提到了树莓派供电不足的问题,要想彻底解决这个问题,就是使用自带电源的USB Hub。使用了带电源的USB Hub后,可以同时连接4个以上的USB外设,可解决树莓派USB接口过少的问题。但需要注意的是,一些无隔离电源的USB Hub可能会造成树莓派反向供电的现象,即插上带电源的USB Hub后树莓派就自动开机了。这会对树莓派的主板造成损伤。因此大家要购买的话一定要买带隔离电源的USB Hub。
4.其他USB外设
接下来作者给大家推荐一些其他的USB外设。
随着移动设备的普及,WiFi已经是不足为奇了。树莓派并没有自带内置的无线网卡,但我们依旧可以使用USB接口的无线网卡来给树莓派增加无线连接的功能。在购买无线网卡时,特别需要注意无线网卡是否支持Linux系统。由于驱动的问题,并不是所有的无线网卡都支持Linux系统的,所以建议大家购买免驱的无线网卡。如果想用树莓派来制作一个便携式无线路由器,读者还需要确保无线网卡支持无线AP功能。
另外再来说说USB摄像头。想让树莓派“看见”世界,除了使用CSI接口来连接摄像头外,还可以使用USB接口来连接常见的USB摄像头(在本书的第12章就会用到USB摄像头)。和无线网卡类似,在树莓派上使用USB摄像头也需要注意USB摄像头在Linux下的驱动问题。建议大家选购Linux内核自带驱动能直接驱动的摄像头,因为在Linux下安装驱动并不像在Windows下那么简单。
5.散热片
在PC上,一些功耗较大的硬件,如CPU、显卡等都配备了散热器,来保证热量及时散发,从而保护硬件。与CPU、显卡相比,树莓派的功耗可以说是“沧海一粟”,但由于树莓派在一些应用中需要长期稳定的运行,如服务器、智能家居等,因此为树莓派挑选一件凉爽的“衣服”还是很必要的。与CPU的风扇散热方式不同,树莓派的散热片是一小块金属片,上面有很多散热鳍来增加散热的面积,其可以贴到需要散热的芯片上来实现散热。
6.扩展板
在上面的文章中,作者曾向大家介绍过开源硬件的一大特性—扩展性。接下来,作者就来给大家介绍几款树莓派的扩展板,一窥树莓派强大的扩展能力。
全功能扩展板是基于树莓派的GPIO接口的扩展功能板卡,可以将树莓派上的GPIO的输出扩展出来,从而支持高电压大电流的输出驱动,一举解决了树莓派供电不足的问题。同时,它还可以通过ULN2803芯片直接驱动步进电机、LED等。可以说扩展板是要做小车、机器人、智能家居的读者必备物品之一,如图1-6所示。
LCD字符屏扩展板是一个集成了LCD1602字符液晶屏的扩展板。该扩展板可以用来显示树莓派的各种信息,比如IP地址、CPU占用率、内存占用率、磁盘空间等,在xbmc系统下还可以显示播放的文件名等信息,如图1-7所示。
DS18B20温度传感器和DHT11湿度传感器。DS18B20由美国DALLAS公司生产,能将温度物理量转化为数字信号,测量范围在-55℃~+125℃。DS18B20个头不过硬币大小,有3根引脚,采用单总线协议进行通信。DHT11湿度传感器是一款含有数字信号输出的湿度传感器,应用数字模块采集技术和湿度传感技术,包括一个电阻式感湿元件和一个高性能8位单片机相连接(有关这两个传感器的应用将在本书第14章中详细介绍)。
除了上述扩展板外,树莓派还有着其他各式各样的扩展板,比如,能让树莓派变身闹钟的时钟扩展板,能增强树莓派GPIO功能的GPIO串口扩展板,还有RaZberry智能家居扩展板、步进电机扩展板、GPS扩展板等。读者可以根据自己的需要进行选购。
7.树莓派的“衣服”
衣服是人们生活的必需品,好的衣服不仅能给人增光添彩,还有着保暖或清凉的作用。而对于树莓派来说,一件好的“衣服”也是十分必要的。它不但可以保护树莓派免受灰尘的侵扰,同时还可以避免因静电而导致的主板短路问题,最重要的是一件独具个性的“衣服”可以让你的树莓派变得与众不同!接下来,作者就来教大家给树莓派挑选几件漂亮“衣服”。
目前,树莓派的“衣服“大致可分为3类,一是物美价廉的亚克力外壳,如图1-8所示,二是光彩亮丽的金属外壳,如图1-9所示,三则是返璞归真的木质外壳,如图1-10所示。在上面3种外壳中,使用最多的就是亚克力外壳了。当然,除了上述较为普遍的外壳外,你还可以自己动手DIY一个树莓派外壳。比如,用乐高积木搭建的外壳,还有用3D打印机打印出拥有奇特造型的外壳等。对外壳感兴趣的读者可以上网搜索更多有关树莓派外壳的资料。
在上面几节中,作者向大家详细地介绍了树莓派的一些基本情况,包括树莓派的起源、硬件配置、外设等,内容可能会比较抽象。下面就让我们来看一些“干货”,一起来感受下高手们用树莓派做的一些“高大上”的应用。
1.乐高积木+树莓派=?
一个是儿童爱不释手的玩具,另一个是开源硬件界的“新秀”,共同点是小巧精致、变幻无穷。那么乐高积木+树莓派会等于什么呢?答案是—超级计算机。不要奇怪,正所谓“聚沙成塔,集腋成裘”,南安普顿大学的一个科学小组成功用64个树莓派板组装出了一个超级计算机。这台超级计算机配备了64个处理器和1TB的内存,并被命名为“Iridis派”,用来纪念学校先前发明的”Iridis“超级计算机。“Iridis派”花费大约2500英镑,仅仅需要一个普通13A的插座来供电,可通过MPI在以太网内进行节点间的互通。而承载这个超级计算机的基板则是由教授柯克斯的儿子用乐高积木搭建而成的,如图1-11和图1-12所示。因此,乐高积木+树莓派=超级计算机,一切皆有可能!
2.Raspberry Glass
现在最热门的便携式设备要属可穿戴设备,而在可穿戴设备中最令人瞩目的就非Google Glass莫属了。但Google Glass售价居高不下令大多数人望而却步。但利用树莓派,我们也可自制一副Raspberry Glass。这幅Raspberry Glass由国内的高手制作,安装了显示器、骨传导耳机、送话器等配件,实现了人脸检测、声控拍照等功能。Raspberry Glass总成本在1000元左右,注意是人民币而不是美元哦!不过它唯一的缺点就是太笨重了,要拿它上街还得锻炼锻炼自己的眼部肌肉,如图1-13和图1-14所示。目前,Raspberry Glass的制作者正在不断完善它,让我们一起来见证奇迹吧!
3.“芝麻开门”—Siri驾驭树莓派遥控车库门
阿里巴巴说了一句“芝麻开门”就打开了藏宝库的大门,现在国外一个高手通过Siri遥控树莓派打开了他家车库的大门。他首先在树莓派上运行Siri代理,同时将手机和树莓派连接到同一无线网络,接着将继电器的一端连接到树莓派的GPIO接口上,另一端与车库开关控制系统相连。最后利用Siri发出指令遥控树莓派来实现控制继电器上的开关,这样便可以在iPhone上使用Siri控制车库的开关了,如图1-15所示。
4.GoPiGo—树莓派机器人平台
目前,在著名的众筹网站Kickstarter上就推出了一个名叫GoPiGo的项目。GoPiGo是一个完完全全为制作树莓派机器人而生的项目,包含制作树莓派机器人所需的各个组件,比如机器人机体、动力电机、控制器和一个强大的电源。它使得制作机器人的部件模块化,省去了烦琐的制作过程,使得任何人都能快速上手,并制作出一个树莓派智能机器人,如图1-16和图1-17所示。该项目完全是开源的,感兴趣的读者可以到“https://github.com/DexterInd/GoPiGo”上查看详细代码和设计。
5.树莓派遨游天际
想要飞上太空,从宇宙中看看地球,这可能需要花费几千万美元乘坐火箭才能实现。但让树莓派遨游天际却并不需要这么高昂的价格,只需要一个氢气球就可以让树莓派轻松上天,一览地球魅力景致。国外的航天爱好者Dave Akerman将安装了相机模块的树莓派装进覆盆莓造型的塑料泡棉保护着的设备中,并连接探空汽球升空,经过3小时的垂直旅程后又重新降落到地面。遨游天际的树莓派成功带回了许多美丽的太空图片,如图1-18和图1-19所示。
6.PiPhone—树莓派DIY变身“智能手机”
国外一位名叫David Hunt的极客用树莓派DIY了一款智能手机PiPhone。他使用了Sim900 GSM/GPRS作为手机的通信模块,同时采用了一块Adafruit显示屏作为手机的触控屏。PiPhone配备了一个SIM卡槽,可以像普通手机一样进行语音通话、发送短信以及数据连接上网等操作,整个配置共花费了158美元,如图1-20所示。不过目前的PiPhone还不是最终版本,因为它的“电子元件”是完全裸露在外面的,还需要给它穿上漂亮的“衣服”才行。