树莓派初识
一、简介
- 中文名树莓派[1]外文名Raspberry Pi[1]简写RPi
- 用Linux开发
- 开发组织RaspberryPi基金会
- 型号A/A+/B/B+/2代B型/3B/3B+
- 内存256MB/512MB/1GB
- 网站raspberrypi.org
二、详细介绍
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben•Upton/埃•厄普顿为项目带头人。
2012年3月,英国剑桥大学埃本•阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。
这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。
基金会期望这 一款电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。
在2006年树莓派早期概念是基于Atmel的 ATmega644单片机,首批上市的10000“台”树莓派的“板子”,由中国台湾和大陆厂家制造。
它是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,
卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。
Raspberry Pi B款只提供电脑板,无内存、电源、键盘、机箱或连线。
树莓派的生产是通过有生产许可的三家公司Element 14/Premier Farnell、RS Components及Egoman。这三家公司都在网上出售树莓派。
现在,你可以在诸如京东、淘宝等国内网站购买到你所想要的树莓派。
树莓派基金会提供了基于ARM的Debian和Arch Linux的发行版供大众下载。
还计划提供支持Python作为主要编程语言,支持Java、BBC BASIC (通过 RISC OS 映像或者Linux的"Brandy Basic"克隆)、C 和Perl等编程语言.
三、树莓派3b与树莓派3b+参数对比
四、树莓派系统(官方系统)的常用的命令
- dmesg //显示树莓派最近发生的事情
- cat /var/log/syslog//打印日志
- 树莓派有一个轻量级的X11--LXDE,可以通过raspi-config设置自动登陆LXDE
- 如果喜欢使用图形界面安装程序,可以安装软件包:synaptic
sudo apt-get -y install synaptic//下载安装程序
sudo synaptic//执行程序 - 树莓派默认的程序开发软件:Python。raspbian系统默认安装python IDE2.7 和python IDE3。
- 树莓派的图形编程:TK、GTK、wx和Qt。
- 树莓派后台运行程序的方法:在控制台命令的最后加上‘&’。
- cat /var/log/dmesg //显示启动信息
- cat /proc/version //查看内核版本
- uname -a //查看内核、操作系统和CPU信息
- ismod //加载模块
- lsusb -tv //显示usb设备信息
- lspci -tv //显示PCI设备信息
- sudo /etc/init.d/networking restart // 重新启动网络服务
五、 树莓派图形编程的对比简介
1.GTK编程(c语言)
GTK+ 主要用在 X Window 上,整个设计的架构和许多概念和 MFC 以及一般 Windows 上的程式开发大异其趣,入门门槛较高,而且最主要的特色是,它用不具有物件功能的纯"C" 語言,模擬物件导向。 所以写起来比较复杂艰涩,而且充满大量巨集,使用和除错都不是很容易,但优点则是可以用 C,不需 C++,如果和Win32 SDK 比較,不会难学多少,缺点是不易上手使用,而且文件比较缺,架构又非常复杂,且提供的东西比起其它无所不包的 library,是简陋了一点,函数命名又臭又长。对于简单的程式,GTK+会显得太复杂,但是当你开始想扩充其它 library 也都沒提供的进阶功能,就会开始赞叹GTK+ 的架构严谨,还有超乎想象的高度弹性。同样的东西要用 MFC 來做反而会要人命,並且对多国語言的支援良好,內部也全面使用 UTF-8,相容性好,又是 unicode。能夠习惯的话,GTK+ 值得推荐,但沒有很建议学,毕竟不好学,要用到熟会需要比較久,而且那样很多 C++ 的功能会用不到。 GTK+ 有 C++ 版本叫做 GTK–,沒用过,但看文件觉得,并沒有比 gtk+ 简单到那里去。 因为 gtk+ 本來就是物件导向,所以即使換了 c++ 語言,写起來架构还是差不多的。 另外,gtk+ 有 Windows 版本,但缺点是,执行缓慢,不稳定,而且界面是使用 gtk+ 自己的,不是使用 Windows 內建的"Native" 原生图形界面,看起来会不太习惯。 Mac OS X 下可用 X11 來執行 gtk+,但那样出來的程式是长得像 UNIX 程式,而不是美美的 OS X Aqua 外观。
2.wxWidgets编程(标准C++)
wxWidgets 和 MFC 最接近,命名习惯或架构都高度相似,会MFC的话几乎不用重新学习。它有十余年历史,此外,它的物件封裝比 MFC 要好,提供的功能也多上太多,又跨平台。一般知名的 MFC 程式都会选择用 wxWidgets 改写,來快速移植原程式到其他平台。例如, eMule 用 wxWidgets 移植出 aMule, xMule, 还在开发中的 Filezilla 3…等。而它最主要的特色是,它是"跨平台"的 “Native” GUI toolkit,在各种平台上都可写出使用该平台內建 Native 原生图形界面的程式。 在 Windows 上就長得跟其他 Windows程式一样,在 Linux 下就使用 gtk+ 的图形界面,在 Mac OS X 下就可以使用华丽的Aqua外观风格,这点是非常強悍。 不像 gtk+ 到其它系統都还是只能用 gtk+ 自己的。缺点是,中文支援在有些地方会出问题,例如剪贴簿的操作,得自己 patch。但仍然相当推荐,即使是个庞大的 library,效能依旧不会太差,尤其在 Windows 上执行速度并不输 MFC,与其学 MFC,不如学wxWidgets。
3.Qt编程(非标准C++)
Qt的功能,应该是这三者加上 MFC 之中最強大的,文件也很完整,又有 RAD 工具可以辅助开发,并且有商业公司做強力后盾。不但有 Windows/X Window/Mac 版本,甚至还有嵌入式系統可用的版本,稳定性还不错,物件封装也算良好,资源比 GTK+ 或wxWidgets 多得非常多,而且发行公司提供了相当多范例,算是一家以开放原始码成功赢利的模范公司。 知名的 KDE整个是用它开发,证明了它的稳定性和強大功能。缺点是如果你用它开发非 GPL 开放程式码的软体,必須以极昂贵的金额,购买商业版本。 而它的图形界面并不完全是 “Native GUI”,只是透过 theme 去模拟系統上的标准 GUI,所以看起來很像,却会有些地方可以明显看出破綻。 执行速度缓慢还有过于庞大则是另一个问题。 虽然封装得很良好文件也齐全,并不代表他就很容易学还有一个严重问题是,它写的不是标准C++,它使用的 signal/slot 机制必須透过 Qt提供的 preprocessor 处理过才可以转送給编译器,这部份可能被限定用 qmake,算是一个可惜的地方,不过暇不掩瑜,还是很推荐。忘了说,它內部也是 unicode,多国语言没问题。
4.tk编程(python)
tkinter是Python下面向tk的图形界面接口库,可以方便地进行图形界面设计和交互操作编程。tkinter的优点是简单易用、与Python的结合度好。tkinter在Python 3.x下默认集成,不需要额外的安装操作学起来和用起来也简单;不足之处为缺少合适的可视化界面设计工具,需要通过代码来完成窗口设计和元素布局。是绑定了Python的Tk GUI工具集就是Python包装的Tcl代码,通过内嵌在Python解释器内部的Tcl解释器实现,Tkinter的调用转换成Tcl命令,然后交给Tcl解释器进行解释,实现Python的GUI界面。对比Tk和其它语言的绑定,比如PerlTk是直接由Tk中的C 库实现的。