[关闭]
@hzl201 2014-10-20T18:05:20.000000Z 字数 667 阅读 4163

树莓派安装shairport成为音频airplay,自动开关音箱

树莓派 shairport airplay 继电器 音箱


目标

用ipad播放音乐,推送到音箱上,自动开关音箱电源。

步骤

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import requests
  4. import RPi.GPIO as GPIO
  5. import time
  6. import commands
  7. GPIO.cleanup()
  8. # BOARD编号方式,基于BCM
  9. GPIO.setmode(GPIO.BCM)
  10. # 输出模式
  11. GPIO.setup(22,GPIO.OUT)
  12. while True:
  13. #获取shairport的进程数,很奇怪的是单独执行ps -eLf | grep shairport | wc -l会出现3,但经脚本一执行就变成了4,总是加1,很奇怪
  14. res1=commands.getoutput('ps -eLf | grep shairport | wc -l')
  15. res2=float(res1)
  16. if res2 < 5 :
  17. print("led off")
  18. print(res2)
  19. GPIO.output(22,GPIO.HIGH)
  20. else:
  21. print(res2)
  22. print("led on")
  23. GPIO.output(22,GPIO.LOW)
  24. # 延时5S
  25. time.sleep(5)

设置为开机启动

这样,一旦有音乐播放(和连的状态无关),就自动开启,没有则自动关闭,想让它自动开启后,隔1分钟不停止,这样减少选歌时也自动关闭(主要是太灵敏了),可以尝试给else加time.sleep(55)

调试

总结

反应灵敏,超过预期

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注