東莞市德峰智能科技有限公司

        聯系我們Contact

        您的位置: 首頁 ->  技術支持 -> 關于ZIGBEE技術

        關于ZIGBEE技術



        Zigbee的由來

        在藍牙技術的使用過程中,人們發現藍牙技術盡管有許多優點,但仍存在許多缺陷。對工業,家庭自動化控制和遙測遙控領域而言,藍牙技術顯得太復雜,功耗大,距離近,組網規模太小等,而工業自動化對無線通信的需求越來越強烈。正因此,經過人們長期努力,Zigbee協議在2003年中通過后,于2004正式問世了。

        Zigbee是什么

        Zigbee是一個由可多到65000個無線數傳模塊組成的一個無線數傳網絡平臺,十分類似現有的移動通信的CDMA網或GSM網,每一個Zigbee網絡數傳模塊類似移動網絡的一個基站,在整個網絡范圍內,它們之間可以進行相互通信;每個網絡節點間的距離可以從標準的75米,到擴展后的幾百米,甚至幾公里;另外整個Zigbee網絡還可以與現有的其它的各種網絡連接。例如,你可以通過互聯網在北京監控云南某地的一個Zigbee控制網絡。

        不同的是,Zigbee網絡主要是為自動化控制數據傳輸而建立,而移動通信網主要是為語音通信而建立;每個移動基站價值一般都在百萬元人民幣以上,而每個Zigbee“基站”卻不到1000元人民幣;每個Zigbee 網絡節點不僅本身可以與監控對對象,例如傳感器連接直接進行數據采集和監控,它還可以自動中轉別的網絡節點傳過來的數據資料; 除此之外,每一個Zigbee網絡節點(FFD)還可在自己信號覆蓋的范圍內,和多個不承擔網絡信息中轉任務的孤立的子節點(RFD)無線連接。

        每個Zigbee網絡節點(FFD和RFD)可以可支持多到31個的傳感器和受控設備,每一個傳感器和受控設備終可以有8種不同的接口方式。可以采集和傳輸數字量和模擬量。

        Zigbee技術的應用領域

        Zigbee技術的目標就是針對工業,家庭自動化,遙測遙控,汽車自動化、農業自動化和醫療護理等,例如燈光自動化控制,傳感器的無線數據采集和監控,油田,電力,礦山和物流管理等應用領域。另外它還可以對局部區域內移動目標例如城市中的車輛進行定位.

        通常,符合如下條件之一的應用,就可以考慮采用Zigbee技術做無線傳輸:

        1.需要數據采集或監控的網點多;

        2.要求傳輸的數據量不大,而要求設備成本低;

        3.要求數據傳輸可性高,安全性高;

        4.設備體積很小,不便放置較大的充電電池或者電源模塊;

        5.電池供電;

        6.地形復雜,監測點多,需要較大的網絡覆蓋;

        7.現有移動網絡的覆蓋盲區;

        8.使用現存移動網絡進行低數據量傳輸的遙測遙控系統。

        9.使用GPS效果差,或成本太高的局部區域移動目標的定位應用。

        Zigbee 技術的特點

        省電:兩節五號電池支持長達6個月到2年左右的使用時間。

        可靠:采用了碰撞避免機制,同時為需要固定帶寬的通信業務預留了專用時隙,避免了發送數據時的競爭和沖突;節點模塊之間具有自動動態組網的功能,信息在整個Zigbee網絡中通過自動路由的方式進行傳輸,從而保證了信息傳輸的可靠性。

        時延短:針對時延敏感的應用做了優化,通信時延和從休眠狀態激活的時延都非常短。

        網絡容量大:可支持達65000個節點。

        安全:ZigBee提供了數據完整性檢查和鑒權功能,加密算法采用通用的AES-128。

        高保密性:64位出廠編號和支持AES-128加密。

        Zigbee的發展前景

        Zigbee技術和RFID 技術在2004年就被列為當今世界發展最快,市場前景最廣闊的十大最新技術中的兩個。關于這方面的報道,你只需在百度,或GOOGLE搜索欄中鍵入“Zigbee”,你就會看到大量的有關報道??傊窈笕舾赡?,都將是Zigbee技術飛速發展的時期。

        Zigbee技術在我國的應用情況

        盡管,國內不少人已經開始關注Zigbee這們新技術,而且也有不少單位開始涉足Zigbee技術的開發工作,然而,由于Zigbee 本身是一種新的系統集成技術,應用軟件的開發必須和網絡傳輸,射頻技術和底層軟硬件控制技術結合在一起。因而深入理解這個來自國外的新技術,再組織一個在這幾個方面都有豐富經驗的配套的隊伍,本身就不是一件容易的事情,因而,到目前為止,國內目前除了成都西谷曙光數字技術有限公司,真正將Zigbee技術開發成產品,并成功地用于解決幾個領域的實際生產問題而外,尚未見到其它報道。

        Zigbee 和現有移動網(GPRS,CDMA-1X)的比較

        1.無網絡使用費:使用移動網需要長期支付網絡使用費,而且是按節點終端的數量計算的,而Zigbee沒有這筆費用;

        2.設備投入低:使用移動網需要購買移動終端設備,每個終端的價格在人民幣1000元上下,而使用Zigbee 網絡,不僅Zigbee網絡節點模塊(相當于基站)費用每只人民幣不到1000元,而且,主要使用的網絡子節點(相當于手機)的價格還要低得多;

        3.通信更可靠:由于現有移動網主要是為手機通信而設計的,盡管CDMA-1X和GPRS可以進行數據通信,但實踐發現,不僅通信數率比設計速率低很多,而且數據通信的可靠信也存在一定的問題。而Zigbee網絡則是專門為控制數據的傳輸而設計的,因而控制數據的傳輸具有相當的保證。
            4.高度的靈活性和低成本:首先,通過使用覆蓋距離不同,功能不同的Zigbee網絡節點,以及其它非Zigbee系統的低成本的無線收發模塊,建立起一個Zigbee局部自動化控制網,(這個網絡可以是星型,樹狀,網狀及其共同組成的復合網結構)再通過互聯網或移動網與遠端的計算機相連,從而實現低成本,高效率的工業自動化遙測遙控;

        5.比起現有的移動網來,盡管Zigbee僅僅只是一個局域網,覆蓋區域有限,但它卻可以與現有的移動網,互聯網和其它通信網絡相連接,將許多Zigbee局域網相互連成為一個整體。有效的解決移動網的盲區覆蓋問題:我們知道,現有移動網絡在許多地方存在盲區,特別是鐵路,公路,油田,礦山等野外,更是如此。而增加一個移動基站或直放站的費用是相當可觀的,此時使用Zigbee網絡進行盲區覆蓋不僅經濟有效,而且往往是現在唯一可行手段。

        Zigbee與現有數傳電臺的比較

        1.可靠性高:由于Zigbee模塊的集成度遠比一般數傳電臺高,分離元器件少,因而可靠性更高;

        2.使用方便安全:因為集成度高,比起一般數傳電臺來,Zigbee收法模塊體積可以做得很小,而且功耗低,例如成都西谷公司遠距離傳輸模塊(2-5公里),最大發射電流比一個CDMA手機還要小許多,因而很容易集成或直接安放在到設備之中,不僅使用方便,而且在戶外使用時,不容易受到破壞;

        3.抗干擾力強,保密性好,誤碼率低:Zigbee收發模塊使用的是2.4G直序擴頻技術,比起一般FSK, ASK和跳頻的數傳電臺來,具有更好的抗干擾能力,和更遠的傳輸距離;參閱我們網站中有關CDMA直序擴頻技術的優越性討論,和Cypress公司有關實驗報道。

        4.免費頻段:Zigbee使用的是免費頻段,而許多數傳電臺所使用的頻段不僅需要申請,而且每年都需要向國家無委會交納相當的頻率使用費。

        5.價格低: Zigbee數傳模塊的價格只有具有類似功能的數傳電臺的幾分之一;(2.4G,250kps,3-5公里距離DSSS 數傳模塊每只不到200元人民幣)

        提供低成本,高可靠性的無線數傳互聯網平臺(包括軟件和硬件),以及相關技術支持,以滿足不同客戶的具體需要,就是我們的服務宗旨。

         

         

         

         

        學習Zstack1

        Zstack情況:

        本人采用的是TI的Zstack1.4.3協議,據說這個需要IAR7.30B及以上版本,而目前市面上又沒有破解,所以用的人很少,這也是我的機會!呵呵?。ㄉ敌τ悬c多,關鍵是WORD里沒有表情符號,不能正常表達我此時的心情!)

        正式開始:

        開始之前在說一句:從TI網站上下載的Zstack的方法就不介紹了。否則就是從-1開始了而不是從0開始了-----------------我是這么覺得的!

        第一步:安裝Zstack

        從TI官方網站上下載的Zstack為:swrc072c.zip,我想這個壓縮包大家都認識。解壓之后為:ZStack-CC2430-1.4.3.exe文件。這個安裝文件大家都會了。默認安裝路徑為:C:\Texas Instruments\ZStack-1.4.3。安裝之后在C:\Texas Instruments\ZStack-1.4.3目錄下有各PDF文檔為:Getting Started Guide CC2430.pdf,不用多說,這個肯定是要看的。既然把它放到這么前面,說明它是入門中的入門文檔。下面就簡單介紹下這個文檔:
        1、介紹了安裝ZStack-CC2430-1.4.3.exe需要的硬件軟件條件:需要電腦、操作系統為Windows 2000或 Windows XP。至于更高或更低版本的本人沒有嘗試。
        2、講了安裝流程。這個有點多余了,這年月哪個有電腦的沒有安裝上百上千次的軟件???但是需要強調的是安裝路徑----默認就好!
        3、接下來就是讓我們看的第一個文檔為:
        Start->Programs->Texas Instruments->ZStack-1.4.3->Z-Stack User’s Guide,
        既然讓我看我就來看看這個文檔??!

        第二步:Z-Stack 用戶指導

        這個文檔的更新時間為:2007年12月21日----應該還是比較新的版本。由于本人英文的卻有限,就不翻譯了,瀏覽一遍,把大概意思說下就可以了:
        1、介紹
        1.1、適用范圍
        本文檔適用于CC2430ZigBee開發板----CC2430ZDK。
        2、產品包描述(TI提供的CC2430ZDK工具包)
        2.1、安裝包內容
        這個就是上面提到的的ZStack-CC2430-1.4.3.exe安裝之后的所有內容了。說白了就是包含Zstack開發所需要的所有軟件和文檔資料等。
        2.2、開發板介紹
        兩塊 SmartRF04EB 評估版,每個都可以用于CC2430EM評估模塊。如圖1-1所示:
         

        個人認為要求已經相當低了,如果你的電腦沒有這配置,個人強烈建議馬上扔掉!不過如今筆記本電腦很少有串口的,所以建議使用臺式電腦,而且裝機的時候一定要把串口引出,否則就比較麻煩了!
        3.2、目標板需求

        其實也是開發環境需求--- IAR EW8051。目前需要的版本為7.30B及以上。要求還是比較高的,因為目前這個版本沒有破解的。但是在http://www.iar.com/上有30天評估版下載。這個版本使用一定要小心,因為如果30天之后僅僅是卸載IAR重新安裝是沒有用的,一般最笨的辦法是重新安裝操作系統。解決這個問題最好的辦法就是買正版,呵呵,我想絕大多數像我這樣的中國人都不會買的。除此之外最好的辦法就是破解,但是目前這個破解極少,都是需要收費的,而且都是國外網站才有,所以我們就只好期望中國的高人抓緊破解并公開了!當然其他解決辦法就相對來說很多了,比如安裝后弄個還原點什么的;或者安裝后我不停地使用(每天24小時),30天之后我覺得你也學會了,就不用IAR這個版本了,說不定就移植到低版本上去了;等等類似之法我覺得都可以的。本人采用的是本辦法中相對比較聰明的,也是一位高人告訴我的:裝個虛擬操作系統,在虛擬操作系統下時間可以隨時更改,讓它一直停留在某個時間,主要30天的試用就比較慢長了,只要你不要忘記改那時間。
        4、產品安裝過程
        4.1、安裝Z-Stack

        這個也就是安裝ZStack-CC2430-1.4.3.exe的過程。
        4.2、IAR安裝

        一般來說安裝選擇默認路徑,但是自定義路徑也不會出問題的。注意IAR版本7.30B及以上版本才可以運行1.4.3協議。
        4.3、設備IEEE地址

        每個 CC2430DB, CC2430EM,和 CC2431EM都已經排列了一個唯一的64位物理地址(IEEE地址),這個地址已經寫到了CC2430內部FLASH里面,在CC2430DB, CC2430EM,和 CC2431EM板的底部有這個地址標簽。

        這個地址被寫入到FLASH的0x1FFF8地址中,注意這個地址也可以更改的,通過些FLASH軟件,一般0xFFFFFFFFFFFFFFFF地址被認為是無效地址。
        5、配置并試用Z-Stack
        5.1、配置Z-Stack

        這個詳見5.3節。
        5.2、邏輯類型

        這里主要是介紹了ZIGBEE協議中的三種設備類型:
        ZigBee 協調者(ZC):這個設備被配置為初始化并建立一個PAN網絡
        ZigBee 路由器(ZR):該設備被配置為加入一個存在的網絡,可以加入一個協調求或路由器,然后允許其他設備加入它,在網絡中路有數據信息。
        ZigBee 終端節點 (ZED):該設備被配置為加入一個存在的網絡,可以加入一個協調求或路由器。
        5.3、建立樣品應用設備:SampleApp
        基本上就是采用SampleApp應用中的Demo例子來演示整個流程,就是采用一個協調器和一個或多個路由器來形成一個ZigBee網絡演示。在該例子中主要通過SmartRF04EB板上的某些跳線來完成設備類型的選型,當然這個方法在程序中是需要判斷哪個按鍵被拉低或拉高,對于做個設計的來說應該是相當好理解的。

        申明:由于本人很窮,所以沒錢買TI原裝開發包,當然也就沒有上面提到的硬件,本人采用的是某家公司(為了避免廣告,這里就不說明了)的硬件系統。
        5.4、建立一個SampleLight協調器設備

        至于提到的硬件連接這里一律省略。

        無疑:首先要打開對應工程,如圖1-4所示:
        圖1-4
        在工作窗口中選擇DemoEB,如圖1-5所示:
         
        圖1-5
        然后選擇工程菜單(Project)下的全部編譯(Rebuild All)選項,如圖1-6所示:
         
        圖1-6
        然后選擇工程菜單(Project)下的調試(Debug)選項,如圖1-7所示:
         
        圖1-7
        下載完之后就可以退出調試狀態,通過選中調試菜單下的停止調試選項,如圖1-8所示:
         

        圖1-8
        按照此種方法下載至少兩個CC2430EM模塊,就可以進行Demo演示了。
        6、 Z-Stack 示范

        至于詳細的示范流程,這里先不說了,因為本人采用的硬件與原裝有點差異,即使按照這個方法下載仍然不能演示,因為我這個不能用跳線來選擇設備類型。

        所以我必須進入程序把跳線判斷程序進行簡單必要的修改才能演示。

        該文檔介紹的演示結果及現象都是基于CHIPCON原廠評估板。

        7.PanID和通道(Channel)選擇

        ZigBee協議規范規定,一個14位的個域網標志符(PAN ID)來標識唯一的一個網絡。Z-Stack可以用兩種方式由用戶自己選擇其PAN ID,當ZDAPP_CONFIG_PAN_ID值設置不為0xFFFF時,那么設備建立或加入網絡的PAN ID由ZDAPP_CONFIG_PAN_ID指定;如果設置ZDAPP_CONFIG_PAN_ID為0xFFFF;那么設備就將建立或加入它發現網絡中的“最好”的網絡。關于這里提到的“最好”的網絡,我覺得可能是有些參數評估,只不過這里沒有詳細的介紹,在后續文檔中應該有介紹的。

        在2.4G頻段上,IEEE 802.15.4/ZIGBEE規范規定了16各頻道。用戶可以通過選擇DEFAULT_CHANLIST不同的值可以選擇不同的頻道,其頻道如圖1-9所示。改協議默認頻道為0xB及0x00000800。


        圖1-9
        DEFAULT_CHANLIST 和 ZDAPP_CONFIG_PAN_ID都作為IAR IDE中的編譯選項可以進行設置,在應用文件中的…\Projects\Tools\CC2430DB目錄下的f8wConfig.cfg文件中有相應設置,如圖1-10所示。

        圖1-10

         

         

         

         

         

         

         

         

         

         

        學習Zstack之2

        上節基本上初步認識了Zstack的一些情況,今天繼續我的學習,打開Sample例子看看,究竟ZIGBEE是怎么回事。

        毫無疑問:如果是第一次打開這個例子工程,肯定很迷糊,因為此時我迷糊了。對圖2-1我簡直是相當迷糊。
         
        圖2-1

        這么多文件夾,打開之后又有那么多文件,從何看起?不要著急,特別是有些人拿到之后,啥都不知道的人第一個問題就是:我要實現XXX,在哪修改或者在哪添加我的函數呢?凡是我遇到這樣的客戶,我就可以肯定他技術部咋的。就連我這個外行都知道,不把這些弄明白,就是實現XXX只需要修改一個字母,那也不知道在哪改???所以我不急,但是我也理解很多客戶,因為有時候項目催的比較急,畢竟老板都是外行嘛!

        兩條路:1就是先看主函數,2就是看看TI提供例子說明文檔沒有。

        我這里先看看主函數再說哈!因為我就知道從主函數看起.

        沒辦法大概每個文件夾找啊,主函數的特征還是比較明明顯的,見圖2-2所示:
         
        圖2-2
        下面把主函數復制過來簡單看下:
        ZSEG int main( void )
        {
        // Turn off interrupts------------關閉中斷
        osal_int_disable( INTS_ALL );
        // Initialize HAL-----------初始化HAL,關于HAL是什么我想后面會有介紹的。
        HAL_BOARD_INIT();
        // Make sure supply voltage is high enough to run----電壓檢測,最好是能保證芯片能正常工作的電壓
        zmain_vdd_check();
        // Initialize stack memory-------------初始化stack存儲區
        zmain_ram_init();
        // Initialize board I/O------------初始化板載IO
        InitBoard( OB_COLD );
        // Initialze HAL drivers-------------初始化HAL驅動
        HalDriverInit();
        // Initialize NV System--------------初始化NV系統,NV是什么后面我想也會有介紹的
        osal_nv_init( NULL );
        // Determine the extended address------------確定擴展地址(64位IEEE/物理地址)
        zmain_ext_addr();
        // Initialize basic NV items----------------初始化基本NV條目
        zgInit();
        // Initialize the MAC----------------初始化MAC
        ZMacInit();
        #ifndef NONWK
        // Since the AF isn't a task, call it's initialization routine
        afInit();
        #endif
        // Initialize the operating system----------初始化操作系統,看樣子這里面還有OS,麻煩了……..!
        osal_init_system();

        // Allow interrupts-------------允許中斷
        osal_int_enable( INTS_ALL );
        // Final board initialization------------------最后的版在初始化
        InitBoard( OB_READY );
        // Display information about this device---------------顯示設備信息
        zmain_dev_info();
        /* Display the device info on the LCD */------------液晶支持顯示
        #ifdef LCD_SUPPORTED
        zmain_lcd_init();
        #endif
        osal_start_system(); // No Return from here-------------------這里沒有返回,大概是進入OS了。
        } // main()

        可以看到基本上都是初始化函數,因為函數名稱都基本上帶了init字樣的,呵呵,個人覺得TI的變成習慣比我好,一看名稱就知道大概功能了。所以這里也奉勸各位像我這樣菜鳥級的初學者,一開始一定就要養成規范化編程的習慣,據說這樣維護以及以后升級或者移植兼容性都比較好。我就先不管各個初始化函數是怎么實現的,我先看看各個功能是什么,現掌握整體功能在細化,我覺得這樣的學習方法比較好,因為代碼是在太多了,從一開始就逐句看,我敢保證沒幾個人有耐心看完看明白!

        幸好每個初始化函數都有一句說明,雖然是英文的,但是理解起來一點都不難的。關于每個函數的功能我就直接寫在上面的程序里面,節省紙張哈!

        一句話:主函數的功能就是初始化!

        主函數看完了又開始模糊了,又從何看起呢?在無從下手之際,只有去尋求TI說明文檔的幫助了。上節不是漏掉了內容,是關于演示結果的,這里做上補充,怕因為缺調一點后面遇到什么不理解的就慘了!

        Sample例子演示演示現象:
        1、認識硬件------------按鍵和LED

        上節提到了EM和DB兩個板子,其硬件是不一樣的。按鍵EM就有5各SW1~SW5,而DB只有1各方向鍵,但是他們有個對應關系,如圖2-3所示.

        圖2-3

        LED數量和顏色也不一樣,EM有四個LED,如圖2-4;而DB只有兩個,如圖2-5。
        如圖2-4

        如圖2-5

        關于上面幾個圖2-4/5中出現的LEDx實際上是程序中出現的關鍵字。
        2、初始化64位IEEE地址

        實際上在主函數中有這么個初始化函數的:zmain_ext_addr()。這里說如果地址復位為0xFFFFFFFFFFFFFFFF的話,那么就會不停的閃爍LED1,一直等到按鍵SW5按下后程序才能繼續運行,意思就是說按下SW5后就把無效的地址初始化為有效地物理地址了,這個應該是程序上實現的,那么就來看看對應的程序zmain_ext_addr。
        /*********************************************************************
        * @fn   zmain_ext_addr
        * @brief   Makes extended address if none exists.確定擴展地址是有效的
        * @return  none
         *********************************************************************/
        static ZSEG void zmain_ext_addr( void )
        {
        uint8 i;
        uint8 led;
        uint8 tmp;
        uint8 *xad;
        uint16 AtoD;
        // Initialize extended address in NV初始化NV里的擴載地址
        osal_nv_item_init(ZCD_NV_EXTADDR,Z_EXTADDR_LEN, NULL );
        osal_nv_read( ZCD_NV_EXTADDR, 0, Z_EXTADDR_LEN, &aExtendedAddress );
        // Check for uninitialized value (erased EEPROM = 0xFF)檢查是否為無效值(地址)
        xad = (uint8*)&aExtendedAddress;
        for (i =0;i < Z_EXTADDR_LEN; i++ )
        if(*xad++ != 0xFF ) return;-----如果有一個字節不為0xFF,那么該地址有效返回
        #ifdef ZDO_COORDINATOR
        tmp = 0x10;
        #else
        tmp = 0x20;
        #endif
        // Initialize with a simple pattern----------------簡單初始化擴展地址
        xad = (uint8*)&aExtendedAddress;
        for ( i = 0; i < Z_EXTADDR_LEN; i++ )
        *xad++ = tmp++;
        // Flash LED1 until user hits SW5 ---------閃爍LED1直到SW5按下
        led = HAL_LED_MODE_OFF;
        while ( HAL_KEY_SW_5 != HalKeyRead() )---------------------SW5循環檢測
        {
        MicroWait( 62500 );
        HalLedSet( HAL_LED_1, led^=HAL_LED_MODE_ON );//Toggle the LED
        MicroWait( 62500 );
        }
        HalLedSet( HAL_LED_1, HAL_LED_MODE_OFF );
        // Plug AtoD data into lower bytes
        AtoD = HalAdcRead (HAL_ADC_CHANNEL_7, HAL_ADC_RESOLUTION_10);
        xad = (uint8*)&aExtendedAddress;
        *xad++ = LO_UINT16( AtoD );
        *xad = HI_UINT16( AtoD );
        #if !defined( ZTOOL_PORT ) || defined( ZPORT ) || defined( NV_RESTORE )
        // If no support for Z-Tool serial I/O,
        // Write temporary 64-bit address to NV些臨時的64位物理地址進入NV
        osal_nv_write( ZCD_NV_EXTADDR, 0, Z_EXTADDR_LEN, &aExtendedAddress );
        #endif
        }

        從程序中可以看出,一開始就檢測FLASH中的物理地址,因為這個地址在FLASH中是固定的存儲空間,一旦為有效地址就退出函數,一旦為無效地址(0xFFFFFFFFFFFFFFFF),那么就對其物理地址進行簡單的初始化并檢測SW5按鍵。還是比較好理解的!
        3、運行例子

        在這里提到了跳線,由于本人采用的非TI原裝硬件,沒有該跳線,所以必須對程序進行修改,否則檢測不到跳線,連ZIGBEE的設備類型都不能確定,肯定不能正常運行了。所以這里就先暫時不說了,這里要說的是一切都正常的情況下,例子的驗尸結果。小小跳躍一下。不然學習一直沒有進展很麻煩的!

        協調器:上電運行,地址檢測如上面介紹的情況,通過之后呢-------就進行通道掃描,此時LED1閃爍,一旦協調器成功建立網絡,此時LED1停止閃爍,而LED3被點亮。

        路由器:上電運行,仍然是地址檢測在前。之后就是通道掃描尋求是否又存在的網絡,此時LED1閃爍,一旦檢測到存在網絡并成功加入該網絡,LED1將停止閃爍,被替換的是LED3別點亮,也就表明路由器成功加入了網絡。

        那么此時能進行的操作控制是什么呢,也是最簡單的表現手法---按鍵無線控制LED:

        周期(5S)發送信息到網絡中每個設備

        SW1按下,發送一個信息到組1的設備

        SW2按下,退出/加入組1

        這個我是經過驗證的。如:

        按下協調器SW1,路由器的LED1狂閃幾下;按下路由器的SW1,那么協調器的LED1也就狂閃幾下;當然我是只有兩個節點。

        如果按1下協調器的SW2,在按下路由器的SW1,此時協調器就沒有反應,表明協調器已經退出組1;但是再按下協調器SW2在按路由器的SW1就與上一步類似了。路由器與此類似可以通過SW2退出/加入組1.

        終于把演示弄完了,接下來就來看看程序。在此之前還是來看看TI提供的Sample指導文檔。這個文檔個人覺得寫的不錯,要是沒看之前就看程序的卻很郁悶的!

        但是本人英文很差,所以需要慢慢看,等點時間放上來!

        Z-Stack3
        Sample Application
        分析(上)

        1、Z-Stack CC2430DB and CC2430EB Sample Application
        1.1、介紹

        該文檔時介紹TI協議入門的一個例子SampleApp的,適用EM和DB開發板。
        1.1.1、描述

        這個例子是非常簡單的演示,每個設備都可以發送和接收兩個信息

        周期信息-----加入該網絡的所有設備每隔10S(可能會加上一個隨機數的mS)都發送一個周期信息,該信息的數據載荷為發送信息次數的計數。

        閃爍控制信息---------通過按下SW1可以發送一個控制燈閃爍的廣播信息,該廣播信息只針對組1的所有設備。

        所有設備初始化為加入組1,所以網絡一旦成功建立/加入就可以進行閃爍控制。可以通過按下設備的SW2退出組1,所以可以通過退出組1可以不接受閃燈信息。通過按下SW2也可以讓不在組1的設備加入近組1,從而又可以接受閃燈信息了。

        這個理解應該不困難的,反正我理解沒有什么障礙!
        1.1.1.1、按鍵

        SW1:發送閃爍信息到組1所有設備

        SW2:轉換推出/加入組1狀態
        1.1.2、用戶應用開發

        這里我基本上能看明白是什么,但是我不打算寫出來,因為涉及到一些ZIGBEE的關鍵術語,不是很明白。

        大概就是簡單介紹了下用戶怎么利用例子做自己的應用,但是實用價值不高,說的太籠統,全是概念性的說明。
        1.2、OSAL任務
        1.2.1、初始化

        因為Z-Stack是在OS下運行的,所以在之前必須調用osalAddTasks()初始化任務。
        1.2.2、組織

        關于OS的API函數介紹請看文檔:Z-Stack OSAL API (F8W-2003-0002),應該說協議棧的每層或者說每部分都有相關的API說明文檔。osalAddTasks()初始化任務,osalTaskAdd()函數添加任務,都可以到API文檔或程序中詳細分析函數功能。
        1.2.3、系統服務

        OSAL和APL系統服務是唯一的,因為比如按鍵和串口類似事件處罰就只能用唯一的一個任務標識。這兩個硬件都留給了用戶自己定義使用。
        1.2.4、應用設計

        用戶可能為每一個應用對象都創建一個任務,或者為所有的應用對象只創建一個任務。當選擇上述的設計的時候,下面是一些設計思路:
        1.2.4.1、為許多應用對象創建一個OSAL任務

        下面是正面和反面(pros & cons)的一些敘述:

        - Pro:接受一個互斥任務事件(開關按下或串口)時,動作是單一的。

        - Pro:需要堆??臻g保存一些OSAL任務結構。

        - Con:接收一個AF信息或一個AF數據確認時,動作是復雜的-----在一個用戶任務上,分支多路處理應用對象的信息事件。

        - Con:通過匹配描述符(如:自動匹配)去發現服務的處理過程更復雜-----為了適當的對ZDO_NEW_DSTADDR信息起作用,一個靜態標志必須被維持。
        1.2.4.2、為一個應用對象創建一個OSAL任務

        一對一設計的反面和正面(pros & cons)是與上面一對多設計相反的:

        - Pro:在應用對象試圖自動匹配時,僅僅一個ZDO_NEW_DSTADDR被接收。

        - Pro:已經被協議棧下層多元處理后的一個AF輸入信息或一個AF數據確認。

        - Con:需要堆棧空間保存一些OSAL任務結構。

        - Con:如果兩個或更多應用對象用同一個唯一的資源,接收一個互斥任務事件的動作就更復雜。
        1.2.5、強制方法

        任何一個OSAL任務必須用兩種方法執行:一個是初始化,另一個是處理任務事件。
        1.2.5.1、任務初始化

        在例子中調用如下函數執行任務初始化:

        “Application Name”_Init(如SAPI_Init)。該任務初始化函數應該完成如下功能:

        變量或相應應用對象特征初始化,為了使OSAL內存管理更有效,在這里應該分配永久堆棧存儲區。

        在AF層登記相應應用對象(如:afRegister())。

        登記可用的OSAL或HAL系統服務(如:RegisterForKeys())
        1.2.5.2、任務事件處理

        調用如下函數處理任務事件:

        “Application Name”_ProcessEvent (e.g. SAPI_ProcessEvent()).除了強制的事件之外,任一OSAL任務能被定義多達15個任務事件。
        1.2.6、強制事件

        一個任務事件SYS_EVENT_MSG (0x8000), 被保留必須通過OSAL任務設計。
        2.2.6.1、SYS_EVENT_MSG (0x8000)

        任務事件管理者應該處理如下的系統信息子集,下面只列出了部分信息,但是是最常用的幾個信息處理,推薦根據例子復制到自己項目中使用。
        1.2.6.1.1、AF_DATA_CONFIRM_CMD

        調用AF_DataRequest()函數數據請求成功的指示。Zsuccess確認數據請求傳輸成功,如果數據請求設置AF_ACK_REQUEST標志位,那么,只有最終目的地址成功接收后,Zsuccess確認才返回。如果如果數據請求沒有設置AF_ACK_REQUEST標志位,那么,數據請求只要成功傳輸到下跳節點就返回Zsuccess確認信息。
        1.2.6.1.2、AF_INCOMING_MSG_CMD

        AF信息輸入指示
        1.2.6.1.3、KEY_CHANGE

        鍵盤動作指示
        1.2.6.1.4、ZDO_NEW_DSTADDR

        匹配描述符請求(Match Deor Request)響應指示。(例如:自動匹配)
        1.2.6.1.5、ZDO_STATE_CHANGE

        網絡狀態改變指示
        1.3、網絡格式化

        示例應用程序編譯為協調器的在default_chanlist指定的通道上形成一個網絡,協調器將建立一個隨機編號源于自身的IEEE地址或由zdapp_config_pan_id指定的網絡PAN ID(如果zdapp_config_pan_id不為0xFFFF)。

        示例應用程序編譯為路由器或結束設備的將嘗試加入網絡在default_chanlist指定的通道上,如果zdapp_config_pan_id沒有定義為0 xFFFF ,路由器將受到限制,只有加入參數zdapp_config_pan_id規定的網絡PAN ID。
        1.3.1、自動啟動

        設備自動開始嘗試組建或加入網絡。如果設備設置為等待計時器或其他外部事件發生后才啟動,那么HOLD_AUTO_START必須被定義。為了稍后以手動啟動方式啟動設備,那么需要調用ZDApp_StartUpFromApp(函數

        1.3.2、軟件啟動

        為了在形成網絡過程中節省所需的設備類型,那么所有的路由器設備可以被通過soft_star定義作為一個協調器。如果自動啟動是需要的話,那么auto_soft_start必須被定義。
        1.3.3、網絡恢復

        通過設置NV_RESTORE和/或NV_INIT,可以讓設備斷電或者意外掉電重新啟動后重新回復網絡。
        1.3.4、加入通告

        當設備形成或加入網絡后會發通報到ZDO_STATE_CHANGE信息事件。

         

        Z-Stack4
        Sample Application
        分析(下)

        上節介紹了建立一個應用需要做的幾個必須的事情,現在就來通過分析Sample Application來具體看看需要做哪些事情,才能建立一個ZIGBEE應用功能。當然這里只是做點簡單的必須的工作。
        The Sample Application (SampleApp)
        1、介紹

        主要是介紹一個應用建立的結構及需要進行的程序流程。
        1.1、程序流程
        1.1.1、初始化

        首先需要調用初始化函數SampleApp_Init()。

        SampleApp_TaskID = task_id;

        初始化應用建立的任務ID號,其實用過OS的人都應該曉得這個是干啥的,我沒用過,不是很理解,但是我知道是必須的,就相當于一個任務的標識,這樣才能區分運行過程中不同任務中的不同事件。我是這么認為的,ID說白了就是給該任務取了各名字,就向人名字一樣,區分不同的人,就是一個代號。人名可以重復,重復了有時候叫起來就容易混淆;所以才程序中為了避免這種混淆,就強制性的規定任務ID不能重復。要是哪天國家或者聯合國姓名管理委員會規定,人民不能重復,那么這個人名就需要全球統一管理了。那給娃取個名字就要向聯合國姓名管理委員會申請了。呵呵!

        SampleApp_NwkState = DEV_INIT;

        初始化應用設備的網絡狀態。怎么說呢,據說是設備類型的改變都要產生一個事件,叫ZDO_STATE_CHANGE,從字面理解為ZDO狀態發生了改變。所以在設備初始化的時候一定要把它初始化為什么狀態都沒有。那么它就要去檢測整個環境,看是否能重新建立或者加入存在的網絡。但是有一種情況例外,就是當NV_RESTORE被設置的時候(NV_RESTORE是把信息保存在非易失存儲器中),那么當設備斷電或者某種意外重啟時,由于網絡狀態存儲在非易失存儲器中,那么此時就只需要恢復其網絡狀態,而不需要重新建立或者加入網絡了。我也是從文檔中這么理解的,至于為什么只有有待進一步考證。

        SampleApp_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent;

        SampleApp_DstAddr.endPoint = 0;

        SampleApp_DstAddr.addr.shortAddr = 0;

        看見這幾句話從字面理解為:初始化不標設備地址模式及目標設備EP號和網絡地址。從代碼可以看出,這些地址或EP均為0。也就是說目標設備為協調者的ZDO,這個意義就很明顯了,就是設備建立后可以直接與協調器的ZDO交互信息。
        SampleApp_epDesc.endPoint = SAMPLEAPP_ENDPOINT;
        ----- SampleApp EP描述符的EP號
        SampleApp_epDesc.task_id = &SampleApp_TaskID;------ SampleApp EP描述符的任務ID
        SampleApp_epDesc.simpleDesc =------------------ SampleApp EP簡單描述符
        SimpleDeionFormat_t *)&SampleApp_SimpleDesc;
        SampleApp_epDesc.latencyReq = noLatencyReqs;
        //在AF層中登記注冊改應用EP
        afRegister( &SampleApp_epDesc );

        這里其實是對SampleApp的EP描述符進行初始化。

        本人理解:要對改應用進行初始化并在AF進行登記,告訴應用層有這么一個EP已經可以使用,那么下層要是有關于改應用的信息或者應用要對下層做哪些操作,就自動得到下層的配合,至于這個配合是怎么回事,那么就需要好好研究下層的協議了。當然在這里肯定是沒那時間精力和能力研究了!

        其實在這個應用中,只是讓AF配合SAMPLEAPP_PROFID / SAMPLEAPP_ENDPOINT這兩個應用。那么通過什么呢,通過發送OSAL SYS_EVENT_MSG消息中的(AF_INCOMING_MSG_CMD)事件到SampleApp任務ID。

        RegisterForKeys( SampleApp_TaskID );

        登記按鍵事件到SampleApp_TaskID,在前面已經說了按鍵這個是唯一的,也就是所有任務中有且只有各任務能登記鍵盤事件。前面還說了還有一個也是唯一,你猜是什么?

        SampleApp_Group.ID = 0x0001;

        osal_memcpy( SampleApp_Group.name, “Group1”);

        aps_AddGroup( SAMPLEAPP_ENDPOINT, &SampleApp_Group );

        閃燈信息被發送到組1,同樣也只有在組1的設備才能接收這個信息。設備啟動時已經被設定為組1設備了,但是可以通過按SW1推出/加入組1。這里提到了組的概念,我反正暫時不是很清楚這個是什么東西,在程序中怎么實現也很模糊,但是應用中的好處還是不難想象的,不外呼是就是想控制誰可以事先規定好,還可以動態更改。
        1.2、事件處理

        玩過OS的人都知道,OS中最重要的概念不外呼就是任務啦,消息啦,事件啦等。從我們自己平時的工作中也不難想象,如果老板安排了某項工作,那么我們就需要做的,這個工作可能是預先計劃好的,也有可能是臨時的,那么這些預先定好或者臨時的工作可以稱之為事件。而老板讓您做的方式,比如通過文件下達,或者叫:某某你把XXX做下。那么讓老板下達的文件內容或者說的內容我這里可以稱之為消息。老板給了你不同的消息那么就需要干不同的事件,至于任務可以理解為公司的不同的員工,呵呵!我簡直是理解的天才,這樣舉例居然也能忽悠通過?。?!o(∩_∩)o…哈哈

        在Z-Stack中,每個應用任務都通過SampleApp_ProcessEvent()函數來處理任務中的事件。一旦SampleApp_TaskID任務的某個OSAL事件發生,那么就可以通過調用SampleApp_ProcessEvent()函數來處理。在SampleApp_ProcessEvent()中有一個事件處理循環,循環檢測是哪個事件發生。
        if ( events & SYS_EVENT_MSG )
        {
        MSGpkt = (afIncomingMSGPacket_t*)osal_msg_receive( SampleApp_TaskID );
        while ( MSGpkt )
        {

        可以看到是通過檢測SYS_EVENT_MSG是否有事件信息發生。

        switch ( MSGpkt->hdr.event )

        這里是判斷SYS_EVENT_MSG事件類型,不同的SYS_EVENT_MSG類型需要不同的處理。
        case KEY_CHANGE:
        SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state,
        ((keyChange_t *)MSGpkt)->keys );
        break;

        比如這里判斷是否是鍵盤事件,如果鍵盤事件就調用鍵盤處理函數。

        如果一個OSAL任務已經被登記組側,那么任何鍵盤事件都將接受一個KEY_CHANGE事件信息??赡苡腥缦聨追N方式得到鍵盤事件信息

        1)、HAL檢測到鍵盤按下(中斷或者查詢檢測)

        2)、HAL的OSAL任務檢測到一個鍵盤狀態改變調用回叫函數產生

        3)、OSAL鍵盤改變回叫函數發送一個OSAL系統事件信息(KEY_CHANGE)。

        case AF_DATA_CONFIRM_CMD:
        // The status is of ZStatus_t type [defined in ZComDef.h]
        // The message fields are defined in AF.h
        afDataConfirm = (afDataConfirm_t *)MSGpkt;
        sentEP = afDataConfirm->endpoint;
        sentStatus = afDataConfirm->hdr.status;
        sentTransID = afDataConfirm->transID;
        任何AF_DataRequest()數據請求函數調用后,都通過AF_DATA_CONFIRM_CMD系統事件信息回叫返回成功Zsuccess。
        case ZDO_STATE_CHANGE:
        SampleApp_NwkState = (devStates_t)(MSGpkt->hdr.status);
        if ( (SampleApp_NwkState == DEV_ZB_COORD)
        ||(SampleApp_NwkState == DEV_ROUTER)
        ||(SampleApp_NwkState == DEV_END_DEVICE) )
        {
        // Update the LCD’s network indicator
        // Start sending "the" message in a regular interval.
        osal_start_timer( SAMPLEAPP_SEND_PERIODIC_MSG_EVT,
        SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT );
        }
        break;

        這里就是前面介紹的設備狀態改變事件處理了。

        只要網絡狀態發生改變,那么通過ZDO_STATE_CHANGE事件通知所有的任務。注意:在這個例子中,一旦設備成功加入網絡,是通過定時運行的方式運行的。一旦網絡狀態為加入”JOINED”,那么它可能不需要任何的認為操作就能綁定其他設備,因為設置為自動發現并綁定的。
        // Release the memory
        osal_msg_deallocate( (uint8 *)MSGpkt );
        釋放存儲空間。
        if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT )
        {
        // Send "the" message
        SampleApp_SendPeriodicMessage();
        // Setup to send message again
        osal_start_timer( SAMPLEAPP_SEND_PERIODIC_MSG_EVT,
        SAMPLEAPP_SEND_MSG_TIMEOUT );
        // return unprocessed events
        return (events ^ SAMPLEAPP_SEND_PERIODIC_MSG_EVT);
        }
        這里檢測事件是否為周期發送信息事件。

        在SampleApp.h中定義了:

        #define SAMPLEAPP_SEND_PERIODIC_MSG_EVT 0x0001
        在這個應用中,調用了osal_start_timer()函數來定時產生發送周期信息事件。而定時器的運行是設備一旦加入網絡就不停的在運行。從上面可以看到,用函數SampleApp_SendPeriodicMessage()發送周期信息,而用函數osal_start_timer( SAMPLEAPP_SEND_PERIODIC_MSG_EVT,SAMPLEAPP_SEND_MSG_TIMEOUT )來繼續運行定時器定時發送這個周期信息。關于這個osal_start_timer可以多了解下,第一個參數SAMPLEAPP_SEND_PERIODIC_MSG_EVT四信息時間,也就是事件到了產生一個什么事件。第二各參數SAMPLEAPP_SEND_MSG_TIMEOUT是需要定時的時間,這里就是發送周期信息的時間周期。
        1.3、消息流程

        通過OSAL定時器,這個應用定時發送一個周期信息:
        void SampleApp_SendPeriodicMessage( void )
        {
        afAddrType_t dstAddr;
        dstAddr. addrMode = afAddrBroadcast;
        dstAddr.addr.shortAddr = 0xFFFF; // 廣播發送
        dstAddr. endpoint = SAMPLEAPP_ENDPOINT;
        if ( AF_DataRequest( & dstAddr, &SampleApp_epDesc,
        SAMPLEAPP_PERIODIC_CLUSTERID,
        (uint8)sampleAppPeriodicCounter++,
        (uint8 *)&sampleAppPeriodCounter,
        &SampleApp_TransID,
        AF_DISCV_ROUTE,
        AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
        {
        // Successfully requested to be sent.----發送成功處理
        }
        else
        {
        // Error occurred in request to send.---發送失敗處理
        }
        }

        在這里調用了AF_DataRequest()函數用來發送數據。關于發送數據的具體過程這里就不做深入研究,不外乎就是把數據從應用層傳到網絡層,在傳到MAC,在傳到無力層,最后通過OTA發送出去。接收數據就是相反的過程了,那么接收之后,在應用層有什么反應呢,最直觀的反應就是會發送一個AF_INCOMING_MSG_CMD消息事件。
        case AF_INCOMING_MSG_CMD:
        SampleApp_MessageMSGCB( MSGpkt );
        break;
        這里表示收到某個信息,然后在里面調用了收到信息的信息處理函數SampleApp_MessageMSGCB( MSGpkt )。
        void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
        {
        switch ( pkt->clusterId )
        {
        case SAMPLEAPP_PERIODIC_CLUSTERID:
        // Display and increment a counter on the LCD in the periodic space
        break;
        case SAMPLEAPP_FLASH_CLUSTERID:
        flashTime = BUILD_UINT16(pkt->cmd.Data[1], pkt->cmd.Data[2] );
        HalLedBlink( HAL_LED_4, 4, 50, (flashTime / 4) );
        break;
        }
        }

        這里判斷了兩種信息:

        周期信息

        閃燈信息

        不同的信息就相當于收到了不同的命令,然后根據不同的命令做出了不同的處理。是個會寫程序都明白?。。?!

        到這里,我就基本上把這個應用文檔看完了,至于理解了多少我迷糊,理解正確了多少我更加迷糊,反正我按照我自己的方式理解了!

         

        Z-Stack5

        前面雖然寫了不少,但是回頭看看大多都是廢話,不過也沒辦法,沒有廢話的潤色就太枯燥了,太技術化了,這個不是我的本意。不知道前面寫的怎么樣,技術含量肯定是不高的。這個本人是相當清楚,但是我最大的期望就是錯誤不要太多!

        突然想起來前面有個問題沒有解決,我想很多人看到那里都很郁悶的。就是設備類型的選擇,在TI原裝系統上是通過板載跳線來選擇的,但是我這里不是采用原裝,那么就需要通過程序來修改其設備類型,然后編譯下載。具體程序段如下:
        #if defined ( SOFT_START )
        if ( readCoordinatorJumper() )
         zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;
        else
         zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;
        #endif // SOFT_START
        這里有個條件編譯,其條件編譯設置如圖5-1。
         
        圖5-1
        既然這里設置了SOFT_START,那么上段程序就要被編譯。那么第一句程序
        if ( readCoordinatorJumper() )
        就是檢測跳線,其實稍微知道編程的都了解怎么修改了,哈哈!
        屏蔽:
        if ( readCoordinatorJumper() )
          zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;
        else

        這3句,那么就只剩下:zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;了

        那么編譯自然該設備就為路由器了。簡單吧?。。。???!

        協調器我就不想多說怎么做了哈?。。。。。。。。。。。?/span>

        還有一個問題需要說下,就是Ti原裝的EM板子用到了LCD,所以在程序中可能在某個地方要對LCD初始化,那么如果沒有液晶的板子或者與TI那個不完全一樣的LCD就有可能運行不走,通俗的解決辦法是禁止LCD初始化等操作,Ti在這個方面做的很人性化,禁止LCD功能沒有必要在程序中找到LCD相關程序刪除,而是僅僅需要通過條件編譯來禁止。顯得相當簡單,如5-2圖就是禁止LCD的條件編譯。
         
        圖5-2

        解決這個問題后一般都能夠運行程序了。也就是說到這里如果還把Demo程序運行不起來的話,那就證明我所有的東西都白寫了,反正我到這里我的Demo程序已經運行如飛了。

        那么接下來就是來看看Z-Stack具體的一些東西了,我打算先這樣看起:

        1、Z-Stack的結構,因為打開Z-Stack的目錄可以看出還是比較復雜的,只有比較清楚了解其結構之后呢,在程序運行或者修改中才能順利的找到自己想要的部分。

        2、Z-Stack的應用建立。就是怎么在TI提供的協議(裸協議)上建立一個應用。這個層次要求就比較高了,我初步的設想是希望能分析完SAMPLE例子的應用就能自己建立,而不需要太多的去了解下層的協議。但是往往希望與現實是有偏差的,走一步算一步了。

        3、了解硬件相關設定、驅動。也就是說把例子跑通了,畢竟是基于TI的硬件,或者說基于開發系統的硬件,如果要做自己的應用,那么必須要開發自己的硬件。怎么把自己的硬件驅動加入協議,這個我想也是需要解決的問題。

        4、接下來可能就要深入分析協議了,這個目前我還不清楚從什么地方看起,因為畢竟對ZIGBEE這個協議本身就不太了解,但是在學習過程中應該會慢慢對它有認識。所以到了這一步的時候說不定我就已經摸索出一條方法了---畢竟俺是相當的聰明嘛!

        5、需要解決的問題,需要了解的東西很多,對于不太了解這個東西的我來說,不可能非常有計劃并統籌安排這些事,走彎路是必然的,但是我一致認為走彎路才是經驗的積累!

        學習Z-Stack6
        --------------Z-Stack指導

        首先來看看Z-Stack的結構。

        第一次打開工程印象最深刻的就是左邊一排文件夾,如圖6-1所示。
         
        其實這個還是很容易理解的:

        APPApplication Programming):應用層目錄,這是用戶創建各種不同工程的區域,在這個目錄中包含了應用層的內容和這個項目的主要內容,在協議棧里面一般是以操作系統的任務實現的。

        HALHardware (H/W) Abstraction Layer):硬件層目錄,包含有與硬件相關的配置和驅動及操作函數。

        MACMAC 層目錄,包含了MAC 層的參數配置文件及其MAC LIB 庫的函數接口文件。

        MTMonitor Test):實現通過串口可控各層,于各層進行直接交互。

        NWKZigBee Network Layer):網絡層目錄,含網絡層配置參數文件及網絡層庫的函數接口文件,APS層庫的函數接口

        OSALOperating System (OS) Abstraction Layer):協議棧的操作系統。

        ProfileAFApplication work)層目錄,包含AF層處理函數文件。

        Security:安全層目錄,安全層處理函數,比如加密函數等。

        Services:地址處理函數目錄,包括著地址模式的定義及地址處理函數。

        Tools:工程配置目錄,包括空間劃分及ZStack 相關配置信息。

        ZDOZigBee Device Objects):ZDO 目錄。

        ZMac MAC 層目錄,包括MAC 層參數配置及MAC LIB 庫函數回調處理函數。

        ZMain:主函數目錄,包括入口函數及硬件配置文件。

        Output:輸出文件目錄,這個EW8051 IDE 自動生成的。

        那么知道各個文件夾大概是什么功能,分布在ZIGBEE的哪一層,那么在以后的工作中無論是查詢某些功能函數還是修改某些功能函數,甚至是添加或刪除某些功能函數就能順利的找到在什么地方了,當然要想真的順利還需要花更多的時間熟悉這個協議棧了!

        了解Z-Stack結構后那么就能看看它的功能。

        不用問,這個是針對ZIGBEE無線網絡寫的協議棧,呵呵!那么就要先大概了解下ZIGBEE這個技術。我這里就不介紹理論了,就從Z-Stack實際的角度介紹些實用的概念。
        1、Zigbee網絡中的節點

        ZB網絡中,每個節點都有指定的配置參數,從而確定其設備類型,不同的設備類型,在網絡中有著不一樣網絡任務。在屬于多跳網絡的ZB網絡中,兩個節點需要完成數據傳輸,可能需要經過其他中間節點的協助,所以節點的類型參數配置是非常必要的。
        對每個節點有兩個任務:
        i)執行指定的網絡功能函數
        ii)配置確定的參數到指定的值。
        網絡功能的設置確定了該節點的類型,參數配置和指定的值確定了堆棧的模式。
        節點類型

        ZB中,設備類型分為三類:協調器,路由器和終端設備。

        6-2就是這三種設備類型組成的一個典型網絡。


        其中黑色節點為協調器
        紅色節點為路由器
        白色節點為終端設備
        那么這個就是一個典型的網狀網絡MESH

        協調器

        協調器是一個ZB網絡的第一個開始的設備,或者是一個ZB網絡的啟動或建立網絡的設備。協調器節點選擇一個信道和網絡標志符(也叫PAN ID),然后開始建立一個網絡。協調器設備在網絡中還可以有其他作用,比如建立安全機制、網絡中的綁定的建立等等。
        注意:協調器主要的作用是建立一個網絡和配置該網絡的性質參數。一旦這些完成,該協調器就如同一個路由器,網絡中的其他操作并不依賴該協調器,因為ZB是分布式網絡。
        路由器

        一個路由器的功能有(1)作為普通設備加入網絡(2)多跳路由(3)輔助其它的子節點完成通信。

        一般來說,路由器需要一直處于工作狀態,所以需要主干線供電(區別于電池供電)。但是在某指定的網絡結構中可以采用電池供電,如串樹型網絡模式中,允許路由器周期的運行操作,所以可以采用電池供電。
        終端設備

        為了維持網絡最基本的運行,對于終端設備沒有指定的責任。也就是說,在一個基本網絡中,終端設備沒有必不可缺少性。所以它可以根據自己功能需要休眠或喚醒,因此為電池供電設備。一般來說,該設備需要的內存較少(特別是內部RAM
        堆棧模式(Stack Profile

        需要被配置為指定值的堆棧參數,連同這些值被稱為堆棧模式。這些堆棧模式參數被ZB聯盟定義指定。在同一個網絡中的設備必須符合同一個堆棧模式(同一個網絡中所有設備的堆棧模式配置參數必須一致)。

        為了互操作性,ZB聯盟為06協議棧定義了一個堆棧模式,所有的設備只要遵循該模式的參數配置,即使在不同廠商買的不同設備同樣可以形成網絡。

        如果應用開發者改變了這些參數配置,那么他的產品將不能與遵循ZB聯盟定義模式的產品組成網絡,也就是說該開發者開發的產品具有特殊性,我們稱之為關閉的網絡,也就是說它的設備只有在自己的產品中使用,不能與其他產品通信。

        該協議模式標志符在設備通信的信標傳輸中被匹配,如果不匹配,那么該設備將不能加入網絡。關閉網絡的堆棧模式有一個0ID,而06協議棧模式有一個1ID。該堆棧模式被配置在nwk_globals.h文件中的STACK_PROFILE_ID參數。如:

        #define STACK_PROFILE_ID   HOME_CONTROLS。
        2、Zigbee網絡中的地址
        地址類型

        ZB設備有兩種地址類型,一個是64IEEE地址(也可以叫MAC地址或擴展地址),一個是16位網絡地址(也可以叫邏輯地址或短地址)。

        64位地址是全球唯一的,作為設備(產品)的終生地址被分配。它通常被開發商或安裝的時候被指定。該地址由IEEE分配指定,該地址的信息和獲得該地址的方法見:http://standards.ieee.org/regauth/oui/index.shtml

        16位地址在設備加入網絡的時候被分配,由這個網絡自動分配。該地址只能用與本網絡中,標志不同的設備間傳遞信息。
        網絡地址分配

        ZB分布式網絡中地址分配是唯一的。為了不使網絡中設備混亂,為每個設備指定確定的地址是非常必要的。

        在分配地址之前,一些參數必須被設置:MAX_DEPTH, MAX_ROUTERS MAX_CHILDREN 。

        這些參數都是ZB協議模式的一部分,在06ZS模式中這些參數設置為: (MAX_DEPTH = 5, MAX_CHILDREN = 20, MAX_ROUTERS = 6).
        參數設置

        MAX_DEPTH決定了網絡的最大深度。協調器的深度是0,它的子設備的深度是1,他們的子設備的深度是2,依次類推。所以MAX_DEPTH參數限制了網絡物理上的長度

        MAX_CHILDREN參數決定了一個路由器(或一個協調器)能承載子設備的最大數目。

        MAX_ROUTERS參數決定了一個路由器(或一個協調器)能承載路由器的最大數目。這個參數實際上是MAX_CHILDREN參數的一個子集,剩下的(MAX_CHILDREN-MAX_ROUTERS)地址空間屬于終端設備。
        開發者自定義

        如果開發者想改變這些值,那么需要做如下幾步:

        首先得保證這些參數新的值是合法的。既然整個地址空間被限制在2-16內,那么這些參數的大小就已經有了限制。分布在release(在文件夾Projects\zstack\Tools中)的Cskip.xls文件能校驗這些參數是否合法。在鍵入這些參數的值后大概這個電子表格,如果非法,一個錯誤信息將給出。

        之后選擇合法的值,開發者需要確保不使用標準的協議棧模式,而用指定的協議棧模式代替(用NETWORK_SPECIFIC替換STACK_PROFILE_ID當前的值)。然后在“nwk_globals.h”文件中的MAX_DEPTH參數根據需要設置為適當的值。

        另外,nwk_globals.c文件中排列的CskipChldrnCskipRtrs必須被設置,這些排列是
        z-stack中的尋址

        為了在網絡中發送數據到一個設備,應用層一般用AF_DataRequest()函數。而被發送的目的設備的地址類型afAddrType_t被定義在“ZComDef.h”中:
        typedef struct
        {
        union
        {
        uint16   shortAddr;
        ZLongAddr_t extAddr;
        } addr;
        byte addrMode;
        } zAddrType_t;
        地址模式參數
        注意:除這個網絡地址之外,地址模式參數也需要被指定。目的地址模式可能是如下值之一(AF地址模式被定義在“AF.h”中):
        typedef enum
        {
         afAddrNotPresent = AddrNotPresent,
         afAddr16Bit = Addr16Bit,
         afAddrGroup = AddrGroup,
         afAddrBroadcast = AddrBroadcast
        } afAddrMode_t;

        地址模式參數是需要的,因為在ZB中,數據包能被點傳輸、多點傳輸或者廣播傳輸。點傳輸被發送到單個設備,多點傳輸一定發送到一組設備,廣播傳輸一般被發送到網絡中的所有設備。如下是更詳細的說明。
        點到傳輸 Unicast

        這是標準地址模式,被用于發送一個數據包到網絡中單個已知地址的設備。這個addrMode參數被設置為Addr16Bit,目的網絡地址在數據包中一同被發送。
        間接尋址

        數據包中的最終目的地址不識別的時候使用。該模式被AddrNotPresent設置,而且目的地址沒有被指定。代替目的地址的是:一個存儲在發送設備協議棧的綁定表格,該表格中有被綁定設備的地址。這個特性被調用是源于綁定。(看后面關于綁定部分)
        當被發送的信息包下載到協議棧時,從這個綁定表格中尋找使用的目的地址。然后該信息包被有規則的處理為點對點數據包。如果有多個(大于1)目的地址在綁定表格中被發現,那么該數據包將被拷貝成對應的份數分別發送給他們。

        (ZigBee04)版本之前,在協調器中有一個存儲綁定表格的選項。因此,發送設備發送數據包到這個協調器,然后協調器在它的綁定表格中查找最終的目的地址,對數據包進行在一次發送。該選項特性在協調器綁定被調用
        廣播傳輸

        該模式在應用層想發送一個數據包到所有網絡中的所有設備時被使用。該地址模式被AddrBroadcast被設置,目的地址被設置為下列值之一:
        NWK_BROADCAST_SHORTADDR_DEVALL (0xFFFF)-
        信息將被發送到網絡中的所有設備(包括休眠的設備)。對于休眠的設備,這個信息將被保持在它的父節點,直到該休眠設備獲得該信息或者該信息時間溢出(在f8wConfig.cfg 中的NWK_INDIRECT_MSG_TIMEOUT選項)。
        NWK_BROADCAST_SHORTADDR_DEVRXON (0xFFFD) –
        該信息將被發送到網絡中有接收器并處于IDLE(RXONWHENIDLE)狀態下的所有設備。也就是說,除了休眠模式設備的所有設備。
        NWK_BROADCAST_SHORTADDR_DEVZCZR (0xFFFC) –
        該信息被發送到所有路由器(包括協調器)。
        組地址

        該模式用于應用層想發送一個數據包到一個設備組的時候。該地址模式被afAddrGroup設置這個組標志符。

        用該特性之前,在網絡中,組不得不被定義[ZStack API文檔中的] aps_AddGroup()
        注意:組能與間接尋址一起結合使用。該目的地址在綁定表格中發現,可以作為點對點或一個組地址。也要注意廣播地址可以當作是組被提前設置,一個簡單的組尋址的特例,。
        例子代碼對于一個設備添加它自己到一個組標志符1
        aps_Group_t group;
        // Assign yourself to group 1
        group.ID = 0x0001;
        group.name[0] = 0; // This could be a human readable string
        aps_AddGroup( SAMPLEAPP_ENDPOINT, &group );
        重要設備地址

        一個應用可以能想知道它自身和父節點的地址,用下面的函數可以得到設備的地址(被定義在ZStack API文檔中):
        NLME_GetShortAddr() –
        返回該設備的 16 位網絡地址
         NLME_GetExtAddr() –
        返回該設備的64 位擴展地址.
        用下面的函數可以得到該設備的父節點的地址(被定義在ZStack API文檔中)。注意該函數在協調器中不被涉及到,但是被設備父節點代替(MAC協調器):
         NLME_GetCoordShortAddr() – returns this device’s parent’s 16 bit short address.
          NLME_GetCoordExtAddr() – returns this device’s parent’s 64 bit extended address.
        先介紹這兩個概念:節點和地址。其余的就改天繼續!

        學習Z-Stack7
        --------------Z-Stack
        指導2

        上節介紹了很大一部分Z-Stack的基礎知識,這里接著忽悠。雖然說的不是很專業也不是很通俗,但是我盡力了,希望有人能看明白!本人英文水平有限,翻譯的不好請諒解!
        3、綁定

        綁定是控制信息從一個應用層到另一個應用層流動的一種機制。在ZB06版本中,綁定機制在所有的設備中被執行。

        綁定允許應用層發送信息不需要帶目的地址,APS層確定目的地址從他的綁定表格中,然后在信息前端加上這個目的地址或組。

        注意:在ZB1.0版本中,所有綁定條目存儲在協調器中?,F在所有綁定條目存儲在發送數據的設備中。
        3.1綁定一個綁定表格

        有三種方式建立一個綁定表格:

        ZDO 綁定請求 – 一個試運轉工具能告訴這個設備制作一個綁定報告。

        ZDO 終端設備綁定請求 – 2設備能告訴協調器他們想建立綁定表格報告。該協調器將使協調并在這兩個設備上創建綁定表格條目

        設備應用 – 在設備上的應用能建立或管理一個綁定表格 。

        任何一個設備或應用能在網絡中發送一個ZDO信息到另一個設備()建立一個綁定報告。這是調用綁定幫助并且它將建立一個綁定條目為發送設備。
        3.1.1 ZDO 綁定請求

        通過調用函數ZDP_BindReq()發送一個綁定請求。第一個參數(dstAddr)是綁定的源地址的短地址。這之前應該確定允許綁定,在ZDConfig.h 文件中有參數[ZDO_BIND_UNBIND_REQUEST]允許綁定。能用同樣的參數調用函數ZDP_UnbindReq()移除綁定。

        目標設備將調用函數ZDApp_BindRsp()或 ZDApp_UnbindRsp(),反饋綁定或移除綁定的響應,返回其操作狀態為ZDP_SUCCESS, ZDP_TABLE_FULL或ZDP_NOT_SUPPORTED.
        3.1.2 ZDO 終端設備綁定請求

        該機制是用一個按鈕按下或其他類似的動作來選擇設備在指定時間內被綁定。在規定時間內,該終端設備綁定請求信息被收集到協調器,并創建一個基于模式(profile) ID 和串(cluster) ID的規定的綁定表格條目。默認的終端設備綁定超時時間(APS_DEFAULT_MAXBINDING_TIME)為16S(定義在nwk_globals.h中),但是能被改變
        發送綁定請求

        在所有的應用例子中有一個處理鍵盤事件的函數[例如在TransmitApp.c文件中的TransmitApp_HandleKeys()函數]。在該函數中,調用了函數ZDApp_SendEndDeviceBindReq()[在ZDApp.c中],它將收集應用的終端設備的所有信息并調用函數ZDP_EndDeviceBindReq() [ZDProfile.c],發送一個綁定信息到協調器。或者,在SampleLight 和 SampleSwitch例子中,直接調用ZDP_EndDeviceBindReq()函數就實現點亮/關閉燈的功能。
        接收綁定請求

        協調器將接收[ZDP_IncomingData() 在 ZDProfile.c]這些信息并分析處理[ZDO_ProcessEndDeviceBindReq() 在 ZDObject.c]這些信息并調用函數ZDApp_EndDeviceBindReqCB() [in ZDApp.c],它將調用ZDO_MatchEndDeviceBind() [ZDObject.c]處理這個請求

        當協調器接收到2個匹配終端色后備的綁定請求時,它將啟動在綁定設備上創建源綁定條目的處理過程。該協調器有如下處理過程:
        解除綁定

        1. 發送一個ZDO解除綁定請求到第一個設備。終端設備綁定切換處理,所以解除綁定首先被發送到移除一個存在的綁定條目。

        2. 等待ZDO解除綁定響應,如果響應狀態為ZDP_NO_ENTRY, 發送一個ZDO綁定請求,在源設備上制作一個綁定條目 。如果該響應為ZDP_SUCCESS, 為第一個設備繼續到move on to the cluster ID for the first device (the unbind removed the entry – toggle).

        3. 等待ZDO綁定響應. When received, move on to the next cluster ID for the first device.

        4. 當第一個設備完成時,對第二個設備做同樣的處理。

        5. 當第二個設備完成時,發送ZDO 終端設備綁定響應信息到第一個和第二個設備
        3.1.3設備應用綁定管理

        在設備上其他進入綁定條目的方式是應用層管理綁定表格。

        意思是說,應用層將調用下列函數進入和移除綁定表格條目:
        bindAddEntry() –增加綁定表格條目
        bindRemoveEntry() – 從綁定表格中移除條目
        bindRemoveClusterIdFromList() – 從一個存在的綁定表格項目中移除一個串 ID 。
        bindAddClusterIdToList()——向一個已經存在的綁定記錄中增加一個群ID
        bindRemoveDev()——刪除所有地址引用的記錄
        bindRemoveSrcDev()——刪除所有源地址引用的記錄
        bindUpdateAddr()——將記錄更新為另一個地址
        bindFindExisting()——查找一個綁定表記錄
        bindIsClusterIdInList()——在表記錄中檢查一個已經存在的群ID
        bindNumBoundTo()——擁有相同地址(源或者目的)的記錄的個數
        bindNumEntries()——表中記錄的個數
        bindCapacity()——最多允許的記錄個數
        bindWriteNV()——在NV中更新表
        3.2 配置源綁定

        允許綁定源的編譯選項REFLECTOR在f8wConfig.cfg文件中。在文件f8wConfig.cfg,中查看這兩個綁定配置參數(NWK_MAX_BINDING_ENTRIES & MAX_BINDING_CLUSTER_IDS)。NWK_MAX_BINDING_ENTRIES綁定表格中最大的綁定實體數量參數;MAX_BINDING_CLUSTER_IDS 是在每個綁定實體中最大的串ID數量。

        綁定表在靜態RAM中(未分配),因此綁定表中記錄的個數,每條記錄中群ID的個數都實際影響著使用RAM的數量。每一條綁定記錄是8字節多(MAX_BINDING_CLUSTER_IDS * 2字節)。除了綁定表使用的靜態RAM的數量,綁定配置項目也影響地址管理器中的記錄的個數。
        4、路由
        4.1 預覽

        在MESH網絡中,為了使分布的節點間能夠很好的通信,路由是非常重要的一個環節。

        在應用層上路由是完全透明的。一個簡單的應用數據發送到任意設備,下至協議棧,協議棧將負責發現一個路由路線。這個方式,應用層是不知道該操作在多跳網絡中完成的事實。

        路由使ZB網絡具有“自動復原”的特性。如果一個無線連接斷了,路由功能將自動的發現一個新的路由路線,該路線是避開(繞過)壞了的那個連接節點。這就提高了無線網絡的可靠性,這也是ZB關鍵特點之一。
        4.2 路由協議

        ZB執行的路由協議是基于AODV(Ad hoc On demand Distance Vector)的路由協議。作為一個簡單的應用---傳感器網絡,ZB路由協議支持環境中的移動節點,連接失敗和丟包功能。

        當一個路由器接收到一個點對點信息包時,從他的應用或者從其他設備,NWK層將繼續向前依照下面的進程。如果目的是路由器鄰節點(包括它的子設備)之一,該信息包將直接傳輸到目的設備。另外的就是,路由器將檢查它的路由表格,檢查相應的信息包目的條目。如果在路由表格中有一個活躍的路由路線到該目的設備,那么該信息包將被轉播到下一跳節點地址存儲依照路由條目。如果沒有活躍的條目發現,那么一個路由發現被啟動并且該信息被緩存直到該過程完成。
        ZB終端設備路由

        ZB終端設備不能執行任何路由功能。一個終端設備想發送一個信息包到任何設備都要向前到它的父設備,然后在由其父設備進行路由操作。類似的,任何設備想發送信息包到終端設備,都將發起一個路由發現操作,當然該操作都由終端設備的父設備響應。

        注意:ZB地址分配方案使基于它的地址發起一個路由到任何目的成為可能。在Z-Sstack,這個機制被用于萬一正規的路由程序不能被啟動,作為一個自動退卻(一般情況是由于路由表格空間不夠)。
        z-stack路由

        在z-stack,執行的路由是已經被優化的路由存儲表格。一般情況,對于每一個目的設備路由表格條目是需要的。但是通過綜合攜帶父節點所有條目的特定父節點的終端設備的所有條目,沒有任何功能丟失的存儲已經被優化。

        ZB路由器,包括協調器,執行如下路由功能 (i)路由發現和選擇 (ii) 路由維護(iii)
        4.2.1路由發現和選擇

        路由發現是網絡設備協作發現和建立路由的一個過程。一個路由操作總是針對某個目的,通過任何一個路由器啟動。該路由發現機制在源設備和目的設備間搜尋所有可能的路由并試圖選擇最好的路由路線。
        ? 路由選擇通過選擇最小消耗的路由路線。每個設備在連接到鄰節點幾乎保持不變的“連接消耗”。該連接消耗是接收信號的強度的一個典型功能。沿著路由路線加起所有的連接消耗,就是整個路由的“連接消耗”。路由算法試圖選擇這個路由最小的“路由消耗”。
        路由請求

        路由通過請求/響應信息包被發現。一個源設備為了一個目的地址,通過發送一個廣播路由請求(RREQ)信息到它的鄰設備請求一個路由。當一個節點接收到一個RREQ信息時,它將依次轉播這個RREQ信息。但是在做這個之前,它更新RREQ信息的消耗域,通過增加連接消耗為了最后的連接。這樣,RREQ信息將攜帶向前傳輸的所有的連接消耗。這個重復過程直到RREQ到達這個目的設備。RREQ的一些復制可能經過不同的路徑重復到達目的設備。該目的設備選擇最好的RREQ信息并發送一個路由答復(RREP)返回到源設備。
        路由響應

        RREP是沿著唯一的相反的路徑返回到最初的請求節點。

        作為RREP信息傳播回源節點,中間的節點更新他們的路由表格,指出路由路線到目的設備。

        一旦一個路由被創建,數據包能被發送。當一個節點丟失到它下一個節點的連通性時(發送數據包時,它不能接收一個MAC應答ACK),這個節點通過發送一個RERR到所有潛在的接收它RREP的節點,使該路由無效。在接收一個RREQ,RREP或RERR之上,這些節點都將更新他們的路由表格
        4.2.2路由維護

        MESH網絡提供路由維護和自動修復。中間節點保持沿著連接傳輸失效的路徑。如故一個連接被確定壞了,逆流的節點將啟動路由修復那些連接的所有路由路線。這些工作通過啟動路由重新發送被做,為了路由下一次數據包接收。如果路由重新發現不能啟動,或者由于某些原因失敗了,一個路由錯誤(RERR)信息被發送到這個數據包的源設備,然后重新啟動新的路由發現。任意方式都使得該路由得到重新自動建立。
        4.2.3路由終結

        為了建立路由,路由表格條目要被維護。如果一段時間沒有數據包沿著路由路線發送,該路由將被做終結記號。終止路由不是刪除直到空間需要時。因此沒有被刪除直到它完全需要時。自動路由終結時間能被配置“在f8wconfig.cfg"文件中”。設置ROUTE_EXPIRY_TIME參數為終結時間(秒)。設置0為了關閉路由終結。
        4.3 表格存儲

        路由功能需要路由器維護一些表格:

        路由表格

        路由發現表格
        4.3.1路由表格

        每一個路由器包括協調器都包含一個路由表。設備在路由表中保存數據包參與路由所需的信息。每一條路由表記錄都包含有目的地址,下一級節點和連接狀態。所有的數據包都通過相鄰的一級節點發送到目的地址。同樣,為了回收路由表空間,可以終止路由表中的那些已經無用的路徑記錄。

        路由表的容量表明一個設備路由表擁有一個自由路由表記錄或者說它已經有一個與目標地址相關的路由表記錄。在文件“f8wConfig.cfg”文件中配置路由表的大小。將MAX_RTG_ENTRIES設置為表的大小(不能小于4)。
        4.3.2路由發現表格

        路由器設備致力于路徑發現,保持維護路徑發現表。這個表用來保存路徑發現過程中的臨時信息。這些記錄只在路徑發現操作期間存在。一旦某個記錄到期,則它可以被另一個路徑發現使用。這個值決定了在一個網絡中,可以同時并發執行的路徑發現的最大個數。這個可以在f8wConfig.cfg文件中配置MAX_ RREQ_ENTRIES。
        4.4、路徑設置快速參考

        設置路由表大小MAX_RTG_ENTRIES,這個值不能小于4 (f8wConfig.cfg文件)
        設置路徑期滿時間ROUTE_EXPIRY_TIME,單位秒。設置為零則關閉路徑期滿(f8wConfig.cfg文件)

        設置路徑發現表大小 MAX_RREQ_ENTRIES,網絡中可以同時執行的路徑發現操作的個數

         

         

         

        學習ZStack8

        近段時間比較忙,幾乎都快荒廢了Z-Stack的學習了,把以前學的都快忘記了,這就是非專業技術的痛苦?。?!學習剛好有點眉目,突然意外中斷停下,當再一次學習的時候突然發現:以前學的都忘了8成了!郁悶??!今天真不知道從什么地方下手學習了,所以就針對最近客戶比較關心的問題做點介紹,這樣有針對性、有目的性的學習可能最適合現在的我了,不然從頭把以前那些所謂的筆記看一遍,可能今天晚上又沒了,指不定明晚以及后晚以及后后晚…都沒時間,不然老是看以前的筆記沒有進展就麻煩了!呵呵!

        今天只解決1個問題:TI提供的例子程序的表演及功能介紹。

        因為最近問這些的客戶比較多,特別又是剛入手的朋友,對Z-Stack非常迷糊的時期,如果能夠跑通幾個例子、看幾個演示,那么可以大大提高學習興趣;另外如果知道某個例子的大致功能及實現,那么在去看具體實現過程目的性就非常明確。
        首先來看看TI究竟有哪些例子:
         
        可以看出其例子是非常豐富的。
        GenericApp,Location,SampleApp,SimpleApp,HomeAutomation,SerialApp,Transmit,
        ZLOAD。這樣看來還是不少的。其中SampleApp例子已經在前面的學習中有所涉及,可以說前面的所有學習都是基于這個例子的,所以這里就不測試它了。Location是定位的測試例子,這里我的硬件是不夠的,所以也不做測試。其他我都做點測試,能成功的就成功,不能成功的就失敗,這個我也沒辦法,呵呵?。。。。。。?!
        1、GenericApp

        工程打開等我就不多說了,自己去找,如果連這些我都還說,那么我以前的東西是白學了。硬件連接中

        當我用兩個節點分別燒寫入DB的協調器和路由器,從我的經驗看來,他們分別能建立網絡和加入網絡,但是從表象上幾乎看不見數傳現象,盡管我按了每個節點的按鍵,也僅僅是本節點的LED在改變。唯獨有點數傳感覺的是:按鍵右鍵對方有反應就是了,至于具體什么反映我覺得沒必要說明白,大家試試就知道了。

        所以還決定看看程序來判斷這個例子的功能。

        大約瀏覽了下,這個例子似乎還與設備的綁定有關系,因為在按建處理程序中發現:
        if ( keys & HAL_KEY_SW_2 )
            {
              HalLedSet ( HAL_LED_4, HAL_LED_MODE_OFF );

              // Initiate an End Device Bind Request for the mandatory endpoint
              dstAddr.addrMode = Addr16Bit;
              dstAddr.addr.shortAddr = 0x0000; // Coordinator
              ZDP_EndDeviceBindReq( &dstAddr, NLME_GetShortAddr(),
                                    GenericApp_epDesc.endPoint,
                                    GENERICAPP_PROFID,
                                    GENERICAPP_MAX_CLUSTERS, (cId_t *)GenericApp_ClusterList,
                                    GENERICAPP_MAX_CLUSTERS, (cId_t *)GenericApp_ClusterList,
                                    FALSE );
        }
        很明顯這里按鍵2(右鍵)是發送綁定請求的命令。
        if ( keys & HAL_KEY_SW_4 )
            {
              HalLedSet ( HAL_LED_4, HAL_LED_MODE_OFF );

              // Initiate a Match Deion Request (Service Discovery)
              dstAddr.addrMode = AddrBroadcast;
              dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR;
              ZDP_MatchDescReq( &dstAddr, NWK_BROADCAST_SHORTADDR,
                                GENERICAPP_PROFID,
                                GENERICAPP_MAX_CLUSTERS, (cId_t *)GenericApp_ClusterList,
                                GENERICAPP_MAX_CLUSTERS, (cId_t *)GenericApp_ClusterList,
                                FALSE );
            }
        顯然按鍵4(左)是初始化一個匹配描述符請求,也就是發現服務,或者叫自動尋求匹配設備。
        這就不怪我按鍵有反映了!
        而且在發送數據和接收數據處理函數發現:
        void GenericApp_SendTheMessage( void )
        {
          char theMessageData[] = "Hello World";

          if ( AF_DataRequest( &GenericApp_DstAddr, &GenericApp_epDesc,
                               GENERICAPP_CLUSTERID,
                               (byte)osal_strlen( theMessageData ) + 1,
                               (byte *)&theMessageData,
                               &GenericApp_TransID,
                               AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
          {
            // Successfully requested to be sent.
          }
          else
          {
            // Error occurred in request to send.
          }
        }
        居然發送的是一個字符串“Hello World”。
        void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
        {
          switch ( pkt->clusterId )
          {
            case GENERICAPP_CLUSTERID:
              // "the" message
        #if defined( LCD_SUPPORTED )
              HalLcdWriteScreen( (char*)pkt->cmd.Data, "rcvd" );
        #elif defined( WIN32 )
              WPRINTSTR( pkt->cmd.Data );
        #endif
              break;
          }
        }
        接收數據處理函數里居然要通過液晶顯示,本人這里的液晶暫時沒有移植過來,因為暫時還不具備那個實力,怪不得看不到發送數據的狀況!
        這里本人就自作聰明的把以前SampleApp例子里面的一句話加過來了:
        void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
        {
          switch ( pkt->clusterId )
          {
            case GENERICAPP_CLUSTERID:
              // "the" message
              HalLedBlink( HAL_LED_4, 4, 50, (500) );
        #if defined( LCD_SUPPORTED )
              HalLcdWriteScreen( (char*)pkt->cmd.Data, "rcvd" );
        #elif defined( WIN32 )
              WPRINTSTR( pkt->cmd.Data );
        #endif
              break;
          }
        }
        麼想到啊,這么一加居然就有反應了,o(∩_∩)o…!我不愧是天才的接班人啊!
        其實這里很簡單的了,就是接收到數據后閃爍4下燈,間隔0.5S。因為從:
        if ( events & GENERICAPP_SEND_MSG_EVT )
          {
            // Send "the" message
            GenericApp_SendTheMessage();
            // Setup to send message again
            osal_start_timerEx( GenericApp_TaskID,
                                GENERICAPP_SEND_MSG_EVT,
                                GENERICAPP_SEND_MSG_TIMEOUT );
            // return unprocessed events
            return (events ^ GENERICAPP_SEND_MSG_EVT);
          }
        這里可以看出,這個例子很明顯僅僅是個發送周期信息的例子。所以LED4就周期性的閃爍4下,當然是協調器發送,路由器閃爍,路由器發送,協調器閃爍。
        但是這例子里體現了綁定的概念,應該說是從基本功能上很齊全的一個例子,而且在ZSTACK上實現無線網絡數傳,沒有任何多余的功能。所以該例子是一個典型的ZSTACK模板,也就是為用戶提供了一個通用模板可以通過這個建立自己的應用。關于如何在這個例子上建立、修改成自己的工程和應用項目詳細見文檔:
        Create New Application For The CC2430DB_F8W-2005-0033_.pdf
        這個例子就到此結束了,否則不然就很難把下面的弄玩了!
        2、SimpleApp
        這個例子我基本跑通了,可是鑒于時間的關系,沒有來得及打字了,所以就留到下一次了,時間真是如流水啊-------------------快!

         

         

        學習Z-Stack9


        接到昨天的繼續忽悠,話說:
        2、SimpleApp
        “這個例子我基本跑通了,可是鑒于時間的關系,沒有來得及打字了,所以就留到下一次了,時間真是如流水啊-------------------快!….”
        這個例子里面有兩個演示:一個是燈與開關的控制實驗,一個溫度傳感器實驗。咱一個個來,不忙。
        燈與開關實驗

        在這個例子中燈對應的工程名字為:SimpleControllerDB;開關對應:SimpleSwitchDB。嚴重需要注意的地方,這里選用的是DB。因為從從零開始學習Z-Stack之1上可以看到DB與EB的區別,而這里用DB的硬件就足以應付。
        編譯下載我就不繼續羅嗦了。

        咱關心的幾個問題不外乎就是表演過程和表演結果,以及初步看看為什么會有這樣的結果產生,當然就得從程序上簡單了解下。

        首先打開Controller(也就是燈設備)的電源,那么LED2就會不停的閃爍,這個時候是設備正在初始化,讓您選擇設備以哪種類型啟動,從程序可以看出:
           if ( keys & HAL_KEY_SW_1 )
            {
              if ( myAppState == APP_INIT  )
              {
                // In the init state, keys are used to indicate the logical mode.
                // Key 1 starts device as a coordinator
                zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType );
                if ( logicalType != ZG_DEVICETYPE_ENDDEVICE )
                {
                  logicalType = ZG_DEVICETYPE_COORDINATOR;
                  zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
                }

                // Do more configuration if necessary and then restart device with auto-start bit set
                // write endpoint to simple desc...dont pass it in start req..then reset
                zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
                startOptions = ZCD_STARTOPT_AUTO_START;
                zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
                zb_SystemReset();
              }
        如果按下S1(UP),那么作為協調器啟動。
           if ( keys & HAL_KEY_SW_2 )
            {
              if ( myAppState == APP_INIT )
              {
                // In the init state, keys are used to indicate the logical mode.
                // Key 2 starts device as a router
                zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType );
                if ( logicalType != ZG_DEVICETYPE_ENDDEVICE )
                {
                  logicalType = ZG_DEVICETYPE_ROUTER;
                  zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
                }
                zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
                startOptions = ZCD_STARTOPT_AUTO_START;
                zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
                zb_SystemReset();
              }
        如果按下S2(RIGHT),設備作為路由器啟動。

        這里由于是第一個啟動的設備,所以作為協調器啟動,就按下UP,此時燈會有狀態變化,最終結果是:LED2常亮,標示建立網絡成功。如果您還有另外的燈設備就可以按下RIGHT讓他們都作為路由器啟動,由于本人這里只有兩個節點,所以就只能有個協調器。

        現在就來啟動開關設備的電源,同樣LED2會閃爍讓您選擇設備,但是在ZIGBEE中除了協調器和路由器就剩下終端設備了,所以開關就只能作為終端被啟動,但是也需要通過按鍵來控制,從程序中可以看出:
        if ( keys & HAL_KEY_SW_1 )
            {
              if ( myAppState == APP_INIT )
              {
                // In the init state, keys are used to indicate the logical mode.
                // The Switch device is always an end-device
               logicalType = ZG_DEVICETYPE_ENDDEVICE;
                zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
                // Do more configuration if necessary and then restart device with auto-start bit set
                zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
                startOptions = ZCD_STARTOPT_AUTO_START;
                zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
                zb_SystemReset();
              }
              else
              {
                // Initiate a binding with null destination
                zb_BindDevice(TRUE, TOGGLE_LIGHT_CMD_ID, NULL);
              }
            }
            if ( keys & HAL_KEY_SW_2 )
            {
              if ( myAppState == APP_INIT )
              {
                // In the init state, keys are used to indicate the logical mode.
                // The Switch device is always an end-device
                logicalType = ZG_DEVICETYPE_ENDDEVICE;
                zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
                zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
                startOptions = ZCD_STARTOPT_AUTO_START;
                zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
                zb_SystemReset();
              }
              else
              {
                // Send the command to toggle light
                zb_SendDataRequest( 0xFFFE, TOGGLE_LIGHT_CMD_ID, 0,
                                (uint8 *)NULL, myAppSeqNumber, 0, 0 );
              }
            }

        無論是按下S1還是S2(UP或者RIGHT),開關設備均作為終端設備啟動。
        啟動之后呢,燈的狀態同樣會發生一些變化,最終結果是:LED2快速閃爍,表明此時開關已經成功加入剛才燈設備建立的那個網絡了。

        那么接下來就要看這個例子的核心部分----------綁定!

        首先按下燈設備(這里為協調器,如果有路由器也可以)的UP,那么程序中調用了:
                zb_AllowBind( myAllowBindTimeout );

        函數,允許綁定,這個允許的時間據說只有10S,當然這個時間是可以調整的,因為這里的參數為:static uint8 myAllowBindTimeout = 10;至于這個時間怎么計算的就需要到某個函數zb_AllowBind里去分析了。zb_AllowBind規定這個參數為1~64,如果為0,表示為假,就是不允許綁定的意思。如果大于64的話,就一直為真,就是一直都允許綁定。好像似乎是這個意思。至于這個10S是怎么制定的呢,在這個函數內部調用了:
        osal_start_timerEx(sapi_TaskID, ZB_ALLOW_BIND_TIMER, timeout*1000);
        因為osal_start_timerEx定時函數最小單位為mS,所以*1000就表示S了。
        而在SAPI_ProcessEvent事件處理函數中ZB_ALLOW_BIND_TIMER事件處理如下:
          if ( events & ZB_ALLOW_BIND_TIMER )
          {
            afSetMatch(sapi_epDesc.simpleDesc->EndPoint, FALSE);
            return (events ^ ZB_ALLOW_BIND_TIMER);
          }

        也就是定時取消綁定狀態?。。?/span>

        如果有人看著這些看不明白,那就把這個例子多看幾遍,多跑幾遍。一般如果您每天花費4個小時看這個例子,那么只需要一周事件,我想到時比我還精通明白的!

        所以在10S之內,開關必須發起綁定,此時同樣按下開關設備的UP,那么開關設備就調用了函數:zb_BindDevice(TRUE, TOGGLE_LIGHT_CMD_ID, NULL);發送一個綁定請求去尋求綁定設備。

        一個設備允許綁定,一個設備發起綁定請求,兩個是您情我愿的,所以就一拍即合,相當的登對!當然沒有這么簡單的哈,就如同兩個人談戀愛,至少也需要是一男一女啊,兩個都是男或女那就太不正常了,ZIGBEE是個國際化的標準,當然不能有這種變態行為,所以也需要兩個命令的屬性是相反的,就例如這里的控制燈開關的命令,對于燈來說這個命令為輸入,而對于開關來說這個命令是輸出。所以一入一出剛好就登對。呵呵??!
        綁定成功的表象是:開關設備的LED1快速閃爍。
        void zb_AllowBindConfirm( uint16 source )
        {
          // Flash LED
          HalLedSet( HAL_LED_1, HAL_LED_MODE_BLINK );
        }
        綁定成功了就可以發送燈控制命令了。按下RIGHT,調用了函數:
        zb_SendDataRequest( 0xFFFE, TOGGLE_LIGHT_CMD_ID, 0,
                                (uint8 *)NULL, myAppSeqNumber, 0, 0 );
        可以看出發送了一個數據請求,顯然是廣播發送的,而命令為切換燈狀態的TOGGLE_LIGHT_CMD_ID。當燈收到這命令,就有處理函數了:
        void zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 *pData  )
        {
          if (command == TOGGLE_LIGHT_CMD_ID)
          {
            // Received application command to toggle the LED
            HalLedSet(HAL_LED_1, HAL_LED_MODE_TOGGLE);
          }
        }
        所以LED1顯示狀態發生改變。
        此時這個例子已經接近尾聲了,因為綁定成功開關能夠控制燈了,但是既然可以綁定那么也可以接觸綁定的,如果按下開關的DOWN,那么同樣調用了發送綁定請求函數:
        zb_BindDevice(FALSE, TOGGLE_LIGHT_CMD_ID, NULL);
        只是這里第一個參數為FALSE,所以就能解除綁定。如果某個開關被解除了綁定,那么此時就不能控制燈了。
        在這個例子最后做個小結------綁定的好處。
        綁定了之后,發送數據或者命令,就不需要設備的地址,因為這個命令只能在建立綁定間的設備中傳輸。------------絕對是我的理解!

        還有,一個開關可以綁定多個燈,同樣,一個燈可以同時與多個開關發生綁定。這個不代表本人觀點,本人強力反對腳踏N只船?。。。。。?/span>

        現在來簡單分析下傳感器的例子,由于前面燈的例子說的比較多,這里我就說少點。

        中心節點對應SimpleCollectorEB ,傳感器節點對應SimpleSensorEB。這里用到了EB,主要是因為DB沒有串口硬件,而EB有,這個例子需要用到串口。
        傳感器的例子效果是:協調器可以收集傳感器節點的溫度信息并通過串口傳輸到PC機,如下圖所示:
         
        可以看到能夠看到節點的溫度和電源電壓。
        具體實現與燈的例子稍區別,但是本質的原理是一樣的,先選擇設備類型,然后建立綁定,最后收集信息。這里建立綁定的區別在于,只要中心節點允許綁定(與前面操作一樣),然后傳感器節點是自動發送綁定請求的:
          osal_start_timerEx( sapi_TaskID, MY_FIND_COLLECTOR_EVT, myBindRetryDelay );
        定時去產生發MY_FIND_COLLECTOR_EVT事件:
        if ( event & MY_FIND_COLLECTOR_EVT )
          {
            // Find and bind to a collector device
            zb_BindDevice( TRUE, SENSOR_REPORT_CMD_ID, (uint8 *)NULL );
          }
        這個事件就是發送綁定請求的。
        至于綁定后的現象與前面一樣了。
        最后通過串口調試工具就能看到前面那個圖的效果了!?。。。。。。。。。。?!
        這里的溫度為42,這個肯定不可能的,不然我就被蒸發掉了哈!因為采用的是芯片內部集成的溫度傳感器,這個傳感器做實驗還可以,因為可以看見溫度的變化,但是其準確性是在不敢恭維。TI也是的,做了溫度傳感器,還超級不準確,還不如不做,只有還可以降低硬件成本,幾乎沒有任何使用價值!??!

         

         

         

         

         

         

         

         

         

         

         

         

         

         


        東莞市德峰智能科技有限公司 版權所有 @ Copyright 2013 【百度統計】 【網站管理
        服務熱線:0769-87507060 地址:東莞市塘廈鎮環市西路258號信達商務大廈B502 訪問量: [網站地圖] [sitemap]
        *本站相關網頁素材及相關資源均來源互聯網,如有侵權請速告知,我們將會在24小時內刪除 技術支持:東莞網站建設粵ICP備2022123063號
        關鍵詞:藍牙耳機、防水電視 、教學會議一體機、氮化鎵電源、PD快充電源?
        日韩视频网站免费观看,美女极度诱惑九九久久av,久久99精品久久久六月,欧美大码一区,亚洲国产一区二区电影,夜夜撸夜夜笙歌,99久热只有精品,亚洲美女av二区在线观看,日本黄色午夜福利视频,可以在线观看av网站
        91人人精品人人爽 大香蕉桃色天堂网 欧美性黑人粗又大aaaaa片 在线岛国爱片 亚洲午夜不卡免费日本午夜福利 久久精品2 19中文字幕 久久精品国产一区二区三区不卡 精品99色婷婷 日韩内射高清视频 美女视频黄的全免费男人 男人av天堂 91国内视频一区二区三区 av成人在线观看网 男女无遮挡免费的视频网站 国产精品久在线免费观看 日本亚洲欧美不卡 全国久久黄片 av.天堂一区二区三区 欧美成人三级小说网 爱看片369 福利电影午夜 午夜av电影福利 中文字幕高清一区二区三区 欧美少妇feexxx性 国产成人亚洲av一区二区 成人久久久一区二区三区 ssswww免费久久 国产精品久久久久精品日日dvd 老鸭窝在线观看的 日本av精品在线视频 免费的黄色夫妻生活片 免费看视频黄 美女高潮喷水久久免费观看 女人18毛片毛片毛片毛片区二 久久精品国产 欧美在线观看aa 国产av日韩a∨亚洲av电影 国产一区二区三区不卡精品 玩弄人妻少妇500视频 在线看片免费人成视频播放 国内自拍av视频 国内永久福利 亚洲精品高清欧美 久久久亚洲熟妇熟女ⅹ 一区二区三区欧美日韩精品在线 √最新版天堂资源网在线下载 亚洲国产欧洲久久 欧美日韩在线vr 午夜欧美久久网 波多野结衣的人妻 午夜福利免费福利在线观看影院 美女免费的黄视频 美女张开腿做爽爽 aaa级片视频免费在线观看 91视频国产内射 老熟女乱子人伦视频 男女视频免费网站 国产69精品久久久孕妇 一二三区日本 国产精品久久久久久久久小说 免费人成在线视频中文字幕 亚洲国产下载 国产熟女精品二区 免费观看大片的网站 中文字幕精品久久久久久久 国内精品伊人久久久影视 嫩草91影院 亚洲国产精品一区=区三区 亚洲中出在线播放 国产精品嫩草影院入口 午夜福利麻豆久久 一级特黄特色一成人aaaa毛片 精品久久精品久久精品久久国产 国产另类稀缺午夜视频在线播放 久久久精品中文字幕 3d动漫成人在线观看网站 久久久精品1区 麻豆国产亚洲 国产偷拍一区二区视频 成人情色av电影 五月婷婷激情第五季 日本三级视频一区二区三区 99热这里只有精品4 特黄a级毛片免费视频 亚洲精品日本一区二区在线 在线观看色网站 国产黄大片在线观看 五月婷婷六月丁香综合激情 啦啦啦在线视频 www免费 国产在线观看精品一区二区三区 久久的久久爽亚洲精品aⅴ 亚洲av中出在线观看 欧美一级作爱片免费看 hav精品亚洲欧美 在线黑人精品 激情少妇在线播放 国产超级碰碰碰人人妻97 最近的中文字幕在线看视频人妻 黄色成人软件免费 久久 亚洲成人 午夜电影国产 国产欧美日韩精品久久一区 女人高潮短视频在线观看 亚洲精品一区国产欧美电影 亚洲av中出在线观看 放荡的人妻少妇视频 黄频免费观看在线 少妇人妻偷人精品一区二区 国产熟女精品二区 国产精品三级999av在线网 亚洲欧美国产影片 欧美多毛熟妇视频 国产在线精品一区 天天日夜夜操夜夜射 欧美国产一区二区三 国产午夜福利永久免费网站 色婷婷av中文在线 国产成人a人亚洲精v品 精品人妻四区 国产推荐av 456亚洲人成网站 欲色人妻av一区二区三区人妻五码 国产一级永久免费视频 痴汉中文字幕在线观看 老熟女乱子人伦视频 片在线观看免费观看 免费女性爱av 亚洲小说视频图片 99国产精品欲av 欧美日韩国产1 亚洲精品一区vv国产 国产成人午夜小视频在线观看 91日韩欧美精品 亚洲欧美成人久久一区二区三区 久久大香线蕉综合爱 欧美日韩国产1 超薄美腿丝袜 黑丝袜高跟久久 亚洲人77播放网站 日本中出视频在线看 香蕉久久人人97超碰caoporen 欧美sex网址 久久www人成免费看片中文 国产精品密导航入口 国产日韩欧美在线亚洲 亚洲经典 国产精品 久久 国产超级碰碰碰人人妻97 黑色丝袜女图片 www视频在线观看免费视频 99国产精品99久久久久久不卡 国产日韩欧美v在线 免费看国产黄色小视频 超碰在线观看人妻 成年人看的黄片 久久亚洲欧美一区二区三区 亚洲精品韩国女主播网站 四虎网日韩av 一区二区三区乱码人妻 老司机成人午夜精品福利视频免费 国产亚洲欧美另类久久久 在线精品亚洲欧美日韩国产快播 亚洲国产精品自拍偷拍 白带呈橙黄色 久久资源婷婷亚洲 丁香大型成人色区 91高清人妻精品 国产成人亚洲精品不卡一区 av成人在线观看网 国产精品一区二区亚洲av 亚洲成网站在线影院播放在线 久久久久久久看片 两个人看的在线免费视频 欧美一区日韩国产 欧美日韩亚洲精品视频专区 最新av 地址发布页 欧美成年黄网站色 欧美国产一区二区三 日韩av网站在线看 亚洲av日韩av不卡 日韩av线上看 gogo亚洲美女人体艺术 男女视频无遮挡免费看 国产一级内射片在线免费 九色精品视频在线观看 精品国产综合区久久久久久小说 老鸭窝在线观看的 国产精品午夜福利视频123区 欧美在线xx禁18 xxx欧美野战 老鸭窝亚洲第一av网址 美女被被遭强的视频免费 国产线视频在线 免费女性爱av 99热这里只有的精品国产 人妻久久精品一区二区 r级视频免费在线观看 久久日夜夜射 777色狠狠一区二区三区香蕉 欧美精品尤物在线 男人av天堂 99午夜精品福利视频 国产精品久久久久久久免费蜜桃 一本色道久久亚洲av蜜桃 曰本女人牲交高潮视频 午夜精品久久久久久久99热蜜桃 人妻少妇精品视中文字幕国语 久久成人青青草 欧美日韩精品久久久网站 波多野结衣在线一区二区视频 给我免费播放片观看视频第1集 久久亚洲欧美一区二区三区 日韩在线视频不卡一区二区三区 欧美亚洲日本高清 99国产精品高清 欧美成年黄网站色 免费看国产黄色小视频 中国日本欧美在线观看的 六月丁香婷婷综合在线视频 精品国产三级黄色片 日韩一区二区三区在线视频免费 午夜国产视频网站在线观看 av在线免费播放国产 欧美高清18videosex 久久久久久久国产精品影院 天天日夜夜搞 免费a级毛片视频播放 成人999在线观看 亚洲国产精品成人va在线观看 黄 色 免 费 网站在线观看 那有免费黄色毛片看 亚洲色图欧美 久久精品国产99精品最新按摩 天天干夜夜噜 免费观看大片的网站 国产精品视频中文字幕 国产精品欧美激情青草 а√天堂中文资源在线地址 交换年轻夫妇播放 国内永久福利 成人国产av精品麻豆入 不要摸我的奶头视频 水蜜桃88118 人人妻人人澡人人爽精品欧美粉色 国产级毛片久久久久久精品 97久久精品人人爽人人懂色av 国产野战视频在线观看 久久 亚洲成人 精品国产一区二区三区网站 亚洲一区国产成人 两个人在一起做那个的视频 免费国产精品观看 久久亚洲欧美一区二区三区 欧美一区日韩国产 亚洲国产欧洲久久 日本24小时在线看 久久天堂av网站 精品国产色婷婷一区 亚洲va韩国va欧美va精品 日本在线观看一区 国产一区二区三区不卡精品 痴汉中文字幕在线观看 亚洲91中文字幕资源网 成年妇女在线观看免费视频 91情色在线观看 欧美人与动牲交大全免费 らだ天堂√在线中文www 日韩精品一区二区三区视频网 人人妻人人澡av 亚洲欧美国产影片 全免费毛片在线播放 日韩欧美中文字幕二区 久久av国产成人精品 黑人和日本av视频精品 国产精品久久久亚洲www 999 成人av在线观看免费不卡 99久热只有精品 久久99精品久久久久久国产免费 亚洲午夜不卡免费日本午夜福利 青青草原亚洲精品在线观看 中文字幕一区精品视频 丝袜诱惑中文字幕二区 中日韩精品一区二区有码 av.天堂一区二区三区 又大又硬又粗又爽又爽免费视频 熟女国产一区二区 精品扒开腿做爽爽 人人妻人人澡人人爽精品欧美粉色 欧美黑人精品专区 黄频视频美女在线 黑人巨大精品欧美一区二区4k 久色国产在线视频 国产精品视频1区2区3区不卡 国产91av自拍视频 一区二区三区四区成人在线播放 国产69精品久久久孕妇 在线免费观看少妇 日韩有码字幕一区在线观看 国产tv182在线观看 亚洲欧美成人久久一区二区三区 亚洲国产精品久久成人 米精品久久久久久中文字幕 www视频在线观看免费视频 久久国产成人人妻精品一区二区 中国日本欧美在线观看的 久久av日韩午夜福利片 丰满少妇被粗大猛烈进出 久久国产成人人妻精品一区二区 国产精品久久久久久久免费麻豆 成人999在线观看 欧美 国产 日韩 一区二区三区 午夜av电影福利 97国产在线视频播放 国产日产欧美精品亚洲系列 黄色成人软件免费 最新的国产成人精品2022 精品黄片999 人妻精品一区在线 久久精品女人18国产水多毛片 zz亚洲av一区二区三区 欧美人与动牲交大全免费 丰满熟妇人妻水多屁股大 人人妻人人澡av jvid国产在线 岛国午夜视频一区三区 18禁黄色无遮挡免费 韩国av中文字幕二区 黄色美女高潮视频免费看 亚洲色图图区 国产aaa一级淫秽电影院 av电影大香蕉 xxx欧美野战 欧美日韩一区二区精品大全 久久精品2 19中文字幕 日韩和的一区二区电影 午夜一级在线免费观看 国产va免费精品观看精品高清 成人激情视频一区二区三区 成人无遮挡网站视频 久精品久久久久久 av天堂中文字幕 久久久久av亚洲精品蜜臀 91日韩欧美精品 美女极度诱惑九九久久av 最近更新中文字幕高清大全 人人妻人人添人人爽欧美二区 欧美亚洲日本高清 一级爱片免费视频 欧美性黑人粗又大aaaaa片 国产一区二区三区四区视频 国产偷拍一区二区视频 ssswww免费久久 国产精品成人免费在线播放 在线岛国爱片 亚洲欧美成v a人在线观看 特黄a级毛片免费视频 亚洲av中出在线观看 国产乱码一区二区三区二o二0 成人国产在线播放一区二区三区 a级毛片免费小说 国产在线第一区二区三区 www视频在线观看免费视频 最近免费中文在线2019 香蕉66久久久 97人妻超级碰碰碰 亚洲人成色7777在线 成年妇女在线观看免费视频 一本色道久久亚洲av蜜桃 美女极度诱惑九九久久av 免费的黄的美女视频 给我片免费观看 国产tv182在线观看 超碰视频97在线观看 久久的久久爽亚洲精品aⅴ 欧美 亚洲 另类 熟女 又粗又黄又猛又爽大片免费 国产视频在线一区二区三区四区 交换年轻夫妇hd中文字幕 观看在线www网站 在线播放av电影网址 欧美人与动牲交大全免费 亚洲精品av成人影院 清纯人妻被公侵犯中文字幕 国产精品一区二视频区 一个人在线视频www 国产伦理视频一区二区 少妇高潮喷水大片 亚洲情色制服丝袜 日本二区在线 痴汉中文字幕在线观看 午夜欧美久久网 成年女人片免费看 99国产精品白浆免费视频 欧美午夜性春猛交ⅹxxxm 一级毛片女人刺激视频 97在线观看视频 欧美日精品视频在线观看 亚洲精品中文字幕乱码无线 彩色新中国高清视频在线观看 一个人在线视频www 啦啦啦在线完整视频免费 制服丝袜中文字幕av 欧美乱码一区二区三区 日本视频免费一区 日韩欧美国产三区在线观看 国产69精品久久久孕妇 午夜福利福利在线观看 麻豆免费成人 18禁污无遮挡网站 国产成人色在线视频 国产欧美日韩亚洲日本在线 国产成人高清精品亚洲 美色综合天天久久综合精品 99国产精品高清 成人久久久一区二区三区 久久久久久久看片 亚洲国产精华 黑人免费黄色视频 国产精品s色 伦视频免费国产在线观看 国产伦d在线播放免费 亚洲男人天堂99 久久久久久久看片 国产香蕉一区二区三区视频 中国免费黄片久久 www.久久久国产精品 久久av国产一区二区 姑娘视频日本在线播放 乱码中文字幕一区二区三区 女人逼被男人猛艹的视频 av在线免费高潮喷水 清纯人妻被公侵犯中文字幕 色5月开心婷婷 啦啦啦在线视频 www免费 国产超级碰碰碰人人妻97 美女张开腿做爽爽 日韩欧美在线大片 一级毛片免费在线播放不卡顿 欧美18一19sex性猛交 亚洲午夜不卡免费日本午夜福利 亚洲欧洲另类美女久久精品 蜜臀av亚洲精品久久久久 被c到高潮h视频 99热热久久这里只有精品68 a级毛片在线免费看 浪潮蜜臀av 免费女性爱av 老司机久久免费福利视频 国产成人精品不卡久久久 波多野结衣在线一区二区视频 国产18久久久久久 在线播放黄片国产精品第一页 免费试看a级毛片 毛片免费在线看91av 黄色录像看黄色录像 国产精品熟女久久久久久久 给我片免费观看 久久精品国产网页 久久久久国产精品. 亚洲成人av在线免费观看 91色老久久精品偷偷蜜臀 国产又大又黄又硬又粗又爽的视频 午夜福利n片 成年女人免费观看视频在线 欧美黑人精品一二三区 久久看片123 国产一区二区三区免费观看在线观看免费 这里只有久久精品在线 成人欧美一区二区三区视频网页 亚洲性人人天天夜夜摸 伦视频免费国产在线观看 午夜欧美久久网 午夜国产视频网站在线观看 男男十八禁啪啪 男女视频无遮挡免费看 国产精品久久久宅男 r级视频免费在线观看 噜噜噜躁狠狠躁精品视频 日韩尤物在线精品观看国产 国产在线看黄色视频 夜夜天天爽啊 一二三在线观看免费高清 中文字幕亚洲欧美专区 国内永久福利 免费毛片在线看片免费 久99久热只有精品 天天日夜夜操夜夜射 国产精品一区12p av毛片在线看不卡 亚洲国产精品免费播放 美女被到爽高潮喷水 亚洲快播怡红院 精品国产亚洲av 国产免费久久精品99reswag蜜桃 波多野结衣在线一区二区视频 欧美国产一区二区三 久久久人妻精品www 人人妻人人澡av 车上震动a级作爱视频 国产一区二区三区免费观看在线观看免费 一个人看www高清视频免费 亚洲欧美一区二区丝袜另类 zz亚洲av一区二区三区 久久精品女人18国产水多毛片 亚洲成年人网址在线观看 国产精品伦播av免费观看 欧美日韩在线vr 少妇人妻偷人免费精品视频偷 国产一区二区免费的视频 美女视频免费很黄 欧美亚洲综合在线一区 岛国黄色视频免费在线观看 欧美日精品视频在线观看 国产男女那个视频在线观看 国产亚洲另类欧美 两个黑人挺进女友体内视频播放 а√天堂中文资源在线地址 手摸高潮喷水视频 亚洲+国产成+人+综合 亚洲美女黄色视频在线 人成系列视频在线免费播放 色5月开心婷婷 av天堂成人在线 1区2区3区产品乱码仙踪林 久久99精品久久久久久国产免费 日本黄色午夜福利视频 一区二区三区欧美日韩精品在线 思思99热久久精品2019线6 久久久久久99蜜桃 中文字幕一区精品视频 欧美亚洲精品久久av 国产三级 亚洲 日本十大禁的黄动漫 制服丝袜中文字幕av r级视频免费在线观看 成人aⅴ 麻豆 婷婷开心五月情 亚洲丰满熟妇bbwbbwbbw 日本中出视频在线看 91国产av精品在线观看 精品午夜福利大片 精品99色婷婷 国内精品自产拍在线观看91 欧美中文字幕日韩在线 国产精品午夜久久久久久99热 国产无遮挡又黄又爽又刺激视频 成人欧美一区二区三区视频网页 一级爱片免费视频 全免费毛片在线播放 成年人看的黄片 琪琪福利午夜影院 久久品精视频 国产乱码精品一区二区三区中 精品三级久久久久久久电影 国产成人网在线免费观看 免费的黄色夫妻生活片 国产熟女系列丰满熟妇 日韩精品一区二区三区视频网 亚洲五码中文字幕 99久只有这里精品 日韩有码字幕一区在线观看 婷婷开心五月情 两个人免费视频下载 国产精品户外福利视频 边吃奶边摸p视频 国产最新av在线免费观看 手摸高潮喷水视频 国产97超碰久久精品 一二三区日本 男女无遮挡免费的视频网站 欧美 亚洲 另类 熟女 中文字幕久久熟女蜜桃 男女叉下体在线播放 欧美乱码一区二区三区 久久久久国产精品. 在线v观看一区二区三区 国产精品户外福利视频 国产三级福利在线视频 欧美日韩一区二区精品大全 两个人免费视频下载 中文字幕高清一区二区三区 亚洲午夜av一二三区熟女 午夜老司机精品福利 日韩亚洲高清中文字幕 6080伦理三级 日日干夜夜爽夜夜操 又黄又爽视频在线免费观看 国产黄a三级三级三级老年人 国产在线看黄色视频 美色综合天天久久综合精品 av在线免费高潮喷水 国产午夜精品理论片a级 天堂www在线а√ 午夜福利com 黄色成人免费网址 色哟哟精品一区二区三区 午夜福利n片 caoporn超级碰碰 国产毛卡一卡2卡三卡的区别 免费观看大片的网站 被侵犯人妻视频电影 а√天堂中文资源地址 亚洲精品小久久 亚洲色图欧美 91人人精品人人爽 久久久久久国产精品亚洲78 √最新版天堂资源网在线下载 999国产精品免费 国产精品不卡一区二区视频 亚洲91嫩草影院 国自产精品手机在线视频 精品国语视频在线观看 熟女在线影院 波多野结衣的人妻 国产永久在线视频 国产欧美熟女自拍 我要看a级毛片 亚洲av熟女少妇 被侵犯人妻视频电影 一级黄片免费视频看看 亚洲国产精华精华液 亚洲精品在线一区二区三区 亚洲美女av二区在线观看 6699嫩草久久久精品影院网站 777久久人妻少妇嫩草av 九七韩国伦理电影 最近国语在线视频 浪潮蜜臀av zp91国产精华 久草视频在线免费 一级黄色视频永久免费 成人久久久久久久久久 欧美黑人精品一二三区 久久久久av亚洲精品蜜臀 美色综合天天久久综合精品 成人激情视频一区二区三区 久久久久在线观看视频 两个黑人挺进女友体内视频播放 国产精品户外福利视频 两个人在一起做那个的视频 久久狼人天堂 亚洲精品夜夜久久精品 国产自拍福利电影在线观看 在线v观看一区二区三区 久久av日韩午夜福利片 久久亚洲精品欧美精品 清纯少妇被粗大的猛烈进出视频 午夜福利n片 色呦呦网在线 六月丁香婷婷综合在线视频 欧美成年黄网站色 一级毛片女人刺激视频 日韩亚洲综合色 黄片一区二区三区在线观看入口18 中文字幕黄色视频免费平台 欧美亚洲另类少妇 69精品国产成av人片软件 在线看免费国产精品 日本视频免费一区 精品视频成人免费 69麻豆天美精东蜜桃传媒 99国内久久免费 亚洲精品一区vv国产 精品久久久久中文字幕一区 在线观看18网站 激情少妇在线播放 国产三级福利在线视频 美女极度诱惑九九久久av 精品国产亚洲av成人麻豆 久久精品国产亚洲91蜜臀 国产精品久久99亚洲 国产tv182在线观看 边吃奶边摸下面动态图 国产精品欧美黄色 国产一卡二卡三卡4卡 人妻一区网址 69麻豆天美精东蜜桃传媒 亚洲美女黄色黄色片子天堂美女 亚洲成人网天堂 特级毛片a级毛片免费播1放 色哟哟黄色视频网站 亚洲av图片一亚洲av 毛片黄色一级 一级特黄特色一成人aaaa毛片 精品视频成人免费 1区2区3区产品乱码仙踪林 午夜欧美久久久久 亚洲精品美女久久久久久久久 欧美人妻裤袜中文字幕 国产成人亚洲精品不卡一区 黑色丝袜高跟鞋国产av 国产一级永久免费视频 婷婷激情五月 一本色道dvd在线 18禁污无遮挡网站 高潮喷水免费在线看 久久久亚洲熟妇熟女ⅹ 伊人影院 国产精品 久久av日韩午夜福利片 国产精品一区福利视频 在线欧美日韩免费观看 av爱爱精品 国产偷拍一区二区视频 国产69亚洲精品久久 摸少妇奶子视频 亚洲国产精华 青青草视频在线观看免费下载 国产三级精品三级在线欢看 6699嫩草久久久精品影院网站 国产日产欧美精品亚洲系列 亚洲中文字幕蜜桃视频 在线国产精品影院 亚洲精品在线一区二区三区 欧美精品 亚洲 色哟哟精品一区二区三区 一二三四韩国在线 6080伦理三级 字幕网资源网永久视频 日本久久久久久久精品影院小说 在线播放免费人成日韩视频 麻豆精选国产 91九色精品日韩内射 一级片免费久久 女人自摸高潮小视频 中国日本欧美在线观看的 91极品国产乱码久久蜜桃 亚洲国产精华精华液 成人免费一区二区三区在线视频 久久人人爽av亚洲 国产乱对刺激对白 www.久久久国产精品 熟女国产一区二区 6080伦理三级 久久久人妻精品www 亚洲久久成人在线 在线看片免费人成视频播放 老熟女乱子人伦视频 大胆西西gogo 亚洲91中文字幕资源网 日韩欧美三级一区 火影ssr卡多少钱 日本三级一二三区 在线播放av电影网址 岛国黄色视频免费在线观看 又黄又爽视频在线免费观看 美色综合天天久久综合精品 午夜福利精品视频网 国产精品一区二区亚洲av 1区2区3区产品乱码仙踪林 毛片免费在线看91av 美女被逼到高潮免费视频 9丨精品人妻一区二区三区密桃 三级国产精品一区二区 99精品国产91久久久久久无吗 久久www人成免费看片中文 r级视频免费在线观看 曰本女人牲交高潮视频 18禁黄色无遮挡免费 av潮喷大喷水在线观看 av在线无卡码免费 www久久大香蕉 久久久久久国产精品亚洲78 亚洲成网站在线影院播放在线 啦啦啦观看免费观看视频中文 一级爱片免费视频 久久大香线蕉综合爱 99久久躁狠狠躁夜夜躁 亚洲av中出在线观看 在线看成人avv片 亚洲精品美女久久久久久久久 琪琪福利午夜影院 国产精品久久久宅男 精品久久影院 精品久久人人妻人人做精品 在线观看www片免费高清视频 波多野结衣高清在线一区二区三区 完全视频在线免费观看 国产午夜精品理论片a级 亚洲va韩国va欧美va精品 国产精品欧美激情青草 免费精品视频久久 91九色精品日韩内射 国产日韩欧美在线亚洲 xx日本老妇人 91页中文字幕 亚洲精品在线观看不卡 99视频在线观看免费精品9 免费观看日韩欧美黄片 麻豆成人九色精品二区三区 成人小视频久久久久 最新在线中文字幕久久 中文字幕人乱码亚洲影 亚洲中文字幕日本乱码 亚洲av成人一区二区在线观看 欧美日韩精品专区 成年女人在线视频播放 亚洲欧美一区二区丝袜另类 日韩电影在线看免费观看高清 婷婷色香六月综合缴情 久久天天躁狠狠躁夜夜躁2020 欧美日韩亚洲精品视频专区 岛国午夜视频一区三区 越南熟女第一次与黑人色免费视频 国产tv182在线观看 一个人在线视频www 欧美在线亚洲专区 亚洲综合网视频观看 日本中文不卡人成在线视频 美女被到爽高潮喷水 成人无遮挡网站视频 人人精品人人爽 国产精品性久久 成人无遮挡网站视频 欧美一区二区三区午夜 欧美变态另类z0z00大全 亚洲五码中文字幕 国产日韩欧美网站 free性xxx亚州 最近免费中文mv字幕 欧美在线xx禁18 av.天堂一区二区三区 欧美亚洲国产一区二区 91老司机精品在线视频 亚洲人77播放网站 91麻豆欧美久久九色 夜夜摸夜夜操 在线v观看一区二区三区 亚洲午夜不卡免费日本午夜福利 色9999日韩 欧美在线亚洲专区 高清片黄色片 精品国产蜜桃一区二区乱码不卡 一边摸一边做视频 男女视频网站免费在线看 99r在线精品视频在线播放 青青草原亚洲精品在线观看 亚洲欧美一区二区丝袜另类 99国产成人精品电影 xxx欧美野战 丝袜人妻被侵犯中文字幕 五月婷婷激情第五季 久久久成人国产精品 久久久久人人人人 啦啦啦中文版在线播放免费 gogo亚洲美女人体艺术 亚洲精品黄片在线观看 亚洲欧美一区二区丝袜另类 在线观看美国亚洲av 摸奶子插逼视频 啦啦啦在线视频 www免费 一级毛片女人刺激视频 中文字幕人乱码亚洲影 亚洲久久成人在线 亚洲快播怡红院 又黄又爽又色的视频app 欧美熟妇丝袜高跟 彩色新中国高清视频在线观看 免费观看久久网成人小视频 亚洲国产原创在线 特级毛片a级毛片免费播1放 亚洲欧美国产影片 成人小视频久久久久 一二三四韩国在线 亚洲电影毛片在线 亚洲成人网天堂 a一级片免费观看 日韩av线上看 在线高清精品第一区二区三区视频 国产三级久久粉嫩 在线观看18网站 国产精品久久久亚洲www 999 免费麻豆成人av在线播放 日韩欧美中文字幕二区 一区二区三区不卡在线看 日韩尤物在线精品观看国产 人妻有码av在线 最近的中文字幕在线看视频人妻 午夜爱爱av 性久久精品视频免费 给我免费播放一级黄片 天海翼中文字幕在线观看 久久香蕉香蕉网 日韩内射高清视频 中文字幕第一页精品一区 亚洲欧洲综合图 最新国产一区二区三区在线观看 国产美妇视频在线观看 黄色床上免费看 两个黑人挺进女友体内视频播放 午夜电影成年 精品国产乱码久久久久女人 青青在线视频一区二区三区 精品午夜视频一区二区三区 亚洲精品日本一区二区在线 人妻熟女露脸偷人 日本姓爱视频mv免费观看 久久久久久久国产精品影院 av天天中文字幕 国产成人网在线免费观看 清纯人妻被公侵犯中文字幕 欧美少妇feexxx性 人妻少妇精品视中文字幕国语 大香蕉久久精品24 色5月开心婷婷 国产一级av片精品久久 国产香蕉一区二区三区视频 亚洲精品美女久久久久久久久 中文字幕亚洲人妻在线视频 丁香大型成人色区 思思99热久久精品2019线6 日韩欧美国产三区在线观看 香蕉97超碰 国产日韩欧美v在线 夜夜撸夜夜笙歌 大香蕉在线视频天天 婷婷国产精品久久蜜臀 久久一区二区这里都是精品 欧美av电影一区二区三区尤物 国产在线观看黄色视频 91页中文字幕 国产无遮挡又黄又爽又刺激视频 av天堂成人在线 香蕉66久久久 欧美成人精品专区 日本亚洲欧美在线观看 午夜国产视频网站在线观看 噜噜噜躁狠狠躁精品视频 免费看国产黄色小视频 亚洲成人国产av一区二区 亚洲一区视频在线免费播放 狠狠躁日日躁夜夜躁影院0000 久久久91影院 一个人免费看的www视频高清 精品视频成人免费 国产精品久在线免费观看 手摸高潮喷水视频 日本24小时在线看 青草免费视频免费看 国产精品久久777777 午夜福利com 久久久久久久看片 free性xxx亚州 av.天堂一区二区三区 亚洲va韩国va欧美va精品 精品人妻四区 青青在线视频一区二区三区 99热这里只有精品 5 中文在线天堂资源库 国产精品熟女久久久久久久 成a人片亚洲高清在线 日韩av网站在线看 日韩内射高清视频 清纯少妇被粗大的猛烈进出视频 午夜福利免费福利在线观看影院 国产精品不卡一区二区视频 777狠狠欧美一区 蜜桃视频免费www 交换年轻夫妇播放 亚洲精品 国产一区二区 久久精品女人18国产水多毛片 久久只有精品 黄 色 免 费 网站在线观看 国产精品片久久久久久久 人妻少妇偷人精品免费看片 被侵犯人妻视频电影 久久99精品久久久久久国产免费 欧美极度丝袜av另类在线 又硬又粗黄色视频 丁香综合在线播放 亚洲欧美人成网站aaaa 久久精品国产 久久午夜精品久久 亚洲福利午夜污在线观看 一区二区三区四区 欧美在线 人妻中文字幕一区二区不卡 国产三级之亚洲精品 av.天堂一区二区三区 国产情色片推荐 亚洲成人影院福利 午夜福利免费福利在线观看影院 欧美大色视频在线观看 成年女人免费观看视频在线 久久看片123 亚洲精品在线观看不卡 车上震动a级作爱视频 亚洲精品一区vv国产 国产三级久久粉嫩 少妇被猛烈进出爽爽爽爽视频 在线观看的一级片 大桥未久av大全 丰满少妇被粗大猛烈进出 欧美性多多毛茸茸xxxxx 超薄美腿丝袜 国内精品美女av久久 亚洲精品黄片在线观看 午夜福利不卡视频免费观看 99国产成人精品电影 日本黄色午夜福利视频 亚洲国产精品一二三 日本成全视频免费观看在线看 爽太爽了不能再差了要高潮了av
        av熟女少妇| 少妇高潮动态| 九九久久99精品国产| 中文字幕好色人妻| 久久伊人精品中文字幕有软件| 午夜福利视频亚洲一区二区| 一级α片视频免费观看| 嫩草影院久久tv| 99精品国产av| 无需下载免费观看的黄片| 亚州中文字幕乱码中文字幕| 国产欧洲av精品网站尤物| 欧美美女xxx| 黄色亚洲av电影| 国产亚洲精品久久精品69| 亚洲欧美精品国产| 欧美日本一区二区不卡| 美女高潮视频三级| 国产91ts在线观看| 玩弄放荡人妻少妇小说| 久久四虎av| 亚洲中文字幕制服诱惑| 成人中文字幕网站| av激情在线四虎| 人人澡日本人人妻人人爽| 里产精品嫩草影院88av| 国产一区二区三精品久久久无广告| 大奶子美女被乱操| 欧美精品三区四区| 无人区码一码二码三码区别欧美| 99久久国产综合精品swag0| 老鸭窝黄色网在线观看| 99精品无人区乱码1区2区3区的| а√天堂中文资源地址| 青青草原午夜| www亚洲天堂中文字幕在线| 一边摸一边抽搐一进一出小说| 欧美一区二区三区成人免费片| 国产美女喷水视频免费观看| 女生裸体无遮挡| 亚洲aⅴ片真正免费看| 日日搡夜夜爽| 精品麻豆av在线一区| 久1久在线视频精品| 免费观看一级片| 在线直播人成视频| 永久在线免费观看黄片| 麻豆成人在线播放视频| 国产一卡二卡3卡4| 国产69亚洲精品久久| 99久久精品免费视频| 国产乱码视频一区二区| 人人妻人人澡人人爽欧美视频| 人人妻人人澡av| av 电影香蕉| 国产区日韩欧美| 欧美成人生活视频在线播放| 久久人妻少妇嫩草av有码专区 | 国语对白乱爱视频av视频免费| 肥胖的女人的毛片及视频| 久久久久夜夜精品视频| mdapp.tⅴ天美传媒在线| seyu人人爽人人| 成品网站w在线观看| 男女猛烈高清免费视频| 黄色一级毛片免费在线播放| 国产精品网站亚洲发布| 久久午夜爱爱| 丝袜中文字幕天堂| 秋霞蜜桃av| 精品一区二区国产在线| 日日噜噜夜夜狠狠久久av| 亚洲 国产 欧美 在线| 国产毛片不卡| 黄色片子在线免费观看| 欧美精品一区二区三区乱码| 亚洲综合欧美在线| 日本亚洲毛片基地99久久| 理论片韩国在线观看| 38av影院在线观看| www日韩欧美在线高清视频| 日韩欧美二区在线观看| 国产欧美亚洲另类aⅴ| 免费观看韩国三级| 特级毛片a级毛100免费播放| 噜噜色噜噜干| 蜜臀久久久久久久久久观看| 久久国产精品国产精品中文字幕第一页 | 毛片毛片女人毛片毛片| 少妇大叫太大太粗太爽了| h高潮嗯啊娇喘抽搐在线视频| 亚洲成人蜜桃av麻豆| 男人性视频免费观看视频| 欧美日本国产在线播放| 中文字幕精品码亚洲| 天天草大香蕉一区二区三区| 成人久久网视频| 激情影院有码| 裸体视频在线观看永久免费| 国产精品18在线观看观看| 日韩在线视频色| 天天想你视频免费观看完整版高清电影 | 最近中文字幕完整版免费2019| 被黑人插到高潮视频| 欧美日韩免费综合视频| 国产69精品久久久999| 18岁看黄色视频| 亚洲少妇熟女五十p| 91久久人妻精品一区二区 | 777久久人妻少妇嫩草av电影| 久久这里只有精品国产| 日本午夜黄色精品视频| 国产成人精品免费久久久久精品久久亚洲 | 香蕉久久99综合一区二区三区| 久久久久老子影院| 国产精品a∨一区二区三区不卡| 性xxxxfreexxxxx牲| 精品一卡 二卡 三卡| √天堂中文官网资源8| av片免费观看| 看黄a级毛片| 国产又粗又猛又爽又黄的视频| 亚洲成人最新在线观看| 只有这里有99精品| 看黄色一级片视频| 美女扒开腿做爽爽爽视频| 国产激情视频宅男66| 午夜福利精品在线观看| 在哪里可以看黄片视频| 中文字幕第一页一区av| 国产又黄又粗又色的视频| 久久久久久福利精品| 久久躁狠狠躁夜夜88av| 男人添女人逼视频| 亚洲精品美女久久久久久久久久| 国产成人亚洲精品av| 97精品人妻人人做人人爽| 啦啦啦中文视频在线观看8| 久久精品久久精品久久精品| 中文字幕码一区| 久久人爽人人爽人人| 国产精品国产三级国产an香港| 国产成a人亚洲精品久久网| 免费人成在线视频中文字幕| 国产性av熟女| 啦啦啦高清视频在线观看www| 日日夜夜摸日日夜夜添| 老司机两性福利视频| 婴儿吃奶边吃边吐| 成人三级黄色大片| 国产勾引视频在线观看| 亚洲国产啊v在线播放| 荐片播放器ios版| 体育生凶猛粗爽巨大| 国产高清 在线| 女人高潮喷水视频免费| av亚洲免费电影| 亚洲影视在线制服丝袜诱惑| 黄色成人毛片网| 中文字幕一区二区三区日韩精品 | 被公侵犯高潮中文字幕| 裸体一级毛片免费看| 啊~啊别揉我奶头视频| 秋霞午夜岛国鲁丝av片| 最近日本免费观看mv免费6| 三级黄色三级黄色片| 亚洲www 7777久久久久久久| 在线看片网址a| 嘟嘟在线视频| 天堂的张望电影免费观看高清完整版| 日韩国产高清在线播放| 久久久精品免费观看| 精品久 久久久久| 国产乱子伦黄色在线观看| 东京热男人天堂av| 最近最新中文字幕免费视频| 女人18毛片水最多| 女生正面无裸体的视频无遮挡在线观看| 亚洲精品一区最新| 亚洲成人av在线免费观看| 国产免费福利精品| 精品99在线观看视频国语| 国产精品成人三级麻豆| 人妻精品久久久久中文字幕19 | 久久久久久久毛片精品美女| 亚洲精品久久久久久婷婷| 99国产精品自在自在久久| 一本色道久久综今亚洲av| 久久人妻系列精品| 欧美精品久久久久久久久久久| www.久久影院.com| 伊人亚洲22| 国产亚洲精品久久久九| 男人舔女人奶头的视频| 日本在线高清视频一区| 97人人模人人爽人人喊超碰97| 99r国产在线视频| 国产精品懂色av| 狠狠躁日日躁夜夜88av| 免费女性爱av| a黄床叫爽欧美大片免费观看| 黄片视频有哪些| 一个人www在线视频免费| 亚洲一卡2卡三卡4卡| xxx欧美黑人巨大| 男的逼插进女的逼| 91人人妻人人做人人爽秋霞影院| 日韩有码 中文| 国产成人亚洲精品三区四区| 欧美xxoo18| 欧洲亚洲最新av| 亚洲国产一区二区三区中文在线观看 | 国产伦精品一区二区三区免视频| 亚洲精品国产黄色片| 补办手机卡原来的卡| 欧美精品久久久久久久久免费 | 亚洲国产永久免费视频| 3751色院影院一区二区三区| 亚洲成人av影院在线观看| 国产又大又黄的免费视频| 在线视频 欧美 亚洲| 男女免费骚视频在线观看| 在线观看亚洲大片短视频| 舔到高潮喷水视频| 三级黄片试看短视频| 欧美精品一区影片在线观看| 国产熟女2区| 国产精品一区二区三区av片| 欧美午夜视频在线| 青草草青草草| 国产又黄又爽又色的网站| 欧美亚洲国产精品激情在线| 亚洲图片欧美色区| 麻豆在线国产| 亚洲人妻久久久久中文字幕| 欧美日本惰色| 欧美亚洲高清在线| 成人午夜影院久久久| 国产精品国产三级网站| a一级特黄不卡大片免费观看视频| 精华液一区二区三区国产| 国产gay片在线播放| 亚洲岛国大片av| 欧美精品黑人| 国产精品熟女夫妻| 熟妇人妻视频一区二区| 国产又黄又爽又色视频免费| 亚洲国产精品va在线观看嘿嘿 | 看黄色的网页| 国产三级精品三级在专区中文| 黄色成人看片| 那里可以看到黄色片| 中文字幕久久久久久久久久| 免费播放片高清在线观看视频 | 被多个黑人粗壮猛烈进出视频| 久久国产欧美日韩精品| 国产在线一级特黄aa大片| 国产片三级在线| 日本免费视频观看mv免费软件| 在线精品国产亚洲av麻豆| 福利男女视频| 日韩中文成人影院| 18年大片在线免费观看| 日本免费av看片| 波多野结衣人妻系列产品| 欧美日本成人三级| 欧美精品久久久久久久久| 丝袜制服诱惑中文字幕| 蜜臀av性久久久久蜜臀aⅴ麻豆| 男人搞女人黄色视频| 国产综合一区二区熟女| 波多野结衣av影片在线观看| 网上移动办卡选号| 成人黄色片在线观看| gv977.com| 欧美孕妇交xxx| 午夜免费福利在线电影| 国产精品一区二区+在线播放| 久久久久久久久久久成人av | 亚洲国产精品一区二区999| 国产一区二区av在线| 成人美女黄网站18禁无遮拦| 天堂久久88av| 国产综合色区在线观看| 欧美精品专区一区二区三区| 国产久久精品一区二区三区| 久久电影第一页| 色哟哟网站入口| 欧美大胆在线播放| 99国产精品久久久久密芽三级| 日韩免费黄色视频网站| 精品人妻av一区二区三区不卡| 亚洲国产综合久久久一区二区三区精品 | 欧美性猛交xxxx免费看w| 欧美日韩大片一区二区三区| 91在线黄色片| 久久久久国产一级毛片高清版密桃 | 人妻熟女中文字幕在线| 高潮美女网站| 欧美xxxxx性视频| 日韩免费无毛av| 久久久久avi| 十八禁美女黄片| 久久夜视频精品91| 六月丁香亚洲视频| 国产精品一区福利视频| 国产激情视频在线播放| 欧美大片免费观看全部免费观看| 两个男人电影在线免费观看| 91精品国产亚一区二区三区| 免费午夜福利观看| 电影播放器免费软件哪个好| 欧美性受xxxx黑人猛交视频| 狠狠躁夜夜躁人爽碰88| 国产精品亚洲影院久久久| 男女啪啪啪av免费| 国内精品自国内精品自线下| 久久av午夜福利| av视频在线观看网站免费| 国产亚洲а∨天堂久久精品| 99亚洲精精品蜜桃大全蜜桃中文字幕| 国产高潮视频在线观看| 日韩av成人在线免费播放| 91老司机精品在线视频| 精品人妻熟女视频| 娇嫩人妻在线视频| 99久久这里只有精品6| 福利老司机在线视频| 伦乱在线观看| 2020国自产拍精品网站| 国产福利一区二视频播放24p| 亚洲第一大香蕉| 少妇裸体xxxxxx性裸交视频| 日韩欧美一区精品视频| 美女黄频视频在线观看| 在线视频字幕| 丰满人妻一区二区三区10| 啦啦啦在线视频免费观看视频| 99久久精品国产波多野结衣| 日本mv最近免费| www.色站.com| 国产美女在线被艹| 免费在线一级毛片| 99国产精品一区二区青青| 国产日韩亚洲激情| 国产做a爰片久久毛片95| 能看的懂的永久视频在线观看免费| 久久久久精品电影院| 国产老人老头久久精品| 神马第九久久| 在线观看成人aⅴ大片免费| 丝袜中文字幕第一页| 成人国内精品久久久久一区| 日韩亚洲三级| 性色av成人在线观看| 天堂中文最新版在线官网| 肥胖的女人的毛片及视频| 中文av字幕av网站| 精品久久人人爽| 国产老妇xx| 中文字幕乱码_亚洲中文在线| 亚洲天堂男人高清| 久久久久久精品国产夜夜夜夜夜 | 丝袜啊啊好爽| 精品久久久久久亚洲综合网小说| 老司机内射视频| 91人妻人人爽人人狠狠| 新版中文在线天堂官网| 亚洲av熟女国产一区二区三区丫 | 大黑吊av资源| 粗的大的真爽| 亚洲国产日韩一区精品| 黑人辛吉飞原版动画在线播放免费观看| 精品影院在线观看视频| 狠狠综合久久88亚洲喷潮| 99久久精品国产都在这里| 在线观看免费网站黄色视频| 国产毛片不卡| 亚洲avab| 出差的交换夫妇完整版| 国产精品视频内| 亚洲国产成人精品久久| 羞羞视频男女网页| 亚洲国产伊人影院| 亚洲精品视频在线看| 黑人最猛免费看| 青草青在线免费视频| av电影亚洲一区二区| 国产一区二区三区不卡免费精品视频 | 高清一区二区三区大伊香蕉| 成人在线播放欧美| 精品熟女一区二区三区av | 亚洲欧美日韩国产成人精品影院| 久久视频在线观看一区二区三区| 精品人妻少妇88av| www.yiren69| 手摸高潮喷水视频| 欧美巨大精品欧美一区二区| 日韩伦理高清| 大桥未久资源在线| 超碰国产精品久久超碰国产99 | av在线免费高潮喷水| 亚洲精品久久久久久香| 亚洲中文字幕久久精品| 熟女人妻の波多野结衣电影 | 欧美另类精品一区二区三区| 欧美日韩精品专区| 国产精品一区二区性| 被邻居侵犯的人妻中文字幕| 十八禁下载网址| 未亡人熟女人妻丰满乱a∨ | `蜜桃视频日韩精品| 欧美人与性动交α欧美精品人| 啦啦啦在线完整视频免费| 中文字幕亚洲资源网久久| 3344在线看片免费观看视频| 午夜福利电影网2| 日本高清伦理片| 国产在线看片免费人成视频| 米奇777超碰欧美日韩亚洲| 日韩视频免费在线观看内射| 日日摸夜夜添夜夜添一区二区 | 美女在线观看黄| 男女一进一出抽搐视频| 老鸭窝最新网址在线视频 | 亚洲免费av加勒比资源| 久久午夜爱爱| 天堂8在线天堂8| av一本高清在线观看不卡| 欧美国产亚洲v中文| 中文字幕第一页人妻丝袜| 九九精品在线观看| 在线看饲养人电影| 国产清纯在线影院| 国产高清乱码久久久久久| 日韩精品av视频在线观看| 日本亚洲视频免费观看| 欧美午夜精选a久久久| 久久精品亚洲国产77777| 欧美亚洲尤物久久综合精品首页 | 免费久久99| 清纯人妻被公侵犯中文字幕| 99热这里只有精品mp4| 韩国伦理片完整观看| 亚洲国产欧美另类久久综合| 高潮喷水免费在线观看| 国产女人18毛片水真多3| 一边做甜品一边讲故事| 香蕉成人av在线观看| 亚洲国产啊v在线播放| 欧美成人免费人免费| 国产剧情麻豆在线| 黄色片三级在线观看| 怎样下载电影免费观看| 欧美精品一区二区三区精品| 一个人看的www片高清| 最近中文字幕人妻av| 欧美精品专区一区二区三区| 国产无套内射在线观看999| 一级伦理片免费观看| 国产a级久久久精品毛片| 真实国语在线观看| 亚洲精品久久久久久蜜桃一级| 天堂最新版免费观看| 久久久嫩草影院| 中文字幕黄色视频免费平台| 免费男女性午夜视频| 超级老师在线观看免费观看| 九九视频成人| 在线岛国精品| 男人猛躁进女人免费看视频| 欧美fexx另类| 国产亚洲三级| xxoo黑人性视频免费黑人巨大| 最近高清中文字幕大全7| 很黄的日本电影| 自拍偷区亚洲综合第三区| 能在线观看的av网站| 特级毛片a级毛片免费观看网站 | 久久久一二区中文字幕| 久久午夜精品视频| 亚洲人成网站在线播放91| 精品久久久久久一区二区3区| 成年人国产欧美在线观看| 98国产精品午夜免费福利视频| 可以直接在线观看的av网站| 情色美女电影| 午夜福利在线观看视频免费| 在线观看片免费| 男男激情无遮挡| 精品免费一区二区在线观看| 美女被到爽高潮喷水| 五月婷久久精品国产亚洲av| 久久精品毛片懂色av| 中文字幕一区二区三区久久久人妻| 男女无遮挡免费羞羞视频| 扯美女的内裤| 精品高潮久久久久久久久| 精品成人一区二区三区视频| 成人一区二区亚洲精品| 国产成人精品不卡久久久 | 欧美va亚洲| 亚洲 国产 欧美 在线| 男人舔抠女人下面视频在线观看| 波多野结衣av网址在线观看| 国产野战直播电影| 亚洲欧美日韩偷拍一区二区三区| 在线观看免费观看日韩av| 成人在线视频一区二区三区| 一二三四在线播放免费观看高清电影| 你个小sao货把你cao烂| 黄色的视频网站在线观看| 一级做a爰片久久毛免费观看| 91亚洲国产成人影院| av一本高清在线观看不卡| 中文字幕乱码人妻久久精品| 国产精品久久久久久麻豆欧美| 日韩精品人妻中文字幕在线有码| 激情快播国产欧美一区二区三区| 成人黄色在线视频网站| 国产精品视频对白刺激| 亚洲伊人aa| 国产av剧情md精品麻豆七夕| 亚洲一区,国产精品| 中文字幕精品码亚洲| 欧美美女xxx| 熟妇激情内射com| 精品一区二区乱码在线| 久久99精品久久久97夜夜嗨| 亚洲大片欧美大片| 国产精品大片免费看| 2021精品卡一卡二卡3卡免费| 日本精品一区二区三区二人码| 国产又黄又猛又色又爽的视频| 亚洲av一卡| 新版天堂2中文在线| 久久婷人人爽人人澡超级| 美女胸露出奶头乳摇视频免费| 中文字幕永久免费视频最新最火| 免费在线观看黄色下载| 一亚洲中文字幕久久| 午夜精品一区二区三区八区| 欧美国产麻豆婷婷| 疯狂的欧美乱大交| 爆炸头武士高清完整版在线观看| 在线视频成人中文字幕| 蜜臀av在线一区尤物| 免费一级久久片| 美女gif啪啪动态图| 久久久人妻精品www| 伊人久久大香线蕉av蕉导航| 中文字幕h网站| gogo大胆啪啪啪| 男女做爰裸体猛烈吃奶摸视频软件| 日韩亚洲高清中文字幕| 欧美人与动牲交大全免费| 免费91麻豆天美精东蜜桃传媒| av伦理片在线| av片在线不卡观看| 亚洲精品一区二区三区电影| 日本高清视频在线www观看| 日产精品卡1卡2卡三卡区别| 日韩剧情中文字幕| 日韩电影伦理一区二区三区| 亚洲91av电影| 亚洲区一av| 一本综合久久97| 国产老熟女伦老| 国产av精品一区二区三区影院| a级毛片免费看在线看| 国产亚洲欧美日本一级| 美女高潮喷水在线免费观看| 成人精品人妻一区二区| 中国av电影一区二区三区| 嫩草三级影院| 午夜福利a在线观看| 香蕉91一区二区| 欧美情色av片| 亚洲精品美女久久久777777| 久久精品亚洲综合| 亚洲国产综合久久久一区二区三区精品| 亚洲一区伊人| 一区二区三区成人在线免费视频| 韩国午夜理伦三级好看的| 日韩欧美亚洲另类激情一区| 99国产精品免费视频| 欧美午夜久久精品另类 | 国产毛片内射能看的| 蜜臀久久99精品久久久宅男| 日本岛国永远免费| 999精品免费在线视频| 欧美日韩国产麻豆| 一级片视频下载| 国产精品免费在线看片| 国产精品色哟哟| 亚洲精品在线公开免费播放视频在线观看 | 国产av综合aⅴ国产av中文| 空之色水之色无删减在线观看| 久久久久久久久久久久草| 97久久,久久人妻精品一区|| 黑人美女av大全| 午夜老司机a影院| 超薄肉色丝袜美腿| 欧美三级电影一区二区三区| 亚洲香蕉久久久久| 日韩高清毛片在线观看| 精品精品国产精品| 国产午夜亚洲精品理论片国产馆 | 玩弄极品人妻少妇aaaaa| 大粗又爽又黄少妇毛片免费| 亚洲欧美日本国产专区一区| 国产91色在线|国产| 欧美午夜一二三| 午夜两性视频免费观看| 黄a级毛片看看| 在哪里可以看黄片视频| 亚洲午夜一区av| 国产美女在线福利| 成人精品18一区二区| 国产精品岛国久久久久| 国产精品午夜伦理片| 久久国产精品69久久孕妇| 欧美精品18sexvideo| 日本成熟老妇人| 91成人自拍视频_日本欧美精品视频在| 亚洲欧美人成网站aaaa| 国产精品久久久久久久久小说| 白嫩嫩的奶头视频| zz亚洲av一区二区三区| 亚洲一九九九九一九二 | 国产在线一区二区三区| 国产女主播喷水高潮视频| 男人操女人免费观看网站| 亚洲,国产,欧美日韩一区二区在线| 一区二区三区国产探花av| 中出到高潮呻吟视频免费体验| 日韩欧美亚洲一区二区三区—| av天堂免费在线| 人妻波多野结衣网| 中文字幕精品码亚洲| 大香蕉久久精品24| 色哟哟哟在线观看www| 久久久99午夜免费视频| 中文字幕a久久| 亚洲精品99国产| 97在线免费视频观看| 亚洲欧洲成人久久桃色一区二区| 亚洲av男人天堂网址大全| 国产最新a∨天堂资源最新在线| 欧美精品激情一区| 波多野结衣一区二区三区av高清 | 女人被躁到高潮嗷嗷叫怎么办啊 | 91青春草视频在线观看| 国产黑丝袜美女| 欧美超长黑吊在线观看| 欧美国产成人精品二区| 欧美精品系列一区二区三区| 国产剧色在线| 国产男女猛烈无遮挡免费视频网址| 国产午夜在线观看福利| 国产麻豆剧传媒精品国产av| 伊人网热久久| 免费人成在线小视频| 丰满肉感的熟妇疯狂耸动| 国产黄色视频www| 日韩欧美资源在线观看| 国产视频一区二区三区在线播放| 国产哟熟女一区二区| 男女日别视频在线观看| 夜夜摸夜夜操| 色婷婷av一区二区三区之4k岛国 | 欧美日韩视频第一页| 谁有日本网址| av在线免费高潮喷水| 99内射视频| 亚洲欧美精品二区| 国内午夜福利视频在线观看| 四季av巨乳| 性欧美成人播放777777| 大香蕉在线视频天天| 亚洲欧美日本国产专区一区| 国产黑色丝袜高跟鞋在线网站| 午夜性生活在线视频| 男女无遮挡做爰猛烈视频 | 美女被强网址| 久久精品国产亚洲av香| 免费观看涩涩成人无遮挡| 久久久久久精品影院sssss| 在线观看日本高清视频网站| 男人操女人免费观看网站| 亚洲精品久久久久久蜜桃一级| 欧美日色播视频| 在线观看大片免费播放器| 亚洲情色天堂av| 午夜亚洲国产理论片中文| 爱豆影视传媒视频| 亚洲精品有码av| www.丝袜免费| 97精品国产一区二区三| 国产农村乱对白刺激视频| 亚洲一区二区三区在线观看| 国产网站激情在线观看视频| 久久午夜场鲁丝片| 亚洲av在线午夜| 日韩二区三区在线观看| 国产欧美久久亚洲| 日韩熟女亚洲老熟女| 久久视热频这里精品15| 青青草大香蕉猫咪av| 国产区一区二区蜜桃| 女人十八片毛片免费视频女人| 欧美黄色一级大片免费| 黄色成人在线视频| 天堂中文在线资源库用| 亚洲啪啪综合色| 国产二区在线观看视频免费| 成人欧美电影网站| 欧美色噜噜噜国产色吧| 亚洲欧美精品一区二区日黑人| 老司机免费福利精品视频| 黑人操黑人逼| 淫视频在线免费| 久色国产在线视频| xxx.欧美性少妇hd| 美女视频a黄| 国产高清乱码久久久久久| 亚洲精品国产av天美传媒| 18禁又黄又爽又色网站| 啦啦啦观看免费观看视频中文| 千百射69av| 性色av第一区二区三区| 精液有时候呈黄色| 国产激情视频在线播放| 91香蕉一区二区三区| 亚洲精品十八在线播放| 久久九九久精品国产日韩经典| gogo大胆西西| 亚洲视频不卡在线观看dbd| 国产成人精品免费久久久久精品久久亚洲| 香蕉视频官网免费下载| av一本高清在线观看不卡| 欧美一区二区av视频| 在线免费看片人成视频| 亚洲一卡二卡无卡| 97在线高清视频| 国产av有色有黄无遮挡精品| 国产麻豆精品69久久久| 这里只有久久精品在线| 亚洲精品国产一区二区在线观看 | 视频在线一区二区三区 | 亚洲成人蜜桃av麻豆| 国产亚洲精品av久久综合麻豆| 欧美在线视频色电影| 2020国产精品久久久| 欧美成年黄网站色| 欧美性bbxx精品区| 亚洲日本黄色小视频| 开心色婷婷综合| 久久久久久精品免费专区| 特级毛片全部免费播放在线看| chinese熟女自拍视频hd视频| 朋友夫妇交换在线免费观看| 国产精品国产三级国产av 中文 | 久久成人永久婷婷99精品| 国产精品嫩草影院8av| 亚州av一区二区三区性色| 一个人看的视频www高清在线观看| 五月天丁香影院| 亚洲精品美女啪啪| xxx欧美老熟妇| 国产一区二区精品福利地址| 一区二区三区伦理电影网| 夜夜骚久久久久精品 免费| 琪琪福利午夜影院| 神马精品影院| 精品亚洲第一页| 亚洲av香蕉一区区二区三区| 成年女性的烦恼| 国产97在线 | 日韩| 人人妻人人澡人人爽欧美视频| 国内精品久久久久影院变态| av网址大全久久| 黄片www网站| 一级片视频久久| 精品草久久久久久久久| 国产伦精视频在线观看| va天堂成人| 免费在线看三级毛片| 国产裸体无遮挡视频| 黄色录像看黄色录像| 亚洲av成人午夜福利在线电影 | 91香蕉蜜桃综合久久| 国产精品色婷婷99| 精品国产亚洲一区二区麻豆| 刘亦菲双腿流白浆| 午夜福利不卡在线观看视频| 成年女人毛片视频播放| 高清国产成人在线| 黑人舔女人视频| 精品日韩乱码久久久久久丨区2区| 中文字幕h网站| 亚洲av 网站| 91激情国产在线观看不卡| 大香蕉在线视频一区| 91自拍porn视频| 日韩欧美国产亚洲中文| 边摸边吃奶边做爰视频| 久久爱av极品盛宴| 性xxxfreexxx中国少妇| 久久久国产一区二区三区四| 别揉我的奶头啊嗯视频| 亚洲国产午夜电影精选| 黄色视频在线观看不卡顿| 久久热精品影院| 国产在线免费一区二区| 黄色视频不卡免费网站| 久久国产精品99精品| 在线全黄a级一级毛片免费视频| 国内精品久久久久影院变态| 久久久久wwww日本黄色片| 亚洲精品色区一二三四| 99午夜精品福利视频| aaaaaa级少妇高潮大片一条免费| 国产搞黄视频免费看| 网站av免费在线观看| 非洲黑人尻逼视频| 国产精品99久久精品| 久久久久久久久久一蜜av| 激情精品欧美| 亚洲中文字幕在线成人| 国产黄大片在线观看| 日本在线一二三| 60hz会卡吗| 欧美激情 网站| 国产熟女久久av| 美腿丝袜 在线| 最新亚洲av影院| 69精品影院| 91中文精品日韩欧美在线| 淫淫日日激情婷婷| 又粗又硬黄色视频| 91国内视频一区二区三区| 不卡中文字幕成人精品久久| 美美在线观看视频| 日女人国产精品| 抽搐一进一出动态| 美女扒开内裤视频网站| 中文字幕乱码_亚洲中文在线 | 日本av片波野多结衣毛片| 樱花草视频在线观看.www| 久久中文字幕精品视频| 免费人成视频网站在线18| 国产精品高清资源在线观看| 能看的黄色视频网| 老司机午夜网| 欧美精品成人看| 好男人免费观看的视频| 欧美极品午夜| 四虎av最新网址| 日韩av中文字幕在线视频| 久久久精品熟女亚洲avv| 欧美sexxxxxvideos| 成人黄色视频免费软件| 国产成年aⅴ人片在线观看网站| 在线观看av免费不卡| 天堂最新版在线网| 国产精品18久久久久久不卡孕妇| 欧美综合五月六月丁香| 一区二区三区在线观看高清视频| 国产99精品免费观看| 两个人在家看的在线免费视频 | 色呦呦网页入口| 在线观看的国产视频| 成人区人妻精品| 国产精品岛国久久久久| 国产三级高清av| 女生露出乳头视频| 淫秽毛片视频| 欧美一区午夜福利在线| 两个人看的视频www免费 | 日本三级电影在线观看一区二区三区| 人妻少妇偷人精品免费看片| 久久久久久久精品店| 久久精品人妻中出| 亚洲va精品免费| 日本a在线视频| 美女100%大乳头| 人妻少妇免费播放| 啦啦啦在线视频播放www| 免费看日韩欧美大片| 色哟哟在线高清观看| 国产成人精品久久久久网| 日日骚夜夜爽| 美女xxoo好爽动态gif网站| 国产精品成人av久久亚洲| 国产中的精品v一区二区三区四区| 久久婷婷香蕉| 又色又爽又黄的视频本| 日韩久久久久久久电影| 黄色好看还是绿色好看| 谁有国产黄色视频在线观看| 男人边摸边吃奶边做动态图| 日本公开免费下载视频| 亚洲欧美国产一区久久| 国产精品久久久久av蜜臀| 久久不卡的av| 扒开双腿之视频| 国产精品高潮呻吟av久久黄| 中文字幕成人在线视频| 熟女内射国产二区国产熟女| 又色又爽又黄观看| 国产女人视频在线观看| 日韩亚洲免费| 超爽a级毛片| 欧美成人性精品| 久久爱av极品盛宴| 亚洲jdav简单av在线观看| 我们和5对夫妻的交换| 免费作爱大片| 亚洲av成人一区二区电影在线| 亚洲gvfree| 久久九九亚洲精品| 美女直叫爽免费观看视频| 国产丰满性熟妇ⅹxxooozz| 亚洲国产一区在线| a级毛片免费小说| 性欧美成人播放777777| 93精品久久久久久久99蜜桃| 老司机深夜福利在线免费观看 | 激情偷乱人伦视频| 久re精品视频在线观看| 久久国产精品蜜| 国产精品99在线观看丝袜美腿| 国产大片+精品久久久| 国产又大又黄又爽免费视频| 好男人在线视频免费观看完整版| 国产久久久久久久久久精品 | 亚洲制服丝袜美腿人妻中文字幕在线| 97精品视频在线免费观看| 欧美日韩高清大片| 徒留一片爱过的情伤| 国语自产少妇精品视频蜜桃在线| 图片视频小说综合| 波多野结衣高清免费| 亚洲av大片免费观看| 被手摸高潮喷水在线观看| 国产一区二区三精品久久久无广告| 男人天堂中文字幕久| 国产精品丝袜久久久久久久 | 国语精品91自产拍在线观看二区| 国精日本亚洲欧州国产中文久久| 国产美女在线被艹| 蛇妖艳史淫片免费放| herivi精华| 色综合亚洲在线| 搞黄无遮挡网站| 女人18毛片在线观看| 草草青在线视频| 成人国语电影| 国产女孕妇一级毛片| 精品乱码久久久久久蜜桃.| 亚洲av 免费在线电影| 水蜜桃成视频人在线看| 日韩av免费观看网址| 毛卡卡1卡2卡3| 极品影院91| 1级毛片在线看| 国产成视频在线观看| 波野结多衣一区二区| 亚洲,欧美清纯另类| 国产欧美日本视频在线| 99全国在线这里只有精品| 日韩欧美国产高清在线一区| 日韩老司机夜间福利视频| 午夜免费在线观看午夜在线| 国产免费福利精品| 在线不卡电影av| 国产精品久久久久国产一级毛片| 秋霞在线观看av鲁丝片| 日日夜夜欧美亚洲| 极品粉嫩在线观看91| 一区二区三久久久| 一二国产精品福利| 已婚夫妇交换电影| 久久国产精品伦理| 97人人人人妻| 干出白浆11p| 国产9精品久久久久成人精品| 久久久久影院美女国产主播| 伊人久久亚洲国产av| 丁香亚洲五月天| 久久精品国产72国产精, | 午夜视频成人网| jzzijzzij亚洲熟女少妇18| ww.日本在线视频| 30岁成熟女人牲交片| 不要摸我的奶头视频| 边吃奶边插逼视频| 天天干夜夜播| 又爽又黄少妇毛片| 国产黄三级在线观看| 主播喷水视频在线观看| 夜夜摸日日操| 精品亚洲成人a| а√天堂在线最新版资源| 久久久这里只有免费精品| 蜜桃电影视频| 精品国产伦一区二区三区小说| 国产精品91一区二区福利精品| av日韩av在线| 内地a级毛片| 免费观看黄色视频在线| 人妻中文字幕小视频| 真人一进一出抽搐图| 国产精品成久久久久三级蜜臀av| 99视频在线精品| 最新亚洲av网址| 7777久久亚洲中文字幕蜜桃| 亚洲国产二区v在线观看| 女人18毛片毛片毛片毛片区二| 91情色在线观看| 国产精品一区二区三区av片| 欧美卡二卡三卡4卡无卡| 一级a爱片视频| 日本在线视频色综合| 亚洲精品色播一区| 少妇又大粗毛片| 在线观看免费观看完整版| 中文字幕一区侵犯人妻| 男人猛躁进女人免费视频看| 中国av电影一区二区三区| 国产一区二区三区在线视频…| 久久爱成人网www| 久久久久久久久久国产,春色视频| 性生活视频久久久久久久| 99黄视频免费看看| 东京热av电影一区二区| 黄色深情视频在线播放免费网站| 国产精品久久久亚洲www 999| 最近免费中文字幕大全高清av| 午夜欧美精品久久久久久懂色 | 日韩欧美高清大片| 国产麻豆一精品一av一免费| 欧美 国产 日韩一区| 91九色蝌蚪成人窝| 夜夜添日日操| 亚洲国产欧美另类日韩丝袜| a级毛片100部免费| 97日韩人妻一区二区三区久久| 黄色一级片免费观看 | av毛片电影在线| 国产亚洲精品久久久久久网站| 亚洲男人天堂888| 香蕉久久av| 亚洲精品韩国女主播网站| 亚洲av熟妇高潮30p| 久久久久老子影院| 不卡av电影在线看| 97久久国产综合精品女| 三级毛片草民网| 勾引被草在线观看免费视频| 亚洲国产精品99久久久久| 嘟嘟嘟在线观看免费完整版www| 看毛片的视频| 99久久久久久免费| 超色视频com.| 五月天丁香婷婷欧美| 亚洲337p| 亚洲av熟妇高潮30p| 亚洲第一岛国av在线播放| 羞羞电影片段| fre性欧美xxx| 国产香蕉视频在线播放| 精品人妻一区二区三区在线| 亚洲精品乱码久久久久久日本91 | 亚洲精品网站播放| 精品国产一区二区三区av777| 看黄色看黄色片| a级片毛片免费观看| 好色人妻一区二区| 一二三四中文版免费观看视频| 六月丁香免费视频| 亚洲国产系列久久精品99人人| 亚洲av成人网午夜| 国产特一级黄色片| 国产黄a三级三级三级一| 欧美大胆xxx| 五月婷婷色综合激情| 午夜久久久久久久| av在线观看高潮喷水网站| 床上成人大片| 欧美情色大片| 亚洲日本黄色小视频| 国产精品成人va在线观看| 亚洲欧洲日韩av综合线观看 | 午夜福利成人在线播放| 日韩av免费在线观看网站| 国产破处大片在线免费观看| 成人午夜视频免费看欧美| 亚洲综合在线中文| 国产一级午夜黄色片| 理伦片在线的免费观看| 女性私处出白浆| 91大片免费在线观看| 看中国免费的一级黄色毛片 | 日本18禁av在线观看| 日韩中文字幕剧情在线播放| 999视频这里有精品| 给我一个毛片网站| 日日摸夜夜添夜夜添a国产三级| 亚洲一九九九九一九二| 免费黄片毛片在线看| 全免费毛片在线播放| 亚洲乱码专区在线观看| 人妻av在线影院| 99操人妻人人| 永久黄网站在线观看| 亚洲欧美精品suv| 欧美日韩精品视频在线观一区二区| 国产精品主播午夜福利视频| 精品少妇亚洲一区| 男女爱爱免费福利视频| 未亡人熟女人妻丰满乱a∨| 欧美日韩国产精品亚洲一区二区| 午夜福利影片在线观看| 精品国产一区二区三区蜜殿 | 怡红院亚洲专区| 黄色录像一级毛片| 精品国语视频在线观看| 成人免费视频免费| 在线观看诱惑国产精品| 亚洲国产高清精品影片| 最近中文字幕2019年中文字幕| 天堂网在线最新版资源www| 婷婷综合久久中文字幕蜜桃三| 2021年最新热播中文字幕| 两个人在线观看www高清免费| 国产精品.19久久久| 丝袜中文字幕第一页| 搜索久久久久久久久久久久,毛片毛片 | 欧美亚洲专区一区二区| 欧美乱大交xxx疯狂俱乐部| 成人免费黄色视频网址| 亚洲最大4388x| 最近中文字幕视频2019第一页| 欧美日韩国产一中文字不卡| 中文字幕,日韩欧美一区二区| 男女羞羞无遮挡网站在线观看| 欧美日韩片段在线观看网站| 少妇奶子被捏视频| www.四虎69av.com| 奇米影视亚洲春色撩人| 吟呻人妻一区二区三区| 国精产品999一区二区三| 精品亚洲成人av片在线观看| 欧美婷婷丁香| 久久热成人精品视频在线| 国产尤物一区二区在线| 狐狸色在线观看| 国产福利电影一区二区三区网 | 亚洲,国产,欧美,日韩| 国产rv乱码一区二区三区小说| 99久久精品久久久久婷婷婷婷| 中文文字幕文字幕永久免费| 午夜大片免费在线观看| 超碰人妻天天摸| 欧美性另类精品| 亚洲精品中文字幕精品乱码| 成人黄片久久久免费观看| 日本毛片大全在线播放| 暴雨梨花电视剧全集在线观看高清 | 少妇人妻偷人视频| 久久精品国产亚洲av网站7| 亚洲免费精品内射| 国语自产拍在线视频中文| 太大太粗太爽免费视| 日韩欧美高清不卡激情电影| 波多野结衣主演的毛片| 久久成人精品久久久久| 裸露无遮挡在线观看| 学长轻点奶头h视频| 人人妻人人澡人人爽视频耻辱| 风韵人妻丰满熟妇老| 亚洲国产高清在线观看一区二区三区| 亚洲中文乱码字幕嫩草影院免费观看 | 黄片视频观看免费下载| 欧美性视频xx| 美女亚洲精品一区| 亚洲国产一区二区三区中文在线观看 | 18禁黄网站免费观看永久在线| 国产野战视频在线观看| 一边爽一边摸下视频| 午夜国产成人一区二区三区| 精品久久国产亚洲av| 国产av国产伦理| 抽搐一进一出免费视频| 国产精品人成电影在线观看| 亚洲精品999| 九九免费在线精品视频| 国产一区二区三区欧美精品日韩| 国产在线看黄色视频| 国产日韩欧美不卡| 国产美女在线福利| 欧美日韩国产综合专区| 亚洲精品国产一区二区| 制服诱惑中文字幕第一| 天天摸夜夜添夜夜添高潮| 中文字幕成人在线视频| 香蕉电影久久青青草| 夜夜艹日日爽| 乱码av午夜噜噜噜噜一| 日韩大尺度av网站在线观看| 久久爱在线观看网站| 精品久久久久久不卡专区| 国产精品97久久av色婷婷网| 国产av国产伦理| 30岁成熟女人牲交片| 在线观看黄片视频免费观看| 布拉芙人在线观看| 男女羞羞无遮挡网站在线观看 | 最近2019年中文字幕网| 老司机久久免费福利视频| 国产黄三级在线观看| 精品久久久久久国产三级| 网站在线观看ww| 中文字幕亚洲欧美色| 91人妻人人爽人人狠狠| 福利永久国产| 欧美高清av视频| 在线免费看国产黄色视频| 国产福利精品视频一区二区| ,av新版天堂在线| av亚洲网站| 亚洲欧美丝袜精品| 伦里电影在线观看| 奇米影视成人精品久久久| 日美a级毛片| 在线看天堂网a| 亚洲精品 高清| √天堂中文在线最新版在线| 国产超级碰碰碰人人妻97| 国产成人一区二区三区影院扒拉| 一区二区三区视频精品观看 | 99热这里只有精品热| 成年大片40分钟免费视频播放| 亚洲欧美日本国产专区一区| 国产老妇伦国产熟女高清朝阳人妻| 欧美三级三区| 一区二区成人在线视频| 九九精品视频免费| 国产午夜精品一区二区三区在线观看| 亚洲综合色在线| 国产末成年女av产国产精品软件 | 日本电影爱情tv| 久久久久久精品免费专区| 午夜福利不卡视频免费观看| 在线观看国产美女高潮| 亚洲av大片免费观看| 欧美人与牲禽动交精品免费1视频| 99国产精品国产精品九九| 亚洲av永久精品毛片天堂| 污亚洲成人久久| 日韩精品久久久久久久蜜臀| wwwwxxxx亚洲| 永久免费观看的黄色视频网站| 亚洲丝袜字幕| 亚洲精品国产一区二区在线观看| 欧美性做爰在线观看| www.欧美黄片| 宅男噜噜噜66国产在线观看| av成人久久电影| 欧美一卡2卡3卡4卡无卡网站| 黄版免费视频| 国产.亚洲.日本三级| 91精品人妻国产在线线| 国产av现在看| 中文字幕一区二区三区久久久人妻| 高清国产搞逼视频| av人妻精品一区二区| 亚洲国产经典三级| 亚洲中文字幕丝袜美腿| 日本亚洲视频免费观看| 欧美,日韩,国产,在线观看| 最新国产2022va在线| 无人区大片免费播放| 国产综合一区二区在线免费观看| 台剧永远的第一名在线观看| 亚洲欧美日韩国产a| 日产精品卡2卡三卡4最新| 国产精品成人一区二区三区av| 免费女人18级毛片视频| 老鸭窝在线观看网址| 精品国产一区二区三区四区在线| 特级做a爱毛片免费视频| 国产拍亚洲精品av在线观看 | 黄色一级片免费观看| 亚洲精品成人手机在线观看| 欧美成人激情免费| 欧美日韩一区二区三区免费观看| 91情色在线观看| 日韩 欧美 国产 免费| 亚洲成a人片77777在线观看| 国产乱码精品一区二区三区麻| 久久99精品久久久久久青青| 国产综合色区在线观看| 欧美日韩亚洲国产不卡| 亚洲伊人久久大香线蕉下载| 不卡日韩av在线播放| 精华液一区二区三区别在哪| 亚洲不卡的一区二区三区| 好色人妻中文字幕网| 又黄又刺激视频免费| 久久这里有精品8| 97久久超碰国产精品最新| 波多野结衣主演的毛片| 波多野结衣高清在线观看一区| 亚洲av首页在线| 亚洲精品成色| 美女的视频是黄的免费| 天堂av手机在线| 策驰影院在线网站观看| 国产乱码精品一区二区三区四川人| 国产精品久久国产精品9| 最近中文字幕免费中文高清8 | 国产人妻av一区二区三区四区| 免费人成视频网站在线18| 亚洲av一级国产成人精品电影| 久久成人亚洲欧美电影| 欧美成人午夜aaaaa片| 国产精品欧美日本在线观看| 中中文字幕精品视频在线观看| 少妇被猛烈进出爽爽爽爽视频| 秋霞蜜臀午夜久久电影网免费| 人妻精品综合久久久久| aaa国产片| 成人一区二区三区视频网| 日日操,夜夜爽| 久久自己只精产国品| 五月婷久久精品国产亚洲av| 国产精品一区二区三区四区香蕉| 嫩草影院久久tv| 国语自产拍在线视频中文| 免费看片 在线观看| 99精品国产一区二区在线观看| 夫妇交换影视| 精品人妻久久av中文字幕| 亚洲国产精品日韩av| 爱爱爱网av女毛片| 欧洲av色综合| 亚洲成a人片在线观看高清| 国产另类一区二区三区在线观看| 男人女人性配免费视频观看| 国产一精品在线一区在线观看| 91激情国产在线观看不卡| 99国内免费精品久久久久久久久| 美女色黄免费观看| 青草青在线观看免费视频| 精品国产欧美成人一区| 色综合婷婷亚洲| а√天堂www在线а√天| 东北小伙搡老熟女老女人| 国产精品福利资源| 最近免费中文mv字幕| 好男人视频免费播放在线观看| 亚洲一区视频在线免费播放| 成年美女视频黄色永久免费| 日韩1区二区视频| 国产精品 色呦呦| 九色国产成人久久精品| 亚洲国产经典三级| 99热99色这里只有精品| 性欧美精品videosse护士| 精品国产亚洲一区二区麻豆| 亚洲和欧洲一码二码区别在哪儿 | 久久精品亚洲国产电影网va| 欧美精品久久久久久久潘金莲| 大香蕉久久色| 午夜精品爱爱福利视频不卡| 国产极品尤物粉嫩在线| 老司机在线观看影院| 桃花网视频在线观看| 学长轻点奶头h视频| 99久久无色码中文字幕,一本久…| 长靴子配丝袜av一区| 在线日韩欧美观看| 欧美 国产 日韩 91| 成人午夜免费福利电影| av在线免费观看视频网站| 国产精品午夜福利不卡| 日本av毛片免费中文| 香蕉黄色av网| 黄色录像网站免费下载观看| 人妻精品久久久久中文字幕19| 国产精品午夜伦理片| 日产精品一线二线三线区的区| 爽 紧 大 粗 水多| 欧美变态喝尿撒尿淋尿| 免费看,香蕉视频.com| 在线视频成人网| 国产精品亚洲片在线观看不卡| 婷婷人人爽人人做人人添| 欧美日韩综合不卡一区二区三区| 免费青春期视频在线观看| 跪求在线观看网站| 93精品久久久久久久99蜜桃| 中文字幕人乱码亚洲影| 日日爽夜夜骑| 主播喷水在线观看| 亚洲精品在线x入| av在线播放亚洲不卡| 国产9精品久久久久成人精品 | 又大又硬又爽又黄视频| 久久精品毛片懂色av| 午夜蜜桃久久久久久精品| www999国产精品电影| 精品最新国产| 久久亚洲国产精品123区| 波多野结衣精品一区二区三区| 国产视频日韩欧美一区二区三区 | 老鸭窝黄av| 六月丁香激情亚洲| 欧美成人黄色视频在线播放| 国产99精品久久久| 国产亚洲成av人片在线观看香蕉| 亚洲综合另类色区| h高潮嗯啊娇喘抽搐在线视频| 亚洲麻豆av一区二区三区| av.天堂一区二区三区| 92午夜福利1000集在线观看| 日韩在线视频字幕| 国产欧美日韩在线专区| 亚洲黄片精品一区二区| 黄色91影院| 日韩欧美特黄| 精品熟女一区二区| 已婚夫妇交换电影| 国产三级 精品| 久久久久亚洲av成人篇小说| 久久精品国产免费看久久精品| 日韩av三级在线| 美女极度诱惑九九久久av| 在线看精品一区二区| 九九在线视频在线视频精品 | 久久精品人人澡夜夜| 成人av app| 嗯啊高潮了喷水了高h痉挛| 樱花草视频在线观看.www| 日韩精品欧美少妇福利另类| 精品久久久,| 免费观看无遮挡www的视频网站| 午夜福利啪啪片一区二区| 天美文化传媒精品孟若羽| 亚洲免费成人av在线观看| 宅男视频亚洲欧美日韩在线观看| 久久香蕉色网| 色综合久久久久久久久8噜啦噜| 免费大片视频xxx| 99国产精品丝袜久久久久久蜜桃 | 欧美国产精品一区久久久| 成人欧美电影网站| 国产毛片内射能看的| 一本大道av日日躁夜夜躁| 高校教师在线免费观看完整版| 亚州欧美日韩久久久久| 精品国产蜜桃一区二区乱码不卡 | 美女被遭到高潮免费网站| 国产福利9丨精品一区二区| 一本色道久久久888| av日韩av在线| 女人牲交的视频| 亚洲精品有码av| 国产精品三级快看| 淫秽毛片视频| 欧美一区二区成人久久片| 秋霞免费毛片| av免费看不卡网址| 色偷偷噜噜噜亚洲男人看片app| 亚洲av福利动漫| 亚洲成av人电影网| 亚洲一区 色| 亚洲国产精品三级三级| 丝袜美腿制服诱惑亚洲| 女人口18毛片a毛片| 亚洲v欧美v日韩| 乱码一区二区三区在线tv| 国产精品男人天堂| 亚洲精品国产综合久久精品午夜精品| 久久精品亚洲天堂av| 丁香花五月婷婷| 国产精品久久久久久久岛一本| 舔舔乳头视频| 欧美精品黑人| 久久三级伦理| 亚洲欧美亚洲国产亚洲经典三| 奇米影视7777久久精品91| 成人无h码动漫在线观看网站| 两个黑人挺进女友体内视频播放| 刘亦菲一级毛片视频| 韩国在线三级观看| 在线观看视频av网站| 中文字幕在线第18页| 久久天天躁狠狠躁夜夜躁2014| 产亚洲国内av| 亚洲精品午夜天堂福利av| 亚洲国产欧美影视| 在线中文字幕丝袜| 欧美日韩色视频一区二区三区| 亚洲狠狠久久综合一区7777| 国产麻豆精品剧av| 日韩美女激情内射| 欧美日韩乱妇高清无乱码| 男女内射视频在线观看h| 久久亚洲精品yy1111| 亚洲精品 高清| 91久久人妻精品一区二区| 伊人久久大线影院首页| 亚洲av日韩av不卡| 亚洲精品在线x入| 人妻少妇偷人精品免费看片| 国产日韩欧美大片一区二区三区| 午夜一区福利片| 久久国产精品情侣| 久久久精品1区| 美女被弄高潮视频免费观看| 国产男性又粗又猛又爽又黄的小说| 男人扒开添女人下边免费视频| 在线国产麻豆极品av| 亚洲综合av网站| 久久人人爽av亚洲| 秋霞午夜伦理鲁丝片| 欧美激情成人免费视频| 超爽a级毛片| 宫锁沉香在线观看网站| 亚洲免费播放av| 熟女亚洲av综合av| 国产精品久久国产精品9 | 中文字幕+乱码+中文字幕av| 国产精品线成人| 国产a在视频线精品视频| www.中文字幕第一页| 国产精品免费在线一区二区| 成人精品人妻一区二区三区| 久99久精品视频在线| 三级黄色干逼片| 亚洲欧美一区二区三区在线大| 亚洲性成人网| 两个人免费视频观看bd中国| 夜夜操美女网站| 九九精品在线免费观看| 成人美女视频在线观看一区| 人人妻人人添人人爽欧美二区| 老鸭窝av天堂| 色综合美女女色精品色| 台湾人妻精品av视频| 精品日产亚洲卡2卡3卡4卡5卡 | 亚洲精品久久久久久下一站| 热码在线视频| 日韩激情. 熟女| 天堂新版中文在线| 玩弄风骚白嫩人妻少妇| 看黄色毛片看| 日韩精品午夜理论片在线| 最近高清中文字幕一区| 亚洲成人影院久久| 国产a级一级二级三级| 18禁软件网址| 67194欧美成人| 久久久久久国产精品二区| gogo大胆啪啪啪| 成人女人毛片免费观看不卡| 久久亚洲精品风骚| www.爱看黄片.com| 国产精品伦子一区二区三区| 国产日奸在线观看| 性生活视频久久久久久久| 国产精品av网| 蜜桃电影视频| av在线观看天堂网| 国产精品一区午夜福利视频| 黄色大片免费播放器| 国产亚洲精品www久久久免费影院| 久久这里有精品15一区二区三区 | 9久e在线精品视频在线| 亚洲国产高清在线观看一区二区三区| 中文字幕在线观看亚洲伊人| 999国产在线观看精品| 天堂最新中文在线官网| 玖玖玖精品内射| 在线播放免费视频一区| 久久99精品久久久久久青青| 亚洲精品在线公开免费播放视频在线观看 | 国产成人一区二区三区免费视频91| 亚洲+欧美+国产+综合+| 国产又黄又粗又爽视频| 国产午夜在线精品三级ag42o| 午夜在线a福利观看视频| 国产欧美一区二区精品性色起碰| 欧美 日韩国产 一区| 在线,亚洲欧美在线综合一区| 免费又黄又爽的小视频| 欧美亚洲国产看看| 中文字幕av三| 一个人看视频高清www俩个| 黄色一级片在线免费观看| 看自拍中文视频| 91综合精品国产丝袜美腿| 日本色诱视频在线免费观看| 久色xxxxxxx国产精品| 国产精品伦理片午夜| 中文字幕人妻丝袜美腿av| 欧美国产成人精品二区| 少妇中出在线视频| 99热这里只有精品最新| 夜夜摸夜夜操| 亚洲综合av网站| 国产 日韩 欧美在线| 国产性色αv视频免费观看 | 亚洲大码av在线播放| 一二三四在线播放免费视频中文| 久久成人亚洲影视| 亚洲精品日韩一区二区小说在线| 亚洲欧美日韩中文字幕三区| 精品欧美噜噜噜噜噜噜| 国产精品激情日韩欧美电影| 大腿肉丝袜黑色细高跟鞋| 亚洲在线电影网站| av在线观看视频网站| 精品 自拍 偷拍| 香蕉蕉亚亚洲aav综合| 久久影院亚洲一区二区三区| 久久热免费精品| 啦啦免费的在线视频| 婷婷亚洲久久| lutube在线观看网站入口| av天堂成人在线| 久久av午夜福利| 69精品影院| 亚洲国产欧美另类久久综合| 永久网站色视频免费观看| 亚洲成人一区影院| 国产色婷婷亚洲精品网站| 91porn自拍视频| 免费人成视频网站在线18| av久久aⅴ成人精品| 国产av在线播放网址| 黄片免费久久久| 国产不卡1卡2卡三卡免费网站| 日韩电影网站一区二区| www.999精品热播视频| 久久九九亚洲精品韩国国内产一级| 日韩成人黄色三级电影| 免费看又黄又爽的黄a级毛片| 连续中出白浆| 亚洲国产精品四区| 久久久久人妻论坛| 久久综合九色综合97伊人麻豆| 黑人最猛免费看| 国产亚洲高清国产拍精品| 天天看视频一级片| 三级黄色片在线观| 日欧美熟女的逼| 在线观看片免费| 正在播放亚洲精品| 美女高潮流白浆视频| 91av黄色在线观看| 亚洲中文天堂最新版在线www| 国产一级淫免费在线观看| 一级内射免费观看| 男女视频午夜观看免费试看120秒| 边吃奶边摸下面动态图| 国产内射视频在线| 日本亚洲无吗| 偷亚洲熟妇色自偷自拍另类 | 青青草原国产在线精品| 国产一级毛片男人的天堂| 黑人猛躁高潮十次视频| 午夜精品久久久久久网站| 国产精品久久久久久久岛一本| 超级国产人人偷人人干| 国产精品一区二区久久毛片| 在线成人中文字幕| 中文字幕 在线 欧美 日韩| 特级毛片a级毛片免费播放10| 91精品国产aⅴ一区在线| 韩国88av| 老妇与小伙激情片| 大香蕉久久亚洲精品| 青青草原国产在线精品| √天堂资源最新版中文资源| 在线看日韩欧美国产| 国产麻豆精品剧av| 国产又粗又猛又爽又黄的视频| 久久香蕉精品视频国产| 美女gif啪啪动态图| 久久久久久久久久久黄色的网站| 在线观看免费人成视频色| 国产黄大片在线观看| 国产级毛片久久久久久精品 | 国产黄色a三级三级看三级| 高潮喷水免费在线观看| 8888888毛片| 三级毛片在线免费| 国产高清精品自拍av| 精品国产999| 大香蕉在线视频一区| 波多野结衣精品一区二区三区| 亚洲男人天堂最新| 日本中文不卡人成在线视频| 国产精品a∨一区二区三区不卡| 性生活大片免费观看无遮挡| 在线v观看一区二区三区| 被内射了视频| 久热re视频在线观看| 韩国理伦在线伦观看| 亚洲快播怡红院| 波多野结衣人妻在线看| 97资源视频观看| 在线观看a级毛片| 欧美激情在线精品一区二区| 一二三四在线播放免费观看高清电影| 午夜福利影片在线观看| 96自拍视频| 亚洲av 看片一区二区三区 | 久久精品国产蜜桃avwww| 交性大片欧美68ou| 亚洲国产av在线| 日本熟妇乱人高清| 久草精品在线| 黄色带三级在线播放| 新员工在线观看中文字幕| 国产 亚洲 三级| 久久综合国产成人| 性欧美精品久久久久久久午夜一区| 日本免费在线一二区| 老司机精品福利视频一区 | 成人午夜欧美视频| 国产精品高清免费在线观看| 风韵人妻丰满熟妇老| 18禁黄色无遮挡| 美女被男人躁无遮挡网站| 国产美女被高潮视频网站| 精品国产99国产精品| av亚洲网站| 国产精品成人综合免费观看| 久久嫩草影视免费看| 国产成人精品综合久久久小说专区| 在线亚洲精品av麻豆| 亚洲乱妇久久| 人妻精品久久久久久中文字幕69| 久久精品国产亚洲av美女| 精品久久人人爽| 久久久久久久黄色片| 一a国产黄片免费2019噜噜噜| 无遮挡色视频在线观看| 蜜臀av在线一区尤物| 久久久久精品蜜桃视频| 黑人巨大精品欧美一区二区双| 久久久久久精品免费sss久久曰| 四虎av最新网址| 免费人成视频人在线观看| 精品老妇av| 黄色录像一级毛片| 一二三四在线观看免费高清中文版| 我要看黄色一级一级片| 中文在线天堂资源库| 久久人妻在线播放| 午夜黄片播放视频| 日本岛国永远免费| 久久久久久久密月tu| 国产精品扒开退腿做爽爽爽的视频| 性欧美俄罗斯精品| 久久爱一区二区三区三州| 最新亚洲欧美精品| 中文字幕在线精品视频有限公司| 久久夜色视频网| 国产一区色在线| 亚洲成人免费毛片| 边摸边亲奶边做爰视频| 国产亚洲人成在线| 国产精品久久久久久影视蜜桃| 久久热成人精品视频在线| 日韩中文字幕精品在线观看视频| 日本av毛片免费中文| 亚洲国产另类网址| 久久国产精品亚洲一区二区三区| gogo大胆西西| 色司机福利视频| 少妇人妻偷人tubevi| 大棒子一进一出视频| 床上30分钟大片免费| 亚洲av一|| 少妇人妻精品视频三二区| 天堂资源中文8在线下载| 少妇人妻偷人视频| 中文成人字幕在线观看| 久久精品免视看国产激情| 搡6070老女人老熟女的意思| 又粗又长又硬又爽又黄视频| 午夜福利一区在线观看| 有希望的男人电影免费观看| 两个人的视频软件| 人人爱夜夜爽| 亚洲精品美女aaa| 免费人成视频在线观看网站| eva18禁裸乳真人漫画无遮挡| 山岸逢花 av资源在线观看| 扒开女人内裤猛进猛出免费视频| 久久精品狠狠| 美女黄视频亚洲| 午夜日韩精品a福利激情在线观看| 亚洲精品国产大片| 国产精品免费av一区二区| 两个人免费观看www视频| 日日搡夜夜爽| 一级内射免费观看| 国语对白精品观看| 狠狠cao日日橹夜夜十橹| 国产区一区二在线观看| 不卡一区二区三区在线免费视频| 亚洲欧美在在线视频| 大腿肉丝袜黑色细高跟鞋| 真人啪啪xxoo动态图| 秋霞精品久久av| 亚洲人亚洲人成电影网站色| 人妻少妇熟妇乱视频| 诱惑少妇人妻中出网站| 最近中文免费字幕免费| 在线视频 自拍亚洲| 国产欧美日韩v在线| 福利国产美女视频| 国产欧美日韩精品a在线看| 午夜精品久久久久久久久日韩| 女国产精品视频一区二区| 亚洲一卡二卡无卡| 中文字幕高清一区二区三区| 亚洲小黄片欧美小黄片| 在线免费av麻豆| 久久电影第一页| 久久久国产av天堂| 国产欧美精品三区| aaa搡老熟女中国老太| 两男一女高潮喷水视频| 国产一区二区电影吗| 免费国产成人激情电影| 国产内射999视频一区| 少妇做爰喷水高潮在线观看| 亚洲欧美日韩在线视频一区二区三区| 99国产成人精品电影| 又色又激情的免费视频| 午夜精品久久久久久久久日韩| 99热精品都在这里| 白色棉袜精品国产片免费| 大香蕉av视频在线| 亚洲精品99国产| 国产亚洲综合优质av| 日韩毛片精品| 色琪琪永久免费视频网| 午夜激情成在线人成在线人| 国产av久久久久久久| 国产在线精品一区| 国产一区二区在线观看免费视频公开| 亚洲欧美日韩国产中文专区| 免费的av视频在线观看| 极品美女啪啪到高潮免费看| 一区二区三区神马影院| 大伊香蕉综合在线观看| 国产精品嫩草影院乐播| 日韩欧美久久一级片| 欧美,亚洲,国产精品| 亚洲欧洲精品成人久久曰| 四虎网日韩av| 大胸黑丝高跟| 亚洲在欧美日韩在线视频| 激情影院在线一区二区三区| 黄色av一级拍在线看| gogo大胆西西| 精品欧美一区二区三区黑人电影| 国产午夜福利在线视频观看| 日韩欧美激情av在线观| 久久人人网人人爽| 久久久久久精品国产毛片人| 国产伦理片一区二区三区| 精品亚洲永久免费视频| 一级a爱视频免费观看| 日日摸日日添夜夜爽97| 超级乱淫av免费| 男人舔女人奶头的视频| 日本欧美视频在线看| 日韩高清视频,在线不卡 | 毛片a级a级毛片| 欧美日韩一区二区黑人综合| 羞羞片久久影院| 国产精品99久久久| 成年大片40分钟免费视频播放| 45分钟免费大片在线看片| 毛片在线播放地址| 国产午夜精品福利在线观看一卡二卡| 俄罗斯大战美女一级毛片| 最近中文字幕人妻av| 进进出出冒白浆| 中国中老年熟妇性色av| 国产精品一亚洲欧洲色| 国产专区日韩av在线 | 精品99婷婷| 久久成人黄色视频免费| 国产成人网在线免费观看| 97精品视频在线| 久久久精品人妻一区二区三区漫画| 两个人免费高清视频在线观看| 福利午夜第一区二区| 91人人妻人人澡人人爽人人精品 | 超级碰碰人妻97系列| 国产精品久久久久久女| 人人妻人人做人人爽97人妻视频| 啦啦啦最新在线观看视频免费| 亚洲二区自拍视频| 未满十八禁看网站免费| 热99re久久精品国产宅男| 欧美极度丝袜av另类在线| 豆国产93在线 | 亚洲| 国产亚洲精品久久久蜜臀| 不卡中文字幕日本| 视频在线观看国产一区二区| 免费久久黄片| 精品成人av久久a| 日本一区二区三区在线 观看| 人人妻人人做人人爽夜欢视频 | av黄色资源亚洲一区二区三区| 国产一区二区精品久久小说| 美女揉奶头视频| 国产一区视频福利在线观看| 99欧美国产日韩| 美女被视频网站在线观看| 国产成人a人亚洲精v品| 人人妻人人爽人人添夜夜 | 少妇高潮喷水久久久久久久久久| 99re在线精品观看| 性欧美性巨大异物交| 美女亚洲精品一区| 国内精品自国内精品自线下| 在线综合亚洲欧洲综合网站| 玩弄人妻热妇性色av少妇| 免费97久久久人妻一区精品| 韩国理伦三级在线观看| 久久精品国产亚洲av高清三区| 看黄a大片在线观看| 精品乱码久久久久久久| 麻豆精品成人999| 清纯唯美欧美激情久久综合| sao货张开ji巴cao死我| 51页精品亚洲| av天堂av亚洲| a级毛片免费观看游客| jizz网站在线观看| 精品欧美在线影院| 两个人看的www在线高清| 日韩内射高清视频| 欧美精品区一区二区三区| 精品国产一区av| 一级爰片免费观看| 高清国产精品人妻一区二区| 在线观看视频一区二区三区福利 | 国产一卡二卡三卡4卡| 女人18一毛片| 老司机深夜免费影院| 高清日韩影视| 啦啦啦www在线视频免费观看| 久久9蜜桃精品一区二区免费不卡| 日本免费视频观看mv免费软件| 国产情色片推荐| 欧美日韩亚洲二区三区| 欧美激情极品久久| 欧美日本亚洲国产性感的黄色片| 99精品久久久久婷婷| 亚洲av中文av乱av一二三区| a级毛片全部免费观看| 日韩在线精品视频免费观看| 在线观看片免费| 美女视频黄的免费国产| 国产精品色哟哟在线免费观看| 亚洲精品一区二区wwww| 午夜直播间福利网站在线观看| 亚洲av在线观看美女高潮小说| 欧美中文无线码| 国产精品免费久久久久久久久久| 久久中文字幕免费| 亚洲av无吗在线播放| 毛片免费播放网站| 国产精品一卡2卡3卡4卡| 亚洲精品av成人影院| 韩国av有码在线| 国产午夜小视频福利站| 亚洲欧美日韩在线直播| 99热这里只有精品88| 边吸奶边扎下边很爽| 男人靠女人网站视频| 亚洲国产欧美日韩综合另类久久| 亚洲av性色一区三区| 亚洲,国产,欧美日韩一区二区在线| 伊人自偷自拍| 女生爽到高潮免费视频| 欧美美女在线免费观看| 天天躁日日躁狠狠躁性色av| а√天堂8资源在线| av视频日韩欧美| 东京热男人天堂av| 插女生阴部在线观看视频| 亚洲国产一区二区三区在线视频| 免费在线日韩av网站| 精品999在线免费观看| 国产男女那个视频在线观看| 成人麻豆激情视频| 亚洲v欧美v日韩| 日韩久久久久精品影院| 毛片网页在线播放| 一区二区三区日韩人妻| 亚洲高清中文字幕专区| 亚洲欧美日韩在线免费观看 | 成人爽片视频免费网站| 国产精品自拍亚洲一区| 成年人刺激视频网站一区二区三区| 亚洲精品乱码久久久久66国产| 亚欧成人毛片一区二区三区四区| 网址大全丝袜中文字幕| 精品国产一区二区三区蜜殿| av亚洲天堂网2017| 国产精品老熟女久久久av| 18禁网站免费观看| 亚洲国产永久免费视频| 日韩精品国产高清在线观看| av老鸭窝在线| 日韩精品美女久久久久av福利| www.国产欧美日韩| 日韩av网址不卡| 亚洲国产精品国产日韩已满| 波多野结衣高清在线最新| 国产一区二区av免费在线观看| 免费在线观看欧美成人| 亚洲不卡高清免费| 日本天堂影视在线观看mv| 久久av国产成人精品| 少妇性网人妻视频一区二区| 少妇裸体xxxxxx性裸交视频| 诱惑少妇人妻中出网站| av老司机在线观看视频| ~级片网站免费观看完整版| 欧美成人一区二区久久| 大尺度少妇电影| 中文字幕精品一区视频在线| 成年视频免费观看一区二区三区 | 中文字幕av三| 一区二区三区四区国产在线成人| 国产精品一区二视频区| 饥渴少妇av| 婷婷激情五月播出| av动漫在线亚洲| 欧美性videostv另类极品| 亚洲免费手机av| 在线免费av麻豆| 国产熟女真实乱精品81| 午夜免费福利a| hdsex欧美| 日本高清色视频www·com| 下载免费看黄片的视频| 国产欧洲精品一区二区三区| 亚洲免费观看av| 国产精品久久久爽网站| 久久综合九色综合97伊人麻豆| av成人教育片| 亚洲精品色一区二区| 主播喷水视频在线观看| 国产精品成人免费视频不卡 | 最近中文字幕免费高清大全| 最近2019年中文字幕网| 午夜福利视频在线观看国产| 精品一区中文字幕少妇人妻| 婷婷亚洲五月综合琪琪| 91黄片免费在线观看| 久久精品国产麻豆久久国产| 国产精品一二三四区免费| 在线免费观看国产精品黄色av网站| 日本免费视频观看mv免费软件| 在线观看中文乱码亚洲av| 男女啪啪视频高清网站| 成人ww免费完整版在线观看| 亚洲精品高清在线播放| 国产三级精品三级在专区50| 黑兽中文字幕在线观看 | 亚洲精品麻豆av一区二区| 狠狠老司机免费网| 91人妻人人妻| 美女靠逼视频在线免费观看| 免费观看午夜福利视频的网站| a毛片不卡免费看片| 色哟哟一国产精品| 啦啦啦在线视频免费观看正在播放| 国产猛男gayxxx| 男人的天堂av大全| 一二三四在线观看免费高清中文版| 国产的欧美一区二区三区| 羞羞答答xxdd色哟哟| 色偷拍亚洲偷自拍| 成在线人免费看| 国产av日韩a∨亚洲av电影| 一级做a爰片性色毛片新版的| 亚洲日本24小时在线| 欧美午夜精品久久久久久电影 | 久久久,精品| 久久激情精品影院| 国产美女在线福利| 一卡二卡3卡四卡精品国色91| 久色xxxxxxx国产精品| 日韩精品a区二区在线电影 | 亚洲偷偷自拍视频| 亚洲性夜夜射| xx日本老妇人| 亚洲精品久久久久午夜精品| 非洲黑人一级毛片| 久久久伦理av| 亚洲精品一区二区三区欧美 | 天堂中文网在线最新版www| 人人爽久久久久久人人爽| 亚洲成人字幕在线观看| 黄片免费亚洲国产| 精品一区二区三区亚洲综合| 国产视频激情一区二区| 中文字幕亚洲成人影院| 看黄色的网页| 卡一卡2卡3卡4卡精品乱码在线| 日本18禁在线观看网站| 一级全黄色毛片a级全黄色毛片| 91色精品在线观看| 嫩草影院日韩av| 久久精品人妻一二区| 亚洲二区日韩欧美| 羞羞片久久影院| 边摸边吃奶边做爰视频| av一区在线观看二区三区| 日韩一区欧美精品| 欧美性爽xxxzzzzzzz| 岛国av系列在线| 久久人人爽人人爽人人片v| 9爱香蕉视频在线| 欧美丝袜人妻sexvdio| 精品人妻一区二区在线| 99久久婷婷国产精品2019| 国产乱老熟视频老熟女| 给我一个毛片网站| 欧美一级黑人内射| 午夜福利a在线观看| 一个人免费看的www高清视频| 免费看一级片视频| 天堂资源在线a| 中文字幕免费视频一区| 亚洲黄色在线播放av| 金梅完整版在线爱的奴| 久久久久成人| av在线免费视不卡| 国产成人一区二区三区影| 亚欧激情乱码久久久久久久久| 国产www色视频| 可以免费观看亚洲哦| 国产精品久久久久久成人热| 日韩精品46页| 91亚洲国产成人久久精品app| 国产美女嫩粉极品在线观看免费| 我想看美女穿内裤| 亚洲一区三区成人| cao死你小sao货湿透了在线听| 欧美成人色阁| 人妻视频1区二区| 性欧美18-19sex性高清播放| 18禁黄色无遮挡免费| 国产香蕉黄片| 国产全部av免费在线| 亚洲成人中文字幕久久| 香蕉蜜桃网站| 欧美日韩综合不卡一区二区三区| 免费观看成年欧美1314www色| chinesevideos国产片| 日本最黄裸体黄片| 毛片免费全部免费播放| 国产精品久久久久久影视| 精品熟女在线一区二区三区| 韩国三级论理| 中国老妇另类| 午夜高潮av| 狠狠躁日日躁夜夜88av| 你好在线观看免费高清版| 一边吃奶一边扎下边爽了| 欧美一级做a爰片性色毛片| 亚洲av熟妇高潮30p| www黄片com| 好看不卡av| 国产精品白丝袜女丝袜| 亚洲av片毛片成人观看| 亚洲欧美日韩中文字幕三区| 扒开女人双腿猛进爽爽视频| 日韩一区二区三区蜜桃| 香蕉影视精品国产av| 车上震动a级作爱视频| 国产情色在线播放| 日韩欧美久久一级片| 欧美18一19sex性猛交| eva18禁裸乳真人漫画无遮挡| 久久av免费大片| 久久精品国产72国产精,| 青春草成人免费视频| 黄色片久久免费看| 日本免费在线二区| 久久99国产麻豆一区二区三区 | 视频一区 熟女人妻| 国产又粗又猛又大爽又| 在线亚洲成人影院| 天美传媒国产一区| 成人亚洲一区二区三区电影片| 521se精品嫩草影院| 国产精品毛片av—区二区三| 国产三级精品三级在线观看中文 | 欧美成人一区二区久久| 日韩亚洲欧美中文字幕在线| 亚洲av—宅男色在线| 午夜视频福利视频在线观看| 一级毛片女人刺激视频| 老妇熟女久久伊人啪| 成人激情免费视频网站| 色哟哟视频在线看| 欧美 亚洲 综合 在线| 跪求在线观看av网站| 黄片在线播放免费观看| 日韩欧美中文字幕幕| 丁香六月五月婷婷综合| 人妻少妇偷人精品免费视频| 亚洲av国产av综合av麻豆丫| 亚洲天堂色综合网| 美女被草高潮视频在线观看| 久久综合色一本| 色综合亚洲欧美小说| 欧美亚洲精品二区| 绯色av一本一道道久久精品| 欧美婷婷丁香| 午夜一级做a爱片久久毛片| 女人被男人添出来高潮视频| 久久久精品中文字幕| 久久www免费人成_看片| 国产av另类国产乱子乱| 亚洲国产精品久久av成人| 久久久一区二区三区毛片免费| 高清免费一级毛片| 免费网站在线观看aⅴ| 人妻在线中文字幕av| 毛片a级a级毛片| 亚洲精品欧美精品成人| 三级国产精品一区| 午夜福利久久久一级片| 全彩18禁裸乳动画无遮挡欧美| 欧美色综合网站| 免费观看韩国三级| 嫩草影院永久在线一区二区| 国产精品一区二区亚洲av| 亚洲五月六月丁香色| wy92日麻豆色av一区二区| 一级毛片免费av| 韩国人妻中文字幕| 刘亦菲双腿流白浆| 国产我不卡一区二区三区| 我的莫格利男孩免费观看完整版高清 | wwwsexxxxx| 女人扒开内裤 让男人捅视频| 啦啦啦视频在线播放免费高清| 色哟哟在线观看精品| 日韩深夜av| 精品午夜一区二区三区在线视剧| 老师好在线看完整版免费| 亚洲国产精华精华液| 57成国产永久免费视频| 9av国产熟女| 欧美60老妇毛片| 国产一区二区精品视频免费观看| 老司机深夜福利在线免费观看| 老熟女伦老熟妇| 男人女人高潮视频| 国产乱色精品| 精品国产亚洲av麻豆狂野公交| caoporn97人人做人人爱| 黄色动漫免费在线网站 | 国产伦码精品一区二区| 人妻熟女露脸偷人| av亚洲av在线| 国产精品视频对白刺激| 别揉我奶头~嗯~啊~动态视频| 一亚洲中文字幕久久| 好男人免费观看的视频| 国产美女在线福利| 欧美日韩精品一| 夜夜撸日日摸| fre性欧美xxx| 久久99婷婷国产精品免费| 人人妻人人澡人人做夜欢 | 日美黄色视频| 欧美一卡二卡一卡3卡4卡5卡 | 91成人国产精品| 日日摸夜夜爽啪啪网站| 亚洲免费av网页| 很黄的毛片免费在线观看| 色播在线观看免费| 国产av香蕉一区| 日本女人与欧美黑人在线观看| 黄大片a级免色| 国产亚洲精品久久久久一区| 一级a做片免费看| 久久久久久精品毛片a级| 国产美女精品一区二区| 亚洲欧美日韩在线免费| 日韩电影 二区| 成人午夜视频在线观看精品一区二区三区 | av久久天堂久久天堂av综合| 放荡的少妇子在线观看| 人妻精品一区二区三区国产精品| 亚洲国产偷拍av| 大胸黑丝高跟| 在线播放成人中文字幕| 亚洲xx网站在线观看| 国产,日韩,欧美,综合,一区| 欧美一级作爱片免费看| 怎样才能看黄色| 久久亚洲av毛片精品二区| 亚洲av国产av综合av麻豆丫| 一区中文字幕亚洲| 亚洲欧美日韩精品在线观看| 又色又爽又黄无遮挡免费网站| 国产精品色哟哟| 欧美在线亚洲专区| 男人的天堂av高清在线| 国产高清视频资源在线观看免费| 老司机午夜视频看看| 国产视频一区高清在线观看| 国产精品自在国产精品| 亚洲码与欧洲码第一二三四| 午夜免费观看在线| 久久精品色老| 久久精品电影免费看| 日韩在线视频字幕| 欧美在线色播视频| 久久久国产成人影院| 大桥未久资源在线| 国产99久久久久久免费看农村| 91麻豆精品国自产拍在线| 亚洲综合色偷偷| 思思99热这里只有精品| 成人一区二区三区视频网| 国产尤物在线一区av| 亚洲欧美激情综合首页| 国产黄色视频大全免费| 国产精品福利久久久久久小说| 永久亚洲av激情在线播放| 久久只要精品| 国产精品久久久久无视码| 色综合久久夜色精品国产av| 欧美视频日韩专区在线| 国产69精品久久久999| vagaa亚洲欧洲妇女久久| 人妻少妇精品视中文字幕国语| 黄色视频在线免费不卡看| 久久夜色精品国产蜜桃亚洲av| 亚洲小说视频图片| а√天堂8官网| 免费观看国产精品| 久久精品久久久人妻| 香蕉久久青青91竹桃蜜色国产| 在线观看激情视频国产| 超色视频com.| 成人国产在线一区二区| 亚洲成人撸撸色| 永久免费的动漫网站在线观看| 成人在线观看免费下载| 手摸高潮喷水视频| 男人靠女人网站视频| 免费18禁,网站| 免费精品久久久| 久久九九精品视频免费观看| 欧美多毛老太色视频| 欧美日色播视频| 永久在线观看免费视频官网| 国产精品久久久久久久免费麻豆| 日日干夜夜人人妻| 电影在线观看完整免费观看网| 国产男女免费视频网站| 欧美国产一区二区三| 久久躁夜夜躁狠狠躁| 国精日本亚洲欧州国产中文久久| 国产对白叫床清晰在线播放中| 丁香六月五月婷婷综合| 国产成人精品18禁| 九色嫩草影院| a毛片不卡免费看片| 波多野结衣区一区二| 免费看国产黄色小视频| 精品国产久久影院| 亚洲av 区| 最近2019最新中文字幕| av网站永久在线观看| 永远一家人电视剧在线观看| 久久亚洲精品风骚| 男人的天堂av东京| 巨熟乳波霸若妻中文| 天堂中文资源www在线| 亚洲国产精品尤物yw在线 | 精品欧美日韩国产1区在线观看| 久久精品国产女同| 久久精品色老| 老公经常看片| 日本高清好狼色| www.色淫.com| 国产的三级黄色片| 熟女系列丰满熟妇av| 视频 免费 在线观看| 亚洲综合一区二区在线免费观看| 国产成人在线一区| 日韩国产亚洲欧美亚洲| 亚洲精品午夜一区二区不卡 | 黄色网址天堂中国字幕久久久久久久| 欧美性欧美成人护士| 色www精品视频在线观看| 色综合久久久久久久久8噜啦噜| 美国一级av毛片| 少妇啪在线播放| 亚洲精品高清在线播放| 亚洲av成人高清在线观看| av在线无卡码免费| 亚洲av.com在线观看| 亚洲美女激情小网站| 欧美 亚洲 另类 丝袜| 老师的诱惑免费观看| 欧美激情一区二区三区在线播放| 一二三四 在线播放| 亚洲成人av线| 亚洲性夜夜射| 伊人久久大香| 视频二区一区国产精品| 中文字幕91在线视频| 亚洲精品99国产| 久久这里只有精品丝袜69| 最近中文字幕中文高清版| 亚洲精品在线公开免费播放视频在线观看 | 日本高清xxxx色视频| 国内自拍偷区亚洲综合| 欧美女18禁| 爆炸头武士高清完整版在线观看| 日韩欧美内射淫射| 大伊香蕉视频网站| 一本一本久久aa综合精品久久| 在线播放制服丝袜av| 伊人久久av不卡| 性生活大片a级| 久久的久久爽亚洲精品aⅴ| 亚洲国产一区二区在线免费 | 麻豆免费成人| 久久这里只有精品国产 | 韩国在线观看的www免费视频| 欧美黄色片一级视频| 免费永久观看网站tubi| 美女gogo人体艺术| 中文字幕人妻一区二区三区| 下载免费观看的黄色视频| 超级老师在线观看免费观看 | 黄色成人网久久久久久久| 99r在线精品视频在线播放| 一边摸一边做视频| 亚洲精品高清自拍| 男人的j进入女人的p无遮挡全程| 国产在线永久免费视频| 国产又黄又粗又硬又爽的视频| 国产成人精品免费播放视频不卡| 中文字幕乱码_亚洲中文在线| aa黄色大片| 成人午夜在线电影| 男女在线无遮挡羞羞视频| 亚洲成a人在线播放| 免费观看男女做那个视频网站| 国产国产乱老熟视频网站| 欧美亚洲国产看看| 一二三四免费观看高清观看| 一区二区国产精品精华液| 久久一级成人免费电影| 在线观看国产内射视频| 高清视频在线观看播放| 可以直接看的黄色视频网站| 国产精品自在国产精品| 揉少妇的奶子| 欧美另类熟女偷拍天堂| 精品老司机av在线观看| 亚洲欧美国产高清va在线播放| 欧美激情a成人综合亚洲综合| 欧美乱码专区| 亚洲熟女10p| 成人性生交免费视频大片| 91精品国产色综合久久不| gif美女动态图xxoo| 在线观看 蜜桃|