Beispiel #1
0
    def create_maintenance_alarm(self, abnormal=False):
        import random
        return TlvHelper.create_data(118, '0100', 0, random.randint(0,5), 0, False)

# import paho.mqtt.publish as publish
# Config.BROKER = '182.61.25.208'
# m = WaterMeter()
# print(m.create_maintenance_alarm())
# data = TlvData.TlvData.create_tlv_data(1,Config.MESSAGE_PUMP_HOUSE,506,m.create_base_data())
# print(data)
# publish.single("dtu/up/phouse/0.0.1.250/deivces", bytearray(TlvData.TlvData.create_tlv_data(1,Config.MESSAGE_PUMP_HOUSE,506,m.create_base_data())), hostname=Config.BROKER, auth = {'username':"******", 'password':"******"})
Beispiel #2
0
    def publish_data(self, ip, datas, event):
        if datas:
            id = TlvHelper.int_2_ip(ip)
            client_id = str(id)+'-'+str(time.time())
            client = mqtt.Client(client_id=client_id)
            user = Config.USER
            password = Config.PWD
            client.username_pw_set(user, password)
            try:
                client.connect(Config.BROKER)
            except:
                self.msgQueue.put(id + '未能成功连接服务器:' + Config.BROKER)
                return
            client.loop_start()
            while self.isStart:
                if self.get_dtu_stable():
                    for data in datas:
                        payload = data[0]
                        if self.topic:
                            topic = self.topic %(id)
                        else:
                            topic = data[1]+id+'/devices'
                        print(topic)
                        print(Config.BROKER)
                        client.publish(topic,bytearray(payload))
                        time.sleep(0.01)
                        if self.isStart:
                            self.msgQueue.put(id + '['+topic + ']发送消息成功'+str(data[0]))

                else:
                    self.msgQueue.put(id + '不稳定,未能成功发送数据')


                    # i = 0
                    # for data in datas:
                    #     try:
                    #         # Config.BROKER = '182.61.25.208'
                    #         id = TlvHelper.int_2_ip(ip)
                    #         publish.single("dtu/up/phouse/0.0.1.250/deivces", bytearray(data), hostname=Config.BROKER, client_id = id+'-'+str(i))
                    #         if self.isStart:
                    #             self.msgQueue.put(id + '发送消息成功['+str(data)+']')
                    #         i += 0
                    #         time.sleep(0.1)
                    #     except:
                    #         if self.isStart:
                    #             self.msgQueue.put(id+':消息发送失败'+str(data))
                print('awitt----------------------')
                if self.isStart:
                    event.wait(60)
                print('allive................')
            client.loop_stop()
            client.disconnect()
            print('over................')
Beispiel #3
0
 def create_base_meternum(self, num=0):
     return TlvHelper.create_data(102, '0110', 0, num, num, False)
Beispiel #4
0
 def create_waterpooladd_press(self, abnormal=False):
     return TlvHelper.create_data(77, '0100', 3, 2, 100, abnormal)
Beispiel #5
0
 def create_base_suppler(self, suppler=0):
     return TlvHelper.create_data(101, '0100', 0, suppler, suppler, False)
Beispiel #6
0
 def create_core_collected_time(self):
     return TlvHelper.create_date_data(112)
Beispiel #7
0
 def create_core_total_flows(self, abnormal=False):
     return TlvHelper.create_data(114, '0110', 3, 123456, 0, abnormal)
Beispiel #8
0
 def create_base_imei(self, imei='345001234567890'):
     return TlvHelper.create_bcd_data(106, 8, imei)
Beispiel #9
0
 def create_waterpooladd_door(self, abnormal=False):
     return TlvHelper.create_data(79, '0010', 0, 1, 0, abnormal)
Beispiel #10
0
 def create_waterpool_waterlevel(self, abnormal=False):
     return TlvHelper.create_data(26, '0100', 2, 2, 0, abnormal)
Beispiel #11
0
 def create_waterpool_outpress(self, abnormal=False):
     return TlvHelper.create_data(28, '0100', 3, 1, 10, abnormal)
Beispiel #12
0
 def create_waterpool_turbidity(self, abnormal=False):
     return TlvHelper.create_data(24, '0100', 3, 0, 10, abnormal)
Beispiel #13
0
 def create_waterpool_chlorine(self, abnormal=False):
     return TlvHelper.create_data(25, '0100', 3, 0, 6, abnormal)
Beispiel #14
0
 def create_waterpool_ph(self, abnormal=False):
     return TlvHelper.create_data(23, '0100', 2, 7, 4, abnormal)
Beispiel #15
0
 def create_pump_amplitude(self, abnormal=False):
     return TlvHelper.create_data(59, '0100', 2, 2, 20, abnormal)
Beispiel #16
0
 def create_pump_temp(self, abnormal=False):
     return TlvHelper.create_data(58, '0100', 2, 25, 70, abnormal)
Beispiel #17
0
 def create_base_sim(self, sim = '13438879512'):
         return TlvHelper.create_bcd_data(104, 6, sim)
Beispiel #18
0
 def create_base_protocal(self, abnormal=False):
     import random
     return TlvHelper.create_data(108, '0010', 0, random.randint(0, 3), 1, False)
Beispiel #19
0
 def create_base_imsi(self, imsi='460001234567890'):
     return TlvHelper.create_bcd_data(105, 8, imsi)
Beispiel #20
0
 def create_base_powersupply(self, abnormal=False):
     import random
     return TlvHelper.create_data(110, '0010', 0, random.randint(0, 1), 1, False)
Beispiel #21
0
 def create_base_operator(self, abnormal=False):
     import random
     return TlvHelper.create_data(107, '0010', 0, random.randint(1, 3), 1, False)
Beispiel #22
0
 def create_waterpooladd_temp(self, abnormal=False):
     return TlvHelper.create_data(78, '0100', 2, 20, 100, abnormal)
Beispiel #23
0
 def create_base_derection(self, abnormal=False):
     return TlvHelper.create_data(109, '0000', 0, 0, 1, False)
Beispiel #24
0
 def create_core_reverse_tflows(self, abnormal=False):
     return TlvHelper.create_data(116, '0110', 3, 10, 0, abnormal)
Beispiel #25
0
 def create_base_safevoltage(self, abnormal=False):
     return TlvHelper.create_data(111, '0100', 2, 4, 1, False)
Beispiel #26
0
 def create_core_press(self, abnormal=False):
     return TlvHelper.create_data(117, '0100', 3, 2, 100, abnormal)
Beispiel #27
0
 def create_core_upload_time(self):
     return TlvHelper.create_date_data(113)
Beispiel #28
0
 def create_maintenance_vlotage(self, abnormal=False):
     return TlvHelper.create_data(118, '0100', 2, 5, 1000, abnormal)
Beispiel #29
0
 def create_core_forward_tflows(self, abnormal=False):
     return TlvHelper.create_data(115, '0110', 3, 123466, 0, abnormal)
Beispiel #30
0
 def create_waterpooladd_conductivity(self, abnormal=False):
     return TlvHelper.create_data(76, '0100', 2, 3, 0, abnormal)