diff --git a/mainwindow.py b/mainwindow.py index 37301f5..be1e61d 100644 --- a/mainwindow.py +++ b/mainwindow.py @@ -173,6 +173,7 @@ class SocketClientApp(QMainWindow): self.get_data_button2 = QPushButton("获取数据2") self.get_temp_button = QPushButton("温度、偏置") self.upgrade_button = QPushButton("更新固件") + self.get_mac_button = QPushButton("获取MAC地址") self.mac_config_button = QPushButton("mac配置") self.ipv4_config_button = QPushButton("网络配置") self.calibration_config_button = QPushButton("校准") @@ -186,6 +187,7 @@ class SocketClientApp(QMainWindow): self.upgrade_button_sampling.setEnabled(False) self.save_button_csv.setEnabled(False) self.mac_config_button.setEnabled(False) + self.get_mac_button.setEnabled(False) self.ipv4_config_button.setEnabled(False) self.calibration_config_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.upgrade_button) 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.ipv4_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.save_button_csv.clicked.connect(self.on_button_save_csv) 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.calibration_config_button.clicked.connect(self.calibration_dialog) 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.upgrade_button_sampling.setEnabled(True) self.save_button_csv.setEnabled(True) + self.get_mac_button.setEnabled(True) self.mac_config_button.setEnabled(True) self.ipv4_config_button.setEnabled(True) self.calibration_config_button.setEnabled(True) @@ -368,6 +373,7 @@ class SocketClientApp(QMainWindow): self.get_temp_button.setEnabled(False) self.upgrade_button_sampling.setEnabled(False) self.save_button_csv.setEnabled(False) + self.get_mac_button.setEnabled(False) self.mac_config_button.setEnabled(False) self.ipv4_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) print(f"version{unpacked_data}") 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): while len(self.buffer) < length: @@ -769,6 +783,16 @@ class SocketClientApp(QMainWindow): except Exception as 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__': app = QApplication(sys.argv)