From 6d1b997145dbd62e2185fed688f548a7e13c930c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=A2=9E=E9=A3=9E?= <331023091@qq.com> Date: Wed, 26 Nov 2025 16:00:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shelves/activity/HomeActivity.kt | 41 +++++----- .../shelves/activity/InitActivity.kt | 1 + .../intelligent/shelves/base/BaseActivity.kt | 3 +- .../intelligent/shelves/utils/AppUtil.java | 78 +++++++++---------- 4 files changed, 61 insertions(+), 62 deletions(-) diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/activity/HomeActivity.kt b/app/src/main/java/com/shuwei/intelligent/shelves/activity/HomeActivity.kt index 9066de9..721a7fb 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/activity/HomeActivity.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/activity/HomeActivity.kt @@ -64,24 +64,24 @@ class HomeActivity : BaseActivity() { // "${HEADER}000281C5D70A7D428A4FA67B50F7DACA241938938B4B9CBD73673E9C8E7F2E15062D${FOOTER}" const val LEFT_SHELF_OPEN_CMD = - "${HEADER}020101000000000000000000000000000000000000$FOOTER" + "${HEADER}020101000000000000000000000000000000000000${FOOTER}" const val RIGHT_SHELF_OPEN_CMD = - "${HEADER}020100010000000000000000000000000000000000$FOOTER" + "${HEADER}020100010000000000000000000000000000000000${FOOTER}" //const val TEMPERATURE_CMD = "${HEADER}1001${FOOTER}" - const val DEVICE_INFO_CMD = "${HEADER}0301000000000000000000000000$FOOTER" + const val DEVICE_INFO_CMD = "${HEADER}0301000000000000000000000000${FOOTER}" //const val START_CMD= "${HEADER}0F01360000${FOOTER}" //const val START_CMD= "${HEADER}0F01050020${FOOTER}" - const val ACTIVE_CMD = - "${HEADER}000281C5D70A7D428948AD7254FADBB1516738938B4B9CBD73673E9D8E7F2E15062D$FOOTER" + //const val ACTIVE_CMD = "${HEADER}000281C5D70A7D428948AD7254FADBB1516738938B4B9CBD73673E9D8E7F2E15062D$FOOTER" + const val ACTIVE_CMD = "${HEADER}000281C5D70A7D42894EA17650F5D0BB516838E7863C9ABD766C38958AFF0F3C062D${FOOTER}" //开灯(开 继电器1) - const val LIGHT_CLOSE = "${HEADER}020102020102020000000000000000000000000000$FOOTER" - const val LIGHT_OPEN = "${HEADER}020102020002020000000000000000000000000000$FOOTER" + const val LIGHT_CLOSE = "${HEADER}020102020102020000000000000000000000000000${FOOTER}" + const val LIGHT_OPEN = "${HEADER}020102020002020000000000000000000000000000${FOOTER}" - const val TEMPERATURE_CTRL = "${HEADER}0F01040000$FOOTER" + const val TEMPERATURE_CTRL = "${HEADER}0F01040000${FOOTER}" val list: MutableList = mutableListOf() val weightArray = SparseIntArray() @@ -149,6 +149,7 @@ class HomeActivity : BaseActivity() { } } } + //sendCmd(ACTIVE_CMD) TaskManager.startTask() // var androidId = Settings.Secure.getString(contentResolver, Settings.Secure.ANDROID_ID) @@ -260,7 +261,7 @@ class HomeActivity : BaseActivity() { private val serialReader by lazy { StringBuilder() } - private suspend fun receiveSerialPortData(srcData: String) { + private fun receiveSerialPortData(srcData: String) { log("receiveSerialPortData: $srcData") var data = "" if (srcData.startsWith(HEADER) && srcData.contains(FOOTER)) { @@ -286,17 +287,12 @@ class HomeActivity : BaseActivity() { when (cmd) { "0001" -> { //终端发起激活指令,拿到固定数据体(终端ID-15字节、固件版本-5字节、命令次数-1字节) - val reqBody = data.substring(HEADER.length + cmd.length, data.length - HEADER.length) - if (reqBody.length == 64) { + val reqBody = data.substring(HEADER.length + cmd.length, data.length - FOOTER.length) + if (reqBody.length == 44) { terminalId = reqBody.substring(2, 32) terminalVersion = reqBody.substring(32, 42) log("receiveSerialPortData:收到[激活]${cmd.substring(0,2)}指令:${data},终端id:${terminalId},固件版本:${terminalVersion},发送激活命令:$ACTIVE_CMD") sendCmd(ACTIVE_CMD) - } else { - runOnUiThread { - toast("收到终端激活指令错误") - } - sendCmd(ACTIVE_CMD) } } @@ -356,14 +352,15 @@ class HomeActivity : BaseActivity() { val respCmd = "${HEADER}100200$FOOTER" log("receiveSerialPortData:收到[温控信息上报]${cmd.substring(0,2)}指令:${data},发送应答指令:${respCmd}") sendCmd(respCmd) + //D6DADEDB1001015D020000000027001E00020000001E001C00B40000000000010000000100040000001900440003000F00000000000FFFE6000200010002FFD80044000300010005001E0001FFD80056001400280000000000000000008300090000003C00D2000000000000007F003700000000A100000031323136334238423134303233303456322E313100FFFF } - //"1002" -> { - // log("receiveSerialPortData,温控信息上报1002数据:${data}") - //} - //"0F02" -> { - // log("receiveSerialPortData,温控信息应答数据:${data}") - //} + "1002" -> { + log("receiveSerialPortData,温控信息应答1002数据:${data}") + } + "0F02" -> { + log("receiveSerialPortData,温控信息应答0F02数据:${data}") + } else -> {} } diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/activity/InitActivity.kt b/app/src/main/java/com/shuwei/intelligent/shelves/activity/InitActivity.kt index 66bac66..d2d4178 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/activity/InitActivity.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/activity/InitActivity.kt @@ -48,6 +48,7 @@ class InitActivity : BaseActivity() { App.deviceId = AppUtil.getUDID( this) + Log.d(TAG, "onCreate: deviceId = ${App.deviceId}") SpTool.put(SpTool.DEVICE_ID, App.deviceId) App.configUrl = UrlConfig.BASE_URL App.canteenId = "0" diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/base/BaseActivity.kt b/app/src/main/java/com/shuwei/intelligent/shelves/base/BaseActivity.kt index 7a10c35..9ae5bf9 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/base/BaseActivity.kt +++ b/app/src/main/java/com/shuwei/intelligent/shelves/base/BaseActivity.kt @@ -167,7 +167,8 @@ open class BaseActivity : AppCompatActivity() { fun sendCmd(cmd:String) { lifecycleScope.launch { - SerialPortManager.send(cmd) + val result = SerialPortManager.send(cmd) + log("发送命令${cmd}结果:${result}") } } diff --git a/app/src/main/java/com/shuwei/intelligent/shelves/utils/AppUtil.java b/app/src/main/java/com/shuwei/intelligent/shelves/utils/AppUtil.java index dd9317c..099c35c 100644 --- a/app/src/main/java/com/shuwei/intelligent/shelves/utils/AppUtil.java +++ b/app/src/main/java/com/shuwei/intelligent/shelves/utils/AppUtil.java @@ -406,45 +406,45 @@ public class AppUtil { */ @SuppressLint("MissingPermission") public static String getUDID(Context context) { - return "SWZC-HG-001"; - //"test111"; -// String androidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); -// if (!androidID.equals("")) { -// try { -// if (!"9774d56d682e549c".equals(androidID)) { -// androidID = UUID.nameUUIDFromBytes(androidID.getBytes("utf8")).toString(); -// } else { -// @SuppressLint("MissingPermission") final String deviceId = ((TelephonyManager) context.getSystemService(TELEPHONY_SERVICE)).getDeviceId(); -// androidID = deviceId != null ? UUID.nameUUIDFromBytes(deviceId.getBytes("utf8")).toString() : UUID.randomUUID().toString(); -// } -// } catch (UnsupportedEncodingException e) { -// throw new RuntimeException(e); -// } -// return androidID; -// } -// -// //需要权限 android.permission.READ_PHONE_STATE -// TelephonyManager TelephonyMgr = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE); -// String szImei = TelephonyMgr.getDeviceId(); -// if (!szImei.equals("")) { -// return szImei; -// } -// -// //需要权限 android.permission.ACCESS_WIFI_STATE -// WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); -// String m_szWLANMAC = wm.getConnectionInfo().getMacAddress(); -// if (!m_szWLANMAC.equals("")) { -// return m_szWLANMAC; -// } -// -// //需要权限 android.permission.BLUETOOTH -// BluetoothAdapter m_BluetoothAdapter = null; -// m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); -// String m_szBTMAC = m_BluetoothAdapter.getAddress(); -// if (!m_szBTMAC.equals("")) { -// return m_szBTMAC; -// } -// return getUniquePsuedoID(); +// return "SWZC-HG-001"; +// //"test111"; + String androidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); + if (!androidID.equals("")) { + try { + if (!"9774d56d682e549c".equals(androidID)) { + androidID = UUID.nameUUIDFromBytes(androidID.getBytes("utf8")).toString(); + } else { + @SuppressLint("MissingPermission") final String deviceId = ((TelephonyManager) context.getSystemService(TELEPHONY_SERVICE)).getDeviceId(); + androidID = deviceId != null ? UUID.nameUUIDFromBytes(deviceId.getBytes("utf8")).toString() : UUID.randomUUID().toString(); + } + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + return androidID; + } + + //需要权限 android.permission.READ_PHONE_STATE + TelephonyManager TelephonyMgr = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE); + String szImei = TelephonyMgr.getDeviceId(); + if (!szImei.equals("")) { + return szImei; + } + + //需要权限 android.permission.ACCESS_WIFI_STATE + WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + String m_szWLANMAC = wm.getConnectionInfo().getMacAddress(); + if (!m_szWLANMAC.equals("")) { + return m_szWLANMAC; + } + + //需要权限 android.permission.BLUETOOTH + BluetoothAdapter m_BluetoothAdapter = null; + m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + String m_szBTMAC = m_BluetoothAdapter.getAddress(); + if (!m_szBTMAC.equals("")) { + return m_szBTMAC; + } + return getUniquePsuedoID(); } //获得 Psuedo ID