add get mac info function

This commit is contained in:
pandx 2025-06-23 14:00:03 +08:00
parent cc5f48f15c
commit 592cd19d02

View File

@ -173,6 +173,7 @@ class SocketClientApp(QMainWindow):
self.get_data_button2 = QPushButton("获取数据2") self.get_data_button2 = QPushButton("获取数据2")
self.get_temp_button = QPushButton("温度、偏置") self.get_temp_button = QPushButton("温度、偏置")
self.upgrade_button = QPushButton("更新固件") self.upgrade_button = QPushButton("更新固件")
self.get_mac_button = QPushButton("获取MAC地址")
self.mac_config_button = QPushButton("mac配置") self.mac_config_button = QPushButton("mac配置")
self.ipv4_config_button = QPushButton("网络配置") self.ipv4_config_button = QPushButton("网络配置")
self.calibration_config_button = QPushButton("校准") self.calibration_config_button = QPushButton("校准")
@ -186,6 +187,7 @@ class SocketClientApp(QMainWindow):
self.upgrade_button_sampling.setEnabled(False) self.upgrade_button_sampling.setEnabled(False)
self.save_button_csv.setEnabled(False) self.save_button_csv.setEnabled(False)
self.mac_config_button.setEnabled(False) self.mac_config_button.setEnabled(False)
self.get_mac_button.setEnabled(False)
self.ipv4_config_button.setEnabled(False) self.ipv4_config_button.setEnabled(False)
self.calibration_config_button.setEnabled(False) self.calibration_config_button.setEnabled(False)
self.get_version_button.setEnabled(False) self.get_version_button.setEnabled(False)
@ -230,6 +232,7 @@ class SocketClientApp(QMainWindow):
button_layout.addWidget(self.get_temp_button) button_layout.addWidget(self.get_temp_button)
button_layout.addWidget(self.upgrade_button) button_layout.addWidget(self.upgrade_button)
button_layout.addWidget(self.upgrade_button_sampling) button_layout.addWidget(self.upgrade_button_sampling)
button_layout.addWidget(self.get_mac_button)
button_layout.addWidget(self.mac_config_button) button_layout.addWidget(self.mac_config_button)
button_layout.addWidget(self.ipv4_config_button) button_layout.addWidget(self.ipv4_config_button)
button_layout.addWidget(self.calibration_config_button) button_layout.addWidget(self.calibration_config_button)
@ -288,6 +291,7 @@ class SocketClientApp(QMainWindow):
self.upgrade_button_sampling.clicked.connect(self.on_button_samping_set) self.upgrade_button_sampling.clicked.connect(self.on_button_samping_set)
self.save_button_csv.clicked.connect(self.on_button_save_csv) self.save_button_csv.clicked.connect(self.on_button_save_csv)
self.mac_config_button.clicked.connect(self.mac_config_dialog) self.mac_config_button.clicked.connect(self.mac_config_dialog)
self.get_mac_button.clicked.connect(self.on_button_get_mac)
self.ipv4_config_button.clicked.connect(self.ipv4_config_dialog) self.ipv4_config_button.clicked.connect(self.ipv4_config_dialog)
self.calibration_config_button.clicked.connect(self.calibration_dialog) self.calibration_config_button.clicked.connect(self.calibration_dialog)
self.get_version_button.clicked.connect(self.on_button_get_version) self.get_version_button.clicked.connect(self.on_button_get_version)
@ -352,6 +356,7 @@ class SocketClientApp(QMainWindow):
self.get_temp_button.setEnabled(True) self.get_temp_button.setEnabled(True)
self.upgrade_button_sampling.setEnabled(True) self.upgrade_button_sampling.setEnabled(True)
self.save_button_csv.setEnabled(True) self.save_button_csv.setEnabled(True)
self.get_mac_button.setEnabled(True)
self.mac_config_button.setEnabled(True) self.mac_config_button.setEnabled(True)
self.ipv4_config_button.setEnabled(True) self.ipv4_config_button.setEnabled(True)
self.calibration_config_button.setEnabled(True) self.calibration_config_button.setEnabled(True)
@ -368,6 +373,7 @@ class SocketClientApp(QMainWindow):
self.get_temp_button.setEnabled(False) self.get_temp_button.setEnabled(False)
self.upgrade_button_sampling.setEnabled(False) self.upgrade_button_sampling.setEnabled(False)
self.save_button_csv.setEnabled(False) self.save_button_csv.setEnabled(False)
self.get_mac_button.setEnabled(False)
self.mac_config_button.setEnabled(False) self.mac_config_button.setEnabled(False)
self.ipv4_config_button.setEnabled(False) self.ipv4_config_button.setEnabled(False)
self.calibration_config_button.setEnabled(False) self.calibration_config_button.setEnabled(False)
@ -501,6 +507,14 @@ class SocketClientApp(QMainWindow):
unpacked_data = struct.unpack(body_format, body_data) unpacked_data = struct.unpack(body_format, body_data)
print(f"version{unpacked_data}") print(f"version{unpacked_data}")
QMessageBox.information(self, "版本", f"{unpacked_data[0]}.{unpacked_data[1]}") QMessageBox.information(self, "版本", f"{unpacked_data[0]}.{unpacked_data[1]}")
elif cmd == 0x12:
body_format = '< B B'
body_size = struct.calcsize(body_format)
body_data = recv_data[HEADER_SIZE:HEADER_SIZE + body_size]
unpacked_data = struct.unpack(body_format, body_data)
print(f"version{unpacked_data}")
QMessageBox.information(self, "MAC地址",
f"50-29-4D-20-{format(unpacked_data[0], '02x')}-{format(unpacked_data[1], '02x')}")
def receive_data(self, length: int): def receive_data(self, length: int):
while len(self.buffer) < length: while len(self.buffer) < length:
@ -769,6 +783,16 @@ class SocketClientApp(QMainWindow):
except Exception as e: except Exception as e:
self.status_bar.showMessage(f"状态: 错误 - {str(e)}") self.status_bar.showMessage(f"状态: 错误 - {str(e)}")
def on_button_get_mac(self):
try:
self.recv_state = ''
self.status_bar.showMessage("状态: 正在获取数据...", 3000)
self.socket.write(bytes(
[0xAA, 0x55, 0xAA, 0x12, 0x01, 0x00])) # 发送数据
self.socket.waitForReadyRead()
except Exception as e:
self.status_bar.showMessage(f"状态: 错误 - {str(e)}")
if __name__ == '__main__': if __name__ == '__main__':
app = QApplication(sys.argv) app = QApplication(sys.argv)