终极智能家居控制:Dasher让Amazon Dash按钮秒变智能开关
【免费下载链接】dasher🔘 A simple way to bridge your Amazon Dash buttons to HTTP services项目地址: https://gitcode.com/gh_mirrors/da/dasher
Dasher是一款简单实用的工具,能够将Amazon Dash按钮与HTTP服务桥接起来,让普通的Dash按钮摇身一变成为智能开关,轻松实现智能家居控制。无论是搭配Home Assistant、openHab等家庭自动化服务,还是通过IFTTT的Maker通道,都能让你一键触发各种智能场景。
🌟 什么是Dasher?
Dasher的核心功能是将Amazon Dash按钮的物理按压转化为HTTP请求或本地命令执行。当你按下Dash按钮时,Dasher会监听网络活动,一旦检测到按钮触发,就会按照预设配置发送HTTP请求或运行指定命令,实现对智能家居设备的远程控制。
🚀 工作原理
Dasher的工作流程非常直观:
- 通过
config/config.json配置文件定义Dash按钮的MAC地址、触发动作(HTTP请求或本地命令)等参数 - 启动Dasher服务后,它会持续监听网络中的Dash按钮按压事件
- 当检测到按钮被按下时,立即执行预设的HTTP请求或本地命令
这种设计让Dash按钮不再局限于购物功能,而是成为了一个通用的智能控制入口。
⚙️ 配置指南
基础配置结构
Dasher的配置文件采用JSON格式,主要包含按钮数组,每个按钮可配置以下参数:
name:按钮名称(可选)address:按钮MAC地址(必填)interface:监听网络接口(可选)timeout:按压检测间隔(毫秒,默认5000)protocol:网络协议(udp/arp/all,默认arp)url:HTTP请求地址method:HTTP请求方法headers:请求头信息json:是否以JSON格式发送请求体body:请求体内容formData:表单数据debug:调试模式(不执行实际请求)cmd:本地命令(优先级高于HTTP请求)
配置示例
以下是一个典型的配置示例,展示了如何将不同按钮连接到不同的智能家居服务:
{ "buttons": [ { "name": "派对模式", "address": "d8:02:dc:98:63:49", "url": "http://192.168.1.55:8123/api/services/scene/turn_on", "method": "POST", "headers": {"authorization": "your_password"}, "json": true, "body": {"entity_id": "scene.party_time"} }, { "name": "烹饪音乐", "address": "66:a0:dc:98:d2:63", "url": "http://192.168.1.55:8181/playlists/cooking/play", "method": "PUT" }, { "name": "本地命令", "address": "41:02:dc:b2:10:12", "cmd": "/home/user/dash_button.sh" } ] }完整的配置示例可参考config/config.example.json。
🛠️ 安装与设置
准备工作
在安装Dasher前,需要先准备好:
- 已设置但未关联商品的Amazon Dash按钮
- 安装有Node.js和npm的设备(推荐树莓派或服务器)
- 网络环境中已安装libpcap-dev(Linux系统)
安装步骤
安装依赖:
sudo apt-get install libpcap-dev sudo apt-get install npm克隆仓库:
git clone https://gitcode.com/gh_mirrors/da/dasher cd dasher npm install查找Dash按钮MAC地址:
script/find_button按下Dash按钮,脚本会显示设备MAC地址(制造商为"Amazon Technologies Inc.")
创建配置文件: 复制示例配置并修改:
cp config/config.example.json config/config.json编辑
config/config.json,添加按钮的MAC地址和触发动作启动服务:
sudo npm run start
💡 实用技巧
- 降低延迟:在路由器中为Dash按钮设置DHCP保留,可将响应时间从5秒缩短至1秒
- 协议选择:2016年后的JK29LP型号按钮推荐使用udp协议
- 网络建议:使用有线网络连接监听设备,Wi-Fi连接可能不稳定
- 使用场景:适合触发特定场景(如回家模式、睡眠模式)、计数器或一键开关
📱 自动启动设置
Linux系统
可通过systemd设置开机自启,详细方法参考项目Wiki。
macOS系统
使用内置脚本实现自动启动:
script/install # 安装launchd服务 script/restart # 重启服务 script/uninstall # 卸载服务⚠️ 注意事项
该项目目前已停止积极开发,如需要更多功能,可考虑替代方案Nekmo/amazon-dash。Dash按钮的物理特性决定了它有10秒左右的按压间隔限制,适合作为单次触发开关而非连续控制设备。
通过Dasher,你可以用极低的成本将普通的Amazon Dash按钮改造成智能家居控制中心,实现一键控制灯光、音乐、窗帘等各种智能设备,让生活更加便捷智能!
【免费下载链接】dasher🔘 A simple way to bridge your Amazon Dash buttons to HTTP services项目地址: https://gitcode.com/gh_mirrors/da/dasher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考