树莓派控制继电器开关

参考链接:https://www.zybuluo.com/hzl201/note/38736

树莓派默认安装了python,所以可以直接用python命令

但是在执行的时候报错没有requests模块

解决办法:

安装easy_install:sudo apt-get install python-setuptools 

安装pip:sudo easy_install pip

最后安装模块:sudo pip install requests

最近发现一个问题:一路继电器没任何效果,还好买了个双路继电器,最终看到了效果

用的是树莓派 PI2, 继电器VCC-pi的VCC,GND->GND,IN1->8号引脚,IN2->10号引脚

利用yeelink平台,最终达到想要的效果:网页或者手机操控,两侧指示灯交替闪烁

贴出代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import RPi.GPIO as GPIO
import time
#程序结束后进行清理
GPIO.cleanup()
# BOARD编号方式,基于BCM
GPIO.setmode(GPIO.BOARD)
# 输出模式
GPIO.setup(8,GPIO.OUT)
GPIO.setup(10,GPIO.OUT)
# 设备URI,填写你的开关URL
apiurl ='http://api.yeelink.net/v1.1/device/19745/sensor/34616/datapoints'
# 用户密码,API KEY,替换成你自己的
apiheaders = {'U-ApiKey':'4800d68be45a943aab95f5cdf196e5fc'}
while True:
#发送请求
  r = requests.get(apiurl,headers=apiheaders)
  # 打印响应内容
  print(r.text)
  # 转换为字典类型
  led = r.json()
  # {'value':x} x=1打开状态,x=0关闭状态
  if led['value'] == 0:
    print(led['value'])
    print("led1 off")
    GPIO.output(8,GPIO.LOW)
    print("led2 on")
    GPIO.output(10,GPIO.HIGH)
  else:
    print(led['value'])
    print("led1 on")
    GPIO.output(8,GPIO.HIGH)
    print("led2 off")
    GPIO.output(10,GPIO.LOW)
  # 延时5S
  time.sleep(5)
#程序结束后进行清理
GPIO.cleanup()


  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值