首先,说明一点,我基本上来说就是个电路白痴,在学习考试从来没及格过。奈何一个软件工程师总是与硬件也有着不解的情缘。毕竟硬件是躯干,软件是灵魂,二者总是不可分割的。所以,前几天实在是没忍住入手了一台树莓派,想着先学着,一边看一边学,同时做做笔记。有空的时候我就把它整理出来放到博客上来。一是希望和我一样想要学习树莓派,但是却在软件或者硬件的某一个方面欠缺的同学能够从中获益,二也是希望能够以此鞭策自己每天都能够学习那么一点硬件的知识。好了,废话不多说,这就开始。
一、什么是树莓派
网上都说树莓派就是一台电脑,这么说没错,但是我还是想给它加一些限定。首先来说,树莓派是基于ARM架构的电脑。使用的是精简指令集,所以有些软件在树莓派上并不能运行,虽然现在很多软件都提供了ARM版,但是我还是要在这里给大家提个醒。一些特殊的任务,最好先调查一下有没有ARM版的软件,别买回来树莓派却办不成。比如我昨天打算在树莓派上面搭建一个CI的平台,后来发Android SDK的工具竟然不能在树莓派上运行,可惜可惜。
二、什么是GPIO
General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。(百度的,别砍我)。
这张图不错,一定要收藏,这是树莓派2B的接口图,到时候忘记了,到这里查就好。
三、点亮一盏LED灯
下面要说点亮LED的事儿了,硬件的世界里,点亮一盏LED就想编程时的Hello World一样,入门必备。
LED灯接一个200欧姆的电阻。
然后接上线,根据上面的引脚图,一个脚接VCC 3.3V的那个脚,一个接GND,然后不出意外地,小灯亮啦!
当然上面这个例子对于树莓派来说还算不上Hello World,所谓一台有“芯”的计算机,怎么可以没有对灯的控制权呢?!下面我们就来实现对灯的亮灭的控制操作。
四、控制一盏LED灯
因为我是做Java开发的,所以就不耽搁时间去研究用别的语言怎么实现控制GPIO了,像是python也能对GPIO很好的进行控制。其实万变不离其宗,都是将对GPIO驱动的模块封装了而已。
如果需要使用java操作GPIO,首先我们需要下载Pi4J,官网是http://pi4j.com/
SSH远程登录你的树莓派:
执行下面的命令
curl -s get.pi4j.com | sudo bash
注意看提示,别一会儿又找不着位置了。
写个测试程序测试一下:
使用如下命令编译:
javac -classpath .:classes:/opt/pi4j/lib/'*' -d . FirstTest.java
运行:
注意运行时也需要库文件的支持,否则会提示ClassNotFoundException: com.pi4j.io.gpio.GpioFactory。
此时大家应该能看到灯在一闪一闪亮晶晶了。
至此,开山篇就结束了,请大家耐心等待我的第二集内容,谢谢~