前言
目前家里的网络配置基本完成,为了满足在公司也可以打开家里台式机的需求,所以制作了这个根据家里网络环境适配的ESP8266开机卡。
硬件在开机卡原项目的基础上进行修改器件,方便焊接。
一、为什么要做开机卡
白天要去工作,台式机配置好了Zerotier和远程桌面链接,所以每次去上班之前都会直接打开电脑待机,这一点都不低碳环保(手动狗头)。外加自己内网有一台蜗牛星际充当服务器,同时也连接到了Zerotier,这样就可以在只开启一台服务器的情况下启动电脑,使用完毕还可以关闭,完美完成低碳环保(省电费)的需求。
二、设计过程
1.PCB设计
采用ESP8266主控,AMS1117-3.3LDO芯片,使用CH340N作为串口芯片。使用两路光耦分别控制电脑电源按钮和重启按钮,其他跳线转接,相当于直接插在主板上。PCIE插槽,使用PCIE提供的DC 3.3V供电,可以在主机关机后仍向开机卡提供工作电压。两个按钮分别控制BOOT和RST,烧录程序时先按住BOOT,再按下RST,系统重启后松开BOOT按钮。
PCB项目地址:远程开机卡
1.1原理图
1.3 PCB
2.服务器搭建
服务器搭建方法可参考本地搭建Blynk Server
由于服务器可以使用Docker服务,本次采用Docker安装Blynk Server。
参考blynk在github上的项目Dockers Blynk
如图为搭建完成的Blynk Server。
3.软件编写
3.1 开发环境
Arduino+ESP8266+Blynk 0.6.1+FastLED+EspSaveCrash,开发板选择如下图所示。
ESP8266后跟的为三个需要安装的库。
注意不要安装最新的Blynk库!最新版Blynk库目前仅适配官方Blynk服务。
3.2 软件实现功能
1.Smart Config
2.EEPROM保存配置信息
3.通过Web可配置Blynk连接服务器配置,目前仅支持输入IP,域名服务器暂未尝试。
4.使用一个WS2812b进行状态显示,也可通过Web Server和Blynk Server进行设置状态。目前支持流彩灯模式,和电脑状态指示模式。
5.模块在连接到网络后启动OTA功能,支持远程固件升级。
最后源码较长,放到压缩包。
代码资源:远程开机卡源代码+PCB