UPS BP650CH实现nas自动关机

您所在的位置:网站首页 群晖断网自动关机 UPS BP650CH实现nas自动关机

UPS BP650CH实现nas自动关机

2024-07-14 02:00| 来源: 网络整理| 查看: 265

家里有个自己拼凑的nas需要防止断电不正常关机,因此购买了施耐德后背式BP650CH,之所以选这款是因为带了串口,串口终究还是很方便的东西。不管linux还是window还是其他系统都能够使用,通过串口直接获得ups的信息,就不需要关心操作系统是什么了。

BP650CH的串口协议参考这篇文档是BP650CHBP1000CH串口通信协议.pdf-原创力文档 (book118.com)

默认波特兰2400,8bit数据,1bit停止位,无检验。SecureCRT设置如下

由于这个施耐德的UPS串口并非终端交互式的,因此我们不适合用SecureCRT,采用其他输入和输出分离的串口助手。

我使用Arduino IDE中的串口助手,设置如下

按照手册,首先需要登录到UPS,方法就是输入M回车,那么串口会返回一个V

接着输入QS回车,这个命令是检索状态。注意施耐德的串口交互命令都是回车结尾。

反正QS命令返回的结果格式为:

(是结果的开始,然后后面的数值用空格分开

216.1=输入电压216.1伏特(有效值rms)

216.1=输入故障电压216.1伏特(有效值rms)

216.1=输出电压216.1伏特(有效值rms)

 000=输出负载,因为我UPS没有接负载,所以就是0,单位是百分比

50.0=输出电压的频率是50Hz

13.5=电池电压13.5V(有效值rms)

 --.-=内部温度,似乎没法显示内部温度

00001001=UPS状态字节b7~b0

b6为高位的话指示电池电压低

b4为高位指示UPS故障

 剩下的看手册

测试1:关闭UPS的市电输入,蜂鸣器10秒叫一次,QS命令检索状态发现UPS的状态字节最高位变成了1,这个时候就可以通知用户进行关机了

测试2:使用破旧没有电池的笔记本电脑装linux系统做断电自动关机的测试。

        将USB转串口线插到电脑,lsusb发现串口PL2303驱动

ls /dev/tty*发现串口设备ttyUSB0

安装minicom软件:yum install minicom

然后minicom -s进入设置,选择Serial port setup。然后设置如下

然后save setup as dfl,下次就不用设置了

然后exit from minicom

接着输入minicom

输入M登录后,输入QS就可以查询数据了

退出minicom方法,ctrl+A后,然后按Z,然后按X,然后yes

 但是minicom是交互式的,因此我们需要自己写一个程序实现ups的状态扫描来实现关机

#include #include #include #include #include #include #include int serialDevFD;//串口设备描述符 char *serialDev = "/dev/ttyUSB0"; void serialDevOpen() { serialDevFD = open(serialDev,O_RDWR|O_NOCTTY|O_NDELAY);//读写方式打开串口设备,后面两个属性不用管 if(serialDevFD


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3