UPS 在跳电之时大约能撑个十来分钟以上,但是如果你人不在电脑旁,
最後还是面临 UPS 没电,电脑被迫 shutdown 的情形 。
飞瑞的 UPS 有贩卖一种叫电掌柜的软体来帮你自动 shutdown,
但是电掌柜是 for Win95 的,而 FreeBSD 或是 Linux 都还没有类似的软体,
我想到一个方法,实作上也已经成功了 。兹将步骤列在以下,
有需要的网友自己动手做吧!! ^_^
目前就同学手边有的 UPS,已经做出 飞瑞 和 Upsonic 的 。
底下是给飞瑞的 A-8941 500VA 用的 。
我们这边的测试目前是没发现问题,如果你在使用上有问题,欢迎向我们提出 。
[1;32m【 [1;33m零件清单 [1;32m】[0m
9公 一个
25母 一个
单心线 四条
电阻 1K 二只
[1;32m【 [1;33m飞瑞 UPS 的 output 规格 [1;32m】[0m
可迳自参考飞瑞 UPS 手册的 第 6 页 -- 1-5 介面通讯埠 。
Pin Meaning
-----------------------------------------------------------------------
[1;36m [0m2 市电异常时 ON (close)
3 市电正常时 ON (close)
[1;36m [0m5 Battery Low 时 ON (close) 距 Shutdown 剩一分钟
6 Remoto ShutDown 用
[1;36m [0m7 Common 共接点 (以上接脚接和这个共接)
=======================================================================
[1;32m【 [1;33m实作 [1;32m】[0m
其中,我选接 UPS 的 2、5、7 三条线,
分别对应 COM2 的 DSR、CTR、Vcc 脚 。
而 COM2 的 DTR 脚(20) 则维持 High 提供 Vcc 的讯号 。
(RS-232规格上是写 3~15V,实测为 10V 左右) 。
将 9公的 pin7 连 Com2 的 pin 20,
pin 2 连 pin 6,pin 5 连 pin 5 (见下图) 。
其中再将 COM2 的 pin 7 (Gnd) 和 COM2 的 pin 6 和 pin 5 跨接 1 K 的电阻 。
UPS COM2
output( 9公) Input(25母)
=========================================
Pin 7 ------------------------ 20 Vcc
Pin 2 ----- ------------------ 6 DSR (跳电时为 1 )
>
< R (电阻 1K)
----------------- 7 Gnd
<
> R (电阻 1K)
Pin 5 ----- ------------------ 5 CTR (Battery Low 时为 1 )
[1;32m【 [1;33msource 何处寻 [1;32m】[0m
您可以到 ftp://kavalan.csIE.nctu.edu.tw/pub/Unix/source/UPS_deamonPT.tar.gz
抓回来,直接打 make 就可以执行 。
目前只做 for FreeBSD 的 。Linux 应该很好 port 。
[1;32m【 [1;33mHow To Run it [1;32m】[0m
将 9公接 UPS 後方的 output,25母接主机後面的 COM2,然後执行这个程式,
执行时,请用 sudo,否则 access COM2 时会 permission denied 。
目前预设的情形,只有显示 UPS 的状态,如果你要加入 shutdown 的功能,
在 source 中第 52 行 :
case 2:
case 3:
printf("UPS 电力不足 ......n");
[1;32m <<< ---------insert here[0m
break;
把 system("shutdown -h now"); 加入 insert here 的地方,再重新 make 就可以了
这程式直接跑就可以用了,不用加参数,
% sudo serial_port
这样就可以了 。
附上一些东西给 COM1 用的,更详细的资料,如果有人需要,我们再贴出来 。
[1;32m【 [1;36mDevice Name[1;32m 】[0m
在 FreeBSD 中,device 的名称如下:
/dev/cuaa0 COM1 port
/dev/cuaa1 COM2 port
[1;32m【 [1;36mCOM Port 接脚名称 [1;32m】[0m
接脚名称 9 pins 25 pins 讯号意义
---------------------------------------------------------------------------
DCD (Data Carrier Detect) 1 8 载波侦测 。表示modem和对方连上
RxD (Received Data) 2 3 接收资料的接脚 。
TxD (transmit Data) 3 2 传送资料的接脚 。
DTR (Data Terminal Ready) 4 20 告诉 modem,PC 已经备妥 。
GND (Signal Ground) 5 7 接地脚 。
DSR (Data Set Ready) 6 6 Modem 已经开启且准备好 。
RTS (Reguest To Send) 7 4 叫 Modem 准备接收资料 。
CTS (Clear to Send) 8 5 Modem 已经准备好接收资料 。
RI (Ring Indicator) 9 22 电话铃响 。
推荐阅读
- FreeBSD命令 lastcomm介绍 1
- 商铺出租转让纠纷如何处理
- 当代大学生如何理解爱情
- FreeBSD 版本命名原则
- freebsd 信号和杀死进程
- FREEBSD中文简单汉化
- FreeBSD handbook中文版 6 配置与调整
- 1 FreeBSD handbook中文版 11 打印 基本设置
- 受冻果树如何安全管护
- FreeBSD 4.10 汉化总结