
介绍
该设备用于通过串行端口远程访问Linux服务器,并允许您放弃本地监视器和键盘。如果有SSH和VNC,为什么需要它?您需要牢记与系统启动阶段的管理和电源管理有关的许多问题:- 选择可启动的操作系统,进入恢复模式memtest。如果无法挂载文件系统之一,则在引导时按S,在引导时控制fsck。
- 在启动时输入加密的根分区的密码。在initramfs中必须安装在引导阶段起作用的dropbear。通过SSH输入密码。我想指出,就配置而言,这种方法对我而言并不容易,在流行的发行版中,我不得不编辑下载脚本并使用一些拐杖,这些拐杖停止了新版本的发行。
- . , Wake-on-LAN (WOL), , , «» , .
- UPS, .
- 不幸的是,我的家庭服务器的设备不是工业设备,可靠性也不高。同样适用于软件,通常“原始”内核模块起作用。结果,服务器多次挂起,而没有通过网络或按键盘键做出响应。我必须按住电源按钮3秒钟以上才能使用硬件重置。
工业设备上不存在此类问题,例如,HP iLO解决方案允许您至少远程安装系统,更不用说电源管理和系统诊断之类的东西了。顺便说一下,他们通过该解决方案为家庭/小型企业提供了产品。但是碰巧的是,该系统是基于没有此类功能的常规miniITX主板构建的。需要一种设备,该设备应能够:- 通过网络可用
- 至少以文本模式与引导加载程序和服务器操作系统进行交互
- Zhelezno与电源按钮互动,并且能够关闭此按钮的触点超过3秒钟以强制关机
- 更改BIOS设置(EFI)(尚未确定,仅某些主板可用)
众所周知,先前使用的文本终端连接到机器的串行端口。历史上一直有Linux终端支持和grub引导程序。在现代主板上,该端口不是外部DB-9连接器的通常形式,但几乎总是连接到内部10针连接器。随着便士的ESP8266的出现,它实际上是Wi-Fi和UART之间的桥梁,出现了基于它实现具有电源管理功能的网络终端的想法。除了ESP8266,还有其他选项。OpenWRT . UART'a MAX232 ( USB — RS232 ), GPIO, , . , , .
, ./., . .
.
电路原理图
主要元素-ESP8266(ESP-03),具有用于与外界通信的Wi-Fi,用于与服务器通信的UART,以及几个GPIO,上面悬挂着状态指示灯和继电器LED以关闭电源按钮。有几个免费的GPIO可用于连接I2C,1-Wire以及其他传感器和设备。流行的MAX232芯片用于将UART从ESP8266转换为RS-232。 MAX232由5V供电,而ESP8266通过LM1117 5-3.3V转换器,以防万一,在ESP8266的RSP线上使用了一个分压器,该分压器将MAX232输出引至3.3V。 MAX232输出分为两个连接器,一个用于连接到DB-9,另一个IDC-10用于通过直接回路直接连接到母板上的触点。该继电器用于闭合PC电源按钮的触点,并与机箱上的按钮并联连接。顺便说一句,要从系统单元机箱中连接电源按钮,您可以在板上提供一个连接器,我通过在主板连接器上使用2.54针的双孔实现了该连接器。通常,使用中继的决定是有争议的。足够的晶体管。在布局中,我放置了光耦合器817,但没有用,采取了根本措施,继电器打开了……它起作用了。顺便说一句,它可以方便地关闭/打开220V电路,此外,还可以听到喀哒声-对诊断很有用。 P6-用于通过arduino FTDI的中文适配器轻松编程的连接器。在编程模式下,跳线由JP1激活。可以通过P4连接器直接从电源的备用电压或USB端口为设备供电。连接器P1用于连接外部天线。可以通过P4连接器直接从电源的备用电压或USB端口为设备供电。连接器P1用于连接外部天线。可以通过P4连接器直接从电源的备用电压或USB端口为设备供电。连接器P1用于连接外部天线。印刷电路板
单层,但有5条全跳投出来了。
笨拙的自制
P6.
固件
最简单的服务器由一台TELNET服务器组成-实际上用于交换。UART中出现的所有内容都将丢给所有TELNET客户端,客户端中出现的所有内容都将丢给UART。还可以使用AT命令来控制电源按钮并配置端口和Wi-Fi参数。虽然老实说,这离RFC 854服务器很远,但命令不受支持,我将其称为TELNET,因为端口23,直接文本交换和TELNET客户端非常适合进行交互(在ConnectBot和Linux Android客户端上进行了测试,telnet实用程序可以正常工作环境变量export TERM = VT100,参数-8以及随后转换为字符模式^]模式字符)。ESP8266是一个值得注意的功能,可以同时用作接入点和无线网络客户端。这对于容错非常重要-它允许您在网络设备出现故障时连接到终端。该固件最初是用Sming编写的。 Sming的主要优点是您不需要了解中文ESP8266 SDK,因为所有需求都已经有了可消化的包装器,无论是WEB服务器,通过空中更新固件还是使用GPIO。但是当传输大容量卷时使用TCP服务器的包装器实现TELNET时,连接断开,ESP8266挂起。曾尝试直接使用lwip API进行操作...但是在这一点上,我遇到了ESP8266-transparent-bridge项目。决定将它简单地分叉用于执行控制电源按钮的命令,其他所有操作均已由其作者完成。Bala添加了AT命令+++AT PWBTN <duration: SHORT | LONG | HARDRESET>
固件存在缺陷。如果一次将大量信息输出到终端,则某些数据可能会丢失。然而,ESP8266不是Moxa NPort,其功能受到限制。例如,如果我们使用dmesg,那么我们只会看到一部分数据,因此我们不得不越来越少地使用grep,并且要避免在屏幕上长时间显示。一般而言,值得尝试增加固件中的传输缓冲区,现在只有1024字节,直到您的手将其变为32768,并且可以轻松使用htop等实用程序。Linux机器配置
在/ etc / default / grub中应该是这样的:GRUB_CMDLINE_LINUX="console=ttyS0,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
显示引导程序菜单和引导消息到串行端口。在这种情况下,第一个的比特率为115200。编辑后,运行update-grub命令。原则上,这是可以限制的,但以防万一,您仍然可以在串行端口上打开终端,为此,请使用以下内容创建/etc/init/ttyS0.conf:
start on stopped rc or RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 115200 ttyS0 vt102
连接服务器如前所述,电源直接来自电源的备用电压或USB端口,继电器输出与电源按钮并联连接,RS-232焊盘通过直接电缆连接至IDC-10连接器。将设备放置在服务器机箱内是很麻烦的,您需要取出连接到用于Wi-Fi机箱的设备的u.fl连接器的天线。当然,如果外壳是相对射线透明的,例如由木头制成,则无法做到这一点。
成本计算
ESP8266 $ 3,MAX232 10片$ 1,其余的通常在农场购买。视频示范
铁和软件的来源在这里。