package com.basic.security.utils;
|
|
import java.io.BufferedWriter;
|
import java.io.FileWriter;
|
import java.io.IOException;
|
|
/**
|
* @Date:2018/10/16 19:25
|
* @Author: yellow
|
* @类描述:设备所有IO控制
|
*/
|
public class IOUtil {
|
private IOUtil() {
|
}
|
|
public static IOUtil initIOUtil() {
|
return IOUtilHolder.IO_UTIL;
|
}
|
|
/**
|
* A1 PWM灯光控制
|
*
|
* @param flag 1为上电,0为下电
|
*/
|
private static boolean pwmPower(int flag) {
|
try {
|
BufferedWriter bufWriter = new BufferedWriter(new
|
FileWriter("/sys/class/pwm_ledctrl/ledctrl/ledctrl/"));
|
///sys/devices/virtual/pwm_ledctrl/ledctrl # echo "100" > ledctrl
|
bufWriter.write("" + flag);
|
bufWriter.close();
|
return true;
|
} catch (IOException e) {
|
}
|
return false;
|
}
|
|
/**
|
* 打开补光灯
|
*
|
* @param value 0-100 值越大 亮度越大
|
*/
|
public void openLED(int value) {
|
pwmPower(value);
|
}
|
|
/**
|
* 关闭补光灯
|
*/
|
public void closeLED() {
|
pwmPower(0);
|
}
|
|
/**
|
* 距感电源上电
|
*/
|
public void openDIST() {
|
openPower("2B1", 1);
|
}
|
|
/**
|
* 距感电源下电
|
*/
|
public void closeDIST() {
|
openPower("2B1", 0);
|
}
|
|
/**
|
* 红外灯光上电
|
*/
|
public void openIRDA() {
|
openPower("3D5", 1);
|
}
|
|
/**
|
* 红外灯光下电
|
*/
|
public void closeIRDA() {
|
openPower("3D5", 0);
|
}
|
|
/**
|
* 4G上电
|
*/
|
public void open4G() {
|
openPower("2A6", 1);
|
}
|
|
/**
|
* 4G下电
|
*/
|
public void close4G() {
|
openPower("2A6", 0);
|
}
|
|
/**
|
* 打开门铃
|
*/
|
public void openBELL() {
|
openPower("3D4", 1);
|
}
|
|
/**
|
* 关闭门铃
|
*/
|
public void closeBELL() {
|
openPower("3D4", 0);
|
}
|
|
/**
|
* 开锁
|
*/
|
public void openUNLOCK() {
|
openPower("2B2", 0);
|
}
|
|
/**
|
* 关锁
|
*/
|
public void closeUNLOCK() {
|
openPower("2B2", 1);
|
}
|
|
/**
|
* 串口上电
|
*/
|
public void openPORT() {
|
openPower("4A5", 1);
|
}
|
|
/**
|
* 串口下电
|
*/
|
public void closePORT() {
|
openPower("4A5", 0);
|
}
|
|
/**
|
* U口上电
|
*/
|
public void openUK() {
|
openPower("4D2", 1);
|
}
|
|
/**
|
* U口下电
|
*/
|
public void closeUK() {
|
openPower("4D2", 0);
|
}
|
|
/**
|
* 扫描头下电
|
*/
|
public void CloseScanningHead() {
|
openPower("4A3", 0);
|
}
|
|
/**
|
* 扫描头下电
|
*/
|
public void openScanningHead() {
|
openPower("4A3", 1);
|
}
|
|
/**
|
* A1 IO控制
|
*
|
* @param flag 1为上电,0为下电
|
*/
|
private boolean openPower(String io, int flag) {
|
try {
|
BufferedWriter bufWriter = new BufferedWriter(new
|
FileWriter("/sys/class/gpio_control/gpio/gpio_control"));
|
bufWriter.write(io + flag);
|
bufWriter.close();
|
return true;
|
} catch (IOException e) {
|
}
|
return false;
|
}
|
|
private static final class IOUtilHolder {
|
public static final IOUtil IO_UTIL = new IOUtil();
|
}
|
}
|