From 4dbfc1e4770b673eea0dc8b7fb7f6beddecabdad Mon Sep 17 00:00:00 2001 From: Neptune-1 Date: Wed, 5 Dec 2018 17:31:24 +0300 Subject: [PATCH] gui upgrade --- Server/Server+GUI_non_xml_dowload.py | 1016 ----------------- ...I_non_xml_dowload (копия).py => Server.py} | 11 +- Server/{ => gui}/back.png | Bin Server/{ => gui}/back_1.qrc | 0 Server/{ => gui}/gui.ui | 0 Server/gui/swarm_5.ui | 460 ++++++++ Server/gui/telem.qrc | 5 + Server/gui/telem_bakground.png | Bin 0 -> 1027 bytes Server/gui/telemetry.ui | 536 +++++++++ Server/gui_telem.py | 214 ++++ Server/{gui1.py => main_gui.py} | 0 Server/telem_rc.py | 72 ++ 12 files changed, 1293 insertions(+), 1021 deletions(-) delete mode 100644 Server/Server+GUI_non_xml_dowload.py rename Server/{Server+GUI_non_xml_dowload (копия).py => Server.py} (95%) rename Server/{ => gui}/back.png (100%) rename Server/{ => gui}/back_1.qrc (100%) rename Server/{ => gui}/gui.ui (100%) create mode 100644 Server/gui/swarm_5.ui create mode 100755 Server/gui/telem.qrc create mode 100755 Server/gui/telem_bakground.png create mode 100755 Server/gui/telemetry.ui create mode 100644 Server/gui_telem.py rename Server/{gui1.py => main_gui.py} (100%) create mode 100644 Server/telem_rc.py diff --git a/Server/Server+GUI_non_xml_dowload.py b/Server/Server+GUI_non_xml_dowload.py deleted file mode 100644 index 4f50b0a..0000000 --- a/Server/Server+GUI_non_xml_dowload.py +++ /dev/null @@ -1,1016 +0,0 @@ -# -*- coding: utf-8 -*- . -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PyQt5.QtCore import * -from mpl_toolkits.mplot3d import Axes3D -import matplotlib.pyplot as plt -import time -import socket -import os -from PyQt5 import QtCore, QtGui, QtWidgets -import easygui -import threading -from threading import Thread -import math -import requests -import json -from PyQt5 import QtCore - -qt_resource_data = b"\ -\x00\x00\x00\xc5\ -\x00\ -\x00\x03\xdf\x78\x9c\xeb\x0c\xf0\x73\xe7\xe5\x92\xe2\x62\x60\x60\ -\xe0\xf5\xf4\x70\x09\x62\x60\x60\x7c\x00\x64\x7f\xe0\x60\x02\x92\ -\xe1\xe2\x0a\x6f\x81\x14\x63\x71\x90\xbb\x13\xc3\xba\x73\x32\x2f\ -\x81\x1c\x96\x74\x47\x5f\x47\x06\x86\x8d\xfd\xdc\x7f\x12\x59\x81\ -\x7c\xce\x02\x8f\xc8\x62\x06\x06\xbe\xc3\x20\xcc\x78\x3c\x7f\x45\ -\x0a\x03\x03\x73\x89\xa7\x8b\x63\x48\x45\xdc\xdb\x9b\x07\x39\x1b\ -\x1c\x78\x18\x0e\x5e\xd6\x5a\x7f\xe4\xf5\x63\xa9\xe0\x0b\x62\x2d\ -\xac\xe9\x76\x27\xed\x37\xcc\x97\xa9\x7e\xcf\xe8\x70\xfe\xa7\x1f\ -\x43\x12\x8b\x94\x82\xd7\x02\xc6\x45\xc3\x95\x02\x06\x11\xc3\x8f\ -\x53\x86\xcf\x6b\xc2\x0f\x5d\x8b\x3a\xff\x28\xce\xfe\xe1\xa3\x3b\ -\x36\x9c\x83\xc3\x6d\xa3\xd4\xb0\xa1\x32\x7b\xb8\x2f\xed\xe7\xd6\ -\x0a\xb3\xf0\x36\x07\xa5\x38\x4f\x57\x3f\x97\x75\x4e\x09\x4d\x00\ -\x84\xf7\x09\x21\ -\x00\x00\x00\xe4\ -\x00\ -\x00\x04\x03\x78\x9c\xeb\x0c\xf0\x73\xe7\xe5\x92\xe2\x62\x60\x60\ -\xe0\xf5\xf4\x70\x09\x62\x60\x60\x52\x03\xb2\x3f\x70\x30\x01\xc9\ -\xdd\x21\x16\x20\x09\xc6\xe2\x20\x77\x27\x86\x75\xe7\x64\x5e\x02\ -\x39\x2c\xe9\x8e\xbe\x8e\x0c\x0c\x1b\xfb\xb9\xff\x24\xb2\x02\xf9\ -\x9c\x05\x1e\x91\xc5\x0c\x0c\x7c\x87\x41\x98\xf1\x78\xfe\x8a\x14\ -\x06\x06\xe6\x19\x9e\x2e\x8e\x21\x15\x71\x6f\x6f\x6d\x14\x3c\xac\ -\x20\xc0\xe0\xf8\x44\x4b\x73\xa2\x5d\xc6\x99\xc6\x2b\x4c\xe9\x67\ -\x2b\xcc\x1f\x3e\xfe\xff\x40\x68\xdd\xde\xef\x0c\x0d\x9f\xed\xce\ -\x73\x33\xb4\x7b\xf2\x31\x08\x9e\x64\x54\x50\xb2\x64\x70\x51\x61\ -\x6f\xe8\x78\xc2\x20\x30\x51\x86\x41\x69\x12\xb3\x83\x4b\x11\x43\ -\x87\xc7\xa0\x96\x64\x00\x81\x07\x7b\xd7\x59\x3e\x37\x2e\xba\x17\ -\xf5\x5a\x6e\xcd\x5f\xde\x39\x8f\xdb\x75\xfe\xdb\xff\xb4\x63\x18\ -\x1c\x2e\x1c\x95\x1c\x95\x84\x4a\x1e\x91\x88\x2f\xac\xe3\xd3\xe2\ -\x4e\x09\x0d\x01\x25\x5b\x4f\x57\x3f\x97\x75\x4e\x09\x4d\x00\xf2\ -\xc3\x05\x01\ -" - -qt_resource_name = b"\ -\x00\x05\ -\x00\x7a\xc2\xbd\ -\x00\x74\ -\x00\x65\x00\x6c\x00\x65\x00\x6d\ -\x00\x0d\ -\x0e\x18\xd1\x27\ -\x00\x74\ -\x00\x65\x00\x6c\x00\x65\x00\x6d\x00\x65\x00\x74\x00\x72\x00\x7a\x00\x2e\x00\x70\x00\x6e\x00\x67\ -\x00\x0d\ -\x0c\x11\xb8\x47\ -\x04\x11\ -\x04\x35\x04\x37\x00\x20\x04\x38\x04\x3c\x04\x35\x04\x3d\x04\x38\x00\x2e\x00\x70\x00\x6e\x00\x67\ -" - -qt_resource_struct_v1 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x02\ -\x00\x00\x00\x30\x00\x01\x00\x00\x00\x01\x00\x00\x00\xc9\ -\x00\x00\x00\x10\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ -" - -qt_resource_struct_v2 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x02\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x30\x00\x01\x00\x00\x00\x01\x00\x00\x00\xc9\ -\x00\x00\x01\x64\xac\x7c\x9c\xca\ -\x00\x00\x00\x10\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x64\xac\x42\xe1\xa0\ -" - -qt_version = QtCore.qVersion().split('.') -if qt_version < ['5', '8', '0']: - rcc_version = 1 - qt_resource_struct = qt_resource_struct_v1 -else: - rcc_version = 2 - qt_resource_struct = qt_resource_struct_v2 - - -def qInitResources(): - QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) - - -def qCleanupResources(): - QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) - - -qInitResources() - -qt_resource_data = b"\ -\x00\x00\x01\x01\ -\x00\ -\x00\x11\x27\x78\x9c\xeb\x0c\xf0\x73\xe7\xe5\x92\xe2\x62\x60\x60\ -\xe0\xf5\xf4\x70\x09\x62\x60\x60\x05\x32\x99\x2e\x70\x30\x01\x29\ -\x07\x79\x2f\x46\x20\xc5\x58\x1c\xe4\xee\xc4\xb0\xee\x9c\xcc\x4b\ -\x20\x87\x25\xdd\xd1\xd7\x91\x81\x61\x63\x3f\xf7\x9f\x44\x90\x52\ -\xce\x02\x8f\xc8\x62\x06\x06\xbe\xc3\x20\xcc\x78\x3c\x7f\x45\x0a\ -\x03\x83\xc0\x1e\x4f\x17\xc7\x90\x8a\xb8\xb7\xd7\x37\x0a\x1e\x32\ -\x60\x60\x71\x74\xe4\xcf\x73\xef\xf4\x2a\x4f\x2c\x5a\xd4\xc2\xa4\ -\xf0\xa0\x6c\xf2\x7c\xfd\x87\x71\xdf\x6b\xf9\x19\x7e\x74\xee\xfd\ -\x3e\xe7\xf3\x1c\xff\xec\xb5\xaf\x77\x9d\x63\x64\xf8\xd1\xf4\x3d\ -\x12\x68\xe4\x8f\x6c\x26\x09\x06\x86\x06\x16\x46\x1e\xa0\x13\x9a\ -\x18\xd8\x18\x18\x14\x1c\x19\x98\x19\x18\x26\x28\x34\x00\x9d\xe3\ -\x21\x70\x00\xa8\x46\x85\x23\x01\x48\x0a\xb1\x18\x80\x9c\x30\xaa\ -\x7c\x54\xf9\xa8\xf2\x51\xe5\xa3\xca\x47\x95\x8f\x2a\x1f\x55\x3e\ -\xaa\x7c\x54\xf9\xa8\xf2\x51\xe5\xa3\xca\x47\x95\x8f\x2a\x1f\x55\ -\x4e\xbc\x72\x96\x9e\x8f\x0c\x2f\xa5\x79\x56\x38\x34\x3f\xa9\x06\ -\x72\x19\x3c\x5d\xfd\x5c\xd6\x39\x25\x34\x01\x00\xe9\xcb\xf7\x1d\ -\ -" - -qt_resource_name = b"\ -\x00\x04\ -\x00\x06\x87\x9b\ -\x00\x62\ -\x00\x61\x00\x63\x00\x6b\ -\x00\x08\ -\x07\x9e\x5a\x47\ -\x00\x62\ -\x00\x61\x00\x63\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\ -" - -qt_resource_struct_v1 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ -\x00\x00\x00\x0e\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ -" - -qt_resource_struct_v2 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x0e\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x64\x8d\x7d\xe9\xe9\ -" - -qt_version = QtCore.qVersion().split('.') - -if qt_version < ['5', '8', '0']: - rcc_version = 1 - qt_resource_struct = qt_resource_struct_v1 -else: - rcc_version = 2 - qt_resource_struct = qt_resource_struct_v2 - - -def qInitResources(): - QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) - - -def qCleanupResources(): - QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) - - -qInitResources() - - -class Ui_MainWindow(object): - def setupUi(self, MainWindow): - MainWindow.setObjectName("MainWindow") - MainWindow.resize(1280, 720) - MainWindow.setMinimumSize(QtCore.QSize(1280, 720)) - MainWindow.setMaximumSize(QtCore.QSize(1280, 720)) - self.centralwidget = QtWidgets.QWidget(MainWindow) - self.centralwidget.setObjectName("centralwidget") - self.take_off_button = QtWidgets.QPushButton(self.centralwidget) - self.take_off_button.setGeometry(QtCore.QRect(760, 60, 100, 40)) - self.take_off_button.setObjectName("take_off_button") - self.land_all_button = QtWidgets.QPushButton(self.centralwidget) - self.land_all_button.setGeometry(QtCore.QRect(890, 60, 91, 40)) - self.land_all_button.setObjectName("land_all_button") - self.disarm_all_button = QtWidgets.QPushButton(self.centralwidget) - self.disarm_all_button.setGeometry(QtCore.QRect(1010, 60, 101, 40)) - self.disarm_all_button.setStyleSheet("background-color: red") - self.disarm_all_button.setObjectName("disarm_all_button") - self.take_off_n_button = QtWidgets.QPushButton(self.centralwidget) - self.take_off_n_button.setGeometry(QtCore.QRect(760, 160, 100, 30)) - self.take_off_n_button.setObjectName("take_off_n_button") - self.land_n_button = QtWidgets.QPushButton(self.centralwidget) - self.land_n_button.setGeometry(QtCore.QRect(890, 160, 91, 30)) - self.land_n_button.setObjectName("land_n_button") - self.disarm_n_button = QtWidgets.QPushButton(self.centralwidget) - self.disarm_n_button.setGeometry(QtCore.QRect(1010, 160, 101, 30)) - self.disarm_n_button.setStyleSheet("background-color: red") - self.disarm_n_button.setObjectName("disarm_n_button") - self.take_off_spinBox = QtWidgets.QSpinBox(self.centralwidget) - self.take_off_spinBox.setGeometry(QtCore.QRect(790, 120, 50, 22)) - self.take_off_spinBox.setObjectName("take_off_spinBox") - self.land_spinBox = QtWidgets.QSpinBox(self.centralwidget) - self.land_spinBox.setGeometry(QtCore.QRect(910, 120, 50, 22)) - self.land_spinBox.setObjectName("land_spinBox") - self.disarm_spinBox = QtWidgets.QSpinBox(self.centralwidget) - self.disarm_spinBox.setGeometry(QtCore.QRect(1040, 120, 50, 22)) - self.disarm_spinBox.setObjectName("disarm_spinBox") - self.control_console_label = QtWidgets.QLabel(self.centralwidget) - self.control_console_label.setGeometry(QtCore.QRect(840, 20, 200, 20)) - self.control_console_label.setAlignment(QtCore.Qt.AlignCenter) - self.control_console_label.setObjectName("control_console_label") - self.turn_on_led_button = QtWidgets.QPushButton(self.centralwidget) - self.turn_on_led_button.setGeometry(QtCore.QRect(620, 250, 100, 40)) - self.turn_on_led_button.setStyleSheet("") - self.turn_on_led_button.setObjectName("turn_on_led_button") - self.turn_off_led_button = QtWidgets.QPushButton(self.centralwidget) - self.turn_off_led_button.setGeometry(QtCore.QRect(620, 310, 100, 40)) - self.turn_off_led_button.setObjectName("turn_off_led_button") - - self.number_animation_copters = QtWidgets.QPushButton(self.centralwidget) - self.number_animation_copters.setGeometry(QtCore.QRect(1140, 150, 111, 40)) - self.number_animation_copters.setStyleSheet("") - self.number_animation_copters.setObjectName("number_animation_copters") - - self.stop_swarm_but = QtWidgets.QPushButton(self.centralwidget) - self.stop_swarm_but.setGeometry(QtCore.QRect(1140, 60, 111, 40)) - self.stop_swarm_but.setStyleSheet("") - self.stop_swarm_but.setObjectName("stop_swarm_but") - - # self.telemetry_but = QtWidgets.QPushButton(self.centralwidget) - # self.telemetry_but.setGeometry(QtCore.QRect(1140, 105, 111, 40)) - # self.telemetry_but.setStyleSheet("") - # self.telemetry_but.setObjectName("telemetry_but") - - self.connect_button = QtWidgets.QPushButton(self.centralwidget) - self.connect_button.setGeometry(QtCore.QRect(620, 60, 111, 61)) - self.connect_button.setStyleSheet("") - self.connect_button.setObjectName("connect_button") - self.square_button = QtWidgets.QPushButton(self.centralwidget) - self.square_button.setGeometry(QtCore.QRect(780, 250, 71, 41)) - self.square_button.setStyleSheet("") - self.square_button.setObjectName("square_button") - self.circle_button = QtWidgets.QPushButton(self.centralwidget) - self.circle_button.setGeometry(QtCore.QRect(780, 310, 71, 40)) - self.circle_button.setObjectName("circle_button") - self.radius_circle_DoubleSpinBox = QtWidgets.QSpinBox(self.centralwidget) - self.radius_circle_DoubleSpinBox.setGeometry(QtCore.QRect(1040, 320, 50, 22)) - self.radius_circle_DoubleSpinBox.setObjectName("radius_circle_DoubleSpinBox") - self.radius_square_spinBox = QtWidgets.QSpinBox(self.centralwidget) - self.radius_square_spinBox.setGeometry(QtCore.QRect(1040, 260, 50, 22)) - self.radius_square_spinBox.setObjectName("radius_square_spinBox") - self.center_label = QtWidgets.QLabel(self.centralwidget) - self.center_label.setGeometry(QtCore.QRect(900, 220, 71, 20)) - self.center_label.setAlignment(QtCore.Qt.AlignCenter) - self.center_label.setObjectName("center_label") - self.radius_label = QtWidgets.QLabel(self.centralwidget) - self.radius_label.setGeometry(QtCore.QRect(1040, 220, 55, 16)) - self.radius_label.setAlignment(QtCore.Qt.AlignCenter) - self.radius_label.setObjectName("radius_label") - self.figure_label = QtWidgets.QLabel(self.centralwidget) - self.figure_label.setGeometry(QtCore.QRect(780, 220, 71, 20)) - self.figure_label.setAlignment(QtCore.Qt.AlignCenter) - self.figure_label.setObjectName("figure_label") - self.led_label = QtWidgets.QLabel(self.centralwidget) - self.led_label.setGeometry(QtCore.QRect(640, 220, 61, 20)) - self.led_label.setAlignment(QtCore.Qt.AlignCenter) - self.led_label.setObjectName("led_label") - self.center_square_lineEdit = QtWidgets.QLineEdit(self.centralwidget) - self.center_square_lineEdit.setGeometry(QtCore.QRect(900, 260, 71, 22)) - self.center_square_lineEdit.setAlignment(QtCore.Qt.AlignCenter) - self.center_square_lineEdit.setObjectName("center_square_lineEdit") - self.center_circle_lineEdit = QtWidgets.QLineEdit(self.centralwidget) - self.center_circle_lineEdit.setGeometry(QtCore.QRect(900, 320, 71, 22)) - self.center_circle_lineEdit.setAlignment(QtCore.Qt.AlignCenter) - self.center_circle_lineEdit.setObjectName("center_circle_lineEdit") - self.swarm_size_spinBox = QtWidgets.QSpinBox(self.centralwidget) - self.swarm_size_spinBox.setGeometry(QtCore.QRect(260, 70, 50, 20)) - self.swarm_size_spinBox.setObjectName("swarm_size_spinBox") - self.swarm_size_label = QtWidgets.QLabel(self.centralwidget) - self.swarm_size_label.setGeometry(QtCore.QRect(240, 40, 100, 20)) - self.swarm_size_label.setAlignment(QtCore.Qt.AlignCenter) - self.swarm_size_label.setObjectName("swarm_size_label") - self.send_command_label = QtWidgets.QLabel(self.centralwidget) - self.send_command_label.setGeometry(QtCore.QRect(840, 370, 200, 20)) - self.send_command_label.setAlignment(QtCore.Qt.AlignCenter) - self.send_command_label.setObjectName("send_command_label") - self.console_textEdit = QtWidgets.QTextEdit(self.centralwidget) - self.console_textEdit.setGeometry(QtCore.QRect(640, 410, 591, 241)) - self.console_textEdit.setStyleSheet("background-color: rgb(1, 36, 86)") - self.console_textEdit.setObjectName("console_textEdit") - self.show_3d_scene_button = QtWidgets.QPushButton(self.centralwidget) - self.show_3d_scene_button.setGeometry(QtCore.QRect(220, 290, 141, 51)) - self.show_3d_scene_button.setStyleSheet("") - self.show_3d_scene_button.setObjectName("show_3d_scene_button") - self.upload_animation_button = QtWidgets.QPushButton(self.centralwidget) - self.upload_animation_button.setGeometry(QtCore.QRect(220, 360, 141, 51)) - self.upload_animation_button.setStyleSheet("") - self.upload_animation_button.setObjectName("upload_animation_button") - self.state_label = QtWidgets.QLabel(self.centralwidget) - self.state_label.setGeometry(QtCore.QRect(220, 180, 131, 41)) - self.state_label.setAlignment(QtCore.Qt.AlignCenter) - self.state_label.setObjectName("state_label") - self.statement_swarm_label = QtWidgets.QLabel(self.centralwidget) - self.statement_swarm_label.setGeometry(QtCore.QRect(230, 150, 111, 20)) - self.statement_swarm_label.setAlignment(QtCore.Qt.AlignCenter) - self.statement_swarm_label.setObjectName("statement_swarm_label") - self.start_animation_button = QtWidgets.QPushButton(self.centralwidget) - self.start_animation_button.setGeometry(QtCore.QRect(220, 430, 141, 51)) - self.start_animation_button.setStyleSheet("") - self.start_animation_button.setObjectName("start_animation_button") - self.back_label = QtWidgets.QLabel(self.centralwidget) - self.back_label.setGeometry(QtCore.QRect(0, -1, 1280, 701)) - self.back_label.setObjectName("back_label") - self.safty_button = QtWidgets.QPushButton(self.centralwidget) - self.safty_button.setGeometry(QtCore.QRect(620, 130, 111, 61)) - self.safty_button.setStyleSheet("") - self.safty_button.setObjectName("safty_button") - self.tilt_label = QtWidgets.QLabel(self.centralwidget) - self.tilt_label.setGeometry(QtCore.QRect(1170, 220, 55, 16)) - self.tilt_label.setAlignment(QtCore.Qt.AlignCenter) - self.tilt_label.setObjectName("center_label_2") - self.tilt_square_lineEdit = QtWidgets.QLineEdit(self.centralwidget) - self.tilt_square_lineEdit.setGeometry(QtCore.QRect(1160, 260, 71, 22)) - self.tilt_square_lineEdit.setAlignment(QtCore.Qt.AlignCenter) - self.tilt_square_lineEdit.setObjectName("tilt_square_lineEdit") - self.tilt_circle_lineEdit = QtWidgets.QLineEdit(self.centralwidget) - self.tilt_circle_lineEdit.setGeometry(QtCore.QRect(1160, 320, 71, 22)) - self.tilt_circle_lineEdit.setAlignment(QtCore.Qt.AlignCenter) - self.tilt_circle_lineEdit.setObjectName("tilt_circle_lineEdit_2") - self.back_label.raise_() - self.take_off_button.raise_() - self.land_all_button.raise_() - self.disarm_all_button.raise_() - self.take_off_n_button.raise_() - self.land_n_button.raise_() - self.disarm_n_button.raise_() - self.take_off_spinBox.raise_() - self.land_spinBox.raise_() - self.disarm_spinBox.raise_() - self.control_console_label.raise_() - self.turn_on_led_button.raise_() - self.turn_off_led_button.raise_() - self.number_animation_copters.raise_() - # self.telemetry_but.raise_() - self.stop_swarm_but.raise_() - self.connect_button.raise_() - self.square_button.raise_() - self.circle_button.raise_() - self.radius_circle_DoubleSpinBox.raise_() - self.radius_square_spinBox.raise_() - self.center_label.raise_() - self.radius_label.raise_() - self.figure_label.raise_() - self.led_label.raise_() - self.center_square_lineEdit.raise_() - self.center_circle_lineEdit.raise_() - self.swarm_size_spinBox.raise_() - self.swarm_size_label.raise_() - self.send_command_label.raise_() - self.console_textEdit.raise_() - self.show_3d_scene_button.raise_() - self.upload_animation_button.raise_() - self.state_label.raise_() - self.statement_swarm_label.raise_() - self.start_animation_button.raise_() - self.safty_button.raise_() - self.tilt_label.raise_() - self.tilt_square_lineEdit.raise_() - self.tilt_circle_lineEdit.raise_() - MainWindow.setCentralWidget(self.centralwidget) - self.menubar = QtWidgets.QMenuBar(MainWindow) - self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 26)) - self.menubar.setObjectName("menubar") - MainWindow.setMenuBar(self.menubar) - self.statusbar = QtWidgets.QStatusBar(MainWindow) - self.statusbar.setObjectName("statusbar") - MainWindow.setStatusBar(self.statusbar) - - self.retranslateUi(MainWindow) - QtCore.QMetaObject.connectSlotsByName(MainWindow) - - def retranslateUi(self, MainWindow): - _translate = QtCore.QCoreApplication.translate - MainWindow.setWindowTitle(_translate("MainWindow", "Drone Swarm")) - self.take_off_button.setText(_translate("MainWindow", "Take off all")) - self.land_all_button.setText(_translate("MainWindow", "Land all")) - self.disarm_all_button.setText(_translate("MainWindow", "Disarm all")) - self.take_off_n_button.setText(_translate("MainWindow", "Take off n")) - self.land_n_button.setText(_translate("MainWindow", "Land n")) - self.disarm_n_button.setText(_translate("MainWindow", "Disarm n")) - self.control_console_label.setText(_translate("MainWindow", - "

