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 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,current_time1) elif selectDevice == "NB目博地磁": result += self.MB_geom(self,ip,port,selectStauts,berthCode,current_time2,deviceId) elif selectDevice == "NB华赛地磁": result += self.HC_geom(self,ip,port,deviceId,selectStauts,time_stamp) elif selectDevice == "立方心跳": result += self.F_heartbeat(self,ip,port, parkingCode,deviceId,current_time1) def current_time1(): today = arrow.now().format("YYYYMMDDHHmmss") return today def time_stamp(): timestamp = int(time.time()) return timestamp def current_time2(): today = arrow.now().format("YYYY-MM-DD HH:mm:ss") return today 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) def sendRequest(self, ip, port, data, header): cookie_request = requests.session() post_url = "http://" + ip + ":" + port + "/cps/v2/api/device/dataUpload" print('post_url:', post_url) post_header = {"Content-Type": "application/json"} post_data = json.dumps(data) print('post_data:', post_data) response = cookie_request.post(post_url, data=post_data, headers=post_header) print('response:', response.text) return response.text if __name__ == '__main__': myapp = QApplication(sys.argv) myDlg = MainDialog() ui = Ui_MainWindow() ui.setupUi(myDlg) myDlg.show() sys.exit(myapp.exec_())
地磁接口,心跳
于 2022-07-31 22:54:18 首次发布