java实现控制继电器_树莓派一键控制gpio继电器模块脚本

树莓派2打算拿来控制继电器模块,用于控制电器,看网上大多数都是Python脚本或者java控制,本人不是太懂,用最基本的方法写了一下shell一键控制脚本,新手的话具体shell控制可以看一下下面这篇文章,了解下命令内容,在来看一下这个一键控制脚本。

树莓派gpio端口说明

21e20925473d9c37019e4dea7e098d1c.png

根据说明图连接好继电器,应该有说明,继电器的vcc连接5v接口,gnd连接gnd就好,in1-in4连接gpio端口就好了,连接哪个端口自己记住一下就行了。稍后控制的时候会用到。

5b62a84c2a2b1a28e976cbaf24309540.png

899b4076632898a51097f17db81dfd27.png

下面是控制脚本,大家可以了解一下

#!/bin/sh

### BEGIN INIT INFO

# Provides: gpiokz

# Required-Start:

# Required-Stop:

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: gpiokz

### END INIT INFO

# 进入GPIO目录

cd /sys/class/gpio

# 使GPIO{port}从内核空间暴露到用户空间中 执行该操作之后,该目录下会增加一个gpio{port}文件

echo "$1" > export

# 进入GPIO{port}目录,该目录由上一步操作产生

cd gpio"$1"

case "$2" in

on|ON|1)

# 设置GPIO{port}为输出模式

echo out > direction

# 向value文件中输入1,GPIO输出高电平

echo 1 > value

;;

off|OFF|0)

# 设置GPIO{port}为输出模式

echo out > direction

# 向value文件中输入0,GPIO输出低电平

echo 0 > value

;;

*)

echo "Usage: /etc/init.d/gpiokz {GPIO port} {on|off}"

;;

esac

# 返回上一级目录

cd ../

# 注销GPIO{port}接口

#echo "$1" > unexport

#exit

控制脚本一般来说都是sh文件,运行的时候运行 sh  xxx.sh 但是这个控制稍麻烦一下,所以这里保存为gpiokz文件,上传到 /etc/init.d/gpiokz 里面,运行的时候 /etc/init.d/gpiokz 6 1 这样就好了,因为继电器不同,有的输入低电平有效,有的输入高电平,所以上面的on 和off不一定准确,可以根据自己的情况改一下,也可以直接用1或者0,1为高电平,0为低电平。还有一点保存文件时注意保存为linux格式,windows格式执行不了,下面提交下载地址,直接下载就好了。

下载地址:gpiokz  因为上传限制,压缩了,下载后解压一下就好了。

/etc/init.d/gpiokz 端口 状态

/etc/init.d/gpiokz 6 1 //6为gpio6 1为高电平

/etc/init.d/gpiokz 6 on //6为gpio6 on为开,根据自己情况修改脚本

这样控制还是长了点,所以做个链接链接到/bin/目录了,以后就可以直接运行 gpiokz 6 1 这样就可以了,也可以把这个文件上传到/bin/目录,但是这样一旦修改,两个文件都需要重新长传,做链接的话只需要修改/etc/init.d/gpiokz这个文件就好了

ln -s /etc/init.d/gpiokz /bin/gpiokz

链接好之后可以简单执行命令行就好了

gpiokz 端口 状态

gpiokz 6 1 //6为gpio6 1为高电平

gpiokz 6 on //6为gpio6 on为开,根据自己情况修改脚本

6de85caa5c993a0991c7bd3cf7a0a1ed.png

下面就是网页控制了。这样控制还是需要输入命令,没有电脑不方便,所以网页控制还是比较简单。稍后会写的

作者:anenv,如若转载,请注明出处:https://www.anenv.com/679.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部