@hzl201
2014-10-20T18:05:20.000000Z
字数 667
阅读 4163
树莓派
shairport
airplay
继电器
音箱
用ipad播放音乐,推送到音箱上,自动开关音箱电源。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import RPi.GPIO as GPIO
import time
import commands
GPIO.cleanup()
# BOARD编号方式,基于BCM
GPIO.setmode(GPIO.BCM)
# 输出模式
GPIO.setup(22,GPIO.OUT)
while True:
#获取shairport的进程数,很奇怪的是单独执行ps -eLf | grep shairport | wc -l会出现3,但经脚本一执行就变成了4,总是加1,很奇怪
res1=commands.getoutput('ps -eLf | grep shairport | wc -l')
res2=float(res1)
if res2 < 5 :
print("led off")
print(res2)
GPIO.output(22,GPIO.HIGH)
else:
print(res2)
print("led on")
GPIO.output(22,GPIO.LOW)
# 延时5S
time.sleep(5)
设置为开机启动
这样,一旦有音乐播放(和连的状态无关),就自动开启,没有则自动关闭,想让它自动开启后,隔1分钟不停止,这样减少选歌时也自动关闭(主要是太灵敏了),可以尝试给else加time.sleep(55)
反应灵敏,超过预期