地磁接口,心跳

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_())



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值