| | |
| | | private Button turnLeftBtn; |
| | | private Button turnRightBtn; |
| | | |
| | | private Button cameraResetBtn; |
| | | private Button loadResetBtn; |
| | | private Button forkResetBtn; |
| | | private Button gyroResetBtn; |
| | | private Button liftResetBtn; |
| | | private Button allResetBtn; |
| | | |
| | | |
| | | private Button bodySwitchBtn; // 底盘/货叉切换 |
| | | private Socket socket; |
| | |
| | | private RelativeLayout layout_reset; |
| | | |
| | | int liftHeight = 400; |
| | | int extendWidth = 0; |
| | | int extendWidth = -450; |
| | | int angle = -91; // 7 度 |
| | | |
| | | |
| | | SocketManager socketManager; |
| | |
| | | |
| | | |
| | | |
| | | // 底盘前进、后退、左旋转、右旋转 |
| | | private Handler handler = new Handler(new Handler.Callback() { |
| | | @Override |
| | | public boolean handleMessage(Message msg) { |
| | |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 10)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | handler.sendEmptyMessageDelayed(0, 100); |
| | | handler.sendEmptyMessageDelayed(0, 100); // 100ms 后发送下一条消息 |
| | | } |
| | | if (isGoBackward) { |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | |
| | | layout_single = findViewById(R.id.layout_single); |
| | | layout_reset = findViewById(R.id.layout_reset); |
| | | |
| | | |
| | | cameraResetBtn = findViewById(R.id.btn_camera_reset); |
| | | loadResetBtn = findViewById(R.id.btn_load_reset); |
| | | forkResetBtn = findViewById(R.id.btn_fork_reset); |
| | | gyroResetBtn = findViewById(R.id.btn_gyro_reset); |
| | | liftResetBtn = findViewById(R.id.btn_lift_reset); |
| | | allResetBtn = findViewById(R.id.btn_all_reset); |
| | | |
| | | |
| | | |
| | | Intent intent = getIntent(); |
| | | clientId = intent.getStringExtra("message"); |
| | | Log.i("message1",clientId); |
| | |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | if (liftHeight >= 3200) { |
| | | if (liftHeight <= 3200) { |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(HandLift.class) |
| | | .setAgvNo(AgvNo) |
| | |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | if (liftHeight >= 3200) { |
| | | if (extendWidth <= 450) { |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(HandExtendCollect.class) |
| | | .setAgvNo(AgvNo) |
| | |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 21)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | liftHeight += 100; |
| | | extendWidth += 50; |
| | | } else { |
| | | DialogUtil.showAlertDialog(MainActivity.this, "提示", "已超最大值!"); |
| | | } |
| | |
| | | } |
| | | }); |
| | | |
| | | // 收起 |
| | | frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() { |
| | | // 收叉 |
| | | collectForkBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(HandExtendCollect.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 21)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | if (extendWidth >= -450) { |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(HandExtendCollect.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 21)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端户端 |
| | | extendWidth -= 50; |
| | | } else { |
| | | DialogUtil.showAlertDialog(MainActivity.this, "提示", "已超最大值!"); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 左旋 |
| | | frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() { |
| | | turnLeftBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 21)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | if (angle <= 91) { |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 21)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | angle += 7; |
| | | } else { |
| | | DialogUtil.showAlertDialog(MainActivity.this, "提示", "已超最大值!"); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 右旋 |
| | | frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() { |
| | | turnRightBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | if (angle >= -91) { |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 21)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | angle -= 7; |
| | | } else { |
| | | DialogUtil.showAlertDialog(MainActivity.this, "提示", "已超最小值!"); |
| | | } |
| | | |
| | | } |
| | | }); |
| | | |
| | | // 相机复位按钮 |
| | | cameraResetBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class) |
| | | AgvAction agvAction = new AgvAction<>(FrontPaddle.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 21)); |
| | | .bodySync((action) -> action.setPwd((short) 1)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | } |
| | | }); |
| | | |
| | | // 路径清除按钮 |
| | | loadResetBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(FrontPaddle.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 1)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | } |
| | | }); |
| | | |
| | | // 货叉归零按钮 |
| | | forkResetBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(FrontPaddle.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 1)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | } |
| | | }); |
| | | |
| | | // 陀螺仪复位按钮 |
| | | gyroResetBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(FrontPaddle.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 1)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | } |
| | | }); |
| | | |
| | | // 升降归零按钮 |
| | | liftResetBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(FrontPaddle.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 1)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | } |
| | | }); |
| | | |
| | | // 整机复位按钮 |
| | | allResetBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | if (vibrator != null && vibrator.hasVibrator()) { |
| | | vibrator.vibrate(500); |
| | | } |
| | | String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); |
| | | AgvAction agvAction = new AgvAction<>(FrontPaddle.class) |
| | | .setAgvNo(AgvNo) |
| | | .setSerialNo(substring) |
| | | .setVal(1) |
| | | .bodySync((action) -> action.setPwd((short) 1)); |
| | | nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 |
| | | } |
| | | }); |
| | |
| | | isRotatopnRight = false; |
| | | } |
| | | } |
| | | // else if (view.getId() == R.id.btn_front_paddle_extend) { |
| | | // // 前拨杆伸出 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isFrontPaddleExtendBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isFrontPaddleExtendBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_front_paddle_collect) { |
| | | // // 前拨杆收起 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isFrontPaddleCollectBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isFrontPaddleCollectBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_back_paddle_extend) { |
| | | // // 后拨杆伸出 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isBackPaddleExtendBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isBackPaddleExtendBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_back_paddle_collect) { |
| | | // // 后拨杆收起 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isBackPaddleCollectBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isBackPaddleCollectBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_rise) { |
| | | // // 上升 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isRiseBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isRiseBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_drop) { |
| | | // // 下降 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isDropBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isDropBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_extend_fork) { |
| | | // // 伸叉 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isExtendForkBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isExtendForkBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_collect_fork) { |
| | | // // 收叉 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isCollectForkBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isCollectForkBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_turn_left) { |
| | | // // 左旋转 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isTurnLeftBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isTurnLeftBtn = false; |
| | | // } |
| | | // } else if (view.getId() == R.id.btn_turn_right) { |
| | | // // 左旋转 |
| | | // if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { |
| | | // isTurnRightBtn = true; |
| | | // handler.sendEmptyMessage(0); |
| | | // } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { |
| | | // isTurnRightBtn = false; |
| | | // } |
| | | // } |
| | | |
| | | |
| | | return false; |
| | | |