| xqd
@@ -171,11 +171,6 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
System.out.println("btnClickqueryCurrent");
|
|
|
Integer queryCurrentData=SerialPortUtil.getInstance().getOtherDevice().queryCurrent();
|
|
|
textqueryCurrentData.set(String.valueOf(queryCurrentData));
|
|
|
-// int[] a=new int[2];
|
|
|
-// for(int i=0;i<5;i++){
|
|
|
-// a[i]=i;
|
|
|
-// }
|
|
|
-// avgWeight();
|
|
|
}
|
|
|
};
|
|
|
public void onSerialPortDataReceived(ComPortData comPortData) {
|
| xqd
@@ -377,7 +372,6 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
System.out.println("btnClickPushRod");
|
|
|
// mHandler.sendEmptyMessage(2);
|
|
|
// SerialPortUtil.getInstance().getOtherDevice().pushRod();//关门
|
|
|
-
|
|
|
pushRodMethodNonet();
|
|
|
}
|
|
|
};
|
| xqd
@@ -558,9 +552,8 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
@Override
|
|
|
public void run() {
|
|
|
avgWeight();
|
|
|
-
|
|
|
}
|
|
|
- },1000);
|
|
|
+ },500);
|
|
|
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
@Override
|
| xqd
@@ -625,35 +618,40 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
Thread thread=new Thread(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
+ Log.i("avgWeight()","---运行次数");
|
|
|
int weight = 0;
|
|
|
- int[] arr=new int[10];
|
|
|
+ int[] arr=new int[5];
|
|
|
int n;
|
|
|
- for(n=0;n<10;n++){
|
|
|
+ for(n=0;n<5;n++){
|
|
|
arr[n]=SerialPortUtil.getInstance().getWeightDevice().readWeight();
|
|
|
+// try {
|
|
|
+// sleep(200);
|
|
|
+// } catch (InterruptedException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
// arr[n]=n;
|
|
|
Log.i("n=", String.valueOf(n));
|
|
|
// arr[n]=SerialPortUtil.getInstance().getOtherDevice().readWeight();
|
|
|
Log.i("weight=", String.valueOf(arr[n]));
|
|
|
weight=arr[n]+weight;
|
|
|
- if(n==9){
|
|
|
- int dvalue1 = Math.abs(arr[9]-arr[8]);
|
|
|
- int dvalue2 = Math.abs(arr[9]-arr[7]);
|
|
|
+ if(n==3){
|
|
|
+ Log.i("weight=", Arrays.toString(arr));
|
|
|
+ int dvalue1 = Math.abs(arr[3]-arr[2]);
|
|
|
+ int dvalue2 = Math.abs(arr[3]-arr[1]);
|
|
|
if(dvalue1<30&&dvalue2<30){
|
|
|
- Log.i("weight n-1=", String.valueOf(arr[9]));
|
|
|
- SPUtils.getInstance().put("avgWeight",arr[9]);
|
|
|
+ Log.i("weight n-1=", String.valueOf(arr[3]));
|
|
|
+ SPUtils.getInstance().put("avgWeight最后读数",arr[3]);
|
|
|
}else {
|
|
|
- double v = weight / 10;
|
|
|
+ double v = weight / 5;
|
|
|
int avg = new Double(v).intValue();
|
|
|
Log.i("weight avg=", String.valueOf(avg));
|
|
|
- SPUtils.getInstance().put("avgWeight",avg);
|
|
|
+ SPUtils.getInstance().put("avgWeight平均数",avg);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
thread.start();
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|
| xqd
@@ -661,7 +659,6 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
//无网下关门
|
|
|
SPUtils.getInstance().put("infraredNum1",0);
|
|
|
SerialPortUtil.getInstance().getOtherDevice().pushRod();//关门
|
|
|
-// avgWeight();
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
| xqd
@@ -822,7 +819,7 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
public void run() {
|
|
|
try{
|
|
|
long curr=System.currentTimeMillis();
|
|
|
- while(System.currentTimeMillis()-curr<300000) {
|
|
|
+ while(System.currentTimeMillis()-curr<1800000) {
|
|
|
Thread.sleep(1000);
|
|
|
Integer magDoorSwitch=SerialPortUtil.getInstance().getOtherDevice().queryMagDoor();//通过门磁感应判断收运门是否关闭
|
|
|
if(magDoorSwitch==0){
|
| xqd
@@ -1042,13 +1039,14 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
public void reportProperty(int num) {
|
|
|
Log.i(TAG,"上报数据");
|
|
|
try{
|
|
|
-
|
|
|
// SerialPortUtil.getInstance().getWeightDevice().weightClear();//去皮清零
|
|
|
// SerialPortUtil.getInstance().getOtherDevice().clearWeight();//去皮清零
|
|
|
Integer weight = 0;
|
|
|
if(num==1){
|
|
|
+ Log.i("num=1","读一次称重");
|
|
|
weight = SerialPortUtil.getInstance().getWeightDevice().readWeight();//读称重
|
|
|
}else if(num==2){
|
|
|
+ Log.i("num=2","读平均称重或最后");
|
|
|
weight=SPUtils.getInstance().getInt("avgWeight");
|
|
|
}
|
|
|
|
| xqd
@@ -1157,7 +1155,7 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
/*
|
|
|
* 上报给蓝牙的数据格式
|
|
|
* */
|
|
|
- public JSONObject reportDataMethod(int num){
|
|
|
+ public JSONObject reportDataMethod(){
|
|
|
Integer capacity=0;
|
|
|
capacity=SerialPortUtil.getInstance().getOtherDevice().getDistance();//超声波距离/
|
|
|
Integer magDoorSwitch=0;
|
| xqd
@@ -1165,12 +1163,8 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
Integer currentTemperature=0;
|
|
|
currentTemperature=SerialPortUtil.getInstance().getOtherDevice().geTemperature();//温度
|
|
|
Integer weight = 0;
|
|
|
- if(num==2){
|
|
|
- weight=SerialPortUtil.getInstance().getWeightDevice().readWeight();
|
|
|
- // weight=SerialPortUtil.getInstance().getOtherDevice().readWeight();//称重
|
|
|
- }else if(num==1){
|
|
|
- weight=SPUtils.getInstance().getInt("avgWeight");
|
|
|
- }
|
|
|
+ weight=SerialPortUtil.getInstance().getWeightDevice().readWeight();
|
|
|
+ // weight=SerialPortUtil.getInstance().getOtherDevice().readWeight();//称重
|
|
|
|
|
|
String text = "称重 " + weight.toString() + ";距离 " + capacity.toString() + "mm;温度 " + currentTemperature+"度;门磁 "+magDoorSwitch+";杆状态 "+";锁状态 "+lockSwitch;
|
|
|
Log.i(TAG, text + "=textReportData---------------------");
|
| xqd
@@ -1270,13 +1264,13 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
* 加密传给蓝牙的数据格式
|
|
|
* */
|
|
|
@RequiresApi(api = Build.VERSION_CODES.O)
|
|
|
- public String reportDataMethodEncrypt(int num) {
|
|
|
+ public String reportDataMethodEncrypt() {
|
|
|
JSONObject reportData =new JSONObject();
|
|
|
reportData.put("T",SPUtils.getInstance().getString("type"));
|
|
|
//加密数据
|
|
|
String base64Str="";
|
|
|
try {
|
|
|
- base64Str= DemoOne.encrypt(reportDataMethod(num).toString()+"@", "1234567890123456", "0987654321098765");//加密数据
|
|
|
+ base64Str= DemoOne.encrypt(reportDataMethod().toString()+"@", "1234567890123456", "0987654321098765");//加密数据
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
| xqd
@@ -1341,7 +1335,7 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
@Override
|
|
|
public void run() {
|
|
|
publish();
|
|
|
-// publishRepeat();
|
|
|
+ publishRepeat();
|
|
|
|
|
|
}
|
|
|
},600000);
|
| xqd
@@ -1486,28 +1480,35 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
|
|
|
private void publishRepeat(){
|
|
|
//每隔一段时间检测磁控和温度 如果异常就上报(前提是有网条件下)
|
|
|
- Integer currentTemperature=SerialPortUtil.getInstance().getOtherDevice().geTemperature();//温度
|
|
|
- Integer magDoorSwitch=SerialPortUtil.getInstance().getOtherDevice().queryMagDoor();
|
|
|
- if(currentTemperature>100){
|
|
|
- SPUtils.getInstance().put("RunningState","2");//温度过高
|
|
|
- Log.i(TAG,"温度过高");
|
|
|
- Integer networkInt=netWorkInfo();
|
|
|
- if(networkInt!=0){
|
|
|
- reportProperty(1);
|
|
|
- }
|
|
|
- }
|
|
|
- if(magDoorSwitch==1){
|
|
|
- if(SPUtils.getInstance().getString("magDoorSwitch").equals("0")){
|
|
|
- SPUtils.getInstance().put("RunningState","3");
|
|
|
- Log.i(TAG,"收运门意外打开");
|
|
|
- Integer networkInt=netWorkInfo();
|
|
|
- if(networkInt!=0){
|
|
|
- reportProperty(1);
|
|
|
+ Thread thread=new Thread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ Integer currentTemperature=SerialPortUtil.getInstance().getOtherDevice().geTemperature();//温度
|
|
|
+ Integer magDoorSwitch=SerialPortUtil.getInstance().getOtherDevice().queryMagDoor();
|
|
|
+ if(currentTemperature>100){
|
|
|
+ SPUtils.getInstance().put("RunningState","2");//温度过高
|
|
|
+ Log.i(TAG,"温度过高");
|
|
|
+ Integer networkInt=netWorkInfo();
|
|
|
+ if(networkInt!=0){
|
|
|
+ reportProperty(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(magDoorSwitch==1){
|
|
|
+ if(SPUtils.getInstance().getString("magDoorSwitch").equals("0")){
|
|
|
+ SPUtils.getInstance().put("RunningState","3");
|
|
|
+ Log.i(TAG,"收运门意外打开");
|
|
|
+ Integer networkInt=netWorkInfo();
|
|
|
+ if(networkInt!=0){
|
|
|
+ reportProperty(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(currentTemperature<100&magDoorSwitch==0) {
|
|
|
+ SPUtils.getInstance().put("RunningState","0");
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if(currentTemperature<100&magDoorSwitch==0) {
|
|
|
- SPUtils.getInstance().put("RunningState","0");}
|
|
|
+ });
|
|
|
+ thread.start();
|
|
|
mHandler.postDelayed(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
| xqd
@@ -1586,7 +1587,6 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
@RequiresApi(api = Build.VERSION_CODES.O)
|
|
|
@Override
|
|
|
public void run() {
|
|
|
-
|
|
|
String response=SPUtils.getInstance().getString("response");
|
|
|
// +"asasasa15s1a5s1a651sa51s6a51s6a51s5a1s65a1sa51sa651sa561sa51s5a1s6a51s65a1s"
|
|
|
// response="{\"encryptData\":\"81ypl9FQ9YyoyLyjPpd6BpvC0kT+QDGvKt9eQU8YjFhMuMpVsAMwSw/+kOFDhKKp8JEbFWKM3vTDZp5HhxIl0GloODH5RAutIFDNcLP1c13OrIfeFMmaOivV63omw5CbAMBQp0nuMXPbzHICiZ2HFJhcA0Ahm0g+R+4ze74ku4Ojbor+3s3Q4G3pF+6tnJelR/P4ovA81Ls0dvc1aBSC15hPjkD94j4mAsariqcj328zDQE9oXFb7I5k7z5jkAAVB4cm0qxnk/Np+KoEA1DU0TtQEjvN18Ak/kEND7hk5fU2xGcCmS6OMzltUk4Z3acaydWDaAfvZnChP/wUwXBcVmRdK50tgq8/70xhUWZT5WycOYmov7cO/F7gK1aP/u8hCNztYkG+sXyReXfHfFWk/0AtbT19+wUoyVgaihUfKI/knNSjqunBnVjksNKqRIKqWAUdQIarlxo+V7zdwsBcMnHQBCVeSGdG3OPfaEVMEOFopjOB7q7YLPd93AhYr/x9eQc6tRaZOR1dVgiq3hpxOD3uDCcumDjK88XcyvaD/EYV7rEukd8bTOF6lVEy3iCx+AT9GTqm123";
|
| xqd
@@ -1661,7 +1661,7 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
if(numInt== finalTimeInt){
|
|
|
pushRodMethodNonet();
|
|
|
SPUtils.getInstance().put("type","close");
|
|
|
- String response=reportDataMethodEncrypt(1);
|
|
|
+ String response=reportDataMethodEncrypt();
|
|
|
SPUtils.getInstance().put("response",response);
|
|
|
onCharacteristicReadRequest(device, requestId, offset, characteristic);
|
|
|
break;
|
| xqd
@@ -1707,13 +1707,16 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
public void run() {
|
|
|
try{
|
|
|
long curr=System.currentTimeMillis();
|
|
|
- while(System.currentTimeMillis()-curr<300000) {
|
|
|
+ while(System.currentTimeMillis()-curr<1800000) {
|
|
|
Thread.sleep(1000);
|
|
|
Integer magDoorSwitch=SerialPortUtil.getInstance().getOtherDevice().queryMagDoor();//通过门磁感应判断收运门是否关闭
|
|
|
if(magDoorSwitch==0){
|
|
|
SerialPortUtil.getInstance().getWeightDevice().weightClear();//若关闭,称重清零
|
|
|
SPUtils.getInstance().put("magDoorSwitch","0");
|
|
|
// SerialPortUtil.getInstance().getOtherDevice().clearWeight();
|
|
|
+ String response=reportDataMethodEncrypt();
|
|
|
+ SPUtils.getInstance().put("response",response);
|
|
|
+ onCharacteristicReadRequest(device, requestId, offset, characteristic);
|
|
|
break;
|
|
|
}
|
|
|
}
|
| xqd
@@ -1731,38 +1734,18 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
}
|
|
|
}
|
|
|
if(requestStr.equals("close")){
|
|
|
-// avgWeight();
|
|
|
pushRodMethodNonet();
|
|
|
Log.i(TAG,"++++++收到321");
|
|
|
Log.i(TAG,"+++++关门");
|
|
|
SPUtils.getInstance().put("type","close");
|
|
|
-// mHandler.postDelayed(new Runnable() {
|
|
|
-// @Override
|
|
|
-// public void run() {
|
|
|
-// SPUtils.getInstance().put("type","close");
|
|
|
-// String response=reportDataMethodEncrypt(2);
|
|
|
-// SPUtils.getInstance().put("response",response);
|
|
|
-// onCharacteristicReadRequest(device, requestId, offset, characteristic);
|
|
|
-// }
|
|
|
-// },3500);
|
|
|
- String response=reportDataMethodEncrypt(2);
|
|
|
+ String response=reportDataMethodEncrypt();
|
|
|
SPUtils.getInstance().put("response",response);
|
|
|
onCharacteristicReadRequest(device, requestId, offset, characteristic);
|
|
|
}
|
|
|
if(requestStr.equals("close2")){
|
|
|
-// avgWeight();
|
|
|
Log.i(TAG,"+++++收运门关");
|
|
|
SPUtils.getInstance().put("type","close");
|
|
|
-// mHandler.postDelayed(new Runnable() {
|
|
|
-//// @Override
|
|
|
-//// public void run() {
|
|
|
-//// SPUtils.getInstance().put("type","close");
|
|
|
-//// String response=reportDataMethodEncrypt(2);
|
|
|
-//// SPUtils.getInstance().put("response",response);
|
|
|
-//// onCharacteristicReadRequest(device, requestId, offset, characteristic);
|
|
|
-//// }
|
|
|
-//// },3500);
|
|
|
- String response=reportDataMethodEncrypt(2);
|
|
|
+ String response=reportDataMethodEncrypt();
|
|
|
SPUtils.getInstance().put("response",response);
|
|
|
onCharacteristicReadRequest(device, requestId, offset, characteristic);
|
|
|
}
|
| xqd
@@ -1772,7 +1755,7 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
Log.i(TAG,"+++++开门请求");
|
|
|
Log.i(TAG,"+++++requestStrlength"+requestStr.length());
|
|
|
SPUtils.getInstance().put("type","open");
|
|
|
- String response=reportDataMethodEncrypt(2);
|
|
|
+ String response=reportDataMethodEncrypt();
|
|
|
SPUtils.getInstance().put("response",response);
|
|
|
onCharacteristicReadRequest(device, requestId, offset, characteristic);
|
|
|
}
|
| xqd
@@ -1782,7 +1765,7 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
|
|
|
Log.i(TAG,"+++++开门请求");
|
|
|
Log.i(TAG,"+++++requestStrlength"+requestStr.length());
|
|
|
SPUtils.getInstance().put("type","open");
|
|
|
- String response=reportDataMethodEncrypt(2);
|
|
|
+ String response=reportDataMethodEncrypt();
|
|
|
SPUtils.getInstance().put("response",response);
|
|
|
onCharacteristicReadRequest(device, requestId, offset, characteristic);
|
|
|
}
|