Control console

")) - self.turn_on_led_button.setText(_translate("MainWindow", "Turn on Leds")) - self.turn_off_led_button.setText(_translate("MainWindow", "Turn off Leds")) - self.number_animation_copters.setText(_translate("MainWindow", "Number anim")) - # self.telemetry_but.setText(_translate("MainWindow", "Telemetry")) - self.stop_swarm_but.setText(_translate("MainWindow", "Stop swarm")) - self.connect_button.setText(_translate("MainWindow", "Connect")) - self.square_button.setText(_translate("MainWindow", "Square")) - self.circle_button.setText(_translate("MainWindow", "Circle")) - self.center_label.setText(_translate("MainWindow", - "

Center


")) - self.radius_label.setText(_translate("MainWindow", - "

Radius

")) - self.figure_label.setText(_translate("MainWindow", - "

Figure

")) - self.led_label.setText(_translate("MainWindow", - "

LED

")) - self.center_square_lineEdit.setText(_translate("MainWindow", "x,y,z")) - self.center_circle_lineEdit.setText(_translate("MainWindow", "x,y,z")) - self.swarm_size_label.setText(_translate("MainWindow", - "

Swarm Size

")) - self.send_command_label.setText(_translate("MainWindow", - "

Send command

")) - self.console_textEdit.setHtml(_translate("MainWindow", - "Swarm Console")) - - self.show_3d_scene_button.setText(_translate("MainWindow", "Show Telemetry")) - self.upload_animation_button.setText(_translate("MainWindow", "Upload animation")) - self.state_label.setText(_translate("MainWindow", - "

