# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(50, 80, 81, 21))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(50, 120, 71, 21))
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(50, 150, 71, 21))
self.label_3.setObjectName("label_3")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(50, 220, 54, 12))
self.label_4.setObjectName("label_4")
self.selectDevice = QtWidgets.QComboBox(self.centralwidget)
self.selectDevice.setGeometry(QtCore.QRect(140, 80, 111, 21))
self.selectDevice.setObjectName("selectDevice")
self.selectDevice.addItem("")
self.selectDevice.addItem("")
self.selectDevice.addItem("")
self.selectDevice.addItem("")
self.parkingCode = QtWidgets.QLineEdit(self.centralwidget)
self.parkingCode.setGeometry(QtCore.QRect(130, 120, 141, 21))
self.parkingCode.setObjectName("parkingCode")
self.deviceId = QtWidgets.QLineEdit(self.centralwidget)
self.deviceId.setGeometry(QtCore.QRect(130, 150, 141, 21))
self.deviceId.setObjectName("deviceId")
self.selectStauts = QtWidgets.QComboBox(self.centralwidget)
self.selectStauts.setGeometry(QtCore.QRect(110, 220, 69, 21))
self.selectStauts.setObjectName("selectStauts")
self.selectStauts.addItem("")
self.selectStauts.addItem("")
self.label_6 = QtWidgets.QLabel(self.centralwidget)
self.label_6.setGeometry(QtCore.QRect(50, 40, 51, 16))
self.label_6.setObjectName("label_6")
self.label_7 = QtWidgets.QLabel(self.centralwidget)
self.label_7.setGeometry(QtCore.QRect(250, 30, 71, 31))
self.label_7.setObjectName("label_7")
self.ip = QtWidgets.QLineEdit(self.centralwidget)
self.ip.setGeometry(QtCore.QRect(80, 40, 113, 20))
self.ip.setObjectName("ip")
self.prot = QtWidgets.QLineEdit(self.centralwidget)
self.prot.setGeometry(QtCore.QRect(330, 40, 113, 20))
self.prot.setObjectName("prot")
self.berthCode = QtWidgets.QLineEdit(self.centralwidget)
self.berthCode.setGeometry(QtCore.QRect(130, 180, 141, 21))
self.berthCode.setObjectName("berthCode")
self.label_8 = QtWidgets.QLabel(self.centralwidget)
self.label_8.setGeometry(QtCore.QRect(50, 180, 71, 21))
self.label_8.setObjectName("label_8")
self.request = QtWidgets.QToolButton(self.centralwidget)
self.request.setGeometry(QtCore.QRect(170, 270, 91, 31))
self.request.setObjectName("request")
self.request.clicked.connect(MainWindow.test)
self.result = QtWidgets.QLabel(self.centralwidget)
self.result.setGeometry(QtCore.QRect(160, 320, 121, 31))
self.result.setText("")
self.result.setObjectName("result")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
from PyQt5.QtWidgets import QApplication, QDialog, QMainWindow
import arrow
import time
import sys
import untitled
import requests
import json
class MainDialog(QMainWindow):
def __init__(self):
super(MainDialog, self).__init__()
self.ui = untitled.Ui_MainWindow()
self.ui.setupUi(self)
def current_time1(self):
today = arrow.now().format("YYYYMMDDHHmmss")
return today
def time_stamp(self):
timestamp = int(time.time())
return timestamp
def current_time2(self):
today = arrow.now().format("YYYY-MM-DD HH:mm:ss")
return today
def test(self):
ip = self.ui.ip.text()
port = self.ui.port.text()
selectDevice = self.ui.selectDevice.currentText()
parkingCode = self.ui.parkingCode.text()
deviceId = self.ui.deviceId.text()
berthCode = self.ui.berthCode.text()
selectStauts = self.ui.berthCode.currentText()
result = selectDevice
if selectDevice == "NB立方地磁":
result = result + "(" + selectDevice + "):"
else:
result += ":"
try:
if selectDevice == "NB立方地磁":
result += self.LF_geom(ip,port, parkingCode,deviceId,selectStauts,self.current_time1())
elif selectDevice == "NB目博地磁":
result += self.MB_geom(self,ip,port,selectStauts,berthCode,self.current_time2(),deviceId)
elif selectDevice == "NB华赛地磁":
result += self.HC_geom(self,ip,port,deviceId,selectStauts,self.time_stamp())
elif selectDevice == "立方心跳":
result += self.F_heartbeat(self,ip,port,parkingCode,deviceId,self.current_time1())
def LF_geom(self,ip,port, parkingCode,deviceId,selectStauts,current_time1):
Stauts = 1
if selectStauts == "出车":
Stauts = 0
data = {
"ver": "1.0",
"uuid": "bab49e3f-d910-4a95-be2a-8e9aa20acf7a",
"parkno": parkingCode,
"serial": deviceId,
"state": Stauts,
"cellid": "123456",
"rsrp": -671,
"txpow": 80,
"sinr": 210,
"pci": 300,
"ecl": 0,
"eventtime": current_time1
}
header = {}
# http://10.41.173.150:32288/LFNBGemoBerthStatus
post_url = "http://" + ip + ":" + port + "/LFNBGemoBerthStatus"
r = requests.post(post_url, headers=header, data=data, )
if r.status_code == 200:
result = print("请求成功")
self.ui.result.setPlainText(result)
def LF_heartbeat(self,ip,port, parkingCode,deviceId,current_time1):
data = {
"ver":"1.0",
"uuid":"aab49e3f-d910-4a95-be2a-8eda5a26acf7a",
"parkno":parkingCode,
"serial":deviceId,
"version":"6.31",
"battery":"3.60",
"batterylow":"0",
"cellid":"123456",
"rsrp":-671,
"txpow":80,
"sinr":210,
"pci":300,
"ecl":0,
"quality":0,
"eventtime":current_time1
}
header = {}
# http://10.41.173.150:32288/LFNBGemoHeartBeat
post_url = "http://" + ip + ":" + port + "/LFNBGemoHeartBeat"
r = requests.post(post_url, headers=header, data=data, )
if r.status_code == 200:
result = print("请求成功")
self.ui.result.setPlainText(result)
def HC_geom(self,ip,port,deviceId,selectStauts,timestamp):
Stauts = 1
if selectStauts == "出车":
Stauts = 0
data = {
"IMEI": "868474049211590",
"IMSI": "undefined",
"deviceType": "",
"messageType": "dataReport",
"topic": "v1/up/ad19",
"assocAssetId": "",
"payload": {
"Manufacturer": "WXHS",
"Model": "P_MD",
"type": 32,
"ptime": timestamp,
"parking_state": Stauts,
"pack_count": 184,
"battery_voltage": 3.6610000133514404,
"mag_id": 19120280,
"Signal_Power": -108,
"X_value": -540,
"Y_value": 288,
"Z_value": -101,
"version": 4353,
"Park_cnt": 48,
"Send_cnt": 249,
"X_base": -538,
"Y_base": 294,
"Z_base": -99,
"Alarm_info": 0,
"reserverd00": 5,
"reserverd01": 0,
"reserverd02": 0,
"reserverd03": 0,
"reserverd04": 0,
"reserverd05": 0,
"crc": 43327
},
"upPacketSN": "",
"upDataSN": "",
"serviceId": 1,
"tenantId": "A002",
"productId": "A002",
"deviceId": deviceId,
"timestamp": timestamp,
"protocol": "lwm2m"
}
header = {}
# http://10.41.173.150:32288/pdas/hsGemoStatus
post_url = "http://" + ip + ":" + port + "/pdas/hsGemoStatus"
r = requests.post(post_url, headers=header, data=data, )
if r.status_code == 200:
result = print("请求成功")
self.ui.result.setPlainText(result)
def MB_geom(self,ip,port,selectStauts,berthCode,current_time2,deviceId):
Stauts = 1
if selectStauts == "出车":
Stauts = 0
data = {
"SN": deviceId,
"BerthCode": berthCode,
"Name": "TMoteStatus",
"TMoteStatus": {
"Status": Stauts,
"Count": 70,
"Time": current_time2,
"Rssi": 20,
"Snr": 61
}
}
header = {}
#http://10.41.173.150:32288/MBGemoBerthStatus
post_url = "http://" + ip + ":" + port + "/MBGemoBerthStatus"
r = requests.post(post_url, headers=header,data=data,)
if r.status_code == 200:
result = print("请求成功")
self.ui.result.setPlainText(result)
if __name__ == '__main__':
myapp = QApplication(sys.argv)
myDlg = MainDialog()
ui = Ui_MainWindow()
ui.setupUi(myDlg)
myDlg.show()
sys.exit(myapp.exec_())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "地磁设备类型:"))
self.label_2.setText(_translate("MainWindow", "停车点编号:"))
self.label_3.setText(_translate("MainWindow", "设备编号:"))
self.label_4.setText(_translate("MainWindow", "出入车:"))
self.selectDevice.setItemText(0, _translate("MainWindow", "NB立方地磁"))
self.selectDevice.setItemText(1, _translate("MainWindow", "NB目博地磁"))
self.selectDevice.setItemText(2, _translate("MainWindow", "NB华赛地磁"))
self.selectDevice.setItemText(3, _translate("MainWindow", "立方心跳"))
self.selectStauts.setItemText(0, _translate("MainWindow", "入车"))
self.selectStauts.setItemText(1, _translate("MainWindow", "出车"))
self.label_6.setText(_translate("MainWindow", "ip:"))
self.label_7.setText(_translate("MainWindow", "pdas端口号:"))
self.label_8.setText(_translate("MainWindow", "泊位编号:"))
self.request.setText(_translate("MainWindow", "发送请求"))