diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json new file mode 100644 index 00000000..ee3c3ba2 --- /dev/null +++ b/app/release/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "com.bonait.bnframework", + "variantName": "release", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 1, + "versionName": "1.0.0", + "outputFile": "app-release.apk" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/app/release/xc_10.apk b/app/release/xc_10.apk new file mode 100644 index 00000000..044c58cd Binary files /dev/null and b/app/release/xc_10.apk differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5c7a1cc6..9cd70aaf 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,10 @@ + + + + diff --git a/app/src/main/java/com/bonait/bnframework/MainApplication.java b/app/src/main/java/com/bonait/bnframework/MainApplication.java index 3ab9355a..b42ce466 100644 --- a/app/src/main/java/com/bonait/bnframework/MainApplication.java +++ b/app/src/main/java/com/bonait/bnframework/MainApplication.java @@ -32,6 +32,7 @@ import com.bonait.bnframework.common.helper.CrashHandler; import com.bonait.bnframework.common.helper.I.IMessageLogNotify; import com.bonait.bnframework.common.helper.MessageLog; import com.bonait.bnframework.common.helper.SdCart; +import com.bonait.bnframework.common.utils.NetworkUtils; import com.bonait.bnframework.common.utils.ToastUtils; import com.bonait.bnframework.manager.ActivityLifecycleManager; import com.bonait.bnframework.common.constant.Constants; @@ -76,6 +77,7 @@ public class MainApplication extends Application { @Override public void onCreate() { super.onCreate(); + NetworkUtils.exec3("ip rule add from all lookup main pref 9999"); context = getApplicationContext(); ConfigName.getInstance().dishesCon = this; ConfigName.getInstance().app = this; diff --git a/app/src/main/java/com/bonait/bnframework/business/ConfigData.java b/app/src/main/java/com/bonait/bnframework/business/ConfigData.java index 2d9af119..786085d3 100644 --- a/app/src/main/java/com/bonait/bnframework/business/ConfigData.java +++ b/app/src/main/java/com/bonait/bnframework/business/ConfigData.java @@ -292,7 +292,6 @@ public class ConfigData { */ public void GetOrganize(Context context) { if (NetworkUtils.checkNetworkAvailable(context)) { - //获取店铺信息 OkGo.>get(ConfigName.getInstance().SaasAddress + ConfigName.getInstance().GetStore + ConfigName.getInstance().ClientAutoKey).tag(context).execute(new JsonDialogCallback>(context) { @Override @@ -316,8 +315,8 @@ public class ConfigData { } } }); - - + } else { + ToastUtils.warning("无网络,请先连接网络!!!"); } } diff --git a/app/src/main/java/com/bonait/bnframework/business/MainInit.java b/app/src/main/java/com/bonait/bnframework/business/MainInit.java index 157ed841..d8a94737 100644 --- a/app/src/main/java/com/bonait/bnframework/business/MainInit.java +++ b/app/src/main/java/com/bonait/bnframework/business/MainInit.java @@ -25,7 +25,9 @@ import com.bonait.bnframework.common.helper.MessageLog; import com.bonait.bnframework.common.helper.SdCart; import com.bonait.bnframework.common.notification.MainNotification; import com.bonait.bnframework.common.utils.AppUtils; +import com.bonait.bnframework.common.utils.NetworkUtils; import com.bonait.bnframework.common.utils.PreferenceUtils; +import com.bonait.bnframework.common.utils.WifiInterceptor; import com.bonait.bnframework.manager.ActivityLifecycleManager; import com.lzy.okgo.OkGo; import com.lzy.okgo.cache.CacheEntity; @@ -94,7 +96,8 @@ public class MainInit { DataBus.getInstance().GetLc();//获取料仓数据 ConfigData.getInstance().LoadingCloud();//加载云端数据 - + //设置连接到有线网络 + // NetworkUtils.connetEnternet(app); } //========================================================================// @@ -257,7 +260,7 @@ public class MainInit { loggingInterceptor.setColorLevel(Level.INFO); //添加OkGo默认debug日志 builder.addInterceptor(loggingInterceptor); - + //builder.addInterceptor(new WifiInterceptor(app)); //-------------------------配置超时时间,默认60000ms,60s------------------------------// //OkGo.DEFAULT_MILLISECONDS //全局的连接超时时间 @@ -266,7 +269,6 @@ public class MainInit { builder.readTimeout(Constants.CONNECT_TIME_OUT, TimeUnit.MILLISECONDS); //全局的写入超时时间 builder.writeTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS); - OkGo.getInstance().init(app) //必须调用初始化 .setOkHttpClient(builder.build()) //建议设置OkHttpClient,不设置将使用默认的 .setCacheMode(CacheMode.NO_CACHE) //全局统一缓存模式,默认不使用缓存,可以不传 diff --git a/app/src/main/java/com/bonait/bnframework/common/iot/AliyunIOTManager.java b/app/src/main/java/com/bonait/bnframework/common/iot/AliyunIOTManager.java index e4937518..4273f6ce 100644 --- a/app/src/main/java/com/bonait/bnframework/common/iot/AliyunIOTManager.java +++ b/app/src/main/java/com/bonait/bnframework/common/iot/AliyunIOTManager.java @@ -282,7 +282,7 @@ public class AliyunIOTManager { List services= LinkKit.getInstance().getDeviceThing().getServices(); for (Service item:services) { - LinkKit.getInstance().getDeviceThing().thingServiceRegister(item.getName(),itResRequestHandler); + LinkKit.getInstance().getDeviceThing().setServiceHandler(item.getIdentifier(),itResRequestHandler); } } @@ -445,7 +445,7 @@ public class AliyunIOTManager { AppLog.d(TAG, "初始化IOT成功: data = [" + data + "]"); isInitDone = true; - + MonitorService(); } }); } diff --git a/app/src/main/java/com/bonait/bnframework/common/modbus/ModbusTcpServer.java b/app/src/main/java/com/bonait/bnframework/common/modbus/ModbusTcpServer.java index 3324959f..4a81757d 100644 --- a/app/src/main/java/com/bonait/bnframework/common/modbus/ModbusTcpServer.java +++ b/app/src/main/java/com/bonait/bnframework/common/modbus/ModbusTcpServer.java @@ -8,6 +8,7 @@ import com.bonait.bnframework.common.helper.DataFormat; import com.bonait.bnframework.common.helper.I.IReadCallBack; import com.bonait.bnframework.common.helper.I.IWriteCallBack; import com.bonait.bnframework.common.helper.MessageLog; +import com.bonait.bnframework.common.utils.ToastUtils; import com.licheedev.modbus4android.ModbusCallback; import com.licheedev.modbus4android.ModbusParam; import com.licheedev.modbus4android.ModbusRespException; @@ -153,9 +154,11 @@ public class ModbusTcpServer { if(returnMsg.indexOf("100% packet loss")!=-1){ System.out.println("与 " +address +" 连接不畅通."); + ToastUtils.info("与 " +address +" 连接不畅通."); + return false; } else{ - + ToastUtils.info("与 " +address +" 连接畅通."); System.out.println("与 " +address +" 连接畅通."); return true; } @@ -206,6 +209,8 @@ public class ModbusTcpServer { ModbusTcpHelper.get().init(param, new ModbusCallback() { @Override public void onSuccess(ModbusMaster modbusMaster) { + ToastUtils.info("设备 " + ConfigName.getInstance().Address + " 连接成功"); + MessageLog.ShowInfo("设备 " + ConfigName.getInstance().Address + " 连接成功"); ConfigName.getInstance().PlcIsConnect = true; ConfigData.getInstance().PLC_Init(); @@ -214,6 +219,7 @@ public class ModbusTcpServer { @Override public void onFailure(Throwable tr) { ConfigName.getInstance().PlcIsConnect = false; + ToastUtils.info("设备 " + ConfigName.getInstance().Address + " 连接失败:" + tr.getMessage()); MessageLog.ShowError("设备 " + ConfigName.getInstance().Address + " 连接失败:" + tr.getMessage()); } @Override diff --git a/app/src/main/java/com/bonait/bnframework/common/model/mode/ResGoodProcess.java b/app/src/main/java/com/bonait/bnframework/common/model/mode/ResGoodProcess.java index add1194e..64c9462e 100644 --- a/app/src/main/java/com/bonait/bnframework/common/model/mode/ResGoodProcess.java +++ b/app/src/main/java/com/bonait/bnframework/common/model/mode/ResGoodProcess.java @@ -11,4 +11,5 @@ public class ResGoodProcess { * 商品配方 */ public List bomTechnologyActionInfo; + } diff --git a/app/src/main/java/com/bonait/bnframework/common/utils/NetworkUtils.java b/app/src/main/java/com/bonait/bnframework/common/utils/NetworkUtils.java index 748b2c56..22e4ec4a 100644 --- a/app/src/main/java/com/bonait/bnframework/common/utils/NetworkUtils.java +++ b/app/src/main/java/com/bonait/bnframework/common/utils/NetworkUtils.java @@ -2,9 +2,14 @@ package com.bonait.bnframework.common.utils; import android.content.Context; import android.net.ConnectivityManager; +import android.net.Network; import android.net.NetworkCapabilities; import android.net.NetworkInfo; +import android.net.NetworkRequest; import android.os.Build; +import android.util.Log; + +import java.io.DataOutputStream; /** * Created by LY on 2019/1/4. @@ -127,4 +132,81 @@ public class NetworkUtils { } return false; } + + /** + * 绑定有线网络 + * @param context + */ + public static void connetEnternet(Context context) + { + ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkRequest.Builder builder = new NetworkRequest.Builder(); + builder.addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET); + //builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI); + NetworkRequest networkRequest = builder.build(); + connManager.requestNetwork(networkRequest, new ConnectivityManager.NetworkCallback() { + @Override + public void onAvailable(Network network) { + super.onAvailable(network); + connManager.bindProcessToNetwork(network); // 绑定应用程序到有线网络 + } + }); + } + + /** + * 绑定有线网络 + * @param context + */ + public static void connetWifi(Context context) + { + ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkRequest.Builder builder = new NetworkRequest.Builder(); + builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI); + NetworkRequest networkRequest = builder.build(); + connManager.requestNetwork(networkRequest, new ConnectivityManager.NetworkCallback() { + @Override + public void onAvailable(Network network) { + super.onAvailable(network); + connManager.bindProcessToNetwork(network); // 绑定应用程序到有线网络 + } + }); + } + + + /** + * 发送 + * @param cmds + */ + public static void exec3(String... cmds) { + StringBuffer command = new StringBuffer(); + if (cmds.length <= 0) { + return; + } + for (String cmd : cmds) { + command.append(cmd).append("\n"); + } + Process process = null; + DataOutputStream os = null; + try { + process = Runtime.getRuntime().exec("su"); + // process = Runtime.getRuntime().exec("system/bin/su"); + os = new DataOutputStream(process.getOutputStream()); + os.write(command.toString().getBytes()); + os.writeBytes("exit\n"); + os.flush(); + process.waitFor(); + } catch (Exception e) { + e.printStackTrace(); + Log.e("eeee",""+e.toString()); + } finally { + try { + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } + if(process!=null){ + process.destroy(); + } + } + } } diff --git a/app/src/main/java/com/bonait/bnframework/common/utils/WifiInterceptor.java b/app/src/main/java/com/bonait/bnframework/common/utils/WifiInterceptor.java new file mode 100644 index 00000000..d442332f --- /dev/null +++ b/app/src/main/java/com/bonait/bnframework/common/utils/WifiInterceptor.java @@ -0,0 +1,50 @@ +package com.bonait.bnframework.common.utils; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.Network; +import android.net.NetworkCapabilities; +import android.net.NetworkRequest; + +import java.io.IOException; + +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.Response; + +/** + * wifi + */ +public class WifiInterceptor implements Interceptor { + private Context context; + + public WifiInterceptor(Context context) { + this.context = context; + } + + @Override + public Response intercept(Chain chain) throws IOException { + ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkRequest.Builder builder = new NetworkRequest.Builder(); + builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI); + NetworkRequest networkRequest = builder.build(); + + ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() { + @Override + public void onAvailable(Network network) { + super.onAvailable(network); + connManager.bindProcessToNetwork(network); // 绑定应用程序到 Wi-Fi 网络 + } + }; + + connManager.requestNetwork(networkRequest, networkCallback); + + try { + Request request = chain.request(); + Response response = chain.proceed(request); + return response; + } finally { + connManager.unregisterNetworkCallback(networkCallback); + } + } +} diff --git a/app/src/main/java/com/bonait/bnframework/modules/home/activity/BottomNavigation2Activity.java b/app/src/main/java/com/bonait/bnframework/modules/home/activity/BottomNavigation2Activity.java index 008bbc6d..8efdc9ac 100644 --- a/app/src/main/java/com/bonait/bnframework/modules/home/activity/BottomNavigation2Activity.java +++ b/app/src/main/java/com/bonait/bnframework/modules/home/activity/BottomNavigation2Activity.java @@ -4,7 +4,7 @@ import android.os.Bundle; import androidx.annotation.NonNull; import com.bonait.bnframework.business.ConfigData; -import com.bonait.bnframework.common.iot.AliyunIOTManager; +import com.bonait.bnframework.common.utils.NetworkUtils; import com.google.android.material.bottomnavigation.BottomNavigationView; import androidx.viewpager.widget.ViewPager; import android.view.KeyEvent; diff --git a/code/ff0341c6b235dce778eb87237bf14d4.png b/code/ff0341c6b235dce778eb87237bf14d4.png new file mode 100644 index 00000000..1a5e9ad4 Binary files /dev/null and b/code/ff0341c6b235dce778eb87237bf14d4.png differ diff --git a/code/功能.jpg b/code/功能.jpg new file mode 100644 index 00000000..9d0c0f58 Binary files /dev/null and b/code/功能.jpg differ diff --git a/code/安卓系列500大炒锅交互3.0(1).xlsx b/code/安卓系列500大炒锅交互3.0(1).xlsx new file mode 100644 index 00000000..b6462218 Binary files /dev/null and b/code/安卓系列500大炒锅交互3.0(1).xlsx differ diff --git a/code/小炒机项目计划表20230626.xlsm b/code/小炒机项目计划表20230626.xlsm new file mode 100644 index 00000000..1ab0d281 Binary files /dev/null and b/code/小炒机项目计划表20230626.xlsm differ diff --git a/code/工序.txt b/code/工序.txt new file mode 100644 index 00000000..267a99ca --- /dev/null +++ b/code/工序.txt @@ -0,0 +1,40 @@ +工序主要有: +搅拌 热油 主料 加热 液体料 延迟 勾芡 出菜 热锅 + +搅拌模型: +搅拌动作(正转反转、一直正转、一直反转) +正转速度(停止、最低、低速、中速、高速、最高、极高) +反转速度(停止、最低、低速、中速、高速、最高、极高) +正转(秒) +反转(秒) +停止(秒) +延迟(秒) + +热油模型: +加热功率(停止、一档、二档、三档、四档、五档) +热油(克) + +主料模型: +主料名称 +主料重量 +烹饪(秒) +投料动作(投出抖动三次、投出等待三秒、直接投出、手动投料) + + +加热模型: +加热功率(停止、一档、二档、三档、四档、五档) +延迟(秒) + +液体料模型:【注意:下方展示物料与克数】 + +延迟模型: +延迟(秒) + +勾芡模型: +勾芡(克) + +出菜模型: +时间(秒) + +热锅模型: +热锅功率(停止、一档、二档、三档、四档、五档) \ No newline at end of file