Disconnect

")) - self.statement_swarm_label.setText(_translate("MainWindow", "Swarm\'s state")) - self.start_animation_button.setText(_translate("MainWindow", "Start animation")) - self.back_label.setText( - _translate("MainWindow", "

")) - self.safty_button.setText(_translate("MainWindow", "Safty check")) - self.tilt_label.setText(_translate("MainWindow", - "

Tilt

")) - self.tilt_square_lineEdit.setText(_translate("MainWindow", "x,y")) - self.tilt_circle_lineEdit.setText(_translate("MainWindow", "x,y")) - - -class Ui_Dialog(object): - def setupUi(self, Dialog): - Dialog.setObjectName("Dialog") - Dialog.resize(550, 240) - Dialog.setMinimumSize(QtCore.QSize(550, 240)) - Dialog.setMaximumSize(QtCore.QSize(550, 240)) - self.copter_text = QtWidgets.QLabel(Dialog) - self.copter_text.setGeometry(QtCore.QRect(80, 20, 91, 20)) - font = QtGui.QFont() - font.setPointSize(11) - self.copter_text.setFont(font) - self.copter_text.setAlignment(QtCore.Qt.AlignCenter) - self.copter_text.setObjectName("copter_text") - # self.go_pushButton = QtWidgets.QPushButton(Dialog) - # self.go_pushButton.setGeometry(QtCore.QRect(340, 10, 93, 41)) - # self.go_pushButton.setObjectName("go_pushButton") - self.number_spinBox = QtWidgets.QSpinBox(Dialog) - self.number_spinBox.setGeometry(QtCore.QRect(230, 20, 42, 22)) - self.number_spinBox.setObjectName("number_spinBox") - self.x_1 = QtWidgets.QLabel(Dialog) - self.x_1.setGeometry(QtCore.QRect(10, 100, 21, 16)) - self.x_1.setAlignment(QtCore.Qt.AlignCenter) - self.x_1.setObjectName("x_1") - self.y_1 = QtWidgets.QLabel(Dialog) - self.y_1.setGeometry(QtCore.QRect(10, 150, 21, 16)) - self.y_1.setAlignment(QtCore.Qt.AlignCenter) - self.y_1.setObjectName("y_1") - self.z_1 = QtWidgets.QLabel(Dialog) - self.z_1.setGeometry(QtCore.QRect(10, 200, 21, 16)) - self.z_1.setAlignment(QtCore.Qt.AlignCenter) - self.z_1.setObjectName("z_1") - self.z_2 = QtWidgets.QLabel(Dialog) - self.z_2.setGeometry(QtCore.QRect(40, 200, 51, 16)) - self.z_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.z_2.setObjectName("z_2") - self.x_2 = QtWidgets.QLabel(Dialog) - self.x_2.setGeometry(QtCore.QRect(40, 100, 51, 16)) - self.x_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.x_2.setObjectName("x_2") - self.y_2 = QtWidgets.QLabel(Dialog) - self.y_2.setGeometry(QtCore.QRect(40, 150, 51, 16)) - self.y_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.y_2.setObjectName("y_2") - self.mode_2 = QtWidgets.QLabel(Dialog) - self.mode_2.setGeometry(QtCore.QRect(470, 130, 71, 16)) - self.mode_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.mode_2.setObjectName("mode_2") - self.armed_2 = QtWidgets.QLabel(Dialog) - self.armed_2.setGeometry(QtCore.QRect(470, 100, 71, 16)) - self.armed_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.armed_2.setObjectName("armed_2") - self.frame_id_1 = QtWidgets.QLabel(Dialog) - self.frame_id_1.setGeometry(QtCore.QRect(400, 170, 61, 16)) - self.frame_id_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.frame_id_1.setObjectName("frame_id_1") - self.armed_1 = QtWidgets.QLabel(Dialog) - self.armed_1.setGeometry(QtCore.QRect(400, 100, 51, 16)) - self.armed_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.armed_1.setObjectName("armed_1") - self.frame_id_2 = QtWidgets.QLabel(Dialog) - self.frame_id_2.setGeometry(QtCore.QRect(470, 170, 71, 16)) - self.frame_id_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.frame_id_2.setObjectName("frame_id_2") - self.mode_1 = QtWidgets.QLabel(Dialog) - self.mode_1.setGeometry(QtCore.QRect(400, 130, 51, 16)) - self.mode_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.mode_1.setObjectName("mode_1") - self.voltage_2 = QtWidgets.QLabel(Dialog) - self.voltage_2.setGeometry(QtCore.QRect(470, 200, 71, 16)) - self.voltage_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.voltage_2.setObjectName("voltage_2") - self.voltage_1 = QtWidgets.QLabel(Dialog) - self.voltage_1.setGeometry(QtCore.QRect(400, 200, 51, 16)) - self.voltage_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.voltage_1.setObjectName("voltage_1") - self.roll_2 = QtWidgets.QLabel(Dialog) - self.roll_2.setGeometry(QtCore.QRect(190, 200, 61, 16)) - self.roll_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.roll_2.setObjectName("roll_2") - self.yaw_1 = QtWidgets.QLabel(Dialog) - self.yaw_1.setGeometry(QtCore.QRect(140, 100, 31, 16)) - self.yaw_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.yaw_1.setObjectName("yaw_1") - self.pitch_1 = QtWidgets.QLabel(Dialog) - self.pitch_1.setGeometry(QtCore.QRect(140, 150, 41, 16)) - self.pitch_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.pitch_1.setObjectName("pitch_1") - self.roll_1 = QtWidgets.QLabel(Dialog) - self.roll_1.setGeometry(QtCore.QRect(140, 200, 31, 16)) - self.roll_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.roll_1.setObjectName("roll_1") - self.pitch_2 = QtWidgets.QLabel(Dialog) - self.pitch_2.setGeometry(QtCore.QRect(190, 150, 61, 16)) - self.pitch_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.pitch_2.setObjectName("pitch_2") - self.yaw2 = QtWidgets.QLabel(Dialog) - self.yaw2.setGeometry(QtCore.QRect(190, 100, 61, 16)) - self.yaw2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.yaw2.setObjectName("yaw2") - self.vy_1 = QtWidgets.QLabel(Dialog) - self.vy_1.setGeometry(QtCore.QRect(270, 150, 31, 16)) - self.vy_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.vy_1.setObjectName("vy_1") - self.vx_2 = QtWidgets.QLabel(Dialog) - self.vx_2.setGeometry(QtCore.QRect(320, 100, 61, 16)) - self.vx_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.vx_2.setObjectName("vx_2") - self.vz_1 = QtWidgets.QLabel(Dialog) - self.vz_1.setGeometry(QtCore.QRect(270, 200, 31, 16)) - self.vz_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.vz_1.setObjectName("vz_1") - self.vy_2 = QtWidgets.QLabel(Dialog) - self.vy_2.setGeometry(QtCore.QRect(320, 150, 61, 16)) - self.vy_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.vy_2.setObjectName("vy_2") - self.vz_2 = QtWidgets.QLabel(Dialog) - self.vz_2.setGeometry(QtCore.QRect(320, 200, 61, 16)) - self.vz_2.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.vz_2.setObjectName("vz_2") - self.vx_1 = QtWidgets.QLabel(Dialog) - self.vx_1.setGeometry(QtCore.QRect(270, 100, 31, 16)) - self.vx_1.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.vx_1.setObjectName("vx_1") - self.back = QtWidgets.QLabel(Dialog) - self.back.setGeometry(QtCore.QRect(0, 0, 551, 241)) - self.back.setObjectName("back") - self.back.raise_() - self.copter_text.raise_() - # self.go_pushButton.raise_() - self.number_spinBox.raise_() - self.x_1.raise_() - self.y_1.raise_() - self.z_1.raise_() - self.z_2.raise_() - self.x_2.raise_() - self.y_2.raise_() - self.mode_2.raise_() - self.armed_2.raise_() - self.frame_id_1.raise_() - self.armed_1.raise_() - self.frame_id_2.raise_() - self.mode_1.raise_() - self.voltage_2.raise_() - self.voltage_1.raise_() - self.roll_2.raise_() - self.yaw_1.raise_() - self.pitch_1.raise_() - self.roll_1.raise_() - self.pitch_2.raise_() - self.yaw2.raise_() - self.vy_1.raise_() - self.vx_2.raise_() - self.vz_1.raise_() - self.vy_2.raise_() - self.vz_2.raise_() - self.vx_1.raise_() - - self.retranslateUi(Dialog) - QtCore.QMetaObject.connectSlotsByName(Dialog) - - def retranslateUi(self, Dialog): - _translate = QtCore.QCoreApplication.translate - Dialog.setWindowTitle(_translate("Dialog", "Telemetry")) - self.copter_text.setText(_translate("Dialog", "Copter")) - self.x_1.setText( - _translate("Dialog", "

