#
luxiaotao1123
2020-09-01 73c0791dce41d8664b53036765e84c75a00cc7cc
src/main/java/com/zy/core/thread/LedThread.java
@@ -19,12 +19,21 @@
public class LedThread implements Runnable, ThreadHandler {
    private Slave slave;
    private Bx5GScreenClient screen;
    public LedThread(Slave slave) {
        this.slave = slave;
        try {
            Bx5GEnv.initial(3000);
            screen = new Bx5GScreenClient("MyScreen");
        } catch (Exception e) {
            e.printStackTrace();
            log.info("led连接构造器错误 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
        }
    }
    @Override
    @SuppressWarnings("InfiniteLoopStatement")
    public void run() {
        connect();
        while (true) {
@@ -41,12 +50,23 @@
    @Override
    public boolean connect() {
        return false;
        boolean connRes = false;
        try {
            connRes = screen.connect(slave.getIp(),slave.getPort());
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (connRes) {
            log.info("led连接成功 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
        } else {
            log.error("led连接失败!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
        }
        return connRes;
    }
    @Override
    public void close() {
        screen.disconnect();
    }
@@ -57,28 +77,27 @@
        // 创建screen对象,用于对控制器进行访问,串口模式
        //        Bx5GScreenRS screen = new Bx5GScreenRS("MyScreen");
        // 在对控制器交互之前,需要先与控制器建立连接
        screen.connect("192.168.100.199",5005);
        screen.connect("192.168.10.61",5005);
        // 与控制器交互完成后,需断开与控制器之间的连接
        screen.disconnect();
        // 以下为一些简单控制命令的使用方法
        // 开关机命令
        screen.turnOff();// 关机
        screen.turnOn();// 开机
        screen.syncTime();// 校时
        screen.ping();// ping命令
        // 查询控制器状态
        screen.checkControllerStatus();
        // 查询控制器当前固件版本
        screen.checkFirmware();
        // 查询控制器内存
        screen.checkMemVolumes();
        // 锁定屏幕当前画面
        screen.lock();
        // 解除锁定屏幕当前画面
        screen.unlock();
//        screen.turnOff();// 关机
//        screen.turnOn();// 开机
//        screen.syncTime();// 校时
//        screen.ping();// ping命令
//        // 查询控制器状态
//        screen.checkControllerStatus();
//        // 查询控制器当前固件版本
//        screen.checkFirmware();
//        // 查询控制器内存
//        screen.checkMemVolumes();
//        // 锁定屏幕当前画面
//        screen.lock();
//        // 解除锁定屏幕当前画面
//        screen.unlock();
@@ -101,7 +120,7 @@
        //
        // 定义一个动态区
        // 可以通过ID来更新不同的动态区内容, 此处 ID 为 0
        DynamicBxAreaRule dynRule = new DynamicBxAreaRule(0, (byte) 4, (byte) 1, 0);
        DynamicBxAreaRule dynRule = new DynamicBxAreaRule(0, (byte) 0, (byte) 1, 0);
        //dArea.addProgram("P000");
        //dArea.addProgram("P001");