本帖最后由 Yhue 于 2024-8-15 22:42 编辑
AI-M61-32S开机棒是一个仅使用AI-M61-32S的开机棒,无需额外的硬件,刷入程序,接上电源,最后结合一些简单的配置即可使用。该项目标为用最少的硬件,最少的配置去实现远程开机功能。 Wake-on-LAN 简称 WoL,指通过网络UDP数据包打开或唤醒计算机。 网络唤醒功能在远程办公环境下显得十分必要,比如位于家中或公司的计算机,出于经济和环保的目的,不使用时一般也会进入低功耗状态,睡眠、休眠甚至是关机。一旦进入低功耗状态,就需要适当的外部唤醒才能让其重新恢复至工作模式。这时借助 WoL "唤醒" 便是一个不错的选择。一般情况下,WoL 需要由另一台同一局域网设备发送网络信号,任意有能力发送 WoL 信号 的设备都可以充当此角色 硬件介绍 AI-M61-32S(下称模组)是由深圳市安信可科技有限公司开发的 Wi-Fi6 & 蓝牙双模模组,搭载 BL618 芯片作为处理器,支持 Wi-Fi 802.11b/g/n/ax 协议和 BLE 5.3 协议。BL618 芯片内置低功耗的 32 位 RISC-V CPU,最高主频可达 320M. 丰富的外围接口,包括DVP、 MJPEG、 Dispaly、 Audio Codec、USB2.0、SDU、以太网(EMAC)、 SD/MMC(SDH)、 SPI、 UART、 I2C、 I2S、 PWM、 GPDAC、 GPADC、 ACOMP 和 GPIO 等。可广泛应用于音视频多媒体、物联网(IoT)、移动设备、可穿戴电子设备、智能家居等领域。 功能介绍1. 远程多机器开机 通过云端 MQTT 服务,连接家中或公司 AI-M61-32S ,无论何时何地,只需通过手机或电脑,发送一条 MQTT 消息给 AI-M61-32S。 AI-M61-32S 接受到后,再向局域网内指定机器发送网络唤醒数据包,即可实现开机。 由于使用网络数据包的方式唤醒设备,只需目标设备通过有线形式接入网络,即可被 AI-M61-32S 远程唤醒,可以做到多台设备一次唤醒。 2. Shell 配网,自动保存 借助 AI-M61-32S 强大的shell 功能,连接电脑后通过 shell 命令配网,存储至开发板内部,做到无需重新烧录,即可接入不同网络。
拓扑图 只需有一个 AI-M61-32S 板子,不需要其他硬件改动
网络拓扑图
使用方法1. 有一个位于公网的 MQTT 服务器,可以自己搭建,也可以使用第三方服务。 若自行搭建,推荐使用 EMQX ,拥有友好的可视化界面,配置简单,便捷。 第三方服务可使用巴法云,个人开发者免费使用。 2. 在程序内配置 MQTT 服务器和WIFI凭证信息,刷入AI-M61-32S components\state\user_state.h #define SSID "你的wifi" #define PASS "WiFi密码"
#define MQ_USERNAME "MQTT用户名" #define MQ_PASS "MQTT密码"
3. 配置被唤醒设备的网卡 ,开启支持数据包唤醒。 找到当前使用的有线网卡,右键点击【属性】: 然后选择“配置”:
l 开启“关机 网络唤醒”和“魔术封包唤醒” l 关闭“环保节能”
4. 配置 BIOS,BIOS中可能为“电源管理 -> 通过PCIE唤醒”,不同厂商的选项名称不同 5. 在路由器中将设备MAC与IP绑定 6. 借助 MQTT 客户端,发送消息即可远程开机 结语 在社区里也是看到有三,四个大佬做了开机棒这样的作品,有用PCIE的,有用红外的,看起来都像是通过硬件连接电脑实现的。一个偶然的机会下,我了解到了通过网络唤醒包也可以实现开机,机缘巧合之下看到了第三期DIY大赛,便重拾尘封已久的AI-M61-32S做出了这个项目,希望大家喜欢,多多支持。
附件 |