树莓派新手入门(转载)

作者:阮一峰

日期:2017年6月15日

一、型号

树莓派是一个迷你电脑,集成在一块电路板。目前,最新的型号有两个。

(1)Raspberry Pi 3代 B 型


(2)Raspberry Pi zero (含 zero w)


后者相对便宜,但是从参数可以看出,后者少了许多接口(比如只有一个 USB 口),CPU 和内存都比较低,配件也少,因此推荐购买第3代的 B 型。以下教程都针对这个型号,部分内容对 zero 也适用。

二、配件

树莓派本身只是一个主机。要运行起来,必须有配件。

(1)电源

Micro USB 接口的手机充电器,就可以充当电源,但输出必须是 5V 电压、至少 2A 电流。充电宝当电源也没问题。

2)Micro SD 卡

树莓派不带硬盘,Micro SD 卡就是硬盘。最小容量8G,推荐使用16G和32G的卡

(3)显示器

树莓派有 HDMI 输出,显示器必须有该接口。如果有 HDMI 转 VGA 的转接线,那么 VGA 显示器也可以。我用的是一个 7 寸的液晶监视器。

不过,显示器只在安装系统时需要,后面可以SSH登录,就不需要了。

(4)无线键鼠

树莓派内置蓝牙,USB 或蓝牙的无线键鼠都可以用。就像显示器一样,如果树莓派已经装好系统,而且只当作服务器,无线键鼠也可以不配。

三、电子元件

除了配件,下面的实验还需要一些电子元件。

(1)面包板(一块)

(2)连接线(若干)

注意,连接线必须一端是公头,一端是母头。

另外,最好也备一些两端都是公头的连接线。

(3)LED 二极管(若干)

(4)270欧姆的电阻(若干)

四、安装系统

如果商家已经装好系统,可以跳过这一步,否则需要自己安装操作系统。

官方提供的操作系统是Raspbian,这是 Debian 系统的定制版。

官方还提供一个安装器NOOBS,建议通过它来安装 Raspbian,相对简单一点。

下载 NOOBS

格式化 Micro SD 卡为 FAT 格式(操作指导)。

解压NOOBS.zip到 Micro SD 卡根目录。

插入 Micro SD 卡到树莓派底部的卡槽,接通电源,启动系统。

正常情况下,按照屏幕上的提示,一路回车,就能装好系统。

五、SSH 登录

安装系统后,树莓派就可以上网了(Wifi 或者网线)。这时,你要看一下它的局域网 IP 地址,可以使用下面的命令。

$ sudo ifconfig

然后,更改系统设置,打开 SSH 登录(默认是禁止的)。

接着,从另一台电脑 SSH 登录树莓派。下面的命令是在局域网的另一台电脑上执行的。

$ ssh pi@192.168.1.5

上面代码中,192.168.1.5是我的树莓派的地址,你要换成你的地址。树莓派的默认用户是pi。

树莓派会提示你输入密码。pi的默认密码是raspberry。正常情况下,这样就可以登录树莓派了。接着,就可以进行各种服务器操作了,比如修改密码。

$ passwd

后面的实验需要将用户加入gpio用户组。

$ sudo adduser pi gpio

上面的代码表示将用户pi加入gpio用户组。

六、安装 Node

为了运行 Node 脚本,树莓派必须安装 Node,可以参考这篇文章

$ curl-sL https://deb.nodesource.com/setup_8.x|sudo-E bash-$ sudo apt install nodejs

正常情况下,Node 8.x 版就已经安装成功了。

$ node-vv8.1.0

七、点亮 LED

树莓派提供了一组对外的 IO 接口,称为 GPIO( 通用 IO 接口,General-purpose input/output)。

它的 40 个脚的定义如下图。

注意,左上角的第1针(3.3V)是一个方块,其他针脚都是圆的。将树莓派翻过来,背后可以看到 GPIO 有一个角是方的,通过这种方法就可以确认哪一个针眼是3.3V。

通过 GPIO ,树莓派可以与其他电子元件连接。下面根据 Jonathan Perkin 的文章,使用树莓派连接 LED 二极管。

这里需要用到面包板。本质上,面包板就是几根导线,上面开了许多可以连到导线的孔。

+极和-极是两根垂直的导线,标着1、5、10这些数字的行,每一行都是一根水平的导线。导线与导线之间互不连接,另外,面包板的左右两半也是互不连接的。

然后,按照下面的图,将树莓派、面包板、LED 灯、电阻连起来。

上图中,红色导线表示电流的正极,从 GPIO 的第1针(3.3V)连到面包板。黑色导线表示电流的负极,从 GPIO

第三排的第6针(ground)连到面包板。它们连到面包板的哪个眼并不重要,但必须保证能组成一个完整的电路(上图的箭头流向)。注意,LED

二极管也有正负极,长脚表示正极,短脚表示负极。电阻没有正负极。

连接完成后,打开树莓派的电源,LED 应该就会亮起来了。

八、LED 控制脚本

下面,我们使用 Node 脚本控制 LED。

首先,将正极的导线从1号针脚(3.3V)拔出,插到第6排的11号针脚(上图的 GPIO 17)。这个针脚的电流是脚本可以控制的。

然后,在树莓派上新建一个实验目录,并安装控制 GPIO 的 Node 模块rpio。。

$ mkdir led-demo&&cd led-demo$ npm init-y$ npm install-S rpio

接着,新建一个脚本led-on.js

// led-on.jsvarrpio=require('rpio');// 打开 11 号针脚(GPIO17) 作为输出rpio.open(11,rpio.OUTPUT);// 指定 11 号针脚输出电流(HIGH)rpio.write(11,rpio.HIGH);

运行这个脚本,应该就会看到 LED 灯泡变亮了。

$ node led-on.js

再新建一个led-off.js脚本,只要改一行(完整代码看这里)。

// led-off.js//...// 指定 11 号针脚停止输出电流(LOW)rpio.write(11,rpio.LOW);

运行这个脚本,LED 灯泡应该就会熄灭了。

$ node led-off.js

有了这两个脚本,让 LED 闪烁就轻而易举了。新建一个led-blink.js脚本。

// led-blink.jsvarrpio=require('rpio');rpio.open(11,rpio.OUTPUT);functionblink(){rpio.write(11,rpio.HIGH);setTimeout(functionledoff(){rpio.write(11,rpio.LOW);},50);}setInterval(blink,100);

上面的脚本让 LED 每秒闪烁10次。

$ node led-blink.js

九、HTTP 服务器

通过控制 LED 可以做很多事,比如架设一个 HTTP 服务器,每当有人访问,LED 就闪烁一下。

首先,在刚才的目录里面装一个服务器模块。

$ npm install-S server

然后,新建一个脚本server.js(完整代码看这里)。

// server.jsvarserver=require('server');var{get}=server.router;// ...server({port:8080},[get('/',ctx=>{console.log('a request is coming...');blink();}),]);console.log('server starts on 8080 port');

运行这个脚本。

$ node server.js

然后,再打开一个命令行终端,访问8080端口,LED 就会闪一下。

$ curl http://localhost:8080

(正文完)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,898评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,401评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,058评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,539评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,382评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,319评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,706评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,370评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,664评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,715评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,476评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,326评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,730评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,003评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,275评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,683评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,877评论 2 335

推荐阅读更多精彩内容