x=

")) - self.y_1.setText( - _translate("Dialog", "

y=

")) - self.z_1.setText( - _translate("Dialog", "

z=

")) - self.z_2.setText(_translate("Dialog", - "

0.000

")) - self.x_2.setText(_translate("Dialog", - "

0.000

")) - self.y_2.setText(_translate("Dialog", - "

0.000

")) - self.mode_2.setText(_translate("Dialog", - "

MANUALE

")) - self.armed_2.setText(_translate("Dialog", - "

False

")) - self.frame_id_1.setText(_translate("Dialog", - "

farme id=

")) - self.armed_1.setText(_translate("Dialog", - "

armed=

")) - self.frame_id_2.setText(_translate("Dialog", - "

aruco_map

")) - self.mode_1.setText(_translate("Dialog", - "

mode=

")) - self.voltage_2.setText(_translate("Dialog", - "

0.000

")) - self.voltage_1.setText(_translate("Dialog", - "

voltage=

")) - self.roll_2.setText(_translate("Dialog", - "

0.000

")) - self.yaw_1.setText( - _translate("Dialog", "

yaw=

")) - self.pitch_1.setText(_translate("Dialog", - "

pitch=

")) - self.roll_1.setText(_translate("Dialog", - "

roll=

")) - self.pitch_2.setText(_translate("Dialog", - "

