0

    世上最小的卡片电脑——RaspberrysPi Zero评测

    2023.07.16 | admin | 137次围观

    一、入门介绍

    树莓派是英国慈善组织“Raspberry Pi基金会”推出的一款卡片电脑,这一基金会以提升学校计算机科学及相关学科的教育,旨在让计算机变得有趣,这块性能强大且价格低廉的卡片一推出,受到众多的计算机发烧友和创客的追捧和热爱,在2015该基金会终于推出了迄今为止最便宜的产品:售价5美元的树莓派:Pi Zero,但数量有限,瞬间被疯抢而光,直到今年6月份重启Pi Zero的产线,这可能跟该基金会忙于推出树莓派3有关吧,小编有幸拿到一块RPi Zero,这就带大家领略一下这块至今最小的计算机。

    图1 板子正面图

    二、极致体验

    先给大家展示一组RPI 0的写真照

    图2 板子写真照

    图3 板子写真照

    图4 板子写真照

    图5 板子写真照

    图6 板子写真照

    三、磨刀不误砍柴工

    严格来说,RPI 0并不是一个完整的电脑,它采用了与树莓派相同的Broadcom BCM2835 1GHz处理器,拥有512MB RAM。另外RPI 0还支持micro SD存储槽、mini-HDMI接口支持1080p/30fps输出,同时支持microUSB接口传输数据及充电,拥有40针的GPIO,用户可以使用这些接口来连接各种各样的外部设备,如传感器、电机和其它电脑。其可以运行树莓派基金会基于Linux开发的开源操作系统Raspbian. 这款设备也能在物联网应用中发挥重要作用——比如可以用来制作智能门控开关。最新更新的RPI 0增加摄像头接口,对于已经入手摄像头模块的用户来说,只需购买一条连接线即可。现在,由于可以支持摄像头模块的使用,RPI 0便具备了变身成为家居安防系统或是微型隐蔽式摄像机的能力。另外,RPI 0的规格仅有65×30×5毫米,是迄今为止最小的树莓派产品。

    运行起来后,这款小电脑可以用来玩Minecraft和Scratch这样的编程教育游戏。另外其也可以用在各种各样的控制处理任务中,比如可以用来DIY音乐播放器和机器人,当然也能在家庭自动化中发挥作用,甚至还能用来发推特呢。

    当然,最值得高兴的是,RPI 0这块板子售价5美元。对此,树莓派创始人Eben Upton表示,RPI 0因为体型变小,所以售价大幅度下降。虽然如此,但并不会缩减核心体验,RPI 0仍然保持了和前代树莓派的相容性。

    首先介绍一下RPI 0的硬件配置 ,做好充分的基础储备才能够发挥其最大性能。

    l CPU:博通BCM2835,主频可达到1GHz;

    l RAM:512MB;

    l 电源:通过microUSB 5V供电,最大电流160MA即使连接着HD屏幕;

    l 大小:65mm X 30mm X 5mm;

    l 视频及音频:1080P 高清视频及音频通过mini-HDMI接口输出;

    l 储存设备:MicroSD 卡;

    l 运行系统:Linux,通过NOOBS安装,或者直接将系统烧写进SD卡。

    l V1.3版Pi Zero增加CMOS摄像头接口

    通过下图可以直观看到RPI 0板子的资源(V1.3版RPI 0增加摄像头接口)

    图7 板子资源图

    RPI 0用的SoC是跟Pi A和Pi B所用的BCM2835,明显的RPI 0配置的 BCM2835为高配版,博通已经对这块SoC进行升级,将最高主频从700MHz升到1GHZ。

    通过下图可以清晰明了地对比现有树莓派的各个版本之间的性能区别。

    图8 树莓派各个版本对比

    Pi A和Pi B采用的是26个GPIO的接口,后续的版本都开始升级采用40个GPIO的接口,RPI 0也兼容40个GPIO的接口。

    图9 GPIO接口定义

    接下来来看看GPIO的定义。

    图10 树莓派各个版本GPIO具体定义

    《MagPi》这本杂志是由Raspberry Pi 的爱好者自己编写出版的,我们可以在 网站上免费下载。通过这本书可以学习如何编程以及如何建立硬件项目,同时你还能找到更多与硬件、程序相关的资料。

    图11 MagPi杂志封面

    四、利剑出鞘,谁与争锋

    拿到板子首先就是要配置好板子,搭建好环境才能进行开发,有两种方法初次配置板子,一种是通过屏幕图像化直接配置,需要显示器一个,HDMI转VGA线一根,mini-HDMI转HDMI转接头,鼠标一个,键盘一个,无线网卡一个,USB集线器一个,OTG线一根,TF卡一张等,另一种是通过串口进行命令配置,相比之下用串口配置简单方便。

    要让这块板子跑起来,需要准备以下这些东西:

    l 1:电源线一根

    l 2:class10 TF卡(这个相当于电脑的系统盘,读写速度越快越好,建议容量在8G以上)

    l 3:读卡器一个

    l 4:无线网卡一个

    l 5:OTG线一根

    l 6:USB转TLL模块

    l 7:几根杜邦线,用来连接串口模块

    图12 硬件所需配件

    第一步要将系统烧写到TF卡中,官方提供两种镜像供开发者选择,一种是NOOBS,直接将镜像解压到TF卡中,然后借助屏幕、鼠标及键盘等输入输出设备配置树莓派系统,一种是RASPBIAN系统,需要将系统通过工具烧写到TF卡中,可以直接运行不需要用户进行配置了。

    图13 NOOBS及RASPBIAN系统

    NOOBS又分为NOOBS和NOOBS LITE,其中,NOOBS中已经包含了Raspbian系统,在联网的情况下也可以选择安装其他系统,NOOBS LITE仅包含安装功能,所有系统都需要联网进行下载安装。

    图14 NOOBS系统

    同样,RASPBIAN也分为RASPBIAN JESSIE和RASPBIAN JESSIE LITE,RASPBIAN JESSIE是完整的镜像,而RASPBIAN JESSIE LITE为阉割的镜像,没有桌面,不建议小白使用阉割版,全是命令操作,刚入门还是建议有桌面版的。

    图15 RASPBIAN系统

    小编把两个镜像都下载下来了,为了测试使用,接下来将下载下来的镜像包解压。

    图16 RASPBIAN系统包

    用SDFormatter将TF格式化,直接点格式化即可,不用再做其他设置了。

    图17 SDFormatter

    用Win32 Disk Imager将镜像烧写进TF卡中,点击文件夹的图标,将刚刚解压出来的镜像添加进来,然后Device选择刚刚格式化TF卡计算机所识别出来的盘号,接下来点击Write即开始烧写系统了。

    图18 Win32 Disk Imager

    烧写完系统,将TF卡放进卡槽中,连接好wifi网卡和串口(串口模块的GND连接板子的GND,TXD连接板子的UART0 RXD,RXD连接板子的UART0 TXD),然后打开计算机的设备管理器查看串口号,从下图得出,串口号为COM5。

    图19 设备管理器

    PuTTY是个好东西,支持多种通信协议,用于调试十分方便。打开PuTTY,连接类型选择串口,串行口改为COM5,速度修改为115200。

    图20 PuTTY串口配置

    接着就可以给板子上电了,串口就会开始打印系统配置及初始化信息。

    图21 系统打印开机信息

    等系统初始化完成,会打印出raspberrypi login的提示登录信息,树莓派默认用户名为pi,登录密码为raspberry,输入用户名和密码,随即可登录上树莓派了。

    图22 系统初始化完成

    使用串口配置固然比屏幕配置之类的方便,但是配置好无线网卡就可以使用ssh协议登录板子,不用拖着网线或者蜘蛛网般的杜邦线了。离开了网络,树莓派的强大性能无法体现出来。首先需要确认RPI 0已经识别出无线网卡了,使用lsusb可以查看当前连接的USB设备,从下图可以看出,Bus 001 Device 002: ID 148f:7601 Ralink Technology, Corp.看出RPI 0已经识别出无线网卡。

    图23 查看USB设备

    用ifconfig命令查看网卡情况,lo为回环网络,懂一点点网络的都清楚这点,用于本地网络测试的,这里不深入讲解了,wlan0为无线网卡,可以知道无线网卡驱动没问题,蓄势待发,输入要连接的wifi ssid及登录密码就能将树莓派连上互联网了。

    图24 查看网络情况

    用nano编辑interfaces文件,此处需要用root管理权限操作,因为是系统文件,必须需要用root来操作。

    图25 修改网络配置文件

    运行指令后就会打开interfaces文件,文件原始配置如下图所示。

    图26 修改网络配置文件

    修改interfaces文件,如下图,abc为要连接wifi的名称,12345678为wifi的名称,这里ip地址设置为动态获取。

    图27 修改网络配置文件

    再次用ifconfig命令查看网络状态,可以看到wlan0,即无线网卡已经获取到ip地址了,ip地址为192.168.8.108。

    图28 查看网络情况

    成功配置好无线网卡,树莓派的镜像默认是开启SSH协议的,现在可以拆下串口模块了。打开PuTTY,在主机名称中输入RPI 0的ip地址即可通过SSH协议登录板子了。

    图29 PuTTY配置SSH

    首次登录软件会弹出安全警告,因为没有保存登录密匙,这个没关系,直接点是,信任主机,自己刚搭建好的树莓派能对计算机有什么安全威胁。

    图30 登录警告

    跟串口登录一样,系统会提示你输入登录用户名及登录密码,默认用户名为pi,登录密码为raspberry,登录成功后会显示上一次登录时间 。

    图31 SSH界面

    成功用SSH登录树莓派,现在需要检查一下网络能否访问互联网,百度最常用的功能就是测试网络通不通了。这里ping一下百度网站,使用命令ping 即可查看板子网络情况,Linux系统跟Windows不一样,Windows在接收到四个数据包之后会自动断开,而Linux下会一直ping下去,需要使用ctrl+c退出。如下图可以看出板子现在已经连上互联网了。

    图32 检查网络

    连上互联网,就必须要有安全意识,强烈建议修改登录密码,特别是暴露在公网下的树莓派,别以为你树莓派没啥东西,天不怕地不怕,当你的树莓派被当作网络跳板做违法犯罪的事,而你无缘无故收到律师诉讼信的时候你将会后悔莫及。使用passwd pi即可修改用户名为pi的登录密码电脑出现家庭组图标,输入命令后,系统会提示输入当前用户密码,默认密码为:raspberry。

    图33 修改用户密码

    输入当前用户密码后,系统会提示输入新密码,输入两遍密码后,显示更新密码成功后,这就代表着下次登录板子的时候就要使用刚刚填写的新密码了,这时使用sudo reboot重启一下系统。

    图34 修改用户密码

    重新登陆上板子后,现在可以开始正式进入互联网世界了,先用命令sudo apt-get update更新一下软件列表,不然可能使用sudo apt-get install命令安装软件,系统会提示找不到软件的。

    图35 更新 软件列表

    更新一下系统,将系统更新到最新版,最新版的系统支持更多功能并解决很多之前的缺陷。

    图36 更新系统

    使用sudo rasp-config进入图形化界面配置树莓派的属性。

    图37 配置系统

    进入图型化配置界面后,利用键盘的上下左右及回车键选择配置项,如下图所示,配置项有:

    1、 Expand Filesystem 将根分区扩展到整张SD卡

    2、 Change User Password 改变用户密码

    3、 Boot Options 启动界面选项

    4、 Wait for Network at Boot 启动时是否等连接网络

    5、 Internationalisation Options 国际化选项,可以改变默认语言

    6、 Enable Camera 启动Pi的摄像头模块

    7、 Add to Rastrack 把你的Pi的地理位置添加到一个全世界开启 此选项的地图,建议还是不要开启,免得被跟踪。

    8、 Overclock 超频

    9、 Advanced Options 高级设置

    0、About raspi-confg 关于raspi-config信息

    图38 图形化配置界面

    这里讲解几个常用的选项,下图是Internationalisation Options的配置界面,

    1) Change Locale ——语言和区域设置

    建议不要改,默认英文。如果想改中文,最好先安装了中文字体再进行这步。

    2) Change Timezone——时区设置

    设置时区,如果不进行设置,pi的时间就显示不正常。

    选择Asia(亚洲)->Chongqing/Shanghai都行。

    3) Change Keyboard Layout——键盘布局设置

    4) Change Wi-fi Country ——使用wifi地区选择

    图39 图形化配置界面

    A1 Overscan 是否让屏幕内容全屏显示

    A2 Hostname 在网上邻居或者路由器能看到的主机名称

    A3 Memory Split 内存分配,选择给GPU多少内存

    A4 SSH 是否运行SSH登录,建议开启此选项,以后方便对pi进行操作(可以不用显示屏,只要网络就行)

    A5 SPI(串行外围设备接口Serial Peripheral interface) 是否默认启动SPI内核驱动

    A6 I2C(两线式串行总线Inter –Integrated Circuit)是否默认启动I2C内核驱动

    A7 Serial(串行通信接口)是否默认启动Serial内核驱动

    A8 Audio 选择声音默认输出到模拟口还是HDMI口

    0 Auto 自动选择

    1 Force 3.5mm('headphone')jack强制输出到3.5mm模拟口

    2 Force HDMI 强制输出到HDMI

    A9 GL Driver是否开启实验平台

    AA 1-Wire( 单线(加地线)通信协议)是否默认启动one-wire 接口

    图40 图形化配置界面

    AB GPIO Server GPIO服务

    A0 Update 把rasp-config这个工具自动升级到最新版本

    图41 图形化配置界面

    以下是关于raspi-config信息

    图42 图形化配置界面

    五、性能测试

    当我们获取CPU信息时得到了以下结果

    系统显示CPU架构为ARMv61

    储存数据为小端模式

    为单核处理器,最高主频为1GHz,最低主频为700MHz

    图43 硬件信息

    可以使用cat /sys/class/thermal/thermal_zone0/temp查看当前温度,如下图所示

    图44 芯片温度

    Sysbench 测试

    sysbench是开源的多线程性能测试工具,该工具可以将CPU的性能发挥到极限,测试内容为计算0到20000中最大的素数所使用的时间。RPI 0为单核处理器,此处只能开单核来测试性能,如下图所示,测试时间需要955.0539秒。

    图45 树莓派0测试结果

    可以看一下,最新的树莓派3开四核来测试也是需要239.7755秒

    图46 树莓派3测试结果

    memtester测试

    进行内存的压力测试,Memtester主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主要项目有随机值,异或比较,减法,乘法,除法,与或运算等等. 通过给定测试内存的大小和次数, 可以对系统现有的内存进行上面项目的测试。memtester 是内存压力测试工具,原本是用来测试内存错误的,在这项测试中我们不测试错误,添加一个计时功能,测试给定256M内存所使用的时间来衡量CPU和内存的性能。

    RPI 0测试时间为3489.09秒。

    图47 树莓派0测试结果

    树莓派3测试时间仅需要706.14秒。

    图48 树莓派3测试结果

    远程登陆

    安装VNC需要使用命令行。如果需要远程操作安装VNC,就必须通过SSH登录到命令行界面。树莓派命令行:sudo apt-get install tightvncserver

    图49 安装tightvncserver

    安装好之后请一定先使用此命令设置一个VNC密码:vncpasswd

    (先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要。)

    图50 设置VNC密码

    设置开机启动,需要在/etc/init.d/中创建一个文件。例如tightvncserver:

    文件内容如下:

    图51 配置开机启动文件

    然后给tightvncserver文件加执行权限,并更新开机启动列表。

    图52 修改开启启动文件

    开启VNC服务

    图53 开启服务

    用VNC Viewer开启远程桌面,输入树莓派的ip及端口号(默认是1)

    图54 登录VNC

    初次登陆会弹出警告的窗口,可以不用理会,直接继续就行了。

    图55 警告

    输入刚刚设置的登录密码

    图56 输入登录密码

    这就进入远程桌面了

    图57 远程桌面

    WiringPi使用

    WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。WiringPi中的函数类似于Arduino的wiring系统,这使得熟悉arduino的用户使用wringPi更为方便。wiringPi包括一套gpio控制命令,使用gpio命令可以控制树莓派GPIO管脚。用户可以利用gpio命令通过shell脚本控制或查询GPIO管脚。首先用git命令将源码下载到板子上。

    图58 下载wiringPi

    然后切换到wingPi工程目录

    图59 切换工作目录

    确认源码下载成功后,安装wiringPi

    图60 安装wiringPi

    意思是使用wiringPi库的时候,在命令行要加上-lwiringPi,用到devLib时,要加上-lwiringPiDev。

    图61 安装后的提示

    这是wiringPi的引脚说明,wiringPi对树莓派的管脚重新进行了封装,例如wiringPi的GPIO15意味着BCM2835的GPIO14电脑出现家庭组图标,也就是TxD引脚。

    图62 引脚对应

    测试程序如下,先包含wiringPi头文件,然后初始化wiringPi,设置GPIO15为输出口,死循环中让引脚每秒改变一次电平,从而达到让LED闪烁的效果。

    图63 测试代码

    用gcc编译switchled.c输出可执行文件switchled文件

    图64 编译测试代码

    运行switchled文件,程序就开始

    图65 运行代码

    这里就没有这么文艺用面包板了,借用其他板子的硬件,大家可以看一下效果:(点击阅读原文查看视频)

    六、总结

    树莓派的性价比就不说了这是有目共睹的,各个方面的资源也非常丰富,入门容易,无论是用来普及计算机教育还是创客做创新设计都是非常不错的选择,RPI 0作为世界上最小的计算机,5美元的售价,极致体验,你值得拥有一块。

    资料:

    官网:

    SDFormatterv4:

    Putty:

    Win32DiskImager-0.9.5-install:

    VNC-Viewer-5.0.3-Windows-32bit:

    2016-05-27-raspbian-jessie-lite:

    2016-05-27-raspbian-jessie:

    点击

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论