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':"******"})
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................')
def create_base_meternum(self, num=0): return TlvHelper.create_data(102, '0110', 0, num, num, False)
def create_waterpooladd_press(self, abnormal=False): return TlvHelper.create_data(77, '0100', 3, 2, 100, abnormal)
def create_base_suppler(self, suppler=0): return TlvHelper.create_data(101, '0100', 0, suppler, suppler, False)
def create_core_collected_time(self): return TlvHelper.create_date_data(112)
def create_core_total_flows(self, abnormal=False): return TlvHelper.create_data(114, '0110', 3, 123456, 0, abnormal)
def create_base_imei(self, imei='345001234567890'): return TlvHelper.create_bcd_data(106, 8, imei)
def create_waterpooladd_door(self, abnormal=False): return TlvHelper.create_data(79, '0010', 0, 1, 0, abnormal)
def create_waterpool_waterlevel(self, abnormal=False): return TlvHelper.create_data(26, '0100', 2, 2, 0, abnormal)
def create_waterpool_outpress(self, abnormal=False): return TlvHelper.create_data(28, '0100', 3, 1, 10, abnormal)
def create_waterpool_turbidity(self, abnormal=False): return TlvHelper.create_data(24, '0100', 3, 0, 10, abnormal)
def create_waterpool_chlorine(self, abnormal=False): return TlvHelper.create_data(25, '0100', 3, 0, 6, abnormal)
def create_waterpool_ph(self, abnormal=False): return TlvHelper.create_data(23, '0100', 2, 7, 4, abnormal)
def create_pump_amplitude(self, abnormal=False): return TlvHelper.create_data(59, '0100', 2, 2, 20, abnormal)
def create_pump_temp(self, abnormal=False): return TlvHelper.create_data(58, '0100', 2, 25, 70, abnormal)
def create_base_sim(self, sim = '13438879512'): return TlvHelper.create_bcd_data(104, 6, sim)
def create_base_protocal(self, abnormal=False): import random return TlvHelper.create_data(108, '0010', 0, random.randint(0, 3), 1, False)
def create_base_imsi(self, imsi='460001234567890'): return TlvHelper.create_bcd_data(105, 8, imsi)
def create_base_powersupply(self, abnormal=False): import random return TlvHelper.create_data(110, '0010', 0, random.randint(0, 1), 1, False)
def create_base_operator(self, abnormal=False): import random return TlvHelper.create_data(107, '0010', 0, random.randint(1, 3), 1, False)
def create_waterpooladd_temp(self, abnormal=False): return TlvHelper.create_data(78, '0100', 2, 20, 100, abnormal)
def create_base_derection(self, abnormal=False): return TlvHelper.create_data(109, '0000', 0, 0, 1, False)
def create_core_reverse_tflows(self, abnormal=False): return TlvHelper.create_data(116, '0110', 3, 10, 0, abnormal)
def create_base_safevoltage(self, abnormal=False): return TlvHelper.create_data(111, '0100', 2, 4, 1, False)
def create_core_press(self, abnormal=False): return TlvHelper.create_data(117, '0100', 3, 2, 100, abnormal)
def create_core_upload_time(self): return TlvHelper.create_date_data(113)
def create_maintenance_vlotage(self, abnormal=False): return TlvHelper.create_data(118, '0100', 2, 5, 1000, abnormal)
def create_core_forward_tflows(self, abnormal=False): return TlvHelper.create_data(115, '0110', 3, 123466, 0, abnormal)
def create_waterpooladd_conductivity(self, abnormal=False): return TlvHelper.create_data(76, '0100', 2, 3, 0, abnormal)