0.000

")) - self.yaw2.setText(_translate("Dialog", - "

0.000

")) - self.vy_1.setText( - _translate("Dialog", "

vy=

")) - self.vx_2.setText(_translate("Dialog", - "

0.000

")) - self.vz_1.setText( - _translate("Dialog", "

vz=

")) - self.vy_2.setText(_translate("Dialog", - "

0.000

")) - self.vz_2.setText(_translate("Dialog", - "

0.000

")) - self.vx_1.setText( - _translate("Dialog", "

vx=

")) - self.back.setText( - _translate("Dialog", "

")) - - -ip = [1, 2] -# slids = 0 -sq_rad = 0 -sq_cet = 0 -cr_rad = 0 -cr_cet = 0 -copters = 1 -conn = [] -conn_2 = [] -file = '' -data = b'' -addr = [] -addr_2 = [] -coord = [] - -sock = socket.socket() - -sock.bind(('', 35001)) # назначается адресс и порт связи для отпраки команд на коптеры -sock.listen(1) - -sock_2 = socket.socket() -sock_2.bind(('', 35002)) # назначается адресс и порт связи для приема данных с коптеров -sock_2.listen(1) - - -class Dialog(QMainWindow, Ui_Dialog): - def __init__(self): - super().__init__() - self.setupUi(self) - - def up(self): - self.voltage_2.setText('1234567') - - -class Widget(QMainWindow, Ui_MainWindow): - def __init__(self): - super().__init__() - self.setupUi(self) - self.start_animation_button.clicked.connect(self.start_animation) - self.stop_swarm_but.clicked.connect(self.stop_swarm) - self.show_3d_scene_button.clicked.connect(self.show_3d) - self.disarm_all_button.clicked.connect(self.disarm) - self.square_button.clicked.connect(self.square) - self.circle_button.clicked.connect(self.circle) - self.turn_off_led_button.clicked.connect(self.off_leds) - self.turn_on_led_button.clicked.connect(self.on_leds) - self.upload_animation_button.clicked.connect(self.upload_animation) - self.land_all_button.clicked.connect(self.land) - self.take_off_button.clicked.connect(self.take_off) - self.number_animation_copters.clicked.connect(self.number_animation) - self.take_off_n_button.clicked.connect(self.take_off_n) - self.land_n_button.clicked.connect(self.land_n) - self.disarm_n_button.clicked.connect(self.disarm_n) - self.land_spinBox.valueChanged.connect(self.land_led) - self.disarm_spinBox.valueChanged.connect(self.disarm_led) - self.take_off_spinBox.valueChanged.connect(self.take_off_led) - self.safty_button.clicked.connect(self.safty) - self.connect_button.clicked.connect(self.connect) - self.swarm_size_spinBox.valueChanged.connect(self.number_copters) - - def stop_swarm(self): - pass - - def receiver(self): - global copters - global addr - while True: - try: - for k in range(copters): - a = requests.get('http://' + addr[k][0] + ':8081/aruco_map') - tem = json.loads(a.text) - - coord[k] = str(tem['x']) + ',' + str(tem['y']) + ',' + str(tem['z']) + ',' + \ - str(tem['mode']) + ',' + str(tem['armed']) + ',' + str(tem['frame_id']) + str( - tem['voltage']) + ',' + \ - str(tem['yaw']) + ',' + str(tem['pitch']) + ',' + str(tem['roll']) + ',' + \ - str(tem['vx']) + ',' + str(tem['vy']) + ',' + str(tem['vz']) - - time.sleep(0.05) - - - - except Exception as e: - - pass - - def sender(self, com, num): - global conn - global conn_2 - global copters - print(com) - print(num) - try: - if num == 'all': - for i in range(copters): - conn[i].send(com + b'$$') - print(com + b'$$') - elif int(num) > 0: - conn[int(num) - 1].send(com + b'$$') - except: - pass - - def message(self, mes): - pass - - def connect(self): - global copters - global conn - global conn_2 - global addr - global addr_2 - global coord - - addr_2 = [] - - conn = [] - conn_2 = [] - - self.message('Try connect') - for i in range(copters): - conn.append(0) - addr.append(0) - coord.append('0') - - t_0 = Thread(target=self.connect_init) - t_0.daemon = True - t_0.start() - - def connect_init(self): - self.state_label.setText("

Wait

") - global copters - - global conn - global addr - global conn_2 - global addr_2 - - for i in range(copters): - conn[i], addr[i] = sock.accept() - print("connected_controllers:", addr[i]) - - self.disarm_spinBox.setMaximum(copters) - self.land_spinBox.setMaximum(copters) - self.take_off_spinBox.setMaximum(copters) - self.state_label.setText("

Connect

") - - t = Thread(target=self.receiver) - t.daemon = True - t.start() - - def number_animation(self): - global copters - col = [b'(255,0,0)', b'(173,255,47)', b'(255,215,0)', b'(255,0,255)', b'(0,0,255)', b'(205,92,92)', - b'(255,255,255)', b'(240,128,128)'] - for i in range(copters + 1): - self.sender(b'led.fill' + col[i], str(i)) - time.sleep(0.5) - self.sender(b'led.off()', str(i)) - for i in range(copters + 1): - self.sender(b'led.fill' + col[i], str(i)) - - time.sleep(0.5) - - def safty(self): - self.message('safty check') - self.sender(b'f.safety_check(False)', 'all') - - def take_off(self): - self.message('take off') - self.sender(b'f.takeoff(z=2, speed=2,speed_takeoff=2 , timeout=2)', 'all') - - def take_off_n(self): - self.message('take off n') - self.sender(b'f.takeoff()', str(self.take_off_spinBox.value())) - - def land(self): - self.message('land') - self.sender(b'f.land(preland=False)', 'all') - - def land_n(self): - self.message('land n') - self.sender(b'f.land(preland=False)', str(self.land_spinBox.value())) - - def disarm(self): - self.sender(b'f.arming(False)', 'all') - - def disarm_n(self): - self.sender(b'f.arming(False)', str(self.disarm_spinBox.value())) - - def off_leds(self): - self.sender(b'led.off()', 'all') - - def land_led(self): - self.sender(b'led.off()', 'all') - self.sender(b'led.fill(255,0,0)', self.land_spinBox.value()) - # print(1) - - def disarm_led(self): - self.sender(b'led.off()', 'all') - self.sender(b'led.fill(0,255,0)', self.disarm_spinBox.value()) - - def take_off_led(self): - self.sender(b'led.off()', 'all') - self.sender(b'led.fill(0,0,255)', self.take_off_spinBox.value()) - - def on_leds(self): - self.sender(b'led.fill(0, 0, 255)', 'all') - - def square(self): - - pass - - def number_copters(self): - global copters - copters = self.swarm_size_spinBox.value() - - def circle(self): - # ToDO to make this function - pass - - def upload_animation(self): - global file - file = easygui.fileopenbox(filetypes=["*.avi"]) # вызов окна проводника для выбора файла - - def start_animation(self): - t_4 = Thread(target=self.start_animation_1) - t_4.daemon = True - t_4.start() - - def start_animation_1(self): - global file - f = open(file, 'r') - prog = f.read() - self.sender(b'programm', 'all') - time.sleep(0.5) - self.sender(bytes(prog, 'utf-8'), 'all') - - def show_3d(self): - - global data - global copters - global coord - fig = plt.figure() - ax = fig.add_subplot(111, projection='3d') - updateDialog = Dialog() - updateDialog.show() - - while True: - s = str(self.console_textEdit.toPlainText()) - print(s) - if '>' in s: - - print(s[:-2], s[s.index('>') - 1]) - self.console_textEdit.setText('') - if s[s.index('>') - 1] == '0': - self.sender(bytes(str(s[:s.index('>') - 1]), 'utf-8'), 'all') - print(s[:s.index('>') - 1], 'all') - else: - self.sender(bytes(str(s[:s.index('>') - 1]), 'utf-8'), str(s[s.index('>') - 1])) - print('sender', s[s.index('>') - 1]) - try: - - i = updateDialog.number_spinBox.value() - if i > 0: - i -= 1 - - coord_drone = [] - coord_drone = coord[i].split(',') - - updateDialog.z_2.setText("

