青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

socketref,再見!高德

https://github.com/adoggie

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用鏈接

留言簿(54)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

與ks108同一個項目,ks102為編寫手持gps模塊,個人、寵物使用


  1 # -- coding:utf-8 --
  2 #TK102 解碼器定義
  3 #這個設備沒有包頭包尾格式定義,假定一次讀取一個完整數據包
  4 
  5 #from aobject import *
  6 import os,os.path,sys,time,datetime,copy,struct,array,traceback
  7 #import codec
  8 
  9 #MediaCodecType = MediaDataType
 10 class MediaDataType:    
 11     GPS   = 1<<0
 12     AUDIO = 1<<1
 13     VIDEO = 1<<2
 14     IMAGE = 1<<3
 15     TEXT =  1<<4
 16     IODATA = 1<<5
 17     RAWBLOB = 1<<6    
 18     COMMAND = 1<<7    #通用命令
 19     ALARM =  1<<8  #報警信息
 20     UNDEFINED = 0xff
 21     
 22 
 23 AOCTRL_CMD_SHAKE_ACK =1     #應答握手信號信息
 24 AOCTRL_CMD_REG_ACK= 2    #終端注冊響應消息
 25 AOCTRL_CMD_SAMPLING_TIMESET = 3     #等時連續回傳設置
 26 AOCTRL_CMD_ALARM_ACK = 4    #應答報警消息
 27 AOCTRL_CMD_NAMED = 5     #一次點名消息
 28 AOCTRL_CMD_SPEEDSET = 6 #設置車速上下限
 29 AOCTRL_CMD_POWER_ONOFF = 7 #電路控制信號
 30 AOCTRL_CMD_OIL_ONOFF = 8  #油路控制信號
 31 AOCTRL_CMD_REBOOT = 9         #控制設備重啟消息
 32 AOCTRL_CMD_ACC_ON_TIME = 10 #設置ACC開發送數據間隔
 33 AOCTRL_CMD_ACC_OFF_TIME = 11 #設置ACC關發送數據間隔
 34 AOCTRL_CMD_BARRIER_SET = 12     #設置電子圍欄消息
 35 AOCTRL_CMD_GETLOCATION = 13         #應答獲取終端所在位置消息
 36 AOCTRL_CMD_LISTEN_START = 14         #監聽命令
 37 AOCTRL_CMD_COMMADDR_SET = 15     #設置終端IP地址和端口
 38 AOCTRL_CMD_APN_SET = 16            # 設置APN消息
 39 AOCTRL_CMD_GET_VERSION = 17     # 讀取終端版本消息
 40 AOCTRL_CMD_CLEAR_ALARMS = 18     #取消所有報警消息
 41 AOCTRL_CMD_CLEAR_MILES = 19     #里程清零消息
 42 AOCTRL_CMD_INIT_MILES = 20         #里程初始化消息
 43 AOCTRL_CMD_UPDATING = 21         #啟動升級消息
 44 
 45 AOCTRL_CMD_SHACK_REQ =31 #握手信號消息
 46 AOCTRL_CMD_REG_REQ =32     #終端注冊信息
 47 AOCTRL_CMD_SAMPLING_TIMESET_ACK = 32 #應答等時連續回傳設置
 48 AOCTRL_CMD_ALARM_REQ = 33         #警報消息
 49 AOCTRL_CMD_NAMED_ACK = 34         #應答點名信息
 50 AOCTRL_CMD_SIMPLING_GPSDATA = 35         #等時連續回傳消息
 51 AOCTRL_CMD_SIMPLING_END = 36     #連續回傳結束消息
 52 AOCTRL_CMD_SPEEDSET_ACK = 37     #應答設置車速上下限
 53 AOCTRL_CMD_POWERCTRL_ACK = 38   #應答電路控制
 54 AOCTRL_CMD_OILCTRL_ACK = 39     #應答油路控制
 55 AOCTRL_CMD_REBOOT_ACK = 40         #應答設備重啟消息
 56 AOCTRL_CMD_ACCON_TIMESET_ACK = 41 #應答設置ACC開發送數據間隔
 57 AOCTRL_CMD_ACCOFF_TIMESET_ACK=42 #應答設置ACC關發送數據間隔
 58 AOCTRL_CMD_BARRIER_SET_ACK =  43 #應答設置電子圍欄消息
 59 AOCTRL_CMD_GETLOCATION_ACK = 44  #獲取終端所在位置消息
 60 AOCTRL_CMD_LISTEN_ACK = 45         #應答監聽命令
 61 AOCTRL_CMD_COMMADDR_SET_ACK=46    #應答設置終端IP地址和端口
 62 AOCTRL_CMD_APN_SET_ACK=47        #應答設置APN消息
 63 AOCTRL_CMD_GETVERSION_ACK=48    #應答讀取終端版本消息
 64 AOCTRL_CMD_CLEAR_ALARMS_ACK=49    #應答取消所有報警消息
 65 AOCTRL_CMD_CLEAR_MILES_ACK=50     #應答里程清零消息
 66 AOCTRL_CMD_UPDATING_ACK = 61     #應答啟動升級消息
 67 AOCTRL_CMD_INIT_MILES_ACK = 62    #應答初始化里程消息    
 68 
 69 AOCTRL_CMD_LIST={
 70     AOCTRL_CMD_SHAKE_ACK:u'應答握手信號信息',
 71     AOCTRL_CMD_REG_ACK:u'終端注冊響應消息',
 72     AOCTRL_CMD_SAMPLING_TIMESET:u'等時連續回傳設置',
 73     AOCTRL_CMD_ALARM_ACK:u'應答報警消息',
 74     AOCTRL_CMD_NAMED:u'一次點名消息',
 75     AOCTRL_CMD_SPEEDSET:u'設置車速上下限',
 76     
 77     AOCTRL_CMD_POWER_ONOFF:u'電路控制信號',
 78     AOCTRL_CMD_OIL_ONOFF:u'油路控制信號',
 79     AOCTRL_CMD_REBOOT:u'控制設備重啟消息',
 80     AOCTRL_CMD_ACC_ON_TIME :u'設置ACC開發送數據間隔',
 81     AOCTRL_CMD_ACC_OFF_TIME :u'設置ACC關發送數據間隔',
 82     AOCTRL_CMD_BARRIER_SET :u'設置電子圍欄消息',
 83     AOCTRL_CMD_GETLOCATION :u'應答獲取終端所在位置消息',
 84     AOCTRL_CMD_LISTEN_START :u'監聽命令',
 85     AOCTRL_CMD_COMMADDR_SET :u'設置終端IP地址和端口',
 86     AOCTRL_CMD_APN_SET :u'設置APN消息',
 87     AOCTRL_CMD_GET_VERSION :u'讀取終端版本消息',
 88     AOCTRL_CMD_CLEAR_ALARMS :u'取消所有報警消息',
 89     AOCTRL_CMD_CLEAR_MILES :u'里程清零消息',
 90     AOCTRL_CMD_INIT_MILES :u'里程初始化消息',
 91     AOCTRL_CMD_UPDATING :u'啟動升級消息',
 92     
 93     AOCTRL_CMD_SHACK_REQ :u'握手信號消息',
 94     AOCTRL_CMD_REG_REQ :u'終端注冊信息',
 95     AOCTRL_CMD_SAMPLING_TIMESET_ACK :u'應答等時連續回傳設置',
 96     AOCTRL_CMD_ALARM_REQ :u'警報消息',
 97     AOCTRL_CMD_NAMED_ACK :u'應答點名信息',
 98     AOCTRL_CMD_SIMPLING_GPSDATA :u'等時連續回傳消息',
 99     AOCTRL_CMD_SIMPLING_END :u'連續回傳結束消息',
100     AOCTRL_CMD_SPEEDSET_ACK :u'應答設置車速上下限',
101     AOCTRL_CMD_POWERCTRL_ACK :u'應答電路控制',
102     AOCTRL_CMD_OILCTRL_ACK :u'應答油路控制',
103     AOCTRL_CMD_REBOOT_ACK :u'應答設備重啟消息',
104     AOCTRL_CMD_ACCON_TIMESET_ACK :u'應答設置ACC開發送數據間隔',
105     AOCTRL_CMD_ACCOFF_TIMESET_ACK:u'應答設置ACC關發送數據間隔',
106     AOCTRL_CMD_BARRIER_SET_ACK :u'應答設置電子圍欄消息',
107     AOCTRL_CMD_GETLOCATION_ACK :u'獲取終端所在位置消息',
108     AOCTRL_CMD_LISTEN_ACK :u'應答監聽命令',
109     AOCTRL_CMD_COMMADDR_SET_ACK:u'應答設置終端IP地址和端口',
110     AOCTRL_CMD_APN_SET_ACK:u'應答設置APN消息',
111     AOCTRL_CMD_GETVERSION_ACK:u'應答讀取終端版本消息',
112     AOCTRL_CMD_CLEAR_ALARMS_ACK:u'應答取消所有報警消息',
113     AOCTRL_CMD_CLEAR_MILES_ACK:u'應答里程清零消息',
114     AOCTRL_CMD_UPDATING_ACK :u'應答啟動升級消息',
115     AOCTRL_CMD_INIT_MILES_ACK :u'應答初始化里程消息',    
116 }
117     
118     
119 ALARM_TYPELIST={
120     0:u'車輛斷電',
121     1:u'電子圍欄入界報警',
122     2:u'車輛劫警(SOS求助)',
123     3:u'車輛防盜器警報',
124     4:u'車輛低速報警',
125     5:u'車輛超速報警',
126     6:u'電子圍欄出界報警'
127 }
128 
129 
130 def parseTime(dmy,hms):
131     d,mon,y = map(int, map(float,[dmy[:2],dmy[2:4],dmy[4:]]) )
132     h,min,s = map(int, map(float,[hms[:2],hms[2:4],hms[4:]]) )
133     print d,mon,y,h,min,s
134     return time.mktime((2000+y,mon,d,h,min,s,0,0,0))
135 
136 def parseDegree(v):
137     pp = v.split('.')
138     mm1 = pp[0][-2:]
139     mm2 = '0'
140     if len(pp)>1:
141         mm2 = pp[1]
142     dd = pp[0][:-2]
143     mm = mm1 + "." + mm2
144     degree = float(dd)+ float(mm)/60.0
145     return degree
146 
147 #1節等于每小時 1海里,也就是每小時行駛1.852千米(公里)
148 def parseSpeed(s):
149     km =0
150     km = float(s)*1.852
151     return km
152 
153 
154 #簡單的模擬gps接收解碼器
155 #gps接收程序解析之后連接本地的TcpService端口,并傳送過來
156 #只有簡單的gps數據,模擬端口打開
157 class MediaCodec_KS102:
158     def __init__(self):
159         self.buf =''
160         self.conn = None
161         self.errtimes=0    #解析出錯次數達到指定數則斷開連接
162     
163 
164     
165     # parse - codec 必須實現
166     #對于某些設備的請求消息,這里必須進行默認的應答
167     #如果出現大量數據包的要發送回設備的情況,考慮建立隊列,用工作線程
168     # 慢慢發送,因為parse還在socket接收線程中
169     def parse(self,aom,d):
170         pass 
171 
172     def crc_16_result(self,d):
173         #struct.unpack('I')
174         print d
175         i=0
176         j=0
177         c=0
178         treat =0
179         bcrc = 0
180         crc =0
181         s =array.array('B')
182         s.fromstring(d)
183         #print len(s)
184         for i in range(len(s)):            
185             c = s[i]
186             for j in range(8):
187                 treat = c&0x80
188                 c = (c<<1)&0xff
189                 
190                 bcrc = ( crc >>8 )&0xff
191                 bcrc = bcrc&0x80
192                 #print crc
193                 crc = (crc << 1& 0xffff
194                 #print crc
195                 if treat != bcrc:
196                     crc = (crc^0x1021&0xffff
197                     #print '..',crc            
198             
199         return crc
200     
201      
202     def decode(self,s,conn):            
203         #@return:     packets,retry        
204         #解碼出多個消息包,并返回是否
205         # imei 視為設備唯一編號 mid
206         self.conn = conn        
207         msglist=[]
208         retry = True
209         print s
210         try:
211             p = s.find(',')
212             d = s[p+1:-2]
213             crc = s[-2:]
214             sum, = struct.unpack('H',crc)            
215             if self.crc_16_result(d) != sum:
216                 print 'crc error'
217                 return (),True
218             #13145826175,GPRMC,022011.000,A,2234.0200,N,11403.0754,E,0.00,189.47,040310,,,A*6F,F, battery,imei:354776030402512,114
219             print d
220             #print d.split(',')[-1]
221             #tel,gprmc,hms,av,lat,ns,lon,ew,speed,angle,dmy,p1,p2,mode,FL,battery,imei,msglen, = d.split(',')
222             tel,gprmc,hms,av,lat,ns,lon,ew,speed,angle,dmy,p1,p2,mode,FL,imei,msglen, = d.split(',')
223             imei = imei.split(':')[1]            
224             angle = float(angle)
225             speed = float(speed)*1.852 # 節到km轉換
226             lon = parseDegree(lon)
227             lat = parseDegree(lat)
228             time = parseTime(dmy,hms)+3600*8    #時間加上GMT8
229             gps = {
230                 'time':time,
231                 'lon':lon,
232                 'lat':lat,
233                 'speed':speed,
234                 'angle':angle,
235                 'power':0,
236                 'acc':0,
237                 'miles':0
238             }
239             msg = {
240                 'mid':imei,
241                 'cmd':AOCTRL_CMD_SIMPLING_GPSDATA,
242                 'gps':gps,                
243             }
244             msglist.append(msg)
245         except:
246             traceback.print_exc()
247             msglist=()
248             retry = True
249             self.errtimes+=1
250             if self.errtimes > 4#解析錯誤次數過多,斷開連接
251                 return (),False
252         return msglist,retry
253 
254 
255     
256     #執行設備命令
257     def command(self,aom,msg):
258         # cmd - object (json decoded)
259         #@return:  返回命令控制消息
260         cmd = msg['cmd']
261         code=''
262         params=''
263         if not msg.has_key('seq'):
264             msg['seq'= '0'*12
265             
266         if cmd == AOCTRL_CMD_REG_ACK: #注冊響應
267             code = "(%sAP05)"%(msg['seq'])
268 
269         #save to ctrl log         
270         log = aom.gm.AO_CtrlLog()
271         log.ao = aom.ao.dbobj
272         log.cmd = cmd
273         log.time = datetime.datetime.now()
274         text = "%s: %s"%(AOCTRL_CMD_LIST[log.cmd],params)
275         log.comment = text[:200]
276         log.save()
277         
278         return code
279     
280     #將d數據寫入db中
281     # 根據不同的數據進行hash分派 目前之后gps和告警信息進行分派
282     def save(self,aom,d):        
283         #log = aom.gm.AO_CtrlLog()
284         #log.ao = aom.ao.dbobj
285         #log.cmd = d['cmd']
286         #log.time = datetime.datetime.now()
287         #text = "%s: %s"%(AOCTRL_CMD_LIST[log.cmd],d['params'])
288         #log.comment = text[:200]
289         #log.save()
290         #以下存儲gps數據和設備狀態數據
291         print 'save:',d
292         gps = d['gps']
293         if True:
294             # save to db
295             timestamp = gps['time']
296             g = aom.gm.AOMData_Gps()
297             g.ao = aom.ao.dbobj
298             g.savetime = datetime.datetime.fromtimestamp(timestamp)
299             g.lon = gps['lon']
300             g.lat = gps['lat']
301             g.speed = gps['speed']
302             g.angle = gps['angle']
303             g.power = 0
304             g.acc = 0
305             g.miles = 0
306             g.save()
307             #for dispatch
308             t = timestamp  #time.mktime(g.savetime.timetuple())
309             s = {'type':MediaDataType.GPS,'hwid':aom.id,
310              'lon':g.lon,'lat':g.lat,
311              'speed':g.speed,'angle':g.angle,
312              'satenum':0,'sateused':0,
313              'time':t,
314              'power':g.power,
315              'acc':g.acc,
316              'miles':g.miles}    
317             aom.dispatch(s) #分派到 cached server
318     
319     
320 '''
321 TK102方案GPRS通訊協議
322 上傳數據
323 “1003040220,13145826175,GPRMC,022011.000,A,2234.0200,N,11403.0754,E,0.00,189.47,040310,,,A*6F,F, battery,imei:354776030402512,114遷”
324 
325 19個,分隔數據段
326 
327 數據解析
328 “1003040220”        
329 時間流水號:  2010年03月04日02時22分
330 
331 “13145826175”      
332 手機號碼:授權情況下為授權號碼,否則為最后操作tracker的手機號碼,或則為空.
333 “GPRMC,022011.000,A,2234.0200,N,11403.0754,E,0.00,189.47,040310,,,A*
334 6F”    
335 GPRMC數據:GPS模塊數據完整數據,單片機沒有對其進行修改.
336     
337 “F”                當前GPS是否有信號:   F,表示有,L表示沒有
338 “battery”          報警信息:【SOS報警:”help me”;電子砸爛報警:” Stockade”;移位報警:” move”;超速報警;” speed”;低電報警;” bat:”】,非報警數據此位置為空.
339 “imei:354776030402512”   GPRS 模塊IMEI號
340 “114”                                     數據長度【13145826175,GPRMC,022011.000,A,2234.0200,N,11403.0754,E,0.00,189.47,040310,,,A*6F,F, battery,imei:354776030402512,】,括號內部的數據的長度,單位字節.
341 “遷”                CRC檢驗:這是兩個字節的十六進制數據,有時顯示為亂碼,又是顯示為空,因為他是十六進制。
342                                                                               計算范圍【13145826175,GPRMC,022011.000,A,2234.0200,N,11403.0754,E,0.00,189.47,040310,,,A*6F,F, battery,imei:354776030402512,114】
343                                   算法如下:
344 注意:此系統unsigned int  為16bits,對于PC軟件,需要對結果做 &0XFFFF運算。
345 unsigned int CRC_16(unsigned char *buf, unsigned int datalen)
346 {
347     unsigned int i;
348     unsigned char j;
349     unsigned char c, treat, bcrc;
350     unsigned int crc = 0;
351 
352     for (i = 0; i < datalen; i++)
353     {
354         c = buf[i];
355         for (j = 0; j < 8; j++)
356         {
357             treat = c & 0x80;
358             c <<= 1;
359             bcrc = (crc >> 8);
360             bcrc &= 0x80;
361             crc <<= 1;
362             if (treat != bcrc)
363                 crc ^= 0x1021;
364         }
365     }
366     return crc;
367 }
368 
369 附:GPS模塊數據解釋說明:
370 
371   $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh 
372   <1> UTC時間,hhmmss.sss(時分秒.毫秒)格式 
373   <2> 定位狀態,A=有效定位,V=無效定位 
374   <3> 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸) 
375   <4> 緯度半球N(北半球)或S(南半球) 
376   <5> 經度dddmm.mmmm(度分)格式(前面的0也將被傳輸) 
377   <6> 經度半球E(東經)或W(西經) 
378   <7> 地面速率(000.0~999.9節,前面的0也將被傳輸) 
379   <8> 地面航向(000.0~359.9度,以正北為參考基準,前面的0也將被傳輸) 
380   <9> UTC日期,ddmmyy(日月年)格式 
381   <10> 磁偏角(000.0~180.0度,前面的0也將被傳輸) 
382   <11> 磁偏角方向,E(東)或W(西) 
383   <12> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數據無效)
384 
385 '''
386 #c = MediaCodec_KS102()
387 #d="1106160039,13916624477,GPRMC,163905.000,A,3104.2062,N,12130.0542,E,0.33,347.69,150611,,,D*6C,F,imei:354779033883985,105"
388 #d="13916624477,GPRMC,163905.000,A,3104.2062,N,12130.0542,E,0.33,347.69,150611,,,D*6C,F,imei:354779033883985,105"
389 #
390 #log = open('ks102_data.txt','rb')
391 #s = log.read()
392 #print c.decode(s,None)
393 
394 
posted on 2012-03-08 15:23 放屁阿狗 閱讀(852) 評論(0)  編輯 收藏 引用 所屬分類: perl/python/php/lua/tcl 、WebGisGps管理
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成年人网| 一区二区三区 在线观看视| 久久久91精品| 亚洲一区二区免费在线| 久久久久国产精品麻豆ai换脸| 亚洲欧洲日本专区| 午夜一区二区三视频在线观看 | 午夜影院日韩| 久久成人精品无人区| 欧美制服第一页| 久久影音先锋| 亚洲人成网站在线观看播放| 久久婷婷丁香| 亚洲国产乱码最新视频| 一区二区日韩伦理片| 亚洲综合色网站| 久久激情综合网| 欧美高清视频www夜色资源网| 欧美国产日韩一区二区| 国产精品久久波多野结衣| 欧美日韩在线一区二区三区| 国产美女搞久久| 亚洲日本中文字幕| 欧美亚洲一级片| 久久五月天婷婷| 亚洲日本欧美日韩高观看| 亚洲综合欧美日韩| 欧美高清视频在线| 午夜久久久久久| 国产在线观看一区| 亚洲欧美国产另类| 欧美激情视频一区二区三区不卡| 中文一区在线| 欧美成人免费全部观看天天性色| 国产欧美精品日韩精品| 一本久久综合| 亚洲国产精品精华液2区45| 午夜精品美女久久久久av福利| 欧美理论大片| 亚洲精选视频免费看| 美脚丝袜一区二区三区在线观看| 亚洲一区二区av电影| 欧美日韩国产一区二区| 亚洲精品国产精品国产自| 久久久精品五月天| 亚洲欧美日韩国产| 国产精品一区二区在线观看不卡 | 亚洲成色精品| 久久久综合激的五月天| 国产精品99久久99久久久二8| 欧美激情中文不卡| 黄色成人在线观看| 久久免费国产| 国产亚洲va综合人人澡精品| 午夜精品视频在线| 久久一区免费| 亚洲网站视频| 国产精品一区二区在线观看不卡 | 噜噜噜噜噜久久久久久91| 一区精品久久| 免费在线欧美黄色| 可以免费看不卡的av网站| 亚洲大胆视频| 欧美风情在线| 欧美精品播放| 亚洲影视在线| 亚洲欧美日韩国产综合在线| 国产日韩精品在线| 久久字幕精品一区| 蜜臀91精品一区二区三区| 亚洲经典视频在线观看| 亚洲国内精品| 国产精品99免费看| 欧美一级片在线播放| 欧美一区二区三区婷婷月色| 影院欧美亚洲| 亚洲精品一区二区三区蜜桃久 | 老司机67194精品线观看| 亚洲国产成人精品女人久久久| 亚洲二区在线视频| 国产精品成人一区二区三区夜夜夜 | 久久福利视频导航| 欧美视频精品一区| 久久黄色影院| 久久婷婷人人澡人人喊人人爽| 亚洲欧洲在线免费| 日韩午夜三级在线| 国产视频欧美视频| 欧美国产精品人人做人人爱| 欧美成人网在线| 亚洲欧美久久| 裸体歌舞表演一区二区| 亚洲精品字幕| 性8sex亚洲区入口| 亚洲精品国产精品国自产观看浪潮| 日韩午夜av在线| 国产伦精品一区二区| 欧美激情区在线播放| 欧美日本在线视频| 久久久久欧美| 国产精品久久久久久久久| 欧美福利在线| 国产一区深夜福利| 一本大道久久a久久精品综合| 亚洲成人自拍视频| 一区二区三区日韩| 国产亚洲人成a一在线v站| 欧美激情亚洲综合一区| 国产视频亚洲精品| 午夜精品福利视频| 欧美激情一区二区三区成人| 久久精品国产久精国产思思| 欧美日韩精品一区二区三区| 女女同性女同一区二区三区91| 国产精品一区二区在线观看不卡| 亚洲三级电影全部在线观看高清 | 国内精品久久久久久久果冻传媒| 亚洲欧洲日本一区二区三区| 黄色av成人| 午夜一区二区三区不卡视频| 亚洲一区二区视频在线| 欧美激情精品久久久久| 你懂的国产精品| 黄色国产精品| 性色av香蕉一区二区| 午夜精品久久久久久久99水蜜桃| 欧美日本韩国在线| 最新中文字幕一区二区三区| 亚洲区中文字幕| 麻豆成人小视频| 欧美xxx在线观看| 在线播放一区| 快she精品国产999| 亚洲国产成人不卡| 亚洲日本电影在线| 欧美区二区三区| 日韩一级大片在线| 亚洲性视频网址| 国产精品女主播| 午夜久久福利| 亚洲在线观看免费| 欧美色图五月天| 亚洲视频精品在线| 香蕉成人啪国产精品视频综合网| 欧美午夜在线观看| 亚洲欧洲av一区二区| 久久久久久久网| 亚洲国内自拍| 欧美日韩精品免费| 亚洲一区二区不卡免费| 久久精品国产综合精品| 国产一区91精品张津瑜| 久久久视频精品| 亚洲精品日韩欧美| 亚洲女性喷水在线观看一区| 国产情人节一区| 美日韩精品视频| 亚洲另类自拍| 欧美综合第一页| 亚洲激情综合| 国产精品久久久久免费a∨大胸| 午夜精品视频在线观看| 欧美二区在线播放| 亚洲一区二区在线播放| 国产一区二区三区四区| 欧美 日韩 国产精品免费观看| 亚洲三级观看| 久久久噜噜噜久久狠狠50岁| 91久久在线视频| 国产精品网站在线播放| 久久久免费精品视频| 99国产精品久久| 久久久国产精品亚洲一区| 国产精品亚洲综合色区韩国| 欧美专区在线| 欧美一区2区三区4区公司二百 | 欧美另类99xxxxx| 亚洲视频碰碰| 免费在线看成人av| 一本久久青青| 一区二区亚洲精品国产| 国产精品劲爆视频| 另类欧美日韩国产在线| 91久久国产综合久久| 欧美一区二区三区视频免费播放| 亚洲成人在线| 国产精品视频精品视频| 欧美成人精品高清在线播放| 亚洲一区二区三区免费在线观看| 欧美aⅴ99久久黑人专区| 欧美日韩亚洲一区三区 | 亚洲电影一级黄| 亚洲一区二区少妇| 亚洲国产综合91精品麻豆| 国产精品久久国产精品99gif| 猛男gaygay欧美视频| 久久aⅴ国产欧美74aaa| 亚洲系列中文字幕| 99国产一区| 亚洲人成7777|