예제 #1
0
    def reciveDateTime(self):
        Date = ""
        Time = ""

        date = self.calendarWidget.selectedDate()
        Date += date.toString("yyyy MM dd")

        time = self.timeEdit.time()
        Time += time.toString("HH mm")

        self.year = Date[:4]
        self.month = Date[5:7]
        self.day = Date[8:10]

        self.hour = Time[:2]
        self.minute = Time[3:6]

        self.result += self.day + "." + self.month + "." + self.year + " в " + self.hour + ":" + self.minute
예제 #2
0
    def get_hum(self):
        global mqtt_client
        global aws_count, humidity, hum_avg
        try:
            time = QTime.currentTime()
            self.today = datetime.now().strftime("%H:%M:%S %Y-%m-%d")
            humidity, temp = sensor.read(sensor.DHT22, 4)
            if temp is None or humidity is None:
                self.hum_value.setText('ERROR')
                connection_flag = 1
                print("***********Connection removed**************")
            else:
                connection_flag = 0
                self.hum_count = self.hum_count + 1
                if self.hum_button == 1:
                    self.hum_value.setText('{} %'.format(round(humidity, 4)))
                    self.hum_time.setText(
                        time.toString(Qt.DefaultLocaleLongDate))
                    self.hum_button = 0
                hstr = self.hum_threshold.text()
                if not hstr:
                    h = 50
                else:
                    h = int(hstr)
                if humidity > h:
                    self.alarm_hum.setText('ALERT HIGH HUM')
                else:
                    self.alarm_hum.setText('')
                hum_avg = 0
                hum_list_count = 0
                hum_list.append(round(humidity, 4))
                ws_count = aws_count + 1
                for i in hum_list:
                    hum_avg = i + hum_avg
                    hum_list_count = hum_list_count + 1
                hum_avg = hum_avg / hum_list_count

                #send data to aws cloud
                #hum_message = "Hum;"+str(round(humidity,2))+";"+str(round(max(hum_list),2))+";"+str(round(min(hum_list),2))+";"+str(round(hum_avg,2))+";"+self.today+";"
                #print("{}".format(hum_message))
                #mqtt_client.publish("RpiPolicy", hum_message, 0)

                if (self.hum_count % 8 == 0):
                    self.last_hum_label.setText('Last value: {} %'.format(
                        round(humidity, 2)))
                    self.avg_hum_label.setText('Average: {} %'.format(
                        round(hum_avg, 2)))
                    self.high_hum_label.setText('Highest: {} %'.format(
                        round(max(hum_list), 2)))
                    self.low_hum_label.setText('Lowest: {} %'.format(
                        round(min(hum_list), 2)))
                    self.last_hum_time.setText('Time: {}'.format(self.today))
                    self.avg_hum_time.setText('Time: {}'.format(self.today))
                    self.high_hum_time.setText('Time: {}'.format(self.today))
                    self.low_hum_time.setText('Time: {}'.format(self.today))

                global cur
                lock.acquire()
                #insert values in data base
                insert_statement = "INSERT INTO humidityDB (humidity, highest, lowest, average, last, timestamp) VALUES (%s, %s, %s, %s, %s, %s)"
                val = (humidity, max(hum_list), min(hum_list), hum_avg,
                       humidity, self.today)
                cur.execute(insert_statement, val)
                db.commit()
                lock.release()
            # cur.execute("SELECT * FROM humdidityDB")

        finally:
            self.hum_button = 0
            QTimer.singleShot(5000, self.get_hum)
예제 #3
0
 def showTime(self):
     pass
     time = QDateTime.currentDateTime()
     timeDisplay = time.toString("yyyy-MM-dd hh:mm:ss dddd")
     self.label.setText(timeDisplay)
     self.pushButton.click()