" + coord_drone[ - 0] + "

") - updateDialog.x_2.setText("

" + coord_drone[ - 1] + "

") - updateDialog.y_2.setText("

" + coord_drone[ - 2] + "

") - updateDialog.mode_2.setText("

" + coord_drone[ - 3] + "

") - updateDialog.armed_2.setText("

" + coord_drone[ - 4] + "

") - updateDialog.frame_id_2.setText("

" + coord_drone[ - 5] + "

") - updateDialog.voltage_2.setText("

" + coord_drone[ - 6] + "

") - updateDialog.yaw2.setText("

" + coord_drone[ - 7] + "

") - updateDialog.pitch_2.setText("

" + coord_drone[ - 8] + "

") - updateDialog.roll_2.setText("

" + coord_drone[ - 9] + "

") - updateDialog.vx_2.setText("

" + coord_drone[ - 10] + "

") - updateDialog.vy_2.setText("

" + coord_drone[ - 11] + "

") - updateDialog.vz_2.setText("

" + coord_drone[ - 12] + "

") - except Exception as e: - # print(e) - pass - try: - - n = 0 - # set size of scene - - ax.set_xlim(0, 1.5) - ax.set_ylim(0, 2.2) - ax.set_zlim(0, 2) - - ax.set_xlabel('x') - ax.set_ylabel('y') - ax.set_zlabel('z') - - plt.pause(0.01) - - ax.clear() - try: - for i in coord: - co = (0, 0, 0) - n += 1 - - if self.land_spinBox.value() == n: - co = (1, 0, 0) - if self.take_off_spinBox.value() == n: - co = (1, 0, 0) - if self.disarm_spinBox.value() == n: - co = (1, 0, 0) - - ax.scatter(float(i.split(',')[0]), float(i.split(',')[1]), float(i.split(',')[2]), s=50, c=co, - marker='.') - ax.text(float(i.split(',')[0]), float(i.split(',')[1]), float(i.split(',')[2]), str(n), size=10, - zorder=1, color=(0, 0, 0)) - - except Exception as e: - print(e) - - ax.set_xlim(0, 1.5) - ax.set_ylim(0, 2.2) - ax.set_zlim(0, 2) - - ax.set_xlabel('x') - ax.set_ylabel('y') - ax.set_zlabel('z') - - plt.draw() - except KeyboardInterrupt: - print('stop') - break - - plt.show() - - -#if __name__ == '__main__': -app = QApplication([]) -w = Widget() -w.show() - -app.exec() - -"""Code by Alexandr Osherov 10 class, phone - +79251834732, email - allexandr2001@mail.ru""" diff --git a/Server/Server+GUI_non_xml_dowload (копия).py b/Server/Server.py similarity index 95% rename from Server/Server+GUI_non_xml_dowload (копия).py rename to Server/Server.py index da05288..9f05446 100644 --- a/Server/Server+GUI_non_xml_dowload (копия).py +++ b/Server/Server.py @@ -15,7 +15,8 @@ import math import requests import json from PyQt5 import QtCore -import gui1 +import main_gui +import gui_telem ip = [1, 2] # slids = 0 sq_rad = 0 @@ -41,16 +42,16 @@ sock_2.bind(('', 35002)) # назначается адресс и порт св sock_2.listen(1) -"""class Dialog(QMainWindow, gui1.Ui_Dialog): +class Dialog(QMainWindow, gui_telem.Ui_Dialog): def __init__(self): super().__init__() self.setupUi(self) def up(self): - self.voltage_2.setText('1234567')""" + self.voltage_2.setText('1234567') -class Widget(QMainWindow, gui1.Ui_MainWindow): +class Widget(QMainWindow, main_gui.Ui_MainWindow): def __init__(self): super().__init__() self.setupUi(self) @@ -368,7 +369,7 @@ class Widget(QMainWindow, gui1.Ui_MainWindow): plt.show() -#if __name__ == '__main__': + app = QApplication([]) w = Widget() w.show() diff --git a/Server/back.png b/Server/gui/back.png similarity index 100% rename from Server/back.png rename to Server/gui/back.png diff --git a/Server/back_1.qrc b/Server/gui/back_1.qrc similarity index 100% rename from Server/back_1.qrc rename to Server/gui/back_1.qrc diff --git a/Server/gui.ui b/Server/gui/gui.ui similarity index 100% rename from Server/gui.ui rename to Server/gui/gui.ui diff --git a/Server/gui/swarm_5.ui b/Server/gui/swarm_5.ui new file mode 100644 index 0000000..c83797f --- /dev/null +++ b/Server/gui/swarm_5.ui @@ -0,0 +1,460 @@ + + + MainWindow + + + + 0 + 0 + 1280 + 720 + + + + + 1280 + 720 + + + + + 1280 + 720 + + + + Drone Swarm + + + + + + 760 + 70 + 100 + 40 + + + + Take off all + + + + + + 890 + 70 + 91 + 40 + + + + Land all + + + + + + 1010 + 70 + 101 + 40 + + + + background-color: red + + + + Disarm all + + + + + + 760 + 150 + 100 + 40 + + + + Take off n + + + + + + 890 + 150 + 91 + 40 + + + + + + + Land n + + + + + + 1010 + 150 + 101 + 40 + + + + background-color: red + + + + Disarm n + + + + + + 790 + 120 + 50 + 22 + + + + + + + 910 + 120 + 50 + 22 + + + + + + + 1040 + 120 + 50 + 22 + + + + + + + 840 + 20 + 200 + 20 + + + + <html><head/><body><p><span style=" font-size:12pt; color:#c8c8c8;">Control console</span></p></body></html> + + + Qt::AlignCenter + + + + + + 1140 + 60 + 100 + 61 + + + + + + + Turn on Leds + + + + + + 1140 + 140 + 100 + 61 + + + + Turn off Leds + + + + + + 220 + 510 + 141 + 51 + + + + + + + Stop swarm + + + + + + 620 + 60 + 111 + 40 + + + + + + + Connect + + + + + + 260 + 80 + 50 + 20 + + + + + + + 240 + 50 + 100 + 20 + + + + <html><head/><body><p><span style=" font-size:9pt;">Swarm Size</span></p></body></html> + + + Qt::AlignCenter + + + + + + 840 + 260 + 200 + 20 + + + + <html><head/><body><p><span style=" font-size:12pt; color:#c8c8c8;">Send command</span></p></body></html> + + + Qt::AlignCenter + + + + + + 640 + 290 + 591 + 271 + + + + background-color: rgb(1, 36, 86) + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Noto Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:7.8pt; color:#ffffff;">...</span></p></body></html> + + + + + + 220 + 300 + 141 + 51 + + + + + + + Show 3d scene + + + + + + 220 + 370 + 141 + 51 + + + + + + + Upload animation + + + + + + 220 + 160 + 131 + 41 + + + + color: red + + + + + <html><head/><body><p><span style=" font-size:12pt;">Disconnect</span></p></body></html> + + + Qt::AlignCenter + + + + + + 230 + 140 + 111 + 20 + + + + Statement swarm + + + Qt::AlignCenter + + + + + + 220 + 440 + 141 + 51 + + + + + + + Start animation + + + + + + 0 + -1 + 1280 + 701 + + + + <html><head/><body><p><img src=":/back/back.png"/></p></body></html> + + + + + + 620 + 110 + 111 + 40 + + + + + + + Safty check + + + + + + 620 + 160 + 111 + 40 + + + + + + + Synchronize + + + back_label + take_off_button + land_all_button + disarm_all_button + take_off_n_button + land_n_button + disarm_n_button + take_off_spinBox + land_spinBox + disarm_spinBox + control_console_label + turn_on_led_button + turn_off_led_button + stop_swarm_but + connect_button + swarm_size_spinBox + swarm_size_label + send_command_label + console_textEdit + show_3d_scene_button + upload_animation_button + state_label + statement_swarm_label + start_animation_button + safty_button + synch_button + + + + + 0 + 0 + 1280 + 23 + + + + + + + + + + diff --git a/Server/gui/telem.qrc b/Server/gui/telem.qrc new file mode 100755 index 0000000..5a64fa3 --- /dev/null +++ b/Server/gui/telem.qrc @@ -0,0 +1,5 @@ + + + telem_bakground.png + + diff --git a/Server/gui/telem_bakground.png b/Server/gui/telem_bakground.png new file mode 100755 index 0000000000000000000000000000000000000000..31e78529683f1d9ac4ce5d158d84d825c4d31b5b GIT binary patch literal 1027 zcmeAS@N?(olHy`uVBq!ia0y~yU{V9JKX5Ps$=x9qAPL6eAa^H*b?0PW0y!+{j=qiz z3>*8o|0J>k`J4qFk;M!Qe1}1p@p%4<6b1(78J;eVAr*0NZ*3GjtRTSP_(V%{qFu(B z#w$$eXDiGfKK}neXx-lL3=N;{&T})gd-5>|o@7)|vSe^kVQ=Vo!XPkFhCyi(vx7?! zLx;zpmIMX>1H*&8>nxue7u}0`Ew|<`@0`c&I{)o|+A$0P=MSyG9(65c`QwO0d|@4* U7I#W$2q@Wly85}Sb4q9e0P@2H0RR91 literal 0 HcmV?d00001 diff --git a/Server/gui/telemetry.ui b/Server/gui/telemetry.ui new file mode 100755 index 0000000..496691c --- /dev/null +++ b/Server/gui/telemetry.ui @@ -0,0 +1,536 @@ + + + Dialog + + + + 0 + 0 + 550 + 240 + + + + + 550 + 240 + + + + + 550 + 240 + + + + Telemetry + + + + + 80 + 20 + 91 + 20 + + + + + 11 + + + + Copter + + + Qt::AlignCenter + + + + + + 10 + 10 + 93 + 41 + + + + Go + + + + + + 160 + 20 + 42 + 22 + + + + + + + 10 + 100 + 21 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">x=</span></p></body></html> + + + Qt::AlignCenter + + + + + + 10 + 150 + 21 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">y=</span></p></body></html> + + + Qt::AlignCenter + + + + + + 10 + 200 + 21 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">z=</span></p></body></html> + + + Qt::AlignCenter + + + + + + 40 + 200 + 51 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 40 + 100 + 51 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 40 + 150 + 51 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 470 + 130 + 71 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">MANUALE</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 470 + 100 + 71 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">False</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 400 + 170 + 61 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">farme id=</span><br/></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 400 + 100 + 51 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">armed=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 470 + 170 + 71 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">aruco_map</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 400 + 130 + 51 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">mode=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 470 + 200 + 71 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 400 + 200 + 51 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">voltage=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 190 + 200 + 61 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 140 + 100 + 31 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">yaw=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 140 + 150 + 41 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">pitch=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 140 + 200 + 31 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">roll=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 190 + 150 + 61 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 190 + 100 + 61 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 270 + 150 + 31 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">vy=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 320 + 100 + 61 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 270 + 200 + 31 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">vz=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 320 + 150 + 61 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 320 + 200 + 61 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">0.000</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 270 + 100 + 31 + 16 + + + + <html><head/><body><p><span style=" color:#c8c8c8;">vx=</span></p></body></html> + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 0 + 0 + 551 + 241 + + + + <html><head/><body><p><img src=":/telem/telem_bakground.png"/></p></body></html> + + + back + copter_text + go_pushButton + number_spinBox + x_1 + y_1 + z_1 + z_2 + x_2 + y_2 + mode_2 + armed_2 + frame_id_1 + armed_1 + frame_id_2 + mode_1 + voltage_2 + voltage_1 + roll_2 + yaw_1 + pitch_1 + roll_1 + pitch_2 + yaw2 + vy_1 + vx_2 + vz_1 + vy_2 + vz_2 + vx_1 + + + + + + diff --git a/Server/gui_telem.py b/Server/gui_telem.py new file mode 100644 index 0000000..a38ded1 --- /dev/null +++ b/Server/gui_telem.py @@ -0,0 +1,214 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'telemetry.ui' +# +# Created by: PyQt5 UI code generator 5.11.3 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Dialog(object): + def setupUi(self, Dialog): + Dialog.setObjectName("Dialog") + Dialog.resize(550, 240) + Dialog.setMinimumSize(QtCore.QSize(550, 240)) + Dialog.setMaximumSize(QtCore.QSize(550, 240)) + self.copter_text = QtWidgets.QLabel(Dialog) + self.copter_text.setGeometry(QtCore.QRect(80, 20, 91, 20)) + font = QtGui.QFont() + font.setPointSize(11) + self.copter_text.setFont(font) + self.copter_text.setAlignment(QtCore.Qt.AlignCenter) + self.copter_text.setObjectName("copter_text") + self.go_pushButton = QtWidgets.QPushButton(Dialog) + self.go_pushButton.setGeometry(QtCore.QRect(10, 10, 93, 41)) + self.go_pushButton.setObjectName("go_pushButton") + self.number_spinBox = QtWidgets.QSpinBox(Dialog) + self.number_spinBox.setGeometry(QtCore.QRect(160, 20, 42, 22)) + self.number_spinBox.setObjectName("number_spinBox") + self.x_1 = QtWidgets.QLabel(Dialog) + self.x_1.setGeometry(QtCore.QRect(10, 100, 21, 16)) + self.x_1.setAlignment(QtCore.Qt.AlignCenter) + self.x_1.setObjectName("x_1") + self.y_1 = QtWidgets.QLabel(Dialog) + self.y_1.setGeometry(QtCore.QRect(10, 150, 21, 16)) + self.y_1.setAlignment(QtCore.Qt.AlignCenter) + self.y_1.setObjectName("y_1") + self.z_1 = QtWidgets.QLabel(Dialog) + self.z_1.setGeometry(QtCore.QRect(10, 200, 21, 16)) + self.z_1.setAlignment(QtCore.Qt.AlignCenter) + self.z_1.setObjectName("z_1") + self.z_2 = QtWidgets.QLabel(Dialog) + self.z_2.setGeometry(QtCore.QRect(40, 200, 51, 16)) + self.z_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.z_2.setObjectName("z_2") + self.x_2 = QtWidgets.QLabel(Dialog) + self.x_2.setGeometry(QtCore.QRect(40, 100, 51, 16)) + self.x_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.x_2.setObjectName("x_2") + self.y_2 = QtWidgets.QLabel(Dialog) + self.y_2.setGeometry(QtCore.QRect(40, 150, 51, 16)) + self.y_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.y_2.setObjectName("y_2") + self.mode_2 = QtWidgets.QLabel(Dialog) + self.mode_2.setGeometry(QtCore.QRect(470, 130, 71, 16)) + self.mode_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.mode_2.setObjectName("mode_2") + self.armed_2 = QtWidgets.QLabel(Dialog) + self.armed_2.setGeometry(QtCore.QRect(470, 100, 71, 16)) + self.armed_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.armed_2.setObjectName("armed_2") + self.frame_id_1 = QtWidgets.QLabel(Dialog) + self.frame_id_1.setGeometry(QtCore.QRect(400, 170, 61, 16)) + self.frame_id_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.frame_id_1.setObjectName("frame_id_1") + self.armed_1 = QtWidgets.QLabel(Dialog) + self.armed_1.setGeometry(QtCore.QRect(400, 100, 51, 16)) + self.armed_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.armed_1.setObjectName("armed_1") + self.frame_id_2 = QtWidgets.QLabel(Dialog) + self.frame_id_2.setGeometry(QtCore.QRect(470, 170, 71, 16)) + self.frame_id_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.frame_id_2.setObjectName("frame_id_2") + self.mode_1 = QtWidgets.QLabel(Dialog) + self.mode_1.setGeometry(QtCore.QRect(400, 130, 51, 16)) + self.mode_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.mode_1.setObjectName("mode_1") + self.voltage_2 = QtWidgets.QLabel(Dialog) + self.voltage_2.setGeometry(QtCore.QRect(470, 200, 71, 16)) + self.voltage_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.voltage_2.setObjectName("voltage_2") + self.voltage_1 = QtWidgets.QLabel(Dialog) + self.voltage_1.setGeometry(QtCore.QRect(400, 200, 51, 16)) + self.voltage_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.voltage_1.setObjectName("voltage_1") + self.roll_2 = QtWidgets.QLabel(Dialog) + self.roll_2.setGeometry(QtCore.QRect(190, 200, 61, 16)) + self.roll_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.roll_2.setObjectName("roll_2") + self.yaw_1 = QtWidgets.QLabel(Dialog) + self.yaw_1.setGeometry(QtCore.QRect(140, 100, 31, 16)) + self.yaw_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.yaw_1.setObjectName("yaw_1") + self.pitch_1 = QtWidgets.QLabel(Dialog) + self.pitch_1.setGeometry(QtCore.QRect(140, 150, 41, 16)) + self.pitch_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.pitch_1.setObjectName("pitch_1") + self.roll_1 = QtWidgets.QLabel(Dialog) + self.roll_1.setGeometry(QtCore.QRect(140, 200, 31, 16)) + self.roll_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.roll_1.setObjectName("roll_1") + self.pitch_2 = QtWidgets.QLabel(Dialog) + self.pitch_2.setGeometry(QtCore.QRect(190, 150, 61, 16)) + self.pitch_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.pitch_2.setObjectName("pitch_2") + self.yaw2 = QtWidgets.QLabel(Dialog) + self.yaw2.setGeometry(QtCore.QRect(190, 100, 61, 16)) + self.yaw2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.yaw2.setObjectName("yaw2") + self.vy_1 = QtWidgets.QLabel(Dialog) + self.vy_1.setGeometry(QtCore.QRect(270, 150, 31, 16)) + self.vy_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.vy_1.setObjectName("vy_1") + self.vx_2 = QtWidgets.QLabel(Dialog) + self.vx_2.setGeometry(QtCore.QRect(320, 100, 61, 16)) + self.vx_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.vx_2.setObjectName("vx_2") + self.vz_1 = QtWidgets.QLabel(Dialog) + self.vz_1.setGeometry(QtCore.QRect(270, 200, 31, 16)) + self.vz_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.vz_1.setObjectName("vz_1") + self.vy_2 = QtWidgets.QLabel(Dialog) + self.vy_2.setGeometry(QtCore.QRect(320, 150, 61, 16)) + self.vy_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.vy_2.setObjectName("vy_2") + self.vz_2 = QtWidgets.QLabel(Dialog) + self.vz_2.setGeometry(QtCore.QRect(320, 200, 61, 16)) + self.vz_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.vz_2.setObjectName("vz_2") + self.vx_1 = QtWidgets.QLabel(Dialog) + self.vx_1.setGeometry(QtCore.QRect(270, 100, 31, 16)) + self.vx_1.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.vx_1.setObjectName("vx_1") + self.back = QtWidgets.QLabel(Dialog) + self.back.setGeometry(QtCore.QRect(0, 0, 551, 241)) + self.back.setObjectName("back") + self.back.raise_() + self.copter_text.raise_() + self.go_pushButton.raise_() + self.number_spinBox.raise_() + self.x_1.raise_() + self.y_1.raise_() + self.z_1.raise_() + self.z_2.raise_() + self.x_2.raise_() + self.y_2.raise_() + self.mode_2.raise_() + self.armed_2.raise_() + self.frame_id_1.raise_() + self.armed_1.raise_() + self.frame_id_2.raise_() + self.mode_1.raise_() + self.voltage_2.raise_() + self.voltage_1.raise_() + self.roll_2.raise_() + self.yaw_1.raise_() + self.pitch_1.raise_() + self.roll_1.raise_() + self.pitch_2.raise_() + self.yaw2.raise_() + self.vy_1.raise_() + self.vx_2.raise_() + self.vz_1.raise_() + self.vy_2.raise_() + self.vz_2.raise_() + self.vx_1.raise_() + + self.retranslateUi(Dialog) + QtCore.QMetaObject.connectSlotsByName(Dialog) + + def retranslateUi(self, Dialog): + _translate = QtCore.QCoreApplication.translate + Dialog.setWindowTitle(_translate("Dialog", "Telemetry")) + self.copter_text.setText(_translate("Dialog", "Copter")) + self.go_pushButton.setText(_translate("Dialog", "Go")) + self.x_1.setText(_translate("Dialog", "

x=

")) + self.y_1.setText(_translate("Dialog", "

y=

")) + self.z_1.setText(_translate("Dialog", "

z=

")) + self.z_2.setText(_translate("Dialog", "

0.000

")) + self.x_2.setText(_translate("Dialog", "

0.000

")) + self.y_2.setText(_translate("Dialog", "

0.000

")) + self.mode_2.setText(_translate("Dialog", "

MANUALE

")) + self.armed_2.setText(_translate("Dialog", "

False

")) + self.frame_id_1.setText(_translate("Dialog", "

farme id=

")) + self.armed_1.setText(_translate("Dialog", "

armed=

")) + self.frame_id_2.setText(_translate("Dialog", "

aruco_map

")) + self.mode_1.setText(_translate("Dialog", "

mode=

")) + self.voltage_2.setText(_translate("Dialog", "

0.000

")) + self.voltage_1.setText(_translate("Dialog", "

voltage=

")) + self.roll_2.setText(_translate("Dialog", "

0.000

")) + self.yaw_1.setText(_translate("Dialog", "

yaw=

")) + self.pitch_1.setText(_translate("Dialog", "

pitch=

")) + self.roll_1.setText(_translate("Dialog", "

roll=

")) + self.pitch_2.setText(_translate("Dialog", "

0.000

")) + self.yaw2.setText(_translate("Dialog", "

0.000

")) + self.vy_1.setText(_translate("Dialog", "

vy=

")) + self.vx_2.setText(_translate("Dialog", "

0.000

")) + self.vz_1.setText(_translate("Dialog", "

vz=

")) + self.vy_2.setText(_translate("Dialog", "

0.000

")) + self.vz_2.setText(_translate("Dialog", "

0.000

")) + self.vx_1.setText(_translate("Dialog", "

vx=

")) + self.back.setText(_translate("Dialog", "

")) + +import telem_rc + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + Dialog = QtWidgets.QDialog() + ui = Ui_Dialog() + ui.setupUi(Dialog) + Dialog.show() + sys.exit(app.exec_()) + diff --git a/Server/gui1.py b/Server/main_gui.py similarity index 100% rename from Server/gui1.py rename to Server/main_gui.py diff --git a/Server/telem_rc.py b/Server/telem_rc.py new file mode 100644 index 0000000..1cc6cff --- /dev/null +++ b/Server/telem_rc.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt5 (Qt v5.11.2) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = b"\ +\x00\x00\x00\xe4\ +\x00\ +\x00\x04\x03\x78\x9c\xeb\x0c\xf0\x73\xe7\xe5\x92\xe2\x62\x60\x60\ +\xe0\xf5\xf4\x70\x09\x62\x60\x60\x52\x03\xb2\x3f\x70\x30\x01\xc9\ +\xdd\x21\x16\x20\x09\xc6\xe2\x20\x77\x27\x86\x75\xe7\x64\x5e\x02\ +\x39\x2c\xe9\x8e\xbe\x8e\x0c\x0c\x1b\xfb\xb9\xff\x24\xb2\x02\xf9\ +\x9c\x05\x1e\x91\xc5\x0c\x0c\x7c\x87\x41\x98\xf1\x78\xfe\x8a\x14\ +\x06\x06\xe6\x19\x9e\x2e\x8e\x21\x15\x71\x6f\x6f\x6d\x14\x3c\xac\ +\x20\xc0\xe0\xf8\x44\x4b\x73\xa2\x5d\xc6\x99\xc6\x2b\x4c\xe9\x67\ +\x2b\xcc\x1f\x3e\xfe\xff\x40\x68\xdd\xde\xef\x0c\x0d\x9f\xed\xce\ +\x73\x33\xb4\x7b\xf2\x31\x08\x9e\x64\x54\x50\xb2\x64\x70\x51\x61\ +\x6f\xe8\x78\xc2\x20\x30\x51\x86\x41\x69\x12\xb3\x83\x4b\x11\x43\ +\x87\xc7\xa0\x96\x64\x00\x81\x07\x7b\xd7\x59\x3e\x37\x2e\xba\x17\ +\xf5\x5a\x6e\xcd\x5f\xde\x39\x8f\xdb\x75\xfe\xdb\xff\xb4\x63\x18\ +\x1c\x2e\x1c\x95\x1c\x95\x84\x4a\x1e\x91\x88\x2f\xac\xe3\xd3\xe2\ +\x4e\x09\x0d\x01\x25\x5b\x4f\x57\x3f\x97\x75\x4e\x09\x4d\x00\xf2\ +\xc3\x05\x01\ +" + +qt_resource_name = b"\ +\x00\x05\ +\x00\x7a\xc2\xbd\ +\x00\x74\ +\x00\x65\x00\x6c\x00\x65\x00\x6d\ +\x00\x13\ +\x08\x4f\x8b\x27\ +\x00\x74\ +\x00\x65\x00\x6c\x00\x65\x00\x6d\x00\x5f\x00\x62\x00\x61\x00\x6b\x00\x67\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x70\ +\x00\x6e\x00\x67\ +" + +qt_resource_struct_v1 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x10\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +qt_resource_struct_v2 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x10\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x64\xac\x7c\x9c\xca\ +" + +qt_version = [int(v) for v in QtCore.qVersion().split('.')] +if qt_version < [5, 8, 0]: + rcc_version = 1 + qt_resource_struct = qt_resource_struct_v1 +else: + rcc_version = 2 + qt_resource_struct = qt_resource_struct_v2 + +def qInitResources(): + QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources()