This commit is contained in:
马增飞
2025-11-26 16:00:19 +08:00
parent ad669e421b
commit 6d1b997145
4 changed files with 61 additions and 62 deletions
@@ -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<ShelfModel> = 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 -> {}
}
@@ -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"
@@ -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}")
}
}
@@ -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