#bluetooth-le #machine #coffee #command-line #devices #cli #brew

bin+lib longshot

基于ECAM的Delonghi机器的API和CLI

9个版本

0.1.8 2024年1月13日
0.1.7 2024年1月13日
0.1.6 2023年3月6日
0.1.5 2023年2月24日
0.1.4 2022年11月29日

#216硬件支持

Apache-2.0 OR MIT

170KB
4K SLoC

longshot docs.rs crates.io

通过命令行煮咖啡!

详细信息

Longshot是一个API和命令行应用程序,可以从命令行(或构建的任何前端)煮咖啡。目前它支持基于DeLonghi ECAM的蓝牙低功耗设备,并且仅在蓝牙上对Dinamica Plus进行了测试。

状态和监控协议已基本解码,但目前仅以源代码形式提供。

命令行示例

监控指定的设备(将持续到您按下Ctrl+C)

$ longshot monitor --device-name (device)
Dispensing... [###############################===========]

获取指定饮料的煮咖啡信息

$ longshot brew  --device-name (device) --beverage regularcoffee
...

煮饮料

$ longshot brew  --device-name (device) --beverage regularcoffee --coffee 180 --taste strong
Fetching recipe for RegularCoffee...
Fetching recipes...
Brewing RegularCoffee...

API示例

用250次水脉冲煮一杯长咖啡(大约是北美普通咖啡杯的大小,或者稍大一些)。

let ecam = ecam_lookup(device_name).await?;
let req = Request::BeverageDispensingMode(
    EcamBeverageId::LongCoffee.into(),
    EcamOperationTrigger::Start.into(),
    vec![RecipeInfo::new(EcamIngredients::Coffee, 250)],
    EcamBeverageTasteType::Prepare.into(),
);
ecam.write_request(req).await?;

演示

Demo of brewing a cappuccino

依赖关系

~16–49MB
~700K SLoC