Sonos 扬声器音质出色且非常实用,因为您可以通过手机、平板电脑或计算机控制它们。我用安装在卧室里的那个在早上用我最喜欢的曲子叫醒我。扬声器安装在房间的另一端,所以如果我想停止闹钟,我必须走到扬声器旁边或从我的手机启动 Sonos 应用程序,因为我不带着手机睡觉,所以手机并不总是在附近. 为了更轻柔地唤醒,我决定打造这款Sonos遥控器。它允许停止闹钟、播放/暂停当前播放的曲调、跳到下一曲以及提高/降低音量。
它基于 ESP8266 与廉价的 ATTINY85 相结合,可实现更轻松、更好的电源管理,并可让您使用 500 mAh 的小型锂聚合物电池运行一年以上。
重要提示:为了让这个遥控器工作,您需要一个能够运行 node.js 的设备。这可以是台式计算机或 Raspberry Pi。它将运行基于 node.js的 jishi 优秀的 Sonos HTTP API 。我将它安装在桌面上并将其配置为服务。
我最初在没有 ATTINY85 的情况下构建了这个电路。它工作得很好,但我用电池的方式很快,尽管 ESP01 几乎总是处于深度睡眠模式且 LED 未焊接。这可能是由于遥控器上遗留的某些物体导致按钮无限期按下而导致的。由于 ESP01 在深度睡眠时功能过于基础,因此无法处理这种情况。
另外,我想添加另一个按钮和双击检测,但 ESP01 无法确定从深度睡眠中唤醒后按下的是哪个按钮,因为唤醒过程是通过复位引脚触发的。
事实证明,使用 ATTINY85 是明智的选择。ATTINY 代码在睡眠模式下使用的电流小于 2uA。我在按钮上使用硬件中断来唤醒它。一旦触发,ATTINY 确定按下了哪个按钮,单击还是双击。然后它通过 2N3904 晶体管打开 ESP01,等待它上线并发送与按下的按钮相关的命令。
发送的第一个命令需要 3 到 10 秒才能执行,因为 ESP01 必须启动、连接到 Wifi 并将命令发送到 Web 服务器。ESP01 在最后一个命令后保持清醒状态 20 秒,以避免重复连接时间。
顶部按钮(单击):PlayPause
顶部按钮(双击):播放下一首歌曲
底部按钮(单击):提高音量
底部按钮(双击):降低音量
我用焊接的组件制作了 PCB,并为设备打印了 3D 外壳。请注意,我为 ESP01 使用了分离接头,为 ATTINY 使用了机器销分离接头,因此如果将来需要,可以轻松移除和更新芯片。
我还 3D 打印了一个设备支架,这样它就可以作为早上很容易触及的“停止闹钟”按钮。我把遥控器倒过来放在上面。按下设备背面会向我的 SONOS 扬声器发送播放/暂停命令。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !