日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS学习之蓝牙4.0

發布時間:2024/9/30 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS学习之蓝牙4.0 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載請注明出處

作者:小馬


IOS學習也一段時間了,該上點干貨了。前段時間研究了一下IOS藍牙通訊相關的東西,把研究的一個成果給大家分享一下。

一 項目背景

簡單介紹一下做的東西,設備是一個金融刷卡器,通過藍牙與iphone手機通訊。手機端的app通過發送不同的指令(通過藍牙)控制刷卡器執行一些動作,比如讀磁條卡,讀金融ic卡等。上幾張圖容易理解一些:

?<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGJyPgo8L3A+CjxwPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140524/201405240909454.jpg" alt="\">??

看了上面幾張圖,你應該大概了解這是個什么東東了。

二 IOS 藍牙介紹

藍牙協議本身經歷了從1.0到4.0的升級演變, 最新的4.0以其低功耗著稱,所以一般也叫BLE(Bluetoothlow energy)。

iOS 有兩個框架支持藍牙與外設連接。一個是 ExternalAccessory。從ios3.0就開始支持,也是在iphone4s出來之前用的比較多的一種模式,但是它有個不好的地方,External Accessory需要拿到蘋果公司的MFI認證。

另一個框架則是本文要介紹的CoreBluetooth,在iphone4s開始支持,專門用于與BLE設備通訊(因為它的API都是基于BLE的)。這個不需要MFI,并且現在很多藍牙設備都支持4.0,所以也是在IOS比較推薦的一種開發方法。

三 CoreBluetooth介紹

CoreBluetooth框架的核心其實是兩個東西,peripheral和central, 可以理解成外設和中心。對應他們分別有一組相關的API和類,如下圖所示:

如果你要編程的設備是central那么你大部分用到,反之亦然。在我們這個示例中,金融刷卡器是peripheral,我們的iphone手機是central,所以我將大部分使用上圖中左邊部分的類。使用peripheral編程的例子也有很多,比如像用一個ipad和一個iphone通訊,ipad可以認為是central,iphone端是peripheral,這種情況下在iphone端就要使用上圖右邊部分的類來開發了。

四 服務和特征

有個概念有必要先說明一下。什么是服務和特征呢(service and characteristic)?

每個藍牙4.0的設備都是通過服務和特征來展示自己的,一個設備必然包含一個或多個服務,每個服務下面又包含若干個特征。特征是與外界交互的最小單位。比如說,一臺藍牙4.0設備,用特征A來描述自己的出廠信息,用特征B來與收發數據等。

服務和特征都是用UUID來唯一標識的,UUID的概念如果不清楚請自行google,國際藍牙組織為一些很典型的設備(比如測量心跳和血壓的設備)規定了標準的service UUID(特征的UUID比較多,這里就不列舉了),如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #define????? BLE_UUID_ALERT_NOTIFICATION_SERVICE?? 0x1811 ?#define???? BLE_UUID_BATTERY_SERVICE?? 0x180F ?#define???? BLE_UUID_BLOOD_PRESSURE_SERVICE?? 0x1810 ?#define???? BLE_UUID_CURRENT_TIME_SERVICE?? 0x1805 ?#define???? BLE_UUID_CYCLING_SPEED_AND_CADENCE?? 0x1816 ?#define???? BLE_UUID_DEVICE_INFORMATION_SERVICE?? 0x180A ?#define???? BLE_UUID_GLUCOSE_SERVICE?? 0x1808 ?#define???? BLE_UUID_HEALTH_THERMOMETER_SERVICE?? 0x1809 ?#define???? BLE_UUID_HEART_RATE_SERVICE?? 0x180D ?#define???? BLE_UUID_HUMAN_INTERFACE_DEVICE_SERVICE?? 0x1812 ?#define???? BLE_UUID_IMMEDIATE_ALERT_SERVICE?? 0x1802 ?#define???? BLE_UUID_LINK_LOSS_SERVICE?? 0x1803 ?#define???? BLE_UUID_NEXT_DST_CHANGE_SERVICE?? 0x1807 ?#define???? BLE_UUID_PHONE_ALERT_STATUS_SERVICE?? 0x180E ?#define???? BLE_UUID_REFERENCE_TIME_UPDATE_SERVICE?? 0x1806 ?#define???? BLE_UUID_RUNNING_SPEED_AND_CADENCE?? 0x1814 ?#define???? BLE_UUID_SCAN_PARAMETERS_SERVICE?? 0x1813 ?#define???? BLE_UUID_TX_POWER_SERVICE?? 0x1804 ?#define???? BLE_UUID_CGM_SERVICE?? 0x181A


當然還有很多設備并不在這個標準列表里,比如我用的這個金融刷卡器。藍牙設備硬件廠商通常都會提供他們的設備里面各個服務(service)和特征(characteristics)的功能,比如哪些是用來交互(讀寫),哪些可獲取模塊信息(只讀)等。

五 實現細節

作為一個中心要實現完整的通訊,一般要經過這樣幾個步驟:

建立中心角色—掃描外設(discover)—連接外設(connect)—掃描外設中的服務和特征(discover)—與外設做數據交互(explore and interact)—斷開連接(disconnect)。

1建立中心角色

首先在我自己類的頭文件中要包含CoreBluetooth的頭文件,并繼承兩個協議,代碼如下:

?
1 2 3 #import <corebluetooth corebluetooth.h=""> CBCentralManager *manager; manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];</corebluetooth>


2掃描外設(discover)


代碼如下:

?
1 [manager scanForPeripheralsWithServices:nil options:options];


這個參數應該也是可以指定特定的peripheral的UUID,那么理論上這個central只會discover這個特定的設備,但是我實際測試發現,如果用特定的UUID傳參根本找不到任何設備,我用的代碼如下:

?
1 2 3 4 NSArray *uuidArray = [NSArray arrayWithObjects:[CBUUID UUIDWithString:@"1800"],[CBUUID UUIDWithString:@"180A"], [CBUUID UUIDWithString:@"1CB2D155-33A0-EC21-6011-CD4B50710777"],[CBUUID UUIDWithString:@"6765D311-DD4C-9C14-74E1-A431BBFD0652"],nil]; ?????? [manager scanForPeripheralsWithServices:uuidArray options:options];

目前不清楚原因,懷疑和設備本身在的廣播包有關。

3連接外設(connect)

當掃描到4.0的設備后,系統會通過回調函數告訴我們設備的信息,然后我們就可以連接相應的設備,代碼如下:

?
1 2 3 4 5 6 7 8 - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI { ????if(![_dicoveredPeripherals containsObject:peripheral]) ????????[_dicoveredPeripherals addObject:peripheral]; ????? ????NSLog(@"dicoveredPeripherals:%@", _dicoveredPeripherals); }


?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 //連接指定的設備 -(BOOL)connect:(CBPeripheral *)peripheral { ????NSLog(@"connect start"); ????_testPeripheral = nil; ????? ????[manager connectPeripheral:peripheral ???????????????????????options:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:CBConnectPeripheralOptionNotifyOnDisconnectionKey]]; ????? ????//開一個定時器監控連接超時的情況 ????connectTimer = [NSTimer scheduledTimerWithTimeInterval:5.0f target:self selector:@selector(connectTimeout:) userInfo:peripheral repeats:NO]; ????return (YES); }

4掃描外設中的服務和特征(discover)

