利用IOS的快捷指令和自动化制作电子打铃

起因

最早的时候,只是想给孩子做一个电子打铃器,提醒孩子注意把握时间,尽量晚上早点睡觉。因为是农村自建房,所以需要一个音量稍微大一些的,能覆盖整幢楼的电子打铃器。
想到了学校里用的那种比较简易的电子打铃器,用了一段时间,发现更换音乐比较麻烦。要把这个电子打铃器背面的U盘拔下来,然后再更换。曲库也比较单调,如果想要丰富的曲库,就要频繁的去插拔这个U盘,不想这么麻烦,就想着用什么方法实现比较方便的更换曲库,最好直接能从NAS里读取音乐就更好。

dlq

曲折的过程

最开始想到的当然就是大名鼎鼎的HomeAssistant,但被它复杂的设置界面给唬住了。身边没有玩智能家居的朋友,没人带入门,自己硬啃、硬扒论坛学习,有点Hold不住。就给放下了,这一放就放了两年多。然后家里每天就来来回回循环播放这么几首“世界名曲”,格式大概就是:”现在是晚上XX点了,很迟了,该刷牙洗漱准备睡觉了!“+”let it go”,类似这样的搭配,音乐用Adobe Audition 把语音很音乐剪辑到一起,每天就这么定时播报。
两年时间,打铃器时间不是那么准时,现在已经岔开了三四分钟了。因为对时间精确要求没有那么高,就一直这么错下去,也就这么将就着用。
就这样过去了两年

转折点

今年4月份以来,偶然的机会,中间有一个半月的时间被封闭式的进行集中学习培训,时间相对空余出来,并且是脱岗,所以思想上也松弛下来了,就又重新开始把这个事项捡起来。

这次用IOS

IOS的快捷指令,很早就有听闻,并且也有使用。它里面现在提供的SSH脚本,我也尝试写过一些命令来远程控制家里的NAS进行一些操作,使用起来比较方便。正是有了这个基础,就开始折腾IOS的快捷指令。

搞定播放器

想要播放,首先要连入airplay。所以最开始的时候就开始折腾各种可以安装shairport-sync的路由器、机顶盒、玩客云、N1、410棒子等等,并且还购买了HomePod mini,这顿操作费去了我大量的心力,重新回归到了十年前的刷机岁月。脱岗学习搞的比平时上班还累。事实证明,以上操作对我后续实践没有任何帮助。
最后发现最方便的竟然不是homepod而是伤透了值友们的某某的R1音箱,安装好乐播后,就可以airplay了,虽然不是airplay2,但是在这个使用场景下,它够用了。为什么homepod不行呢?我尝试过各种方式,想把音乐推送到homepod,都不行。它只支持ios自带的music,而且必须是会员才行,而且推送music曲库里的音乐,不能推送自定义的。
R1的联网、安装APP过程就不提了,某山上有大量的教程。

搞定脚本

先想到的是用家庭自动化,前面已经提到了,已经购买了homepod,解锁了“家庭”的自动化功能,但是在里面操作了半天,可用的操作寥寥无几,被限制的非常死,等于一个废物,当然是在推送音乐方面的能力。
退而求其次,牺牲一个IOS设备放在局域网内,用“个人自动化”来实现这些功能。就开始编写个人自动化了。写完一个后发现,这个个人自动化的脚本竟然不是复制!这对于我需要多个脚本的人而言,简直是灾难,我总不能每个都这么手动去编写脚本。
用脚趾头想了一会儿,曲线救国一下,用快捷指令写脚本,然后自动化运行快捷指令,这样就可以实现复制了。

脚本解析

1

2

第一、第二行是“数字”用于控制airplay播放器的音量。为什么设置两个,是因为报时的语音音量和后面的音乐音量是不同的,导致想用音量后,要么是其中一个太高要么是另外一个太低,因此设置了两个音量参数。
后面的内容,都是大白话,就不再做解释了。
需要提一句的是,这里的”获取文件夹XX的内容“,这个文件夹是NAS里的文件夹,是IOS设备通过SMB访问NAS里的文件夹。具体设置方法就是:
1.用“文件”连接服务器
2.在快捷指令里设置文件夹的时候,通过浏览选中制定的文件夹即可。
3
5
4

搞定个人自动化

6

7

8

图片都是大白话了,要注意的点有:
1.关闭“运行前询问”和“运行时通知”这两个命令,看过NFC音乐便签的值友应该知道这步操作的。
2.试运行一遍,第一次运行会要求获取访问文件夹的权限,需要点一下确认。以后运行就不用操作了。目前我不知道如何实现,可以省去这步操作,只能傻乎乎的每个快捷指令都操作一遍。
以上就是本次折腾的过程。
最后一句话,还是不要折腾苹果的快捷指令了,这个内置功能,感觉是一个半成品。
下一步,等什么时候有空有精力了,再用HomeAssistant来实现这个功能。
以上只是一块破砖,如果您有更好的方法,希望能钓出您的美玉,不胜感谢!


利用IOS的快捷指令和自动化制作电子打铃
http://yoursite.com/2023/05/17/NAS/利用IOS的快捷指令和自动化制作电子打铃/
作者
五泡哥
发布于
2023年5月18日
许可协议