终极智能家居控制:Dasher让Amazon Dash按钮秒变智能开关

📅 2026/7/27 13:04:12 👁️ 阅读次数 📝 编程学习
终极智能家居控制:Dasher让Amazon Dash按钮秒变智能开关

终极智能家居控制: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的工作流程非常直观:

  1. 通过config/config.json配置文件定义Dash按钮的MAC地址、触发动作(HTTP请求或本地命令)等参数
  2. 启动Dasher服务后,它会持续监听网络中的Dash按钮按压事件
  3. 当检测到按钮被按下时,立即执行预设的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系统)

安装步骤

  1. 安装依赖:

    sudo apt-get install libpcap-dev sudo apt-get install npm
  2. 克隆仓库:

    git clone https://gitcode.com/gh_mirrors/da/dasher cd dasher npm install
  3. 查找Dash按钮MAC地址:

    script/find_button

    按下Dash按钮,脚本会显示设备MAC地址(制造商为"Amazon Technologies Inc.")

  4. 创建配置文件: 复制示例配置并修改:

    cp config/config.example.json config/config.json

    编辑config/config.json,添加按钮的MAC地址和触发动作

  5. 启动服务:

    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),仅供参考