首先 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: