首先 GPIO 这个东西作过单片机或者 Arduino 开发的会很熟悉很熟悉,且这个也不是什么难的概念,说简单点就是输入模式能够读取某一时刻那个端口是高电平仍是低电平,输出模式能够设置某一时刻那个端口是高电平仍是低电平。在数字电路的世界里都是靠这样的 0 1 按照必定规则的时序来通讯的。php
在树莓派里面毕竟不能单片机或者 Arduino 那样的裸机开发,而是有了操做系统的,因此应该是系统提供能够操做 GPIO 的系统调用,而后有人封装出了好用的库来让各类编程语言来方便的经过 API 来访问 GPIO。python
简单了解树莓派的 GPIO 硬件资源和软件资源react
GPIO 世界的 Hello World -> “点灯”linux
怎么和 Flask 之类的 Web 服务器联动git
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,调试的时候能够用做参考。
用到了 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 的断开而中止。
这是个人搜索关键字:raspberry pi gpio flask
,应该可以找到资源的吧。
找到几个简单的资源,足够用来写 Hello World 了:
Serving Raspberry Pi with Flask - Matt Richardson, Creative Technologist
Make an Internet Controlled Lamp with a Raspberry Pi and Flask
把 GPIO 作成了 RESTful API,能够参考,raspberrypi-gpio-api
有关 GPIO: