树莓派简单 GPIO 操做

首先 GPIO 这个东西作过单片机或者 Arduino 开发的会很熟悉很熟悉,且这个也不是什么难的概念,说简单点就是输入模式能够读取某一时刻那个端口是高电平仍是低电平,输出模式能够设置某一时刻那个端口是高电平仍是低电平。在数字电路的世界里都是靠这样的 0 1 按照必定规则的时序来通讯的。php

在树莓派里面毕竟不能单片机或者 Arduino 那样的裸机开发,而是有了操做系统的,因此应该是系统提供能够操做 GPIO 的系统调用,而后有人封装出了好用的库来让各类编程语言来方便的经过 API 来访问 GPIO。python

思路

  • 简单了解树莓派的 GPIO 硬件资源和软件资源react

  • GPIO 世界的 Hello World -> “点灯”linux

  • 怎么和 Flask 之类的 Web 服务器联动git

树莓派的 GPIO

GPIO: Raspberry Pi Models A and B - Raspberry Pi Documentationgithub

  • GPIO * 17编程

  • GND * 5flask

  • 5v * 2api

  • 3.3v * 2服务器

这里有一个网站专门介绍这些 GPIO:5v Power at Raspberry Pi GPIO Pinout,调试的时候能够用做参考。

Hello GPIO

用到了 GPIO 的 Python Quick Reaction Game,已通过了玩这个游戏的年纪了(弄过好屡次了吧,哈哈)。因此直接去点一个灯吧!

那个 RPi.GPIO 系统原本就有,只是不要把 i 的大小写弄错了。

下面的代码成功点亮了:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

led = 4
GPIO.setup(led, GPIO.OUT)

GPIO.output(led, 1)
time.sleep(0.5)
GPIO.output(led, 0)
time.sleep(0.5)
GPIO.output(led, 1)
time.sleep(0.5)
GPIO.output(led, 0)
time.sleep(0.5)
GPIO.output(led, 1)
time.sleep(0.5)
GPIO.output(led, 0)
time.sleep(0.5)

GPIO.cleanup()

准备基础工具

rsync and tmux

大概用一个这样的命令来同步代码:

$ rsync -avz --rsh="ssh" --progress --exclude .git /Users/clip/ved/pi/ pi@172.16.0.7:/home/pi/dev/

用 tmux 来保证那边运行的程序不会由于 SSH 的断开而中止。

GPIO & Flask

这是个人搜索关键字:raspberry pi gpio flask,应该可以找到资源的吧。

找到几个简单的资源,足够用来写 Hello World 了:

参考

有关 GPIO:

相关文章
相关标签/搜索