树莓派控制继电器开关

参考链接: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()


你可能感兴趣的:(树莓派,python)