小爱同学(miot)通过巴法云(bemfa)控制电脑开关机。
- 将电脑模拟成物联网设备(开关)
- 通过提供物联网设备接入平台接入米家(bemfa、blinker等)
- 设备状态:通过ping命令判断是否开/关机。
- 设备开机:通过局域网唤醒(wol)
- 设备关机:通过OpenSSH登录到设备并发送关机命令。
-
bemfa上添加设备
-
米家APP->我的->添加其他平台->巴法
-
电脑开启 WOL(wake on lan)
- 开机时连按 ESC/F2/F8/F12 进入 bios,找到电源管理(Power Managment),开启(Enabled)WOL / Wake PCI Card / Boot on LAN / PME Event WakeUp / Wake Up On PCI PME / ...
- win+x 进入设备管理器找到网络适配器>网卡(Realtek PCle ...)>右键属性>高级>魔术封包唤醒,电源管理>允许此设备唤醒计算机。
- 详情见官方文档
-
电脑安装 OpenSSH
- win+s>搜索“管理可选功能”>添加功能>搜索“openssh”>安装 OpenSSH 客户端、OpenSSH 服务端。
- 管理员身份运行 powershell > Start-Service sshd > Set-Service -Name sshd -StartupType 'Automatic'
- 详情见官方文档
-
准备一台接上局域网的小主机(用于部署本项目)
git clone [email protected]:forhumility/humble-switch-bemfa.git
npm run pre
在巴法云创建 mqtt 主题
修改 src\config 文件夹下 conf.bemfa.ts 和 conf.computer.ts 两个配置文件
npm run serve
npm run build
使用 PM2 部署项目,参考官方文档。将本项目部署到能访问局域网的主机上。
pm2 start index.js --name humble-switch
项目运行/项目部署完成后唤醒小爱同学发送关闭/开启命令即可。