树莓派(Raspberry Pi)是基于ARM的微型电脑主板,外形只有信用卡大小,因此也被称为新型卡片式电脑,树莓派具有电脑的所有基本功能,可谓麻雀虽小五脏俱全。而其开发组织Raspberry Pi 基金会更是以“提升学校计算机科学及相关学科的教学质量,让计算机变得有趣”为宗旨,所以热爱IT技术、喜欢折腾的千万不要错过这一神器。

树莓派早期有A和B两个型号,B型的树莓派配置上要高A型一个级别。主要区别在USB接口、网卡的数量、功率、工作电流和运行内存上。甚至日常生活中标准的5V2A移动电源都可以支撑他们正常工作,而最新产出的Raspberry Pi 3更是搭载了64位四核1.2GHz处理器,1GB LPDDR2内存,完全兼容已发布的应用程序。Raspberry Pi 3在无线方面还直接板载了激动人心的802.11n Wi-Fi和蓝牙4.1支持。而供电方面第三代树莓派则需要搭配2.5A的USB充电器。笔者体验的是树莓派B和B+这两块板,通过av或者HDMI可以将图像输出到任何显示器上,接上鼠标和键盘,一台完整的电脑就诞生了。如果你手头上没有闲置的显示器,树莓派板子上预留了一个csi接口的液晶显示屏,通过notro/fbtft这个开源项目,可以完整的实现framebuffer驱动,让树莓派完美支持tft液晶,有没有想起了曾经爱不释手的MP4,现在又被遗忘在哪个角落呢?

我们可以将树莓派看做是一台搭载Linux操作系统的迷你电脑,虽然极客们已经绞尽脑汁的想要把windows 10 x86移植到上面了,但树莓派和Linux才是最配的。出厂默认的树莓派是不带存储设备的,我们需要一张SD卡(B+之后采用体积更小的TF卡),然后通过win32diskimager等磁盘管理工具即可将合适的操作系统烧录到内存卡上,官方提供并推荐的操作系统是基于debian的Raspbian,Raspbian自带了PythonJava等语言的集成开发环境,当然NOOBS也是不错的选择。安装和配置完系统之后我们就可以”为所欲为”了。

我们甚至可以说树莓派无所不能,除了用于日常的编程学习,树莓派的内核在编译时就自带了gpio的驱动,你可以很方便的通过python GPIO、wiringPi、BCM2835 C Library等第三方操作库进行编程和学习。

事实上我对硬件的了解并不多,因此玩的更多是软(黑)科技,当然,要是让我用树莓派实现一个收音机,我想还是可以做到的。笔者对Linux的学习也是在摸索阶段,目前正在学习《Linux就该这么学》这本书中Linux命令的章节,刘老师的书籍是免费公开的,冲着这种共享精神也要给他做下广告,书籍网址是,趁着学习Linux的劲头也写下了这篇技术含量不算高的文章来介绍树莓派的黑科技。

树莓派简而言之有这样两大玩法:一是作为控制中心实现各种"智能机器",在智能设备方面,我们可以通过树莓派实现一台Wifi小车、自制笔记本、智能开关、监控拍摄、甚至智能机器人等。二是发挥其每一块硬件的提供"软"服务,在软服务方面可以通过树莓派搭建个人网站、作为网络存储设备、部署家庭相册、提供WIFI热点、站点监控仪等。

我的其中一块树莓派(Model B+)现正在实验室中服役,作为实验室的NAS(网络附属存储),它主要提供的“软”服务不只是文件的存储,同时还提供了实时备份和同步的功能。采用硬盘架来装载闲置的硬盘,通过高速USB3.0的接口对存储设备的进行读写(性能瓶颈在于网络而不是IO,因此这里没有进行优化)。使用SMABA协议我们可以很方便的在Linux、Windows甚至OS X中对NAS进行访问,通过schedule调度和rsync进行实时增量备份,再配合Shell脚本进行智能判断,实现从远端服务器进行文件的同步。

而我的另外一块树莓派更是久经沙场,曾经一度被当作我的Git仓库,说实话内存有点吃不消,通过Docker进行gogs的安装和部署可以说是最敏捷的git仓库搭建之道。当然后面我还给这位老将带上温度、湿度传感器,通过websocket推送到服务器,然后只需要在手机浏览器或者微信访问页面就能对实验室的温度湿度一览无余了。甚至想过一怒之下用树莓派搭载继电器,通过WEB服务器进行电动门的开关控制,当然出于“安全”着想,我还是放弃了这个危险的想法。

树莓派是我在Linux学习之路上又一件神奇的法宝,通过对它的学习和使用,我对Linux基础掌握和应用能力都得到了不小的提升。同时还挺庆幸自己的学习路线并没有太过曲折,实践之后久而久之,原来用于打基础的《Raspberry Pi用户指南》、《Linux就该这么学》、《玩转树莓派Raspberry Pi》书籍逐渐从教材的作用转变为工具书进行查阅。这篇文章只是出于兴趣爱好,执笔比较仓促,如有盲点还望海涵。当然另外一个目的就是想广而告之:树莓派真的太棒了!

