1 个不稳定版本
0.1.0 | 2019 年 7 月 21 日 |
---|
#884 在 HTTP 服务器
28KB
609 行
Togglempc
Togglempc 是一个小型的 REST 服务器,可以接收 HTTP POST 请求来切换 MPD 的开关状态以及切换播放列表。(它是 MPD 的客户端。)MPD 是音乐播放守护进程,请参阅 https://www.musicpd.org/。
家庭自动化或智能开关可以使用它来控制 MPD 实例。
+------------------+ +-----------+ +-----+
| | | | | |
| smart switch / +------>+ togglempc +------>+ MPD |
| house automation | | | | |
+------------------+ +-----------+ +-----+
如果您使用 openHAB,这里有两个用于控制 MPD 的 openhab 规则的示例(它假定您已经有两个名为 Kitchen_music_on_off
和 Kitchen_music_channel
的开关)
rule "toggle play kitchen"
when
Item Kitchen_music_on_off received command
then
sendHttpPostRequest("http://192.168.1.25:8000/mpd/kitchen/toggle-play")
end
rule "switch playlist kitchen"
when
Item Kitchen_music_channel received command
then
sendHttpPostRequest("http://192.168.1.25:8000/mpd/kitchen/switch-playlist")
end
目前 togglempc 只支持两个命令,即 toggle-play 和 switch-playlist。但它可以很容易地扩展以支持其他命令,如跳过歌曲或增加/减少音量。请参阅 src/main.rs 和 src/toggle_mpc.rs 了解当前命令的实现方式。
Togglempc 使用 Rocket 接受 HTTP POST 请求。因此您需要切换到 rust nightly 来编译(有关详细信息,请参阅 https://rocket.rs/v0.5/guide/getting-started/)
cd <path-to-my-clone-of-togglmpc>
rustup override set nightly
cargo run sample-config.toml
Togglempc 需要一个配置文件,其中配置了播放列表和 MPD。请参阅 sample-config.toml 以获取文档。
依赖项
~11MB
~225K SLoC