同樣的,當連接成功后,系統會通過回調函數告訴我們,然后我們就在這個回調里去掃描設備下所有的服務和特征,代碼如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 - (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral { ????[connectTimer invalidate];//停止時鐘 ????? ????NSLog(@"Did connect to peripheral: %@", peripheral); ????_testPeripheral = peripheral; ????? ????[peripheral setDelegate:self]; ????[peripheral discoverServices:nil]; ????? ????? }

一個設備里的服務和特征往往比較多,大部分情況下我們只是關心其中幾個,所以一般會在發現服務和特征的回調里去匹配我們關心那些,比如下面的代碼:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error { ????? ????NSLog(@"didDiscoverServices"); ????? ????if (error) ????{ ????????NSLog(@"Discovered services for %@ with error: %@", peripheral.name, [error localizedDescription]); ????????? ????????if ([self.delegate respondsToSelector:@selector(DidNotifyFailConnectService:withPeripheral:error:)]) ????????????[self.delegate DidNotifyFailConnectService:nil withPeripheral:nil error:nil]; ????????? ????????return; ????} ????? ????for (CBService *service in peripheral.services) ????{ ????????? ????????if ([service.UUID isEqual:[CBUUID UUIDWithString:UUIDSTR_ISSC_PROPRIETARY_SERVICE]]) ????????{ ????????????NSLog(@"Service found with UUID: %@", service.UUID); ????????????[peripheral discoverCharacteristics:nil forService:service]; ????????????isVPOS3356 = YES; ????????????break; ????????} ????????? ????????? ????} }

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 - (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error { ????? ????if (error) ????{ ????????NSLog(@"Discovered characteristics for %@ with error: %@", service.UUID, [error localizedDescription]); ????????? ????????if ([self.delegate respondsToSelector:@selector(DidNotifyFailConnectChar:withPeripheral:error:)]) ????????????[self.delegate DidNotifyFailConnectChar:nil withPeripheral:nil error:nil]; ????????? ????????return; ????} ????? ????? ????for (CBCharacteristic *characteristic in service.characteristics) ????{ ????????if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:UUIDSTR_ISSC_TRANS_TX]]) ????????{ ????????????NSLog(@"Discovered read characteristics:%@ for service: %@", characteristic.UUID, service.UUID); ????????????? ????????????_readCharacteristic = characteristic;//保存讀的特征 ????????????? ????????????if ([self.delegate respondsToSelector:@selector(DidFoundReadChar:)]) ????????????????[self.delegate DidFoundReadChar:characteristic]; ????????????? ????????????break; ????????} ????} ????? ????for (CBCharacteristic * characteristic in service.characteristics) ????{ ????????? ????????? ????????if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:UUIDSTR_ISSC_TRANS_RX]]) ????????{ ????????????NSLog(@"Discovered write characteristics:%@ for service: %@", characteristic.UUID, service.UUID); ????????????_writeCharacteristic = characteristic;//保存寫的特征 ????????????? ????????????if ([self.delegate respondsToSelector:@selector(DidFoundWriteChar:)]) ????????????????[self.delegate DidFoundWriteChar:characteristic]; ????????????? ????????????break; ????????????? ????????????? ????????} ????} ????? ????if ([self.delegate respondsToSelector:@selector(DidFoundCharacteristic:withPeripheral:error:)]) ????????[self.delegate DidFoundCharacteristic:nil withPeripheral:nil error:nil]; ????? }

相信你應該已經注意到了,回調函數都是以"did"開頭的,這些函數不用你調用,達到條件后系統后自動調用。

5與外設做數據交互(explore and interact)

發送數據很簡單,我們可以封裝一個如下的函數:

?
1 2 3 4 5 //寫數據 -(void)writeChar:(NSData *)data { ????[_testPeripheral writeValue:data forCharacteristic:_writeCharacteristic type:CBCharacteristicWriteWithResponse]; }


_testPeripheral和_writeCharacteristic是前面我們保存的設備對象和可以讀寫的特征。

然后我們可以在外部調用它,比如當然我要觸發刷卡時,先組好數據包,然后調用發送函數:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 -(void)msrRead { ????? ????unsigned char command[512] = {0}; ????unsigned char *pTmp; ????int nSendLen = 0; ????unsigned char ucCrc[3] = {0}; ????? ????_commandType = COMMAND_MSR_READ; ????? ????pTmp = command; ????? ????? ????*pTmp = 0x02;//start ????pTmp++; ????? ????*pTmp = 0xc1;//main cmd ????pTmp++; ????? ????*pTmp = 0x07;//sub cmd ????pTmp++; ????? ????? ????? ????nSendLen = 2; ????? ????*pTmp = nSendLen/256; ????pTmp++; ????*pTmp = nSendLen%256; ????pTmp++; ????? ????*pTmp = 0x00;//sub cmd ????pTmp++; ????? ????*pTmp = 0x00;//sub cmd ????pTmp++; ????? ????? ????Crc16CCITT(command+1,pTmp-command-1,ucCrc); ????memcpy(pTmp,ucCrc,2); ????? ????? ????NSData *data = [[NSData alloc] initWithBytes:&command length:9]; ????NSLog(@"send data:%@", data); ????[g_BLEInstance.recvData setLength:0]; ????? ????[g_BLEInstance writeChar:data]; }


數據的讀分為兩種,一種是直接讀(reading directly),另外一種是訂閱(subscribe)。從名字也能基本理解兩者的不同。實際使用中具體用一種要看具體的應用場景以及特征本身的屬性。前一個好理解,特征本身的屬性是指什么呢?特征有個properties字段(characteristic.properties),它是一個整型值,有如下幾個定義:

?
1 2 3 4 5 6 7 8 9 10 enum { ?????CBCharacteristicPropertyBroadcast = 0x01, ?????CBCharacteristicPropertyRead = 0x02, ?????CBCharacteristicPropertyWriteWithoutResponse = 0x04, ?????CBCharacteristicPropertyWrite = 0x08, ?????CBCharacteristicPropertyNotify = 0x10, ?????CBCharacteristicPropertyIndicate = 0x20, ?????CBCharacteristicPropertyAuthenticatedSignedWrites = 0x40, ?????CBCharacteristicPropertyExtendedProperties = 0x80, ?????};


比如說,你要交互的特征,它的properties的值是0x10,表示你只能用訂閱的方式來接收數據。我這里是用訂閱的方式,啟動訂閱的代碼如下:

?
1 2 3 4 5 //監聽設備 -(void)startSubscribe { ????[_testPeripheral setNotifyValue:YES forCharacteristic:_readCharacteristic]; }


當設備有數據返回時,同樣是通過一個系統回調通知我,如下所示:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 - (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error { ????????? ????if (error) ????{ ????????NSLog(@"Error updating value for characteristic %@ error: %@", characteristic.UUID, [error localizedDescription]); ????????? ????????if ([_mainMenuDelegate respondsToSelector:@selector(DidNotifyReadError:)]) ????????????[_mainMenuDelegate DidNotifyReadError:error]; ????????? ????????return; ????} ????? ????[_recvData appendData:characteristic.value]; ????? ????? ????if ([_recvData length] >= 5)//已收到長度 ????{ ????????unsigned char *buffer = (unsigned char *)[_recvData bytes]; ????????int nLen = buffer[3]*256 + buffer[4]; ????????if ([_recvData length] == (nLen+3+2+2)) ????????{ ????????????//接收完畢,通知代理做事 ????????????if ([_mainMenuDelegate respondsToSelector:@selector(DidNotifyReadData)]) ????????????????[_mainMenuDelegate DidNotifyReadData]; ????????????? ????????} ????} }


6 斷開連接(disconnect)

這個比較簡單,只需要一個API就行了,代碼如下:

?
1 2 3 4 5 6 7 8 9 10 11 //主動斷開設備 -(void)disConnect { ????? ????if (_testPeripheral != nil) ????{ ????????NSLog(@"disConnect start"); ????????[manager cancelPeripheralConnection:_testPeripheral]; ????} }

總結

以上是生活随笔為你收集整理的IOS学习之蓝牙4.0的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚洲精品66 | 国产视频久久久 | 中文字幕亚洲精品日韩 | 97高清免费视频 | 久久国产免| 久久免费久久 | 狠狠狠狠狠狠干 | 国产精品女同一区二区三区久久夜 | 国产一级视屏 | 狠狠色噜噜狠狠 | 深爱婷婷久久综合 | 精品麻豆入口免费 | 在线v| 国产一区二区三区午夜 | 免费在线观看a v | 国产成人一区二区三区在线观看 | 亚洲1区 在线 | 国产精品入口久久 | 成人免费观看在线视频 | 天天综合日日夜夜 | 免费看的黄色 | 人人添人人澡 | 亚洲蜜桃在线 | 免费a网站| 99热最新精品 | 国产成人精品午夜在线播放 | 亚洲最新在线 | 国产午夜一区 | 国产精品久久久久久高潮 | 三级黄色a| 婷婷色伊人 | 黄色小说在线免费观看 | 国产精品18久久久久久久久久久久 | 日日爱夜夜爱 | 在线91色| 四虎国产精品永久在线国在线 | 免费在线观看黄网站 | 韩国av一区二区三区 | 婷婷五综合 | 四虎影视成人永久免费观看视频 | 在线观看免费色 | 国产成人精品久久久久 | 人人天天夜夜 | 综合国产在线观看 | 国产在线观看,日本 | 天天撸夜夜操 | 成人羞羞视频在线观看免费 | 精品色999 | 在线免费观看不卡av | 国产日韩在线一区 | 中文字幕日韩在线播放 | 国产成人一区二区在线观看 | 午夜免费福利视频 | 人人爱夜夜操 | 人人狠狠综合久久亚洲 | 久久久久亚洲精品国产 | 九九热在线观看 | 国产在线欧美日韩 | 国产一级二级三级在线观看 | 在线观看成人小视频 | 色av婷婷 | 国产一区精品在线观看 | 在线播放日韩av | 亚洲一区二区高潮无套美女 | 久久综合色一综合色88 | 97超碰中文| 99久久日韩精品免费热麻豆美女 | 欧美成人理伦片 | 久久久久女人精品毛片九一 | 91探花在线 | 在线a人v观看视频 | 久久专区| 日韩福利在线观看 | 伊人伊成久久人综合网站 | 九九综合九九 | 欧美日韩精品影院 | 婷婷丁香六月天 | 日韩色视频在线观看 | 一区二区三区在线观看 | 97成人在线观看 | 波多野结衣精品视频 | 免费观看国产精品视频 | 国产精品视频永久免费播放 | 天天插日日插 | 国内精品一区二区 | 免费色网 | 999久久精品 | 国产精品欧美久久久久无广告 | 人人网人人爽 | 免费网址你懂的 | 五月婷婷中文 | 日韩理论在线 | 国产精品久久久久久高潮 | 91精选在线 | 中文字幕二区 | 韩日精品在线观看 | 国产精品第二十页 | 天天色综合1 | 久久精品资源 | 国产精品 亚洲精品 | 五月激情片| 97超碰资源总站 | 国产亚洲精品久久久久动 | 欧美色操 | 成人在线小视频 | 国产成人精品一区二区在线观看 | 国产不卡av在线 | 丁香花中文字幕 | 91日韩精品 | 性色视频在线 | 亚洲国产精品视频在线观看 | 精品美女在线观看 | 久草在线免费资源 | 久久爱资源网 | 奇米先锋 | www.狠狠插.com | 国产麻豆视频免费观看 | 中文字幕123区 | 久久久天天操 | 久久视精品 | 日韩电影中文字幕 | 久久激情小视频 | 久久精品网 | 射射射av| 亚洲精品在线电影 | av先锋中文字幕 | 天天操天天玩 | 国产成人av片 | 久久天天操 | 中文字幕xxxx| 激情av五月婷婷 | 国产精品99久久久久久有的能看 | 在线观看国产亚洲 | 国产福利精品一区二区 | 天天爽网站 | av大片免费看 | 午夜精品久久久久 | av三级在线免费观看 | 婷婷六月天综合 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 国产一区二区三区网站 | 日韩不卡高清视频 | 精品一二 | 亚洲婷婷网 | 一本大道久久精品懂色aⅴ 五月婷社区 | 国产成人精品免高潮在线观看 | 久久精品最新 | 日韩免费av片 | 91精品啪 | 久久精品中文视频 | 色综合天天在线 | 日韩久久久 | 亚洲午夜剧场 | 人人射人人澡 | 在线免费观看一区二区三区 | 国产精品一区二区美女视频免费看 | 色婷婷88av视频一二三区 | 99久久999久久久精玫瑰 | 最近高清中文在线字幕在线观看 | 人人干人人爽 | 欧美成人在线免费观看 | 91大神视频网站 | 六月色婷婷 | 国产又粗又硬又长又爽的视频 | 99高清视频有精品视频 | 日本精品一区二区三区在线观看 | 日本三级在线观看中文字 | 69国产成人综合久久精品欧美 | 色在线视频网 | 成人在线视频免费观看 | 日韩在线观看av | 一区二区三区精品久久久 | 91视频xxxx| 久久精品国产99 | 91久久偷偷做嫩草影院 | av不卡在线看 | 欧美在线视频第一页 | 中文字幕亚洲欧美日韩2019 | 黄网站污 | 97视频播放 | 综合久久一本 | 亚洲精品久 | 免费av网站在线看 | 西西444www大胆无视频 | 欧美一级爽 | 3d黄动漫免费看 | 国产91影院 | 五月婷婷综合在线 | 亚洲经典中文字幕 | 美腿丝袜一区二区三区 | 91人人爱| 婷婷丁香七月 | 欧美久久九九 | 久久精品中文字幕一区二区三区 | 成人午夜免费福利 | 97超碰影视| 一区二区三区高清 | 久精品在线 | 69久久99精品久久久久婷婷 | 国产黄| 在线亚洲欧美日韩 | 精品黄色视 | 国产精品成人在线 | 日日夜夜精品免费观看 | 欧洲在线免费视频 | 国产大尺度视频 | 久久久国产成人 | 亚洲色综合 | 一本色道久久综合亚洲二区三区 | 夜夜骑天天操 | 国产糖心vlog在线观看 | 视频三区在线 | 免费在线观看黄 | 国产精品成人av在线 | 久久99精品久久久久久 | 久久精品影片 | 久久99中文字幕 | 在线视频 一区二区 | 91网在线 | 在线天堂亚洲 | 久草在在线视频 | 亚洲成a人片77777kkkk1在线观看 | 欧美作爱视频 | 天天插天天色 | 久操97 | 中文字幕在线播放日韩 | 波多野结衣在线播放视频 | 中文字幕av最新 | 超碰97免费观看 | 久久精品视频在线看 | 国产黄色片免费看 | 欧美另类美少妇69xxxx | 国产精品色视频 | 97人人爽| 日韩xxxbbb| 国产精品手机看片 | 日本福利视频在线 | 亚洲国内精品 | 天天天天射| 亚洲国产精品激情在线观看 | 中文超碰字幕 | 四虎天堂| 亚洲第一区在线播放 | 视频在线观看91 | 免费成人结看片 | 欧美怡红院视频 | 成人小电影在线看 | 亚洲人av免费网站 | 99免在线观看免费视频高清 | 色妞久久福利网 | 色婷婷激婷婷情综天天 | 中文字幕丰满人伦在线 | 欧美极度另类性三渗透 | 中文字幕久久精品亚洲乱码 | 91传媒在线看| 日韩久久精品一区二区 | 一区二区视频免费在线观看 | 人人藻人人澡人人爽 | 成人久久综合 | 欧美日韩精品区 | 胖bbbb搡bbbb擦bbbb | 欧美日韩精品在线免费观看 | 国产91免费在线观看 | www欧美xxxx| 亚洲成av人片一区二区梦乃 | 日韩av一区二区三区在线观看 | 亚洲三级毛片 | 日韩成人免费在线电影 | 天天艹天天干天天 | 97成人精品视频在线观看 | 亚洲国产wwwccc36天堂 | 日韩毛片在线免费观看 | 中文字幕一区二区三区久久 | 国产一区二区视频在线播放 | 免费观看成人av | 美女搞黄国产视频网站 | 国产精品精品国产色婷婷 | 波多野结衣电影一区二区三区 | 欧美一级日韩免费不卡 | 亚洲 欧洲av | 日韩精品一区二区三区不卡 | 91精品黄色 | 日本69hd| 亚洲成色777777在线观看影院 | 精品久久一区二区 | 一区二区三区精品在线 | 色婷婷综合激情 | 91中文字幕网 | 色视频网站在线观看一=区 a视频免费在线观看 | 香蕉免费 | 日韩欧美精品在线观看视频 | 日韩av资源在线观看 | 国内视频| 精品一区二区三区四区在线 | 狠狠干婷婷 | 国产亚洲精品中文字幕 | 中文字幕高清在线播放 | 日韩免费电影 | 国产区久久 | 五月天婷亚洲天综合网鲁鲁鲁 | 成人免费中文字幕 | 日韩在线字幕 | 国产精品久久嫩一区二区免费 | 黄色午夜 | 69精品久久久 | 黄色官网在线观看 | 亚洲一区免费在线 | 久久韩国免费视频 | 久久夜色精品国产欧美乱 | a电影在线观看 | 中文字幕色在线 | 成人a级大片 | 国产精品综合久久久 | 国产麻豆剧果冻传媒视频播放量 | 久久精品网| 久久国产精品免费看 | 国内精品久久久 | 激情偷乱人伦小说视频在线观看 | 中文字幕免费播放 | 精品国产乱码久久久久久久 | 粉嫩av一区二区三区入口 | 免费观看久久久 | 日韩免费视频 | 亚洲日本韩国一区二区 | 久草网视频在线观看 | 欧美中文字幕第一页 | japanesexxxhd奶水| 精品国产一区二区三区久久久久久 | 亚洲国产精品传媒在线观看 | 一本大道久久精品懂色aⅴ 五月婷社区 | 在线国产视频一区 | 国产福利在线免费观看 | 五月婷婷在线播放 | 亚洲视频综合在线 | 亚洲一级电影在线观看 | 国产免费a | 99精品视频免费看 | 丁香婷婷久久久综合精品国产 | 黄色免费高清视频 | 亚洲精品无 | 天天射天天射天天 | 丁香影院在线 | 国产精品激情偷乱一区二区∴ | 久久丁香 | 99资源网| 精品久久久久亚洲 | 国产麻豆视频 | 婷婷午夜 | 精品国产区 | 97超碰人人模人人人爽人人爱 | 一区二区三区动漫 | 欧美日韩一区二区免费在线观看 | 久久电影网站中文字幕 | www.黄色小说.com | 日韩三区在线观看 | 色狠狠操 | 久久综合久久综合九色 | 国产精品一区二区白浆 | 日本免费久久高清视频 | 国产精品一区二区在线 | 日韩在线三级 | 久久男人影院 | .精品久久久麻豆国产精品 亚洲va欧美 | 亚洲视频在线观看网站 | a黄色大片 | 伊人成人精品 | 欧美另类巨大 | 欧美国产91 | 国产精品18久久久久vr手机版特色 | 久久久久女教师免费一区 | 亚洲 综合 国产 精品 | 欧美精品三级 | 亚洲精品av中文字幕在线在线 | 亚洲一区免费在线 | 免费观看一区二区 | 黄色h在线观看 | 一区二区视频网站 | 丁香伊人网 | 久99久在线视频 | 国产黄色网 | 国产精品视频最多的网站 | 永久免费看av | 精品美女久久久久久免费 | www一起操 | 九九视频一区 | 91污在线观看 | 免费看亚洲毛片 | 美国av大片 | 六月天综合网 | 国产成人综合精品 | 国产v在线观看 | 人人看人人爱 | 亚洲最新av | 中文字幕日本在线观看 | 国产性天天综合网 | 香蕉影视在线观看 | 久久九九国产精品 | 亚洲欧美精品一区二区 | 国产原创中文在线 | 美女搞黄国产视频网站 | 天天射天天干天天爽 | 天天视频亚洲 | 天天色图| 最新中文字幕在线播放 | 97电影手机版 | 精品久久久久久一区二区里番 | 日日爽夜夜操 | 亚洲一区在线看 | 99久久久| 一区二区三区在线观看 | 天天色天天射天天综合网 | 久久高清免费视频 | 日韩精品一区二区久久 | 丁香综合 | 亚洲国产99 | 亚洲精品系列 | 2018好看的中文在线观看 | 欧美a级在线 | 一级久久精品 | 色综合天天狠天天透天天伊人 | 精品在线视频一区 | 99久久综合狠狠综合久久 | 免费黄色在线播放 | 99久久精品网 | 亚州av成人 | 黄色三级av| 日本久热 | 国产大陆亚洲精品国产 | 国产精品久久艹 | 99日精品 | 中文字幕在线看视频国产 | 69中文字幕 | 高清不卡一区二区三区 | 久草在线国产 | 成人免费在线网 | 午夜久久久影院 | 亚洲成av人影院 | 正在播放国产一区二区 | 蜜臀av免费一区二区三区 | 国产又粗又猛又黄 | 亚洲在线高清 | 国产一区二区在线免费 | 波多野结衣视频一区二区 | 日本黄色大片免费看 | 五月激情综合婷婷 | 欧美另类重口 | 久久精品亚洲 | 天天爱天天操 | 综合久久久久久久 | 久久九九精品久久 | 精品在线视频观看 | 中文字幕av日韩 | 日韩v在线91成人自拍 | 亚洲精品在线观 | 91成人在线观看高潮 | 波多野结衣网址 | 久久综合久久八八 | 免费av的网站 | 深爱激情婷婷网 | 国产一级片一区二区三区 | 就要干b| 国产天天爽 | 久久av中文字幕片 | 91精品国产91久久久久久三级 | 91视频 - 114av | 日本久久视频 | 黄色软件视频网站 | 狠狠狠干狠狠 | av午夜电影 | 日韩精品中文字幕久久臀 | 国产区精品在线 | 欧美日韩在线视频一区二区 | 久久a v电影 | www.香蕉视频| 国内精品久久久久久久久久 | 888av| 九九热免费精品视频 | 91传媒在线看 | 在线亚洲欧美视频 | 在线免费av播放 | 中文字幕中文字幕在线中文字幕三区 | 婷婷久久精品 | 久久国产一区二区 | 99久高清在线观看视频99精品热在线观看视频 | 精品久久精品久久 | 99精品视频精品精品视频 | 91视频免费看片 | 欧美贵妇性狂欢 | www.一区二区三区 | 人人澡人摸人人添学生av | 亚洲激情一区二区三区 | 91精品国| 日韩特级毛片 | 91av片| 免费观看黄色12片一级视频 | 97视频在线 | 精品久久久久久久久久久久久久久久久久 | 亚洲电影成人 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 黄色在线免费观看网址 | 天天摸天天舔 | 日韩av在线免费看 | 久久免费播放视频 | 国产精品成人一区二区三区吃奶 | 怡红院av久久久久久久 | 久久国内精品 | 日韩超碰| 四虎在线免费观看视频 | 麻豆网站免费观看 | 麻豆91精品视频 | 狠狠狠色丁香婷婷综合激情 | 国产精品2018 | avav片| 国产成人精品一二三区 | 96超碰在线 | 在线观看免费黄视频 | 日韩欧美久久 | 四虎成人免费影院 | www.com.日本一级 | 国产在线精品区 | 麻豆传媒在线视频 | 免费视频久久久久久久 | 午夜在线观看 | 手机在线看片日韩 | 久久全国免费视频 | 在线观看国产日韩欧美 | 精品国产一区二区三区久久久蜜臀 | 久久久久久久久久免费 | 狠狠的操你 | 久久久久亚洲国产精品 | 久在线观看 | 久草在线视频国产 | 偷拍精偷拍精品欧洲亚洲网站 | av电影免费在线播放 | 99久e精品热线免费 99国产精品久久久久久久久久 | 欧美日韩一级久久久久久免费看 | 欧美最猛性xxxxx亚洲精品 | 四虎欧美| 天堂av在线中文在线 | 久久丁香网 | 久久精品国产亚洲 | 日本精品久久久久影院 | 日日夜夜网 | 香蕉视频4aa| 高清av免费看 | 综合色爱| 私人av | 91在线一区 | 人人草人人草 | 免费在线黄色av | 国产麻豆精品传媒av国产下载 | 免费成人在线电影 | 麻豆传媒视频在线免费观看 | 天天干天天操天天入 | 久久成人一区 | 婷婷婷国产在线视频 | aa级黄色大片 | 国产精品久久亚洲 | 91精品久久久久久久久久久久久 | 成人毛片久久 | 伊人电影天堂 | 久久综合一本 | 一本大道久久精品懂色aⅴ 五月婷社区 | 97视频人人免费看 | 91在线中字| 国产又黄又爽无遮挡 | 国产91精品欧美 | 精品日韩在线一区 | 狠狠干.com| 久久99精品久久久久久久久久久久 | 亚洲精品在线观看中文字幕 | 久久久久中文 | 黄色免费看片网站 | 中文字幕免费高 | 手机看片午夜 | 国产精品高清一区二区三区 | 久久免费国产精品 | 奇米影视777四色米奇影院 | 免费看的黄色 | 欧美一区影院 | 毛片网站在线观看 | 欧美 亚洲 另类 激情 另类 | 91av网站在线观看 | 肉色欧美久久久久久久免费看 | 黄色一级免费电影 | 插插插色综合 | 欧美一区二视频在线免费观看 | 色婷婷欧美 | 婷五月天激情 | 8x成人免费视频 | 中文字幕色网站 | 色欲综合视频天天天 | 国产精品私人影院 | 免费精品视频在线观看 | 97超碰人人| 日本动漫做毛片一区二区 | 亚洲免费永久精品国产 | 就要干b | 在线国产精品一区 | av免费观看高清 | 国产日韩精品在线观看 | 五月婷婷影视 | 精品国产区在线 | 精品国产亚洲一区二区麻豆 | 欧美日本在线视频 | 久热电影 | 日韩av片无码一区二区不卡电影 | 手机成人av在线 | 久久久99精品免费观看app | 国产精品a久久久久 | www.av中文字幕.com | 一区二区三区四区在线 | 国产精品久久久久久久久久尿 | 欧美一区日韩精品 | 黄网站色成年免费观看 | 中文字幕专区高清在线观看 | 国产精品久久99综合免费观看尤物 | 亚洲自拍偷拍色图 | 久久婷婷激情 | 久久综合激情 | 国产在线 一区二区三区 | 色婷婷丁香| 国产高清不卡一区二区三区 | 波多野结衣精品在线 | 91尤物在线播放 | 日韩欧美精品在线观看视频 | 成人黄色大片在线免费观看 | 五月婷久 | 婷婷精品国产一区二区三区日韩 | 天天色天天爱天天射综合 | 日韩在线大片 | 韩国av一区 | 免费视频资源 | 日韩激情视频在线 | 成人免费 在线播放 | 99视频精品免费视频 | 国产高清av免费在线观看 | 五月婷婷婷婷婷 | 久久久久久国产精品久久 | 在线天堂中文www视软件 | 99视频偷窥在线精品国自产拍 | 国产综合香蕉五月婷在线 | www.色婷婷.com | 日本久久电影网 | av免费在线观 | 欧美日韩中文字幕综合视频 | 国产一区二区不卡视频 | 国产成人精品综合久久久 | 最近高清中文字幕 | 国产视频在线看 | 国产精品视频久久久 | 国产一区二区不卡在线 | 精品一区二区三区四区在线 | 在线视频你懂 | 国产亚洲va综合人人澡精品 | 国产视频精品在线 | 国产精彩视频一区 | 婷婷深爱网 | 亚洲色图美腿丝袜 | 国产午夜精品在线 | 九九爱免费视频 | 最新av中文字幕 | 天天se天天cao天天干 | 久久综合久久综合九色 | 91福利视频一区 | 日韩大片在线 | 亚洲天堂网站视频 | 伊人久久电影网 | 亚洲精品国产日韩 | 亚洲欧美日韩不卡 | 国产精品麻豆果冻传媒在线播放 | 成人一级在线 | 久久99网 | 字幕网在线观看 | 女人高潮特级毛片 | 中文字幕在线日 | 成人久久18免费网站 | 91一区二区三区久久久久国产乱 | 国产在线观看99 | av成人在线电影 | 青青河边草免费观看完整版高清 | 久久久影院官网 | 国产一级黄色av | 怡春院av| www一起操 | 一区二区三区四区久久 | 欧美日韩亚洲在线观看 | 欧美日韩在线精品一区二区 | 日韩xxxxxxxxx| 天海冀一区二区三区 | 免费黄色在线播放 | 在线观看福利网站 | 精品国产乱子伦一区二区 | 日韩欧美在线高清 | 天天夜夜狠狠操 | 精品国产综合区久久久久久 | 精品9999| 最近日本韩国中文字幕 | 就要干b| 91精品啪在线观看国产 | 99热官网| 天天干天天拍天天操 | 中文字幕国产在线 | 国产操在线 | 在线看片一区 | 天天插日日射 | 午夜av片 | av中文字幕在线观看网站 | 日韩欧美在线影院 | 天天骚夜夜操 | 五月情婷婷 | 欧美激情视频久久 | 日韩在线欧美在线 | 波多野结衣在线观看视频 | 亚洲三级黄色 | 久久香蕉国产精品麻豆粉嫩av | 99久久精品国产系列 | 天天干夜夜干 | 久久免费福利 | 欧美va天堂在线电影 | 国产精品高潮呻吟久久av无 | 中文字幕a∨在线乱码免费看 | 97超碰人人澡人人爱 | 国产精品久久艹 | 黄污视频大全 | 草久在线观看 | 欧美亚洲专区 | 开心激情五月婷婷 | 九九在线国产视频 | 日本最新一区二区三区 | 在线观看视频色 | 91精品国产一区 | 在线看日韩av | 国产精品久久久久久一二三四五 | 久久视频99 | 一级大片在线观看 | 色狠狠久久av五月综合 | 麻豆91在线| 国产 欧美 日韩 | 日韩精品在线免费播放 | 色婷婷五| 中文字幕精品在线 | 色欧美日韩 | 精品国产理论 | 丁香网婷婷| 久久久96 | 成年人免费电影 | 欧美日韩久久一区 | 国产亚洲91 | 久久99久久久久 | 日韩a级黄色 | 中文字幕在线一二 | 狠狠色丁香久久婷婷综合丁香 | 91大神免费视频 | 国产精彩视频一区 | 精品字幕 | 91三级在线观看 | 婷婷激情五月 | 天天干com| 超碰97国产 | 久草视频精品 | 日韩免费一区二区在线观看 | 六月丁香综合网 | 麻豆视频在线观看免费 | 91久久黄色 | 国产精品久久久久久模特 | 日韩在线观看一区二区 | 夜夜躁日日躁狠狠久久av | 激情综合网五月婷婷 | av大全免费在线观看 | 国产综合精品一区二区三区 | 日韩免费一二三区 | 欧美日韩视频免费看 | 久久免费黄色大片 | www.97视频| 中文字幕网站 | 中文字幕免费在线 | 久久精品亚洲国产 | 激情视频综合网 | 成人在线免费视频观看 | 99久久这里有精品 | 国产精品一区二区你懂的 | 日韩欧美一区二区三区在线观看 | 91视频免费播放 | 91精品国产自产老师啪 | 国产精品va最新国产精品视频 | 国产三级在线播放 | 91精品国产三级a在线观看 | 欧美日韩不卡在线 | 97av精品| 中文字幕乱码视频 | 国产一区免费在线观看 | 日韩毛片在线一区二区毛片 | 欧美日韩午夜爽爽 | 国产手机视频 | 高清av网 | 免费一级片观看 | 中文乱幕日产无线码1区 | 成人一级片视频 | 久久久免费毛片 | 日韩av二区| 黄色大全在线观看 | 成人一区二区在线观看 | 国产一区二区在线影院 | 久久激情五月激情 | 亚洲精品在线一区二区 | 99热.com| 欧美激情精品久久久久久免费印度 | 欧美精品久久久久久久久久 | 国产高清视频免费 | 五月天综合 | 国产一区二区三区四区在线 | 国产精品久久久久久久av电影 | 久久久影院官网 | 婷婷久久五月天 | 国产成人av一区二区三区在线观看 | 99在线精品视频在线观看 | 国产一区视频导航 | 国产午夜精品一区二区三区四区 | 国产h在线播放 | 黄污视频网站 | 日韩一二区在线观看 | 黄色网大全 | 天天插综合网 | 狠狠艹夜夜干 | 91亚洲精品久久久蜜桃网站 | 欧美日韩一区二区在线 | 国产精品久久久免费 | 91视频在线播放视频 | 激情久久久 | 精品国产精品一区二区夜夜嗨 | 超碰com| 国产一区二区不卡在线 | 国产亚洲精品无 | 国产精品v欧美精品v日韩 | 亚洲精品91天天久久人人 | 91探花在线视频 | 免费观看mv大片高清 | 日日夜夜网站 | 字幕网在线观看 | 久久国产亚洲视频 | 成年人免费看片 | 日韩av中文字幕在线 | 在线天堂视频 | 免费网站在线 | 久久不卡免费视频 | 久久99视频 | 亚洲欧美在线视频免费 | 免费开视频 | 久久中文字幕导航 | 在线中文字幕一区二区 | 日女人电影 | 久久久久久草 | 色网站在线免费 | 热久在线 | 中文字幕一区在线 | 九九视频在线 | 欧美a在线免费观看 | 国产午夜av | 久久久99精品免费观看乱色 | 欧美日韩视频观看 | 午夜视频不卡 | av电影在线播放 | 久艹在线播放 | 国产精品视频内 | 青青久草在线视频 | 一级片观看 | 国产在线小视频 | 欧美日韩精品在线视频 | 国产成人精品一区二区三区 | 成年人免费在线观看网站 | 免费97视频| 在线观看一级视频 | 国产乱老熟视频网88av | 97在线资源 | 中文字幕av网站 | 亚洲日韩欧美一区二区在线 | 奇米网8888 | 国产日韩精品一区二区三区在线 | 九九热在线观看 | 国产精品久久久久四虎 | 午夜精品久久久久久久99水蜜桃 | 四虎www com | 四虎欧美| 欧美婷婷色 | 国产精品久久久久久久久久了 | 久草网站在线 | 成人h在线| 一区二区三区在线免费观看视频 | 98涩涩国产露脸精品国产网 | 日韩久久精品一区二区三区下载 | 色吊丝在线永久观看最新版本 | 99理论片 | 国产精品毛片一区二区 | 九九久久免费 | 91免费在线看片 | 中文字幕在线观看网站 | 日韩免费网站 | 日韩试看 | 免费成人黄色片 | 999久久久免费视频 午夜国产在线观看 | 中文乱码视频在线观看 | 欧美一二三四在线 | 日本久久综合网 | 久久久久久久久久免费视频 | 亚洲一区二区三区在线看 | 久久99国产视频 | 97超碰在线视 | 日韩中文三级 | 国产a高清 | 91麻豆看国产在线紧急地址 | 国内外成人在线 | 香蕉久草 | 四虎影视精品永久在线观看 | 中文字幕在线观看一区 | 综合激情av | www.99久久.com| 国产色网 | 国产三级国产精品国产专区50 | 欧美色噜噜噜 | 欧美一区二区免费在线观看 | 国产黄色在线 | 精品久久久久国产 | 国产高清免费在线观看 | 人人澡人人爽欧一区 | av电影在线观看完整版一区二区 | 日韩欧美一区二区在线观看 | 蜜臀久久99精品久久久无需会员 | 国产黄色片免费在线观看 | 九九热在线精品 | 天天干人人干 | 激情在线免费视频 | 天天操天天干天天干 | 97热在线观看 | 久久久久这里只有精品 | 国产精品 欧美 日韩 | 亚洲第一久久久 | 91chinese在线 | 日韩高清精品一区二区 | 鲁一鲁影院 | 99久久久久久久 | 丁香六月久久综合狠狠色 | 精品久久久免费 | 91一区二区三区在线观看 | 日韩毛片在线播放 | 在线免费试看 | 欧洲精品码一区二区三区免费看 | 天天射综合网视频 | 国产一级性生活视频 | 特级毛片在线 | 中文字幕av免费 | 国产一区精品在线 | 超碰在线98 | 久久久久久久免费观看 | 久久高清国产 | 日韩乱理 | 激情九九 | 国产97av | www.人人草| 亚洲成av片人久久久 | 国产亚洲永久域名 | 2000xxx影视| 亚洲一区美女视频在线观看免费 | 一本色道久久综合亚洲二区三区 | 久久99精品国产麻豆宅宅 | 国产成人av在线影院 | 亚洲电影第一页av | 日本电影久久 | 久久久久女教师免费一区 | 久久综合中文色婷婷 | 免费毛片一区二区三区久久久 | 久久久久久蜜av免费网站 | 欧美一级免费 | 永久黄网站色视频免费观看w | 久久久久久久久黄色 | 国产精品福利在线播放 | 成人h视频在线播放 | 亚洲aⅴ在线观看 | 成年人三级网站 | 超碰最新网址 | 午夜电影久久久 | 欧美日本不卡高清 | 99爱在线 | 特级西西www44高清大胆图片 | 99 国产精品| www.五月天婷婷.com | 欧美成人h版电影 | 99在线免费观看视频 | 在线观看国产www | 亚洲电影在线看 | 国产精品麻豆三级一区视频 | 国产精品porn| 色综合色综合久久综合频道88 | 亚洲91中文字幕无线码三区 | 天天射成人 | 91精品国产综合久久久久久久 | 久久天天躁夜夜躁狠狠躁2022 | 日韩av一卡二卡三卡 |