一块神奇的树莓派电子板竟让我学会了Linux系统的更多相关文章

  1. 树莓派学习笔记 1 -- 硬件的需求以及raspbian系统的安装

    树莓派(Raspberry Pi) --  基于Linux系统的大小只有信用卡大小的卡片式机器.  按照发明者的想法,他是想降低学习程序开发的成本而设计制作的这款产品.你可以理解为一个简陋版的电脑.树 ...

  2. 树莓派linux系统连接windows7系统中的共享文件夹的正确姿势

    一.要想使用树莓派linux成功访问win7的共享文件夹而不报错,最重要的事情是要正确设置win7中共享文件的设置. 1.需要共享文件点击右键→属性 2.共享选项卡→网络和共享中心 3.点开公用下拉菜 ...

  3. 树莓派与Linux系统之间文件传输

    最近因为要学习Python,于是把放在家里接了一年灰的树莓派又给搜出来了,刚买那会也捣鼓了好一阵子, 基本操作都学会了,但现在又忘光了,只能又从头开始搞了,首先第一个要解决的是怎么把文件从电脑传输到树 ...

  4. 树莓派学习笔记(2):常用linux命令

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 1.ls命令:列出文件目录的常用命令,主要参数见下表. -a 列出目录下的所有文件,包括以.开头的隐含文件. -b ...

  5. SpringBoot2.1电商通用(微信+支付宝)支付系统实战

    『课程目录』: ├─第10章 全模块电商系统之商品模块 │      10-1_商品列表-上.mp4 │      10-2_商品列表-中.mp4 │      10-3_商品列表-下.mp4 │  ...

  6. 夏日葵电商:连锁零售店小程序o2o系统解决方案

    公众平台"附近小程序"功能上线后,一个主体账号可以同时绑定N+个门店,这对连锁零售店铺来说是重磅福利呀,无论你是通过搜索还是线下扫码进入小程序,线上与线下都完全贯通了,线上多种入口 ...

  7. Raspberry Pi(树莓派)上从零开始构建Linux系统(简称PiLFS)(一)

    一. 准备工作 1. 装有Linux宿主系统的树莓派主板,可参考 Raspberry Pi(树莓派)上安装Raspbian(无路由器,无显示器) 2. 参考网址:Linux From Scratch ...

  8. 树莓派3b+_32位linux系统arm架构安装JDK

    如图我的Raspbian系统如下图版本信息: 可以看到是armv7l,我查了一下是32位的arm架构,即下载第一个就好了 然后用SSH Secure Shell远程上去把压缩包或者解压后的文件传过去 ...

  9. 新加了一块硬盘,在bios中可以看的到,在系统的磁盘管理器中看不到新加硬盘

    今天新加了一块硬盘,进入bios中可以看到新加的硬盘,但是进入系统后在磁盘管理及磁盘驱动器中都看不到.并且在设备管理器下其他设备出现了ATA channel1,前面显示感叹号,如下图所示: 而且电脑变 ...

随机推荐

  1. sprint演示

  2. 如何关闭windows电脑的开机自启程序

    很多时候我们打开电脑会发现,莫名其妙的出现一些已经在运行的程序了,这都是一些开机自启的软件之类的.可能你的电脑配置本来就不怎么高,开机还这样,那估计会很卡顿,那有什么方法可以关闭这些开机自动启动的程序 ...

  3. 十五、Java基础---------集合框架体系以及List

    在介绍集合之前先说一下数组,正如我们所知,数组是某一类型数据的集合,强调的是数据,而且必须单一:集合框架的不同之处在于存储的数据类型没有任何限制,既可以存储基本数据类型(会自动提升为相应的包装类)也可 ...

  4. [转] ubuntu开启SSH服务

    点击阅读原文 SSH分客户端openssh-client和openssh-server如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo ...

  5. Shadow Zhang PGPool 配置错误定位 s_do_auth: expecting R got E

    自从按照教程 http://www.pgpool.net/docs/latest/pgpool-zh_cn.html#hba配置好PGPool以后,每次启动 pgpool -c -n -D 都报 s_ ...

  6. 错误,这个如何解决呢?内存溢出的问提。把JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 还是不行

    java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at ja ...

  7. iframe显示错误页面

    当系统出现异常时,ifrme中显示的内容为错也页面,而不是罪顶层的框架显示错误内容,此时的解决办法是在错误页面或相关的登录页面中加入 错误页面加载的JS如下 <script type=" ...

  8. spark配置

    -Dspark.master=local -Xms128m -Xmx512m -XX:MaxPermSize=300m -ea

  9. HDU3333 Turing Tree 树状数组+离线处理

    Turing Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  10. 设置MySQL自动增长从某个指定的数开始

    自增字段,一定要设置为primary key. 以指定从1000开始为例.1 创建表的时候就设置: CREATE TABLE `Test` ( `ID` int(11) NOT NULL AUTO_I ...