Parcourir la source

第一个版本最终版

DESKTOP-SADJPBG\47462 il y a 5 ans
Parent
commit
d3d8ca9f7a

+ 1 - 0
.gitignore

xqd
@@ -12,3 +12,4 @@
 /captures
 .externalNativeBuild
 .idea/
+app/release/app-release.apk

+ 1 - 0
app/release/output.json

xqd
@@ -0,0 +1 @@
+[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":4,"versionName":"4.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

+ 8 - 8
app/src/main/java/com/siwei/recyclebox/application/AppApplication.java

xqd xqd xqd
@@ -116,7 +116,7 @@ public class AppApplication extends BaseApplication implements CustomActivityOnC
          */
         Map<String, ValueWrapper> propertyValues = new HashMap<>();
         //心跳包 interval 单位秒
-        MqttConfigure.setKeepAliveInterval(60);
+//        MqttConfigure.setKeepAliveInterval(60);
         // 示例
         // propertyValues.put("LightSwitch", new ValueWrapper.BooleanValueWrapper(0));
         IoTMqttClientConfig clientConfig = new IoTMqttClientConfig(deviceInfo.productKey, deviceInfo.deviceName, deviceInfo.deviceSecret);
@@ -171,11 +171,11 @@ public class AppApplication extends BaseApplication implements CustomActivityOnC
          *   调用动态注册接口去获取deviceSecret
          */
         DeviceInfo myDeviceInfo = new DeviceInfo();
-//        myDeviceInfo.productKey = "a1EtqHmfpNk";//正式服
-        myDeviceInfo.productKey = "a13H8L6bDyf";//测试服
+        myDeviceInfo.productKey = "a1EtqHmfpNk";//正式服
+//        myDeviceInfo.productKey = "a13H8L6bDyf";//测试服
 //
-//        myDeviceInfo.productSecret = "x6wHbrbXUMFYtvLl";//正式服
-        myDeviceInfo.productSecret = "Nc4Y4KsjofejCy27";//测试服
+        myDeviceInfo.productSecret = "x6wHbrbXUMFYtvLl";//正式服
+//        myDeviceInfo.productSecret = "Nc4Y4KsjofejCy27";//测试服
 
         System.out.println(MainViewModel.getDeviceId(this)+"----------------------------+");
         myDeviceInfo.deviceName = MainViewModel.getDeviceId(this);
@@ -183,9 +183,9 @@ public class AppApplication extends BaseApplication implements CustomActivityOnC
         SPUtils.getInstance().put("IMEI",MainViewModel.getDeviceId(this));
 //        myDeviceInfo.deviceName="123456";
 
-//        String secret = SPUtils.getInstance().getString("deviceSecret3");//读
-//        String secret = SPUtils.getInstance().getString("deviceSecret2");//读
-        String secret ="WMClVkIJipSunIY4fOSd2Be3xo42TfVs";
+//        SPUtils.getInstance().put("deviceSecret2","4pJyg1tm8VMOXZGwASAaaVgzRzZVMbbs");//存
+        String secret = SPUtils.getInstance().getString("deviceSecret2");//读
+//        String secret ="";
         Log.i(TAG,"secret=="+secret);
 
         if(secret != null &&  !secret.equals("")){

+ 3 - 3
app/src/main/java/com/siwei/recyclebox/deviceUtils/OtherDevice.java

xqd xqd
@@ -338,7 +338,7 @@ public class OtherDevice extends BaseDeviceEntity {
     /**
      * 运收门开锁
      */
-    public  Integer openLock(){
+    public  Integer openLock(){//AA BB 0A 01 66 02 01 07 FF FF CC DD
         try {
 //            byte[] openLockOrderBytes = new byte[]{(byte) 0xAA, (byte) 0xBB, 0x0A, 0x01, 0x66, 0x02, 0x01,0x03, (byte) 0xFF, (byte) 0xFF, (byte) 0xCC, (byte) 0xDD};
           byte[] openLockOrderBytes = new byte[]{(byte) 0xAA, (byte) 0xBB, 0x0A, 0x01, 0x66, 0x02, 0x01,0x07, (byte) 0xFF, (byte) 0xFF, (byte) 0xCC, (byte) 0xDD};
@@ -392,9 +392,9 @@ public class OtherDevice extends BaseDeviceEntity {
     public  Integer getDistance(){
         try {
             byte[] bytes = new byte[]{(byte)0xAA ,(byte)0xBB ,(byte)0x0C ,(byte)0x01 ,(byte)0x55 ,(byte)0x01 ,(byte)0xFF ,(byte)0xFF,(byte)0xFF ,(byte)0xFF ,(byte)0xCC ,(byte)0xDD};
-            port.write(bytes,200);
+            port.write(bytes,100);
             byte[] response = new byte[12];
-            int len = port.read(response,200);
+            int len = port.read(response,100);
             Log.i(TAG,ByteUtil.bytesToString(response)+len+"距离");
             byte[] disBytes = new byte[4];
             disBytes[2] = response[6];

+ 98 - 88
app/src/main/java/com/siwei/recyclebox/ui/main/MainViewModel.java

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -1183,9 +1183,9 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
 //            weight=SerialPortUtil.getInstance().getOtherDevice().readWeight();//称重
                         Integer capacity = 0;
                         capacity = SerialPortUtil.getInstance().getOtherDevice().getDistance();//超声波距离
-//                        if (capacity == 0) {//不准就再读一次
-//                            capacity = SerialPortUtil.getInstance().getOtherDevice().getDistance();//超声波距离
-//                        }
+                        if (capacity == 0) {//不准就再读一次
+                            capacity = SerialPortUtil.getInstance().getOtherDevice().getDistance();//超声波距离
+                        }
                         Integer magDoorSwitch = 0;
 //                        magDoorSwitch = SerialPortUtil.getInstance().getOtherDevice().queryMagDoor();//门磁   //因为门磁安装问题,不需要去判断是否开关门了
                         Integer currentTemperature = 0;
@@ -1255,18 +1255,22 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
                         mHandler.postDelayed(new Runnable() {
                             @Override
                             public void run() {
-                                LinkKit.getInstance().getDeviceThing().thingPropertyPost(reportData, new IPublishResourceListener() {
-                                    @Override
-                                    public void onSuccess(String s, Object o) {
-                                        Log.d("", "onSuccess() called with: s = [" + s + "], o = [" + o + "]");
-                                        SPUtils.getInstance().put("RunningState", 0);
-                                    }
+                                int networkNum=SPUtils.getInstance().getInt("netWork",1);
+                                if(networkNum!=0) {
+                                    LinkKit.getInstance().getDeviceThing().thingPropertyPost(reportData, new IPublishResourceListener() {
+                                        @Override
+                                        public void onSuccess(String s, Object o) {
+                                            Log.d("", "onSuccess() called with: s = [" + s + "], o = [" + o + "]");
+                                            SPUtils.getInstance().put("RunningState", 0);
+                                            textReportData.set(textReportData.get()+"-上报成功");
+                                        }
 
-                                    @Override
-                                    public void onError(String s, AError aError) {
-                                        Log.e("Main", s);
-                                    }
-                                });
+                                        @Override
+                                        public void onError(String s, AError aError) {
+                                            Log.e("Main", s);
+                                        }
+                                    });
+                                }
                             }
                         }, 200);
 
@@ -1477,27 +1481,27 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
     public void registerAliIoTListener(){
         // 注册下行监听,包括长连接的状态和云端下行的数据
         LinkKit.getInstance().registerOnPushListener(notifyListener);
-        MqttRrpcRegisterRequest rrpcRegisterRequest = new MqttRrpcRegisterRequest();
-//        rrpcRegisterRequest.topic = "/a1EtqHmfpNk/9pD3trz6OaDV8GF7yRsb/thing/service/currentWeight";
-        rrpcRegisterRequest.topic = "/a13H8L6bDyf/9pD3trz6OaDV8GF7yRsb/thing/service/currentWeight";
-
-        MqttSubscribeRequest subscribeRequest = new MqttSubscribeRequest();
-//        subscribeRequest.topic = "/a1EtqHmfpNk/9pD3trz6OaDV8GF7yRsb/user/checkOnlineStatus";
-        subscribeRequest.topic = "/a13H8L6bDyf/9pD3trz6OaDV8GF7yRsb/user/checkOnlineStatus";
-
-        subscribeRequest.isSubscribe = true;
-        subscribeRequest.qos = 0;
-        LinkKit.getInstance().subscribe(subscribeRequest, new IConnectSubscribeListener() {
-            @Override
-            public void onSuccess() {
-                System.out.println("checkOnlineStatus subscribe success");
-            }
-            @Override
-            public void onFailure(AError aError) {
-                System.out.println("checkOnlineStatus subscribe Fail");
-            }
-        });
-        publish();
+//        MqttRrpcRegisterRequest rrpcRegisterRequest = new MqttRrpcRegisterRequest();
+////        rrpcRegisterRequest.topic = "/a1EtqHmfpNk/9pD3trz6OaDV8GF7yRsb/thing/service/currentWeight";
+////        rrpcRegisterRequest.topic = "/a13H8L6bDyf/9pD3trz6OaDV8GF7yRsb/thing/service/currentWeight";
+//
+//        MqttSubscribeRequest subscribeRequest = new MqttSubscribeRequest();
+////        subscribeRequest.topic = "/a1EtqHmfpNk/9pD3trz6OaDV8GF7yRsb/user/checkOnlineStatus";
+//        subscribeRequest.topic = "/a13H8L6bDyf/"+IMEI+"/user/checkOnlineStatus";
+//
+//        subscribeRequest.isSubscribe = true;
+//        subscribeRequest.qos = 0;
+//        LinkKit.getInstance().subscribe(subscribeRequest, new IConnectSubscribeListener() {
+//            @Override
+//            public void onSuccess() {
+//                System.out.println("checkOnlineStatus subscribe success");
+//            }
+//            @Override
+//            public void onFailure(AError aError) {
+//                System.out.println("checkOnlineStatus subscribe Fail");
+//            }
+//        });
+//        publish();
     }
     private void reportVersion(){
         //上报版本
@@ -1578,52 +1582,52 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
     }
     private int disconnectTimes = 0;
 
-    private void publish(){
-        //一个循环方法,用来更新数据
-        System.out.println("checkOnlineStatus");
-        MqttPublishRequest publishRequest = new MqttPublishRequest();
-        publishRequest.qos = 0;
-//        publishRequest.topic = "/a1EtqHmfpNk/"+IMEI+"/user/checkOnlineStatus";//a1EtqHmfpNk
-        publishRequest.topic = "/a13H8L6bDyf/"+IMEI+"/user/checkOnlineStatus";//a1EtqHmfpNk
-
-        publishRequest.payloadObj = "{\"id\":"+ publishRequest.msgId+", \"version\":\"1.0\",\"time\":" + System.currentTimeMillis() + "}";
-//        Integer networkInt=netWorkInfo();
-//        Log.i(TAG,"network网络"+networkInt);
-//        if(networkInt!=0){
-            LinkKit.getInstance().publish(publishRequest, new IConnectSendListener() {
-                @Override
-                public void onResponse(ARequest aRequest, AResponse aResponse) {
-                    disconnectTimes = 0;
-                    mHandler.postDelayed(new Runnable() {
-                        @Override
-                        public void run() {
-                            reportProperty();
-                        }
-                    },5000);
-
-                    System.out.println("publish on Response :" + aResponse.getData());
-                }
-                @Override
-                public void onFailure(ARequest aRequest, AError aError) {
-                    System.out.println("publish onFailure  error:" + aError.getMsg());
-                    disconnectTimes++;
-                    if (disconnectTimes > 5) {
+//    private void publish(){
+//        //一个循环方法,用来更新数据
+//        System.out.println("checkOnlineStatus");
+//        MqttPublishRequest publishRequest = new MqttPublishRequest();
+//        publishRequest.qos = 0;
+////        publishRequest.topic = "/a1EtqHmfpNk/"+IMEI+"/user/checkOnlineStatus";//a1EtqHmfpNk
+//        publishRequest.topic = "/a13H8L6bDyf/"+IMEI+"/user/checkOnlineStatus";//a1EtqHmfpNk
+//
+//        publishRequest.payloadObj = "{\"id\":"+ publishRequest.msgId+", \"version\":\"1.0\",\"time\":" + System.currentTimeMillis() + "}";
+////        Integer networkInt=netWorkInfo();
+////        Log.i(TAG,"network网络"+networkInt);
+////        if(networkInt!=0){
+//            LinkKit.getInstance().publish(publishRequest, new IConnectSendListener() {
+//                @Override
+//                public void onResponse(ARequest aRequest, AResponse aResponse) {
+//                    disconnectTimes = 0;
+//                    mHandler.postDelayed(new Runnable() {
+//                        @Override
+//                        public void run() {
+//                            reportProperty();
+//                        }
+//                    },5000);
+//
+//                    System.out.println("publish on Response :" + aResponse.getData());
+//                }
+//                @Override
+//                public void onFailure(ARequest aRequest, AError aError) {
+//                    System.out.println("publish onFailure  error:" + aError.getMsg());
+//                    disconnectTimes++;
+//                    if (disconnectTimes > 5) {
 //                    registerAliIoTListener(); //重新连接。
-                        disconnectTimes = 0;
-                        return;
-                    }
-                    mHandler.postDelayed(new Runnable() {
-                        @Override
-                        public void run() {
-                            publish();
-                        }
-                    },1000000);
-
-                }
-            });
-//        }
-
-    }
+//                        disconnectTimes = 0;
+//                        return;
+//                    }
+//                    mHandler.postDelayed(new Runnable() {
+//                        @Override
+//                        public void run() {
+//                            publish();
+//                        }
+//                    },1000000);
+//
+//                }
+//            });
+////        }
+//
+//    }
 
 
     public void unRegisterIoTListener(){
@@ -2097,7 +2101,7 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
             }
         }else{
 //网络错误
-            Log.i(TAG,"网络错误....");
+            Log.i(TAG,"设备网络错误....");
             return 0;
         }
     }
@@ -2110,16 +2114,20 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
         NetworkInfo info = connectivity.getActiveNetworkInfo();
         if(info != null && info.isAvailable()){
             if (info.getType() == ConnectivityManager.TYPE_WIFI) {
+                Log.i("network","WiFi网络...");//WiFi网络
                 return 2;
             } else if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
 //移动网络
+                Log.i("network","移动网络....");
                 return 1;
             } else {
 //网络错误
+                Log.i("network","网络错误....");
                 return 0;
             }
         }else{
 //网络错误
+            Log.i("network","设备网络错误....");
             return 0;
         }
     }
@@ -2168,6 +2176,12 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
                     restartApp();
                     restartAndroid();
                 }
+                Integer networkInt=netWorkInfo();
+                if(networkInt==0) {
+                    restartApp();
+//                    restartAndroid();
+                }
+                SPUtils.getInstance().put("netWork",networkInt);
             }
         };
         timer.schedule(task2,3300000,3300000);
@@ -2175,16 +2189,12 @@ public class MainViewModel extends BaseViewModel implements SerialPortHelper.OnS
         task1=new TimerTask() {
             @Override
             public void run() {
-                publish();
+//                publish();
                 openLight();
-                Integer networkInt=netWorkInfo();
-                if(networkInt==0) {
-//                    restartApp();
-                    restartAndroid();
-                }
+                reportProperty();
             }
         };
-        timer.schedule(task1,1800000,3600000);
+        timer.schedule(task1,10000,3600000);
 
     }
     private void publishRepeat(){