树莓派 airplay shairport-sync 改造书架音箱 无线 实现自动通断电

2019-02-27 13:32:13 11点赞 46收藏 10评论


前言

之前看了品胜airplay的文章以后萌生了改老的漫步者音箱为无线的想法。35块钱入手,测试了一下,有下面几个痛点:

  1. 无线桥接状态下只能把手机连到品胜wifi下才能airplay,有一定几率会失败。

  2. 有线连接到局域网之后,手机能找到airplay,但是没有办法投放。

  3. 改造成无线以后还得手动控制音箱电源,有点麻烦。

于是想到了自己还有一个跑着hass的树莓派,正好接在书架上。

很容易就找到了教程,安装好之后感觉音质也还过得去。但是还有一个问题,还是得手动给音箱通断电。

需要安装教程的直接到最后。

开始折腾

看了以下安装的插件shairport-sync,c语言写的。树莓派可以通过wiringPi控制gpio pin的高低电平。理论上只要在shairport-sync代码里面找到airplay连接和断开的地方,插入调用wiringPi的代码就可以实现airplay连接输出高电平,airplay断开输出低电平。手头上刚好有个继电器,开搞。

虽然大学时候c语言拿的满分,但是写了那么多年java几乎不记得c了。最简单的办法就是看日志,airplay连接断开肯定有日志:

cd /usr/local/bin/

./shairport-sync start -vv

开启日志输出,发现连上以后总有这一句:

New RTSP connection from [xxxx:f772:904:0:e516:9d46:c35:f78f]:56734 to self at [xxxx:f772:904:0:64f3:36a7:4d32:c28f]:5000 on conversation thread 1.

断开的时候的日志:

Connection 1: RTSP thread terminated.

研究了一下rtsp.c首先写一个初始化wiringPi的方法,在shairplay服务启动的时候初始化:

初始化wiringPi初始化wiringPi

接下来就很简单了,通过日志关键字找到airplay连接时候代码的位置:

在后面加上gpio输出高电平的代码在后面加上gpio输出高电平的代码

找到airplay断开连接的日志:

在后面加上gpio输出低电平的代码在后面加上gpio输出低电平的代码

gpio readall 查看gpio端口,可以看到gpio pin1 对应物理端口12,顺便可以看到物理端口1是acc 14是gnd,后面接继电器会用到:

树莓派 airplay shairport-sync 改造书架音箱 无线 实现自动通断电

连接继电器,树莓派1,12,14连继电器vcc,in,gnd:

连接继电器连接继电器

220v电路,自制插座,火线接继电器:

树莓派 airplay shairport-sync 改造书架音箱 无线 实现自动通断电

丑了点丑了点

总结

几行代码折腾了俩晚上,shairport-sync已经fork,commit了继电器相关代码,有兴趣的可以在这里安装,教程写的很详细。

展开 收起

乐天派 人体存在传感器居基础感应控制Matter双生态多平台Mijia IOS Homekit六种数据探测 传感器

乐天派 人体存在传感器居基础感应控制Matter双生态多平台Mijia IOS Homekit六种数据探测 传感器

294元起

Xiaomi 小米 米家智能插座3

Xiaomi 小米 米家智能插座3

48.9元起

Xiaomi 小米 DMWG03LM 智能多模网关2 白色

Xiaomi 小米 DMWG03LM 智能多模网关2 白色

181.8元起

Xiaomi 小米 ZSWG01CM 智能中枢网关 黑色

Xiaomi 小米 ZSWG01CM 智能中枢网关 黑色

191.79元起

MIJIA 米家 MJYDOAYL 自动感应夜灯 白色

MIJIA 米家 MJYDOAYL 自动感应夜灯 白色

16.9元起

京东京造 TH1 时钟温湿度计 白色

京东京造 TH1 时钟温湿度计 白色

29.9元起

MIJIA 米家 1S 增强版 智能台灯 白色

MIJIA 米家 1S 增强版 智能台灯 白色

156元起

Xiaomi 小米 无线开关 蓝牙版

Xiaomi 小米 无线开关 蓝牙版

32.9元起

HUAWEI 华为 智能门锁 Plus AI 3D人脸解锁快准稳 AI指纹锁

HUAWEI 华为 智能门锁 Plus AI 3D人脸解锁快准稳 AI指纹锁

2899元起

linptech 领普 智能无线开关KS1Pro屏显温湿度传感器智能联动免布线遥控开关

linptech 领普 智能无线开关KS1Pro屏显温湿度传感器智能联动免布线遥控开关

50.9元起

Xiaomi 小米 MCCG02HL 小米门窗传感器 2 米家

Xiaomi 小米 MCCG02HL 小米门窗传感器 2 米家

37.8元起

Xiaomi 小米 SJWS01LM 水浸卫士 白色

Xiaomi 小米 SJWS01LM 水浸卫士 白色

55元起

玺加 智能窗帘宝X3 光能充电窗帘伴侣

玺加 智能窗帘宝X3 光能充电窗帘伴侣

暂无报价

MIJIA 米家 人体传感器2S 居 智能监测联动

MIJIA 米家 人体传感器2S 居 智能监测联动

61.99元起

MIJIA 米家 空调伴侣2 智能插座 白色

MIJIA 米家 空调伴侣2 智能插座 白色

66.16元起

卡萨帝(Casarte)掌静脉人脸识别带可视猫眼密码锁入户门带摄像头指纹锁电子锁智能门锁CFA-X70-CAU1罗曼金

卡萨帝(Casarte)掌静脉人脸识别带可视猫眼密码锁入户门带摄像头指纹锁电子锁智能门锁CFA-X70-CAU1罗曼金

6009元起
10评论

  • 精彩
  • 最新
  • 说句实话,如果追求性价比,树莓派真的不是好选择,坑,不如买成品,不过如果为了学习,或者是折腾,那就另算了,能学到不少知识,虽然没啥用(IT行业真是知识更新很快的行业)

    校验提示文案

    提交
    好,好在开源,坏也坏在开源。IT行业知识更新是很快,可是更新的不是语言,而是框架和库,思想是想通的。

    校验提示文案

    提交
    收起所有回复
  • 佩服!买了一套传感器后,没进一步折腾……

    校验提示文案

    提交
    折腾是一种乐趣

    校验提示文案

    提交
    收起所有回复
  • pi的供电怎么解决?

    校验提示文案

    提交
    5v2a的电源啊,还能咋地

    校验提示文案

    提交
    充电宝带的动

    校验提示文案

    提交
    收起所有回复
  • arduino是不是成本更低些

    校验提示文案

    提交
  • 想实现多个房间的音箱同步,不知道除了树莓派以外还有什么更好的解决方案吗?

    校验提示文案

    提交
  • 用很早买的插有线双耳耳机的蓝牙改成蓝牙音箱 音箱就是普通电脑2in1 也不知道多少年了 音箱在哪都不知道和

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

MilesJin

Ta还没有介绍自己

关注 打赏
作者其他文章
最新文章 热门文章
46
扫一下,分享更方便,购买更轻松