Raspberry精要
(→树莓派精要) |
(→GPIO命名规范) |
||
| (未显示1个用户的11个中间版本) | |||
| 第1行: | 第1行: | ||
| − | == | + | ==更改键盘布局== |
| − | + | ||
| + | 默认是英国布局 @符号被定义为“, 很不方便。 通常设置键盘布局的方法都不管用。 是因为少了下面的两个命令。 | ||
| − | + | sudo setxkbmap -layout us | |
| + | sudo udevadm trigger --subsystem-match=input --action=change | ||
| − | + | ||
| + | |||
| + | == 在数梅派安装Arduino IDE == | ||
| + | |||
| + | |||
| + | 只需要简单的安装arduino, 即可将数梅派作为一个开发机来用了. | ||
| + | |||
| + | |||
| + | sudo apt-get update | ||
| + | sudo apt-get install arduino | ||
| + | |||
| + | |||
| + | *raspbain的arduino IDE版本略低, 支持UNO没有问题,更新的 Leonardo 和 Due也许还不支持. | ||
==修改VNC链接分辨率== | ==修改VNC链接分辨率== | ||
| + | |||
| + | Raspberry config管理可以方便的安装配置VNC server,只是默认的VNC 分辨率有点低,在网络环境好的情况下可以设置更高的分辨率,以使操作舒适. | ||
<source lang=bash> | <source lang=bash> | ||
| 第18行: | 第33行: | ||
</source> | </source> | ||
| + | ==数梅派GPIO引脚定义== | ||
| + | [[文件:Raspberry-pi-pinout.png|right|640px]] | ||
| − | == | + | 右图所示为Pi2,Pi3引脚的BCM定义 |
| + | |||
| + | 各个版本详细的GPIO引脚定义参考: | ||
| + | |||
| + | |||
| + | [[Raspberry]] 树莓派各个版本的引脚定义 | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==GPIO命名规范== | ||
[[文件:Gpio-readall.JPG|right]] | [[文件:Gpio-readall.JPG|right]] | ||
| − | + | 不同的软件库对数梅派的GPIO管角命名是不同的. | |
| − | |||
| − | + | 硬件标注, Python, 命令行各有一套自己的命名和编号规则. | |
| − | + | ||
| + | 在命令行工具 gpio 是很有用的一个工具。能给出各种命名的映射关系。 | ||
| + | |||
| + | |||
| + | 而gpio 命令自己所采用的命名规范是Name一列所列出d名字 | ||
| + | |||
| + | |||
| + | 扩展板和硬件标注, 多采用BCM命名规范. | ||
==树莓派LED blink== | ==树莓派LED blink== | ||
| + | |||
| + | [[文件:Led-blink.png|top|480px]] | ||
将一个led串接330欧姆电阻,接物理引脚(就是2x40排针)的11脚(GPIO.0, BCM P17)和3脚(GND) | 将一个led串接330欧姆电阻,接物理引脚(就是2x40排针)的11脚(GPIO.0, BCM P17)和3脚(GND) | ||
| 第79行: | 第117行: | ||
</source> | </source> | ||
| + | |||
| + | ==GPIO复用情况== | ||
| + | |||
| + | [[文件:Rp23 pinout.png|right|640px]] | ||
| + | |||
| + | 有几个GPIO复用的情况, 或者是linux系统占用了,或者是板载设备占用了GPIO, 会导致GPIO工作异常. | ||
| + | |||
| + | |||
| + | *OneWire 占用GPIO.4 (物理引脚7) | ||
| + | 如果oneWire设备打开, 则GPIO.7会被占用,导致这个口无法使用. 可以用rasp-config关闭. | ||
| + | |||
| + | *串口被用做系统控制台 | ||
| + | 物理口 8, 10 是UART0, 很多情况下可能被Linux. 参考 [[树莓派实战GPRS]] 释放UART端口. | ||
| + | |||
| + | *启用树梅派第二个SPI设备 | ||
| + | [http://librpip.frasersdev.net/peripheral-config/spi1-aux/ 使能SPI1] | ||
| + | |||
| + | 此设备和RPi3 B+的蓝牙有冲突, 需要禁用板载蓝牙. 参考 [https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=146291 禁用蓝牙] | ||
| + | |||
| + | *触摸屏 | ||
| + | 如果是DSI接口的屏幕, 则不会占用GPIO资源. 其他接口的屏幕多使用SPI/I2C, 会和GPIO冲突. | ||
| + | |||
| + | [https://www.element14.com/community/docs/DOC-78156/l/raspberry-pi-7-touchscreen-display DSI接口element14教程] | ||
| + | |||
| + | *摄像头接口 | ||
| + | 树梅派摄像头是CSI 接口, 和GPIO不冲突. | ||
| + | |||
| + | |||
| + | *Pin功能复用表 | ||
| + | |||
| + | [https://elinux.org/RPi_BCM2835_GPIOs#GPIO0 GPIO复用表] | ||
==树莓派典型项目攻略== | ==树莓派典型项目攻略== | ||
2017年11月16日 (四) 10:08的最后版本
目录 |
[编辑] 1 更改键盘布局
默认是英国布局 @符号被定义为“, 很不方便。 通常设置键盘布局的方法都不管用。 是因为少了下面的两个命令。
sudo setxkbmap -layout us sudo udevadm trigger --subsystem-match=input --action=change
[编辑] 2 在数梅派安装Arduino IDE
只需要简单的安装arduino, 即可将数梅派作为一个开发机来用了.
sudo apt-get update sudo apt-get install arduino
- raspbain的arduino IDE版本略低, 支持UNO没有问题,更新的 Leonardo 和 Due也许还不支持.
[编辑] 3 修改VNC链接分辨率
Raspberry config管理可以方便的安装配置VNC server,只是默认的VNC 分辨率有点低,在网络环境好的情况下可以设置更高的分辨率,以使操作舒适.
vncserver -geometry 1280x800 -depth 16 #命令运行完毕给出一个编号, VNCview内用这个编号连接即可,如果返回1则 vncviewer 192.168.1.209:1
[编辑] 4 数梅派GPIO引脚定义
右图所示为Pi2,Pi3引脚的BCM定义
各个版本详细的GPIO引脚定义参考:
Raspberry 树莓派各个版本的引脚定义
[编辑] 5 GPIO命名规范
不同的软件库对数梅派的GPIO管角命名是不同的.
硬件标注, Python, 命令行各有一套自己的命名和编号规则.
在命令行工具 gpio 是很有用的一个工具。能给出各种命名的映射关系。
而gpio 命令自己所采用的命名规范是Name一列所列出d名字
扩展板和硬件标注, 多采用BCM命名规范.
[编辑] 6 树莓派LED blink
将一个led串接330欧姆电阻,接物理引脚(就是2x40排针)的11脚(GPIO.0, BCM P17)和3脚(GND)
直接采用gpio命令
gpio mode GPIO.0 out gpio write GPIO.0 1 gpio write GPIO.0 0 gpio blink GPIO.0
采用python
import RPi.GPIO as GPIO
import time
LedPin = 11 # pin11
def setup():
GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO.setup(LedPin, GPIO.OUT) # Set LedPin's mode is output
GPIO.output(LedPin, GPIO.HIGH) # Set LedPin high(+3.3V) to turn on led
def blink():
while True:
GPIO.output(LedPin, GPIO.LOW) # led on
time.sleep(0.5)
GPIO.output(LedPin, GPIO.HIGH) # led off
time.sleep(0.5)
def destroy():
GPIO.output(LedPin, GPIO.LOW) # led off
GPIO.cleanup() # Release resource
if __name__ == '__main__': # Program start from here
setup()
try:
blink()
except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the child program destroy() will be executed.
destroy()
[编辑] 7 GPIO复用情况
有几个GPIO复用的情况, 或者是linux系统占用了,或者是板载设备占用了GPIO, 会导致GPIO工作异常.
- OneWire 占用GPIO.4 (物理引脚7)
如果oneWire设备打开, 则GPIO.7会被占用,导致这个口无法使用. 可以用rasp-config关闭.
- 串口被用做系统控制台
物理口 8, 10 是UART0, 很多情况下可能被Linux. 参考 树莓派实战GPRS 释放UART端口.
- 启用树梅派第二个SPI设备
此设备和RPi3 B+的蓝牙有冲突, 需要禁用板载蓝牙. 参考 禁用蓝牙
- 触摸屏
如果是DSI接口的屏幕, 则不会占用GPIO资源. 其他接口的屏幕多使用SPI/I2C, 会和GPIO冲突.
- 摄像头接口
树梅派摄像头是CSI 接口, 和GPIO不冲突.
- Pin功能复用表