树莓派(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. Ubuntu 安装BCM 43142无线网卡驱动

    ubuntu14.04 安装 bcm43142无线网卡 用命令lspci 查看无线网卡类型 然后下载对应的无线网卡驱动. 之后,使用下列命令安装,即可搜索无线热点了: sudo apt-get ins ...

  2. elasticsearch基础

    elastic使用lucene建立索引的步骤中,需要文件系统缓存需要同步到磁盘上.(多个segment->commit文件来维护) 当建立历史数据时,并不要求太高的实时性时,可以减小(默认1s) ...

  3. checkbox的单选全选,反选,计算价格,删除

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  4. Asp.net MVC进入请求管道的过程

    Asp.net MVC进入请求管道的过程 Asp.Net MVC 跟AspNet 入口解释 Asp.Net MVC请求处理过程 mvc 请求模型 mvc的原理 mvc模型 NewMVCPipleLin ...

  5. tp-link便携式路由器固件升级方式

    系统: win-7 32bit 关闭杀毒软件,关闭防火墙(保险起见) 各位从tp-link的官网下载自己对应的固件 http://www.tp-link.com.cn/product/list_por ...

  6. SQL获取第一次出现指定字符前的内容

    update Food set FoodTitle=cast(SUBSTRING(FoodTitle,0,PATINDEX('%的%',FoodTitle)) as nvarchar),FoodCod ...

  7. sql按时间段汇总

    select dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,CreateOn),120),dateadd(ss,-1,Create ...

  8. Script 语言的简单练习题 乘法口诀

    <script>for(var i=1;i<=9;i++){ for(var k=1;k<=i;k++) { document.write(k+"x"+i+ ...

  9. CSS中的浮动问题

    有关于我们经常做的导航问题.我们如果想用ul>li来做导航的话,我是一般是用到浮动这个属性的. 也就是 float:left; 或者是 display:inline-block;  下边代码: ...

  10. Asp.net 头像的简单实现

    1:创建数据库 Create Table ImageSave ( ID ,), Name ), img image ) 2:上传照片页关键代码 前台: <div> <asp:File ...