当前位置:首页 » 网页前端 » 利用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脚本改改,就可以通过手机访问控制开关,实现家庭内的远程控制了。