當前位置:首頁 » 網頁前端 » 利用web控制樹莓派gpio
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

利用web控制樹莓派gpio

發布時間: 2023-02-27 18:07:03

1. 我想用樹莓派控制繼電器,想用WEB控制。但是php代碼沒用,無法調用命令。

python GPIO
1、先安裝python-dev,輸入以下指令。

sudo
apt-get install python-dev

2、安裝RPi.GPIO,依次輸入以下指令。

1)下載:$ wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz

2)解壓縮:$ tar xvzf RPi.GPIO-0.5.3a.tar.gz

3)進入解壓之後的目錄 :$ cd RPi.GPIO-0.5.3a
4)啟動安裝 :$ sudo python setup.py install

3、例子:

[python] view plain
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
# BOARD編號方式,基於插座引腳編號
GPIO.setmode(GPIO.BOARD)
# 輸出模式
GPIO.setup(11, GPIO.OUT)

while True:
GPIO.output(11, GPIO.HIGH)
time.sleep(1)
GPIO.output(11, GPIO.LOW)
time.sleep(1)

4、執行:
sudo python led.py

5、說明:
1)GPIO.setmode(GPIO.BOARD),採用插座引腳編號方式。
2)由於採用插座引腳編號方式,此處的11腳相當於BCM2835寄存器編號方式的引腳11。

python GPIO
1、說明:
WiringPi是應用於樹莓派平台的GPIO控制庫函數,WiringPi遵守GUN Lv3。wiringPi使用C或者C++開發並且可以被其他語言包轉,例如python、ruby或者PHP等。

wiringPi包括一套gpio控制命令,使用gpio命令可以控制樹莓派GPIO管腳。用戶可以利用gpio命令通過shell腳本控制或查詢
GPIO管腳。wiringPi是可以擴展的,可以利用wiringPi的內部模塊擴展模擬量輸入晶元,可以使用
MCP23x17/MCP23x08(I2C
或者SPI)擴展GPIO介面。另外可通過樹莓派上的串口和Atmega(例如arino等)擴展更多的GPIO功能。另外,用戶可以自己編寫擴展模
塊並把自定義的擴展模塊集成到wiringPi中。WiringPi支持模擬量的讀取和設置功能,不過在樹莓派上並沒有模擬量設備。但是使用
WiringPi中的軟體模塊卻可以輕松地應用AD或DA晶元。

2. 如何把兩個樹莓派連接起來當作一個整體使用

樹莓派+sd卡+手機電源:樹莓派網上買的;sd卡相機裡面拆出來的;電源是原來一個手機的,介面通用
5v繼電器:控制有三線的(電源、地、信號)
TendaW311MI小型無線路由
接線若干
方法/步驟
樹莓派接線圖:sd卡、手機電源線、網線、hdmi轉dvi接線連接顯示器、鍵盤
如何用樹莓派Raspberry Pi做一個簡單的控制系統
安裝樹莓派的linux系統:系統到官網下,用工具寫到sd卡裡面(比較簡單網上很多教程)
樹莓派通過有線上網:開始時沒顯示器,買了一條HDMI的轉DVI介面的線,調試了一下,可以上網後,就不用接顯示器了,在家用有線連接路由器,用secureCRT連接區域網ip,就可以登入樹莓派,ping一下外網,基本就通了
樹莓派無線網卡上網:把無線網卡插入usb介面,TendaW311MI免驅動即可識別,修改/etc/network/interfaces信息,把路由器的wpa-ssid和wpa-psk加上,重啟一下系統,基本上無線就能上網了
繼電器:所謂繼電器,就是一種控制開關,用小電壓、小電流設備控制大電壓、大電流的東西。控制端的電源、GND地、信號分別接樹莓派的GPIO的2、6、7介面(控制端最好三線,本來買了一個兩線輸入的聽說可以用,最後還是不敢接。。。),另一端接外接設備,接常開和公共端
編程:下載安裝了python的GPIO庫,然後給出如下控制代碼:
文件run.py
#!/usr/bin/python
#coding: utf8
import sys
import RPi.GPIO as GPIO
PORT=7
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PORT,GPIO.OUT)
if sys.argv[1]=="open":
GPIO.setup(PORT,GPIO.LOW)
elif sys.argv[1]=="close":
GPIO.setup(PORT,GPIO.HIGH)
好了,上面搞定之後,隨便找個東西接一下,然後secureCRT登入樹莓派,
sudo ./run.py open //打開控制設備
sudo ./run.py close //關閉控制設備
如何用樹莓派Raspberry Pi做一個簡單的控制系統
8
使用web.py在樹莓派上面搭一個簡單的web伺服器,把上面的run.py腳本改改,就可以通過手機訪問控制開關,實現家庭內的遠程式控制制了。