def test_querydatartuelec(): global user_id print('=== query rtu data elec ===') url = baseurl + 'querydatartuelec' rqmsg = msgif.rqQueryDataRtuElec() rqmsg.dt_start = mx.time2stamp('2016-12-1 00:00:00') rqmsg.dt_end = mx.time2stamp('2016-12-31 00:00:00') rqmsg.data_mark = 1 rqmsg.tml_id.extend([]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } # data = {'uuid': user_id, 'pb2': 'KICY26 LKzCAqNaDlSs='} r = pm.request('POST', url, fields=data, timeout=300.0, retries=False) msg = msgif.QueryDataRtuElec() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('post finish') time.sleep(0)
def test_ipcqueue(): global user_id print('=== query em data ===') scode = mx.getMD5('{0}fendangao'.format( mx.stamp2time(time.time(), format_type='%Y%m%d%H'))) url = baseurl + 'queryemdata' rqmsg = msgif.rqQueryEMData() # rqmsg.head.paging_num = 1 # rqmsg.head.paging_buffer_tag = 1478230469047982 # rqmsg.head.paging_idx = 30 rqmsg.dev_id = '901001000999' # rqmsg.dt_start = 1489021647 # rqmsg.dt_end = 1489108047 rqmsg.dt_start = mx.time2stamp('2017-05-01 0:0:0') rqmsg.dt_end = mx.time2stamp('2017-07-28 23:59:59') data = {'scode': scode, 'pb2': base64.b64encode(rqmsg.SerializeToString())} r = pm.request('POST', url, fields=data, timeout=10.0, retries=False) msg = msgif.QueryEMData() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('query em data finish') time.sleep(0)
def post(self): args = {} args["scode"] = mx.time2stamp( "{0:04d}-{1:02d}-{2:02d} {3:02d}:{4:02d}:00".format( time.localtime()[0], time.localtime()[1], time.localtime()[2], time.localtime()[3], time.localtime()[4])) try: args["pb2"] = self.get_argument("pb2") except: args["pb2"] = "" goodtogo = True try: user_data, rqmsg, msg, user_uuid = yield self.check_arguments( None, None) if user_data is not None and user_data[ 'user_auth'] in libiisi.can_write: args["username"] = user_data["user_name"] else: goodtogo = False except: goodtogo = False # try: # args["username"] = self.get_argument("username") # except: # args["username"] = "" url = '{0}/{1}?{2}'.format( libiisi.cfg_dbsvr_url, self.request.path.replace(self.root_path, ''), urlencode(args)) if goodtogo: try: rep = self._pm.request('POST', url, fields=args, timeout=10.0) self.write(rep.data) # rep = yield self.thc.fetch( # url, # method="POST", # body=json.dumps(args), # raise_error=True, # request_timeout=10) # self.write(rep.body) except Exception as ex: self.write(str(ex)) else: self.write("uuid error.") del url, args self.finish()
def test_rtudataquery(): global user_id print('=== query rty data ===') url = baseurl + 'querydatartu' rqmsg = msgif.rqQueryDataRtu() rqmsg.head.paging_num = 100 rqmsg.head.paging_idx = 1 rqmsg.dt_start = mx.time2stamp('2017-12-11 00:00:00') rqmsg.dt_end = mx.time2stamp('2017-12-12 00:00:00') rqmsg.type = 1 rqmsg.tml_id.extend([1000301]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } # base64.b64encode(rqmsg.SerializeToString())} r = pm.request('POST', url, fields=data, timeout=100.0, retries=False) msg = msgif.QueryDataRtu() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print(len(msg.data_rtu_view)) # print(msg.head) print('post finish') time.sleep(0)
def test_querysludata(): global user_id print('=== query slu data ===') url = baseurl + 'querydataslu' rqmsg = msgif.rqQueryDataSlu() # rqmsg.head.paging_idx=0 rqmsg.dt_start = mx.time2stamp('2018-04-16 00:00:00') rqmsg.dt_end = mx.time2stamp('2018-05-24 12:00:00') rqmsg.type = 0 rqmsg.data_mark = 7 rqmsg.tml_id.extend([]) print user_id data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } # data = {'uuid': user_id, 'pb2': 'OABKA LGW1AH'} r = pm.request('POST', url, fields=data, timeout=300.0, retries=False) msg = msgif.QueryDataSlu() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('post finish') time.sleep(0)
def test_sluelecdataget(): global user_id print('=== query sluelecdataget ===') url = baseurl + 'sluelecdataget' rqmsg = msgif.rqSluElecDataGet() # rqmsg.head.paging_idx=0 rqmsg.dt_start = mx.time2stamp('2016-11-4 00:00:00') rqmsg.dt_end = mx.time2stamp('2016-11-10 00:00:00') rqmsg.sluitem_id = 51 rqmsg.data_mark = 1 rqmsg.tml_id.extend([1500002]) print user_id data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } # data = {'uuid': user_id, 'pb2': 'OABKA LGW1AH'} r = pm.request('POST', url, fields=data, timeout=300.0, retries=False) msg = msgif.SluElecDataGet() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('post finish') time.sleep(0)
def test_errquery(): global user_id print('=== query err data ===') url = baseurl + 'querydataerr' rqmsg = init_head(msgif.rqQueryDataErr()) # rqmsg.head.paging_num =100 rqmsg.head.paging_idx = 1 # rqmsg.head.paging_num = 100 # rqmsg.head.paging_buffer_tag = 1500942882771374 rqmsg.dt_start = mx.time2stamp("2017-05-01 00:00:00") rqmsg.dt_end = int(time.time()) rqmsg.type = 0 rqmsg.tml_id.extend([]) rqmsg.err_id.extend([25]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } # data = {'uuid': user_id, 'pb2':'OAA='} # data = {'uuid': user_id, # 'pb2': '''CgsQyOQJoAaz6fHCBTCz6fHCBUqFCMGEPcKEPcOEPcSEPcWEPcaEPceEPciEPcmEPcqEPcuEPcyE # Pc2EPc6EPc+EPdCEPdGEPdKEPdOEPdSEPdWEPdaEPdeEPdiEPdmEPdqEPduEPdyEPd2EPd6EPd+E # PeCEPeGEPeKEPeOEPeSEPeWEPeaEPeeEPeiEPemEPeqEPeuEPeyEPe2EPe6EPe+EPfCEPfGEPfKE # PfOEPfSEPfWEPfaEPfeEPfiEPfmEPfqEPfuEPfyEPf2EPf6EPf+EPYCFPYGFPYKFPYOFPYSFPYWF # PYaFPYeFPYiFPYmFPYqFPYuFPYyFPY2FPY6FPY+FPZCFPZGFPZKFPZOFPZSFPZWFPZaFPZeFPZiF # PZmFPZqFPZuFPZyFPZ2FPZ6FPZ+FPaCFPaGFPaKFPaOFPaSFPaWFPaaFPaeFPaiFPamFPaqFPauF # PayFPa2FPa6FPa+FPbCFPbGFPbKFPbOFPbSFPbWFPbaFPbeFPbiFPbmFPbqFPbuFPbyFPb2FPb6F # Pb+FPcCFPcGFPcKFPcOFPcSFPcWFPcaFPceFPciFPcmFPcqFPcuFPcyFPc2FPc6FPc+FPdCFPdGF # PdKFPdOFPdSFPdWFPdaFPdeFPdiFPdmFPdqFPduFPdyFPd2FPd6FPd+FPeCFPeGFPeKFPeOFPeSF # PeWFPeaFPeeFPeiFPemFPeqFPeuFPeyFPe2FPe6FPe+FPfCFPfGFPfKFPfOFPfSFPfWFPfaFPfeF # PfiFPfmFPfqFPfuFPfyFPf2FPf6FPf+FPYCGPYGGPYKGPYOGPYSGPYWGPYaGPYeGPYiGPYmGPYqG # PYuGPYyGPY2GPY6GPY+GPZCGPZGGPZKGPZOGPZSGPZWGPZaGPZeGPZiGPZmGPZqGPZuGPZyGPZ2G # PaKGPaOGPaSGPaWGPaaGPaeGPaiGPamGPaqGPauGPayGPa2GPeGRQ+KRQ+ORQ+SRQ+WRQ+aRQ+eR # Q+iRQ+mRQ+qRQ+uRQ+yRQ+2RQ+6RQ++RQ/CRQ/GRQ/KRQ/ORQ/SRQ/WRQ/aRQ/eRQ/iRQ/mRQ/qR # Q/uRQ/yRQ/2RQ/6RQ/+RQ4CSQ4GSQ4KSQ46SQ4+SQ5CSQ5GSQ5KSQ5OSQ5SSQ5WSQ5aSQ5eSQ5iS # Q5mSQ5qSQ5uSQ5ySQ52SQ56SQ5+SQ6CSQ6GSQ6KSQ6OSQ6SSQ6WSQ6aSQ6eSQ6iSQ6mSQ6qSQ6uS # Q6ySQ62SQ66SQ6+SQ7CSQ7GSQ7KSQ7OSQ7SSQ7WSQ7aSQ7eSQ7iSQ7mSQ7qSQ7uSQ7ySQ72SQ76S # Q7+SQ8CSQ8GSQ8KSQ8G5VeLGW+PGW+TGW+XGW+bGW+fGW+jGW+nGW+rGW+vGW+zGW+3GW+7GW+/G # W/DGW/HGW/LGW/PGW/TGW/XGW/bGW/fGWw=='''} r = pm.request('POST', url, fields=data, timeout=50.0, retries=False) msg = msgif.QueryDataErr() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('post finish') time.sleep(0)
def test_querydatamru(): global user_id print('=== query mru data ===') url = baseurl + 'querydatamru' rqmsg = msgif.rqQueryDataMru() rqmsg.head.ver = 160328 # rqmsg.dt_start = mx.time2stamp('2016-12-10 00:00:00') rqmsg.dt_end = mx.time2stamp('2017-09-20 00:00:00') rqmsg.tml_id.extend([]) data = { 'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString()) } # data = {'uuid': user_id, 'pb2': 'GAAgAA=='} r = pm.request('POST', url, fields=data, timeout=300.0, retries=False) msg = msgif.QueryDataMru() msg.ParseFromString(base64.b64decode(r.data)) print(msg) print('post finish') time.sleep(0)
def post(self): legal, rqmsg, msg = yield self.check_arguments(msgws.rqIpcUplink(), msgws.CommAns(), use_scode=1) if legal: devid = rqmsg.dev_id raw_string = rqmsg.raw_string.replace('\r\n', '') createsql = '' insertsql = '' db_names = set() if devid[:6] == '901001': # 申欣环保 if raw_string.startswith('QI:'): data = raw_string.split(':')[1] lstdata = data.split(',') ym = mx.stamp2time(time.time(), format_type='%y%m') for i in libiisi.qudata_sxhb: db_names.add('sens_data_{0:03d}_month_{1}'.format( i, ym)) strsql = 'select TABLE_NAME from INFORMATION_SCHEMA.TABLES \ where TABLE_SCHEMA="{0}" and TABLE_NAME like "{1}"'.format( libiisi.cfg_dbname_dg, '%sens_data_%_month_%') record_total, buffer_tag, paging_idx, paging_total, cur = yield self.mydata_collector( strsql, need_fetch=1, buffer_tag=msg.head.paging_buffer_tag, paging_idx=msg.head.paging_idx, paging_num=msg.head.paging_num) if record_total is not None: for z in cur: db_names.discard(z[0]) del cur for z in db_names: createsql += libiisi.sqlstr_create_emtable.format(z) if len(createsql) > 0: createsql = 'use {0};'.format( libiisi.cfg_dbname_dg) + createsql yield self.mydata_collector(createsql, need_fetch=0) t = int(time.time()) for i in range(len(libiisi.qudata_sxhb)): try: insertsql += 'insert into {5}.sens_data_{0:03d}_month_{1} (dev_id,dev_data,date_create) values ({2},{3},{4});'.format( libiisi.qudata_sxhb[i], ym, devid, lstdata[i], t, libiisi.cfg_dbname_dg) except: pass if len(insertsql) > 0: yield self.mydata_collector(insertsql, need_fetch=0) elif raw_string.startswith('QH:'): # 读取支持的指令 msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.lscmd.get') msgpub.dev_id.extend([devid]) msgpub.dev_cmds = raw_string[3:].replace(' ', '').replace( '|', ',') libiisi.send_to_zmq_pub( 'ipc.rep.ipc.lscmd.get.{0}'.format(devid), msgpub.SerializeToString()) elif raw_string.startswith('QD:'): # 读取日期 msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.date.get') msgpub.dev_id.extend([devid]) s = raw_string[3:].split(',') msgpub.dev_datetime = int( mx.time2stamp('{0}-{1}-{2} 00:00:00'.format( s[0], s[1], s[2]))) libiisi.send_to_zmq_pub( 'ipc.rep.ipc.date.get.{0}'.format(devid), msgpub.SerializeToString()) elif raw_string.startswith('QT:'): # 读取时间 msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.time.get') msgpub.dev_id.extend([devid]) s = raw_string[3:].split(',') msgpub.dev_datetime = int( mx.time2stamp('{0}-{1}-{2} {3}:{4}:{5}'.format( time.localtime()[0], time.localtime()[1], time.localtime()[2], s[0], s[1], s[2]))) libiisi.send_to_zmq_pub( 'ipc.rep.ipc.time.get.{0}'.format(devid), msgpub.SerializeToString()) elif raw_string.startswith('QV:') or raw_string.startswith( 'Device ID:'): # 读取版本 msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.verf.get') msgpub.dev_id.extend([devid]) msgpub.dev_ver = raw_string libiisi.send_to_zmq_pub( 'ipc.rep.ipc.verf.get.{0}'.format(devid), msgpub.SerializeToString()) elif raw_string.startswith('QC:'): # 设置日期和时间 msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.datetime.set') msgpub.dev_id.extend([devid]) if 'completed' in raw_string: msgpub.dev_datetime = 1 else: msgpub.dev_datetime = 0 libiisi.send_to_zmq_pub( 'ipc.rep.ipc.datetime.set.{0}'.format(devid), msgpub.SerializeToString()) else: msg.head.if_st = 46 msg.head.if_msg = 'raw data error.' elif devid[:6] == "902001": # 武汉天河机场 x = "1,2,3,4,5,6,7,8,9,10" if os.path.isfile("list.txt"): with open("list.txt", "r") as f: x = f.readline() f.close() y = rqmsg.raw_string.split(',') tcsdata = dict() if y[1] == "1": # off for i in range(1, 7): tcsdata['k{0}'.format(i)] = 0 tcsmsg = libiisi.initRtuJson(2, 7, 1, 1, 1, 'wlst.rtu.4b00', self.request.remote_ip, 0, x, tcsdata) # libiisi.set_to_send(tcsmsg, 0, False) libiisi.send_to_zmq_pub( 'tcs.req.{0}.wlst.rtu.2210'.format( libiisi.cfg_tcs_port), json.dumps(tcsmsg, separators=(',', ':')).lower()) else: for i in range(1, 7): tcsdata['k{0}'.format(i)] = 1 tcsmsg = libiisi.initRtuJson(2, 7, 1, 1, 1, 'wlst.rtu.4b00', self.request.remote_ip, 0, x, tcsdata) # libiisi.set_to_send(tcsmsg, 0, False) libiisi.send_to_zmq_pub( 'tcs.req.{0}.wlst.rtu.2210'.format( libiisi.cfg_tcs_port), json.dumps(tcsmsg, separators=(',', ':')).lower()) del devid, raw_string, createsql, insertsql, db_names else: msg.head.if_st = 0 msg.head.if_msg = 'Security code error' self.write(mx.convertProtobuf(msg)) self.finish() del msg, rqmsg, legal