树莓派入门

树莓派入门(控制LED灯)

author: 刘真真

写在前面:树莓派是基于Linux的迷你主机,但功能完善,且预留了很多IO口给开发者扩展,比单片机的功能强大不少,可以将Python程序移植到树莓派上。本文简单介绍了新手如何使用树莓派和利用树莓派点亮一个LED灯。

一、板载资源+配件

树莓派是迷你主机,集成在一块电路板上。其型号为Rsspberry Pi 三代B型

电源 :Micro USB 接口的手机充电器,输出5V2A

Micro SD卡 :充当硬盘功能,大小最好在8G以上。

显示器:HDMI接口的显示器,需要屏幕则接

键盘:树莓派内置蓝牙,USB或蓝牙的无线键盘都可以用。需要时则配。

二、电子元件

1、面包板

2、一段公头一端母头的杜邦线

3、LED二极管

4、1K的电阻

三、安装系统

1、下载树莓派系统

网址: https://www.raspberrypi.org/downloads/

选择需要的系统即可。这里我们选择树莓派官方的系统,预装了桌面和部分软件,如下图箭头所指。如果有一定的开源系统使用经验,可以选择最为轻量的只有操作系统的裸机。

15476266472172、将SD卡格式化

​ 直接在文件资源管理器中将SD卡格式化即可

3、下载将系统导入内存卡的工具etcher

安装成功后打开,首先选择下载好的系统镜像文件,然后选择树莓派内存卡,点击Flash

注意:在此过程中如果提示不可识别文件系统或者要格式化,直接点X关闭即可。

flash完成后,将内存卡取下插入树莓派,开机即可查看新系统!

四、SSH登录

安装系统之后,选择树莓派联网方式,树莓派有网线接口和WiFi芯片,用WiFi上网更加方便。在打开新系统时,搜索局域网输入密码即可。用SSH将电脑和树莓派系统连通,首先打开树莓派的SSH功能,在命令行输入:

1
sudo raspi-config

得到如下的设置

1547627677450

进入第五项Interfacing Options,然后选择SSH

1547627761105

使能SSH即可。电脑和树莓派连接同一个路由器,在浏览器访问路由器的IP(192.168.1.1),查看树莓派的IP地址为192.168.1.101。在客户端输入树莓派的用户名 pi 和密码 123456:

1
ssh pi@192.168.1.101

与树莓派建立连接。

五、远程桌面

为了更加方便地操作树莓派,安装远程桌面。打开树莓派终端,输入

1
sudo apt-get install xrdp

等待安装完成。

打开电脑的远程桌面

1547628303536

输入树莓派的IP地址,远程桌面操作,用户名pi, 密码123456,连接成功:

1547628392756

六、点 亮 LED

树莓派提供了一组通用IO口,称为GPIO。40个引脚的定义与板上引脚资源对应如下

1547629540606

1547644021189

将树莓派和电子元器件连起来。注意二级管的正负极。正极接3.3V,负极通过电阻接地,可以看到二极管亮了。下面使用Node脚本控制LED。

首先,将接地的导线从GND针脚拔出,接到GPIO0.0即11号引脚。注意,3.3V的针脚是是有标识的为方的,其他针脚都是圆的。代码如下:

1
2
3
4
5
6
7
8
9
10
11
var rpio = require('rpio')
rpio.open(11, rpio.OUTPUT)

function blink(){
rpio.write(11, rpio.HIGH);
setTimeout(function ledoff(){
rpio.write(11, rpio.LOW);
},50);
}

setInterval(blink, 100);

node.js稍作尝试,接下来轮到主角python出场了,Linux系统中很多功能是通过python实现的,且内嵌了python,无需安装,与python的兼容性极好,所以尝试用Python使LED闪烁。

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/python
#author:lzz
import RPi.GPIO as GPIO
import time

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)#BCM和BOARD两种命名模式
GPIO.setup(11, GPIO.OUT)

while True:
GPIO.output(11, GPIO.HIGH)
time.sleep(0.05)
GPIO.output(11, GPIO.LOW)
time.sleep(0.05)

GPIO.cleanup()

程序逻辑:

1、导入GPIO的包

2、导入与时间包

3、设置GPIO针的命名方式,可用的有GPIO.BCM和GPIO.BOARD,分别代表boardcom命名系统和树莓派板子上的命名系统。

4、将引脚11设置为输出

5、控制引脚11的电平高低变换

6、清除掉之前RPi.GPIO.setup()设置的状态。退出程序前一定要调用,否则下次调用会出错。