树莓派论坛

 找回密码
 立即注册

实现树莓派通过YEElink控制继电器

shakugan9291 发表于 2015-3-20 20:58:49 | 显示全部楼层 |阅读模式
只要达成这样的效果就行了,内有视频
http://blog.csdn.net/qigenhuochai/article/details/17661845

由于Yeelink平台的更新,此方法已经不行了,求大神能设计下
由于本人在国外,设备都有,只需要代码以及教程就行了,学生党希望价格不要太高,也感觉这个对大神来说并不难
无名族 发表于 2015-3-26 21:00:21 | 显示全部楼层
shakugan9291 发表于 2015-3-20 20:59
补充:最好是通过PYthon实现,非常感谢!

前几天买了个继电器,搞了下,代码贴下,连接12引脚,10秒监听一次。python需要requests模块。
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import RPi.GPIO as GPIO
  4. import requests
  5. import json
  6. import time

  7. def main():
  8.     GPIO.setwarnings(False)
  9.     GPIO.setmode(GPIO.BOARD)
  10.     GPIO.setup(12, GPIO.OUT)
  11.     GPIO.setup(12, GPIO.OUT)
  12.     #GPIO.output(12, GPIO.HIGH)
  13.     while True:
  14.         print u'监听开关状态...'
  15.         status()
  16.         time.sleep(10)
  17.         #GPIO.output(12, GPIO.HIGH)
  18.         #time.sleep(1)
  19.         #GPIO.output(12, GPIO.LOW)
  20.         #time.sleep(1)
  21.         
  22. def status():
  23.     apiurl = 'http://api.yeelink.net/v1.1/device/****/sensor/****/datapoints'
  24.     apiheaders = {'U-ApiKey': '************************', 'content-type': 'application/json'}
  25.     tmp = requests.get(apiurl, headers=apiheaders)
  26.     switch = tmp.json()
  27.     #print switch
  28.     if switch['value'] == 1:
  29.         print("开关打开...")
  30.         if (GPIO.input(12) == 0):
  31.             GPIO.output(12, GPIO.HIGH)
  32.     else:
  33.         print("开关关闭...")
  34.         if (GPIO.input(12) == 1):
  35.             GPIO.output(12, GPIO.LOW)
  36.    
  37. if __name__ == '__main__':
  38.     main()

复制代码
shakugan9291  楼主| 发表于 2015-3-20 20:59:31 | 显示全部楼层
补充:最好是通过PYthon实现,非常感谢!
树老大 发表于 2015-3-20 23:40:39 | 显示全部楼层
有时间的大神,帮一帮哦。
shakugan9291  楼主| 发表于 2015-3-27 07:57:21 | 显示全部楼层
无名族 发表于 2015-3-26 21:00
前几天买了个继电器,搞了下,代码贴下,连接12引脚,10秒监听一次。python需要requests模块。

非常感谢你的帮助!
shakugan9291  楼主| 发表于 2015-4-12 05:28:28 | 显示全部楼层
无名族 发表于 2015-3-26 21:00
前几天买了个继电器,搞了下,代码贴下,连接12引脚,10秒监听一次。python需要requests模块。

不好意思,还要麻烦你一下,我在试验时出了个问题,具体情况是:程序运行时,在网页打开开关后,程序也确实收到了开的状态,但是继电器却没灯亮,在网页开关关了后,程序也收到了关的状态,表现却是灯凉一下就灭了。请问我是不是哪里出了问题?谢谢!
无名族 发表于 2015-4-14 15:02:57 | 显示全部楼层
shakugan9291 发表于 2015-4-12 05:28
不好意思,还要麻烦你一下,我在试验时出了个问题,具体情况是:程序运行时,在网页打开开关后,程序也确 ...

根据描述推断,你的继电器可能是低电平触发,你所说的灯是否是LED,如过是LED需要在正极串联合适的电阻来限制电流,否则会因电流过大烧掉。
shakugan9291  楼主| 发表于 2015-4-15 03:47:46 | 显示全部楼层
无名族 发表于 2015-4-14 15:02
根据描述推断,你的继电器可能是低电平触发,你所说的灯是否是LED,如过是LED需要在正极串联合适的电阻来 ...

你好,请问低电平触发的话是不是小改下代码就行了?还需要注意些什么吗?
灯是指继电器上的指示灯,还没有连LED,谢谢您的提醒
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 树莓派论坛 ( 粤ICP备15075382号-1 )