一、硬件准备
如果你跟我一样用的是树莓派,在开始学习前,请准备几个小东西,便于学习,或提高效率。
以下整理出来的东西在淘宝上都有很多卖家。亦有整合包买。
1、GPIO扩展版
2、GPIO排线
3、各种各样的杜邦线
4、发光二极管和电阻

- 分别买发光二极管和电阻,也可以买途中这种直接串联的
5、37种传感器

- 记得在淘宝店下载驱动和传感器说明哦。
二、软件准备
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| # 先更新软件包 sudo apt-get update & upgrade # 安装WiringPi sudo apt-get install wiringpi # WiringPi安装完成后,可以使用下面的命令测试是否安装成功 sudo gpio -v # 执行后如下 ╭─ ~ [email protected] 22:50:22 ─╮ ╰─❯ sudo gpio -v ─╯ gpio version: 2.61 Copyright (c) 2012-2018 Gordon Henderson This is free software with ABSOLUTELY NO WARRANTY. For details type: gpio -warranty
Raspberry Pi Details: Type: Pi 4B, Revision: 05, Memory: 8192MB, Maker: Sony * Device tree is enabled. *--> Raspberry Pi 4 Model B Rev 1.5 * This Raspberry Pi supports user-level GPIO access.
# 执行gpio readall 可以查看当前gpio口状态 ╭─ ~ [email protected] 22:51:22 ─╮ ╰─❯ gpio readall ─╯ +-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | IN | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | OUT | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | OUT | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+
|
树莓派的物理引脚、BCM引脚和WiringPi引脚是三种不同的定义,下面这张图看起来更清晰美观一些:

当然,这里先不用死记硬背,以后有太多的机会翻出来复习,慢慢都会记得的。
重点记得图中的3.3 Volts、5 Volts和GND的位置。3.3V、5V对应正极,GND对应负极。
另外,我本身的技术栈是Java,理所应当在树莓派上也玩玩Java。