• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Android的車胎監(jiān)測系統(tǒng)軟件的設計與實現(xiàn)

    2019-08-29 08:03:22
    計算機測量與控制 2019年8期
    關鍵詞:車胎胎壓后臺

    (無錫職業(yè)技術學院 物聯(lián)網(wǎng)技術學院,江蘇 無錫 214121)

    0 引言

    目前車胎監(jiān)測系統(tǒng)實現(xiàn)方案中,車胎內傳感器實時監(jiān)測胎溫胎壓信息,通過無線發(fā)送到無線接收端,無線接收端通常通過CAN總線傳送到儀表盤的專用的液晶顯示屏進行顯示,當超過相應閾值,在液晶顯示屏進行告警提醒并配合聲音告警[1-4]。在目前的車胎監(jiān)測實現(xiàn)方案中存在以下兩點不足:1)車胎告警閾值由硬件設定導致使用過程中不能動態(tài)調整告警閾值;2)液晶顯示屏通常只顯示車胎狀態(tài)異常,并不顯示實際胎溫和胎壓數(shù)值,因此告警顯示不夠具體、直觀,不便于駕駛員對車胎異常情況的精確判斷。

    由于基于Android的中控大屏由于具有豐富的娛樂功能、方便與手機和網(wǎng)絡互聯(lián)的優(yōu)點,已經成為高端新能源客車的流行配置。在配置Android大屏的客車上,司機需要同時關注Android中控大屏和車胎監(jiān)測信息顯示液晶屏,造成操作不方便。此外通過Android大屏進行胎溫胎壓的顯示,可以更直觀顯示精確的胎溫胎壓數(shù)值,同時告警閾值為軟件設定值,可以動態(tài)地進行告警閾值調整,使得駕駛員可以根據(jù)季節(jié)不同來選擇合適的告警閾值。因此有必要通過設計轉換模塊,并設計和實現(xiàn)相應的Android端應用軟件,將車胎監(jiān)測信息接到Android中控大屏進行顯示,從而省去專用液晶屏,降低系統(tǒng)成本和方便司機操作,且可自行設定報警閾值,車胎監(jiān)測信息展示更直觀便捷。

    本文介紹車胎監(jiān)測Android端應用軟件的設計和實現(xiàn),其綜合利用startService和bindService,實現(xiàn)程序界面前臺運行時,實時接收車胎監(jiān)測報文并顯示胎溫胎壓實時值,若超過告警閾值,則相應位置的車胎顯示異常告警;當程序界面后臺運行時,后臺Service持續(xù)接收車胎監(jiān)測報文,當超過相應閾值,調出程序界面進行顯示和告警,經實際應用滿足了實時車胎監(jiān)測的功能。

    1 系統(tǒng)硬件結構及原理

    系統(tǒng)硬件結構框圖如圖1所示。上半部分,輪胎模塊和TPMS節(jié)點模塊采用目前市場主流的商用車胎監(jiān)測系統(tǒng)。由于車胎監(jiān)測系統(tǒng)通常接入CAN總線,而Android中控大屏通常使用USB通信接口,因此需要設計相應轉換模塊??紤]到TTL轉USB串口(CH340芯片)的模塊較為通用,因此設計CAN接口轉TTL的模塊和通用的TTL轉USB模塊相連接,完成CAN總線接口和USB接口的轉換。Android中控大屏支持USB OTG接口,其作為USB主設備與USB從設備進行USB串口通信。車胎監(jiān)測系統(tǒng)通過轉換模塊轉成USB接口接到Android系統(tǒng)。

    圖1 系統(tǒng)硬件結構圖

    系統(tǒng)的運行原理如下:在車輛行駛時,車輪處于轉動狀態(tài),安裝在車輪內的監(jiān)測傳感器將被觸發(fā),并每隔100 ms通過無線方式發(fā)送車胎監(jiān)測數(shù)據(jù)。TPMS節(jié)點無線接收模塊收到無線上報的監(jiān)測數(shù)據(jù),并通過CAN總線接口發(fā)送到CAN總線。利用自行設計的轉換模塊,從CAN總線接收監(jiān)測數(shù)據(jù),并轉變USB串口數(shù)據(jù)向上發(fā)送給Android中控大屏。車胎監(jiān)測系統(tǒng)需要設計Android應用程序,并安裝部署在中控大屏上。該Android應用程序將通過USB串口接收傳感器周期上報的每個車胎的胎溫和胎壓數(shù)據(jù)報文。每個數(shù)據(jù)報文固定10個字節(jié),格式如圖2所示。

    圖2 胎溫胎壓監(jiān)測報文格式

    程序根據(jù)報文計算胎溫t和胎壓p,計算公式如下(D[i]表示車胎監(jiān)測報文除去報文頭部分中下標為i的字節(jié)的8位無符號整數(shù)值):

    t(Kpa)=D[1]*5.5

    (1)

    p(℃)=(D[3]*256+D[2])*0.03125-273

    (2)

    系統(tǒng)軟件定義胎溫上限閾值tH、胎壓下限閾值pL和胎壓上限閾值pH。當t>=tH或p<=pL或p>=pH任一條件滿足時,表示車胎狀態(tài)異常,程序產生告警提醒駕駛員。

    2 軟件總體模塊設計

    Android中控大屏的車胎監(jiān)測應用程序需要持續(xù)接收上報的USB串口數(shù)據(jù)報文進行胎溫和胎壓的數(shù)據(jù)展示,當胎溫或胎壓超過指定閾值時,進行相應的告警,同時告警閾值可進行動態(tài)調整。本文設計的車胎監(jiān)測應用程序總體架構如圖3所示。

    圖3 胎壓監(jiān)測程序架構

    MainActivity 是主操作界面,用來實時展示傳感器上報的車輛所有車胎的胎溫胎壓信息。為了滿足主操作界面后臺運行時亦能持續(xù)接收胎壓監(jiān)測報文,通過TireService后臺服務進行USB-OTG串口數(shù)據(jù)接收和胎壓監(jiān)測報文解析操作,當超出相應胎溫和胎壓閾值時調出程序主界面進行告警顯示。胎溫和胎壓閾值可手動進行調節(jié),通過點擊設置按鈕彈出對話框SettingDialog進行胎溫和胎壓閾值設置。

    AutoStartBroadcastReceiver用于實現(xiàn)當Android開機啟動完成后,自動打開本監(jiān)測程序進行接收胎壓胎溫報文信息。當車胎監(jiān)測硬件斷開連接后,監(jiān)測程序應當結束運行,通過UsbDetachedBroadcastReceiver實現(xiàn)。

    3 軟件詳細實現(xiàn)

    3.1 程序運行流程

    程序運行流程如圖4所示。系統(tǒng)開機和轉換模塊插入Android系統(tǒng)后,跳轉到本程序運行。程序運行后,啟動后臺服務TireService,TireService創(chuàng)建USB串口數(shù)據(jù)接收線程ReadThread,在接收線程中打開USB串口設備,并循環(huán)接收USB串口車胎監(jiān)測報文,通過Callback回調機制更新到Activity界面。

    圖4 程序軟件流程圖

    3.2 USB串口通信編程實現(xiàn)

    Android系統(tǒng)使用USB Host API與USB接口的轉換設備進行通信。主要用到的API類包括UsbManager類(用來管理USB設備的類)、UsbDevice類(代表一個USB設備的類)、UsbInterface類(表示USB設備的一個接口)、UsbEndpoint類(表示一個接口的某個節(jié)點)以及UsbConnection類(用連接進行發(fā)送和接收數(shù)據(jù))[5-6]。

    與一般USB設備不同,USB串口設備還需要配置串口傳輸?shù)牟ㄌ芈?、?shù)據(jù)位、停止位和奇偶校驗位等信息[7-8]。本文設計的轉換模塊采用的TTL和USB轉換芯片為CH340芯片,網(wǎng)絡上可以搜索到該芯片的免驅動Android USB Host模式的參考代碼,在實現(xiàn)USB串口通信代碼編程時,可參照進行剪裁。

    3.3 程序啟動退出代碼實現(xiàn)

    1)系統(tǒng)開機啟動

    AutoStartBroadcastReceiver采用靜態(tài)注冊接收BOOT_COMPLETED,重寫OnReceive()方法,并在該方法中通過startActivity啟動程序[9]。其在AndroidManifest.xml設置為:

    AutoStartBroadcastReceiver實現(xiàn)如下:

    public class AutoStartBroadcastReceiver extends BroadcastReceiver {

    @Override

    public void onReceive(Context context, Intent intent) {

    String action = "android.intent.action.MAIN";

    String category = "android.intent.category.LAUNCHER";

    Intent myIntent = new Intent(context, MainActivity.class);

    myIntent.setAction(action);

    myIntent.addCategory(category); myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    context.startActivity(myIntent);

    }

    }

    2)設備插入啟動

    程序主界面MainActivity采用單例模式singleInstance,并監(jiān)聽轉換模塊插入動作USB_DEVICE_ATTACHED,并對USB插入動作設置過濾條件為對應轉換模塊的PID和VID[5]。主界面在AndroidManifest.xml中設置如下:

    android:name=".MainActivity" android:launchMode="singleInstance">

    android:resource="@xml/device_filter" />

    其中device_filter.xml文件定義了轉換模塊USB設備的product-id和vendor-id。

    3)設備拔出退出

    當車胎監(jiān)測USB設備從安卓拔出時,監(jiān)測程序程序需要停止程序運行。因此在程序正常啟動后,通過代碼動態(tài)注冊廣播接收器usbDetachedBroadcastReceiver監(jiān)聽USB設備拔出動作USB_DEVICE_DETACHED。

    usbDetachedBroadcastReceiver=new UsbDetachedBroadcastReceiver();

    intentFilter = new IntentFilter();

    intentFilter.addAction("android.hardware.usb.action.USB_DEVICE_DETACHED");

    registerReceiver(usbDetachedBroadcastReceiver,intentFilter);

    usbDetachedBroadcastReceiver在代碼實現(xiàn)時,重寫OnReceive()方法,判斷為轉換模塊拔出,則設置退出標記。

    public void onReceive(Context context, Intent intent) {

    UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);//獲取當前撥出的USB設備

    if (device != null)

    {if(device.getProductId()==29987&&device.getVendorId()==6790) {//判斷拔出設備為車胎監(jiān)測轉換模塊,設置退出標記

    Intent myIntent = new Intent(context, MainActivity.class);

    myIntent.putExtra("IsUsbDetached",true);

    context.startActivity(myIntent);

    }

    }

    }

    在MainActivity中重寫onNewIntent()方法,判斷退出標志為真,調用finish方法結束程序[10]。

    protected void onNewIntent(Intent intent) {

    boolean IsUsbDetached=

    intent.getBooleanExtra("IsUsbDetached",false);

    if(IsUsbDetached)

    {

    //判斷已設置退出標記,則彈出提示框提示設備斷開,并結束程序運行

    }

    super.onNewIntent(intent);

    }

    3.4 后臺服務運行

    為了保證程序前臺運行與否,后臺服務均需要持續(xù)接收車胎監(jiān)測報文,采取了下列措施:

    1)后臺服務Service有兩種啟動方式startService和bindService。bindService啟動服務后,通過unbindService結束服務,其啟動的服務與Activity是捆綁關系,當Activity退出后,Service也會退出。Activity可與綁定服務通過回調接口的方式,方便快速進行數(shù)據(jù)交互。

    startService啟動服務后,服務與Activity是分離的,當Activity退出后,服務繼續(xù)存在,只有調用stopService,后臺Service才會結束,但startService啟動的服務通常只能通過廣播的方式將數(shù)據(jù)發(fā)回界面進行顯示。

    這2種模式不是完全分離的,可以同時使用。本程序Activity在OnCreate階段,調用startService啟動車胎監(jiān)測服務,在onResume階段通過bindService進行服務綁定;在onPause階段調用unbindService進行服務解綁,在onDestroy階段方調用stopService進行結束服務操作。從而達到程序啟動后,后臺服務便啟動持續(xù)接收USB車胎監(jiān)測報文,當程序在前臺運行時,又可通過綁定服務,簡便實現(xiàn)與Activity的雙向數(shù)據(jù)交互。

    在bindService進行服務綁定時使用服務TireService內定義的到Binder對象,MainActivity通過Binder對象可以將當前設定的告警閾值以及當前是否處于報警暫停狀態(tài)傳遞到服務TireService。

    public class Binder extends android.os.Binder{

    //界面?zhèn)鬟f報警閾值到Service

    public void Sethreshold(float twh,float tpl,float tph)

    {

    TireService.this.tiretempth=twh;

    TireService.this.tirepresstl=tpl;

    TireService.this.tirepressth=tph;

    }

    public void SetShowAlarm(boolean isshowalarm)

    {

    bshowAlarm=isshowalarm;

    }

    public TireService getService()

    {

    return TireService.this;

    }

    }

    在TireService內需要定義回調接口,供服務中接收到USB車胎監(jiān)測報文后,通過回調接口將數(shù)據(jù)更新發(fā)回界面進行顯示。

    private Callback callback=null;

    public void setCallback(Callback callback) {

    this.callback = callback;

    }

    public Callback getCallback() {

    return callback;

    }

    public static interface Callback{

    void OnSerialData(tireparam data);

    }

    主界面MainActivity需要實現(xiàn)ServiceConnection接口,實現(xiàn)onServiceConnected和onServiceDisconnected方法。

    public void onServiceConnected(ComponentName componentName, IBinder iBinder) {

    isBinded=true;

    binder= (TireService.Binder) iBinder; binder.Sethreshold(tiretempth,tirepresstl,tirepressth);

    binder.getService().setCallback(new TireService.Callback() {

    @Override

    public void OnSerialData(tireparam data) {

    //tvout.setText(data);

    Message msg=new Message();

    msg.obj=data;

    msg.what = IS_PktArr;

    handler.sendMessage(msg);

    }

    });

    }

    @Override

    public void onServiceDisconnected(ComponentName componentName) {

    isBinded=false;

    }

    2)設置Activity為singleInstance模式,并重寫onKeyDown函數(shù)對返回按鍵KEYCODE_BACK的處理,通過調用moveTaskToBack方法將Activity移動到后臺運行,避免Activity被銷毀。

    public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) {//點擊返回按鍵

    if(bIsExit)

    {//如果USB設備拔出,則結束Activity和Service

    finish();

    Intent intent= new Intent(this, TireService.class);

    stopService(intent);

    return true;

    }

    moveTaskToBack(true);

    return true;

    }

    return super.onKeyDown(keyCode, event);

    }

    3)為了避免TireService因為資源不足被系統(tǒng)銷毀或在任務管理器中被用戶強行關閉導致無法持續(xù)接收USB車胎監(jiān)測報文,采用了關閉重啟的策略。在服務的onStartCommand中設置返回START_FLAG_REDELIVERY標記,代表service被kill后重新啟動,并攜帶上次啟動參數(shù)輸入?yún)?shù)intent。

    public int onStartCommand(Intent intent, int flags, int startId) {

    flags =flags| Service.START_FLAG_REDELIVERY;

    return super.onStartCommand(intent, flags, startId);

    }

    4) TireService服務啟動后,啟動讀取線程ReadThread。為了TireService被強行關閉重啟后仍能持續(xù)接收USB串口車胎監(jiān)測數(shù)據(jù)報文,因此將USB設備打開操作在讀取線程中。

    讀取線程ReadThread工作流程如圖5所示,首先枚舉查找USB轉換模塊設備,檢查程序是否被授予操作USB轉換模塊設備的權限,如果未授權該USB設備的操作權限,則通過PendingIntent申請USB操作權限。然后打開USB設備并循環(huán)接收USB車胎監(jiān)測報文,收到報文后獲得車胎位置以及相應胎溫胎壓信息。當程序界面MainActivity處在前臺運行時,通過Callback回調機制發(fā)回程序界面進行顯示,當超過閾值進行相應報警。當程序界面處在后臺運行時,如果胎溫胎壓超過相應閾值,則通過startActivity將程序界面轉到前臺運行。

    圖5 ReadThread工作流程

    5)告警閾值處理和告警暫停

    告警閾值需要通過SettingDialog進行調整,該對話框通過Callback機制將閾值設置數(shù)值返回主界面。

    當用戶在設置對話框修改了告警閾值時,告警閾值將更新到主界面MainActivity中,并通過綁定服務時返回的Binder對象傳遞到后臺服務TireService中。同時為了程序被強行關閉時,也可獲得正確的告警閾值,在告警閾值更改的同時,將利用SharedPreference保存告警閾值進行持久化存儲。在TireService服務啟動onStartCommand階段,判斷是否為MainActivity正常啟動TireService,還是因此程序被強行關閉而對服務的重啟。當服務啟動為程序被強行關閉而對服務的重啟時,需要在持久化存儲中讀取保存的告警閾值,否則重啟服務時告警閾值為局部變量的默認初始值0。

    為了避免持續(xù)收到告警車胎監(jiān)測報文時,持續(xù)調出程序主界面導致無用轉到其他程序執(zhí)行的情況,因此在告警顯示時,將出現(xiàn)告警暫停操作按鈕,點擊該按鈕后,在5分鐘內即使收到胎溫或胎壓超過閾值的車胎監(jiān)測報文,也不會顯示告警情況。當告警暫停定時結束后,程序即又回到接收到異常車胎監(jiān)測報文,便進行正常告警的狀態(tài)。

    4 系統(tǒng)結果測試

    將車胎監(jiān)測系統(tǒng)安裝在新能源客車上,大客車配備Android顯示屏,通過轉換模塊將車胎監(jiān)測數(shù)據(jù)接到Android系統(tǒng),并通過本軟件進行展示。由于實際部署在車輛上時,不便連接調試和查看調試信息,因此采用如圖6測試模型,Ginkgo USB-CAN總線適配器連接到PC上作為CAN數(shù)據(jù)發(fā)送源,PC機通過使用Ginkgo USB-CAN配套軟件按照車胎協(xié)議報文格式按照周期100 ms不間斷發(fā)送車胎監(jiān)測報文。作為CAN數(shù)據(jù)源的Ginkgo USB-CAN總線適配器,與車胎監(jiān)測轉換模塊連接,從而完成CAN接口報文轉換成USB串口數(shù)據(jù)包接入到Android系統(tǒng)。

    圖6 測試模型連接圖

    當Android系統(tǒng)進行上電啟動,系統(tǒng)啟動后自動運行本應用程序主界面MainActivity顯示車胎監(jiān)測胎溫胎壓信息。在測試告警時采用發(fā)送相同的車胎監(jiān)測數(shù)據(jù)報文,通過閾值設置對話框調節(jié)胎壓告警下限閾值超出該車胎特定監(jiān)測報文的胎壓數(shù)值,則進行顯示告警。當點擊返回鍵后,MainActivity退到后臺運行,并通過后臺Service持續(xù)接收并解析USB串口車胎監(jiān)測報文,當胎溫或胎壓超過指定閾值,則將MainActivity調到前臺進行顯示。當從通過任務管理將程序強行關閉時,后臺Service將自動重啟并接收解析USB串口車胎監(jiān)測信息,當胎溫或胎壓超過指定閾值,則調出程序界面MainActivity進行顯示。

    5 結束語

    本文設計現(xiàn)實了一個利用Android端進行信息展示的車胎監(jiān)測系統(tǒng),系統(tǒng)實時接收USB接口上報的車胎監(jiān)測報文,當超過相應閾值則進行告警顯示。通過利用綜合利用startService和bindService兩種類型的后臺Service、利用moveTaskToBack將程序移到后臺運行、通過服務關閉重啟來確保后臺Service持續(xù)接收USB接口上報的車胎監(jiān)測報文,完成實時監(jiān)測的功能,經過實際部署應用,滿足的實時車胎監(jiān)測的需要。

    猜你喜歡
    車胎胎壓后臺
    汽車胎壓監(jiān)測技術探討
    元征X-431 PAD V實測: 2018年奇瑞艾瑞澤GX胎壓傳感器學習
    2019款廣汽傳祺Aion S車胎壓報警燈點亮
    ——元征X-431標定胎壓傳感器的方法
    車胎扎了怎么辦 他有好辦法
    后臺暗戀
    基于Android 胎壓監(jiān)測系統(tǒng)的設計
    電子制作(2017年17期)2017-12-18 06:40:39
    車胎防滑套
    前臺、后臺精彩花絮停不了
    風采童裝(2016年2期)2016-08-02 09:18:38
    大腳男人留下的小腳印
    電力調度中后臺監(jiān)控系統(tǒng)的應用
    河南科技(2014年11期)2014-02-27 14:10:03
    大片电影免费在线观看免费| 亚洲国产最新在线播放| 亚洲,欧美,日韩| av电影中文网址| 精品久久久久久电影网| 高清av免费在线| 日韩一本色道免费dvd| 好男人视频免费观看在线| 国产日韩一区二区三区精品不卡| 丁香六月欧美| 99精品久久久久人妻精品| 七月丁香在线播放| 大片电影免费在线观看免费| 国产精品免费大片| 人人澡人人妻人| 久久精品久久精品一区二区三区| 可以免费在线观看a视频的电影网站 | 免费在线观看视频国产中文字幕亚洲 | 国产亚洲av高清不卡| 国产精品久久久久久久久免| 国产亚洲精品第一综合不卡| 欧美黑人精品巨大| 成年人免费黄色播放视频| 中文字幕另类日韩欧美亚洲嫩草| 亚洲精品视频女| 日韩一区二区三区影片| 十八禁高潮呻吟视频| 考比视频在线观看| 亚洲,欧美精品.| 亚洲精品美女久久久久99蜜臀 | 交换朋友夫妻互换小说| 欧美日韩一级在线毛片| 午夜久久久在线观看| 9色porny在线观看| 一二三四中文在线观看免费高清| 99久国产av精品国产电影| 国产精品免费视频内射| 麻豆乱淫一区二区| 极品少妇高潮喷水抽搐| 80岁老熟妇乱子伦牲交| 深夜精品福利| 夫妻性生交免费视频一级片| 亚洲七黄色美女视频| 伊人亚洲综合成人网| 国产精品无大码| 视频区图区小说| 最近最新中文字幕免费大全7| 丰满乱子伦码专区| 高清不卡的av网站| 精品卡一卡二卡四卡免费| 精品久久久精品久久久| 美女国产高潮福利片在线看| 啦啦啦啦在线视频资源| 丝瓜视频免费看黄片| av女优亚洲男人天堂| 免费黄色在线免费观看| 性色av一级| av在线老鸭窝| 国产成人午夜福利电影在线观看| 老汉色av国产亚洲站长工具| 天天添夜夜摸| 一区二区三区精品91| 亚洲国产av影院在线观看| 成人漫画全彩无遮挡| 一本久久精品| 国产黄色视频一区二区在线观看| 国产精品久久久久久精品古装| 伊人久久大香线蕉亚洲五| 国产淫语在线视频| 午夜免费男女啪啪视频观看| 午夜福利,免费看| 黑丝袜美女国产一区| 黑丝袜美女国产一区| 超色免费av| 久久久久国产一级毛片高清牌| 黑人猛操日本美女一级片| 黄片播放在线免费| 99久国产av精品国产电影| 97精品久久久久久久久久精品| 亚洲av福利一区| 操美女的视频在线观看| 黑人猛操日本美女一级片| 亚洲婷婷狠狠爱综合网| 丝袜脚勾引网站| 欧美成人精品欧美一级黄| 国产色婷婷99| 人人妻人人爽人人添夜夜欢视频| 色94色欧美一区二区| 亚洲精品一二三| 久久av网站| 国产午夜精品一二区理论片| 黑丝袜美女国产一区| 麻豆av在线久日| 99热网站在线观看| 成人影院久久| 日日摸夜夜添夜夜爱| 亚洲四区av| 妹子高潮喷水视频| 精品亚洲乱码少妇综合久久| 日韩视频在线欧美| 国产成人午夜福利电影在线观看| 国产精品av久久久久免费| 91aial.com中文字幕在线观看| 各种免费的搞黄视频| 亚洲精品国产色婷婷电影| 一本久久精品| 国产精品蜜桃在线观看| 欧美av亚洲av综合av国产av | 国产国语露脸激情在线看| 亚洲免费av在线视频| 国产亚洲最大av| 无限看片的www在线观看| 亚洲精品国产区一区二| av在线app专区| 国产不卡av网站在线观看| 黄色视频不卡| 51午夜福利影视在线观看| 日本av免费视频播放| 亚洲av男天堂| av一本久久久久| av国产精品久久久久影院| 老司机亚洲免费影院| 天天躁夜夜躁狠狠躁躁| 久久婷婷青草| 国产在线视频一区二区| 午夜福利网站1000一区二区三区| 两性夫妻黄色片| 亚洲国产欧美在线一区| 国产成人av激情在线播放| 亚洲欧美一区二区三区久久| 最近2019中文字幕mv第一页| 午夜精品国产一区二区电影| 精品一品国产午夜福利视频| 日本黄色日本黄色录像| 狠狠婷婷综合久久久久久88av| 国产女主播在线喷水免费视频网站| 久久精品亚洲av国产电影网| 国产精品人妻久久久影院| xxxhd国产人妻xxx| 国产精品久久久久久精品电影小说| 亚洲精品第二区| 精品亚洲乱码少妇综合久久| 宅男免费午夜| 99精国产麻豆久久婷婷| 亚洲精品日韩在线中文字幕| 日本wwww免费看| 久久久精品94久久精品| 好男人视频免费观看在线| 狂野欧美激情性bbbbbb| 亚洲精品一区蜜桃| 久久av网站| 国产女主播在线喷水免费视频网站| 国产国语露脸激情在线看| 亚洲国产精品一区三区| av不卡在线播放| 国产一级毛片在线| avwww免费| 成人免费观看视频高清| 日韩av在线免费看完整版不卡| 免费不卡黄色视频| 成人18禁高潮啪啪吃奶动态图| 老司机深夜福利视频在线观看 | 亚洲熟女精品中文字幕| 亚洲精品国产一区二区精华液| 精品一区在线观看国产| 美女福利国产在线| 国产黄色视频一区二区在线观看| 自线自在国产av| 尾随美女入室| 永久免费av网站大全| 亚洲成国产人片在线观看| 卡戴珊不雅视频在线播放| 激情视频va一区二区三区| 乱人伦中国视频| 看十八女毛片水多多多| 免费高清在线观看视频在线观看| 国产精品人妻久久久影院| 国产av国产精品国产| 精品国产超薄肉色丝袜足j| 免费少妇av软件| 人体艺术视频欧美日本| 亚洲熟女精品中文字幕| 国产亚洲最大av| 黄色视频在线播放观看不卡| 国产成人欧美| 在线观看免费视频网站a站| 你懂的网址亚洲精品在线观看| 波多野结衣一区麻豆| 人人澡人人妻人| 亚洲欧美精品综合一区二区三区| 天天躁狠狠躁夜夜躁狠狠躁| 国产精品一区二区在线观看99| 90打野战视频偷拍视频| 狠狠婷婷综合久久久久久88av| 成人国产麻豆网| 国精品久久久久久国模美| 国产精品一二三区在线看| 亚洲欧美色中文字幕在线| 黄色一级大片看看| 汤姆久久久久久久影院中文字幕| 大码成人一级视频| 99九九在线精品视频| 婷婷成人精品国产| 男女床上黄色一级片免费看| 丝袜人妻中文字幕| 熟女少妇亚洲综合色aaa.| 中文乱码字字幕精品一区二区三区| 91成人精品电影| 国产av精品麻豆| 亚洲国产av影院在线观看| 在线观看免费高清a一片| 久久久久久免费高清国产稀缺| 免费看不卡的av| 日韩av不卡免费在线播放| 成人国语在线视频| 高清欧美精品videossex| 男女午夜视频在线观看| 午夜福利免费观看在线| 亚洲国产av新网站| 久久国产亚洲av麻豆专区| 在线亚洲精品国产二区图片欧美| 中文字幕人妻丝袜一区二区 | 久久久久国产精品人妻一区二区| 国产成人系列免费观看| 最近中文字幕2019免费版| 久久久精品国产亚洲av高清涩受| 在线观看免费高清a一片| 欧美 日韩 精品 国产| 久久av网站| 亚洲精品,欧美精品| 综合色丁香网| 性色av一级| a级片在线免费高清观看视频| 亚洲美女黄色视频免费看| 午夜免费鲁丝| 18禁观看日本| 波野结衣二区三区在线| 亚洲免费av在线视频| 国语对白做爰xxxⅹ性视频网站| www.自偷自拍.com| 性高湖久久久久久久久免费观看| 日日撸夜夜添| 国产老妇伦熟女老妇高清| 青春草视频在线免费观看| 国产女主播在线喷水免费视频网站| 午夜久久久在线观看| 麻豆精品久久久久久蜜桃| 少妇被粗大的猛进出69影院| 久久久亚洲精品成人影院| av一本久久久久| 国产乱来视频区| 亚洲第一青青草原| 亚洲精品,欧美精品| 中文字幕av电影在线播放| 日韩制服丝袜自拍偷拍| 色网站视频免费| 亚洲一级一片aⅴ在线观看| 免费在线观看视频国产中文字幕亚洲 | 天堂中文最新版在线下载| 日本猛色少妇xxxxx猛交久久| 亚洲欧美一区二区三区国产| 欧美老熟妇乱子伦牲交| 如日韩欧美国产精品一区二区三区| 欧美日韩视频高清一区二区三区二| 久久久久久免费高清国产稀缺| 九草在线视频观看| 日韩一卡2卡3卡4卡2021年| 无限看片的www在线观看| av视频免费观看在线观看| 国产精品无大码| av卡一久久| 亚洲欧美色中文字幕在线| 久久天躁狠狠躁夜夜2o2o | 精品一区二区三区av网在线观看 | 亚洲欧美一区二区三区久久| 男女午夜视频在线观看| 美女脱内裤让男人舔精品视频| 爱豆传媒免费全集在线观看| 我要看黄色一级片免费的| 欧美精品高潮呻吟av久久| 最近最新中文字幕大全免费视频 | 久久影院123| 国产精品久久久久久精品古装| 99国产精品免费福利视频| 在线观看免费日韩欧美大片| 丰满迷人的少妇在线观看| 中文字幕制服av| 性高湖久久久久久久久免费观看| 性少妇av在线| 亚洲精品国产av成人精品| avwww免费| 中文欧美无线码| 午夜日韩欧美国产| 丝袜喷水一区| 久久久亚洲精品成人影院| 午夜免费鲁丝| 极品少妇高潮喷水抽搐| 亚洲欧美一区二区三区黑人| 成人三级做爰电影| 麻豆精品久久久久久蜜桃| 精品少妇黑人巨大在线播放| 大香蕉久久成人网| 高清不卡的av网站| 男女午夜视频在线观看| 高清黄色对白视频在线免费看| 男女国产视频网站| 中文字幕制服av| 成人亚洲欧美一区二区av| 777米奇影视久久| 久热爱精品视频在线9| 中文字幕人妻丝袜一区二区 | 丰满饥渴人妻一区二区三| 捣出白浆h1v1| e午夜精品久久久久久久| a级毛片黄视频| 人妻一区二区av| 日韩免费高清中文字幕av| 日本欧美视频一区| 十八禁人妻一区二区| 啦啦啦视频在线资源免费观看| 十八禁高潮呻吟视频| 久久99一区二区三区| 91老司机精品| 久久精品国产a三级三级三级| 免费女性裸体啪啪无遮挡网站| 国产精品三级大全| 超碰97精品在线观看| 欧美最新免费一区二区三区| 国产亚洲欧美精品永久| 欧美日韩精品网址| 亚洲,欧美,日韩| 精品久久久久久电影网| 久久久久精品性色| 啦啦啦 在线观看视频| 菩萨蛮人人尽说江南好唐韦庄| 欧美国产精品va在线观看不卡| 亚洲精华国产精华液的使用体验| 成人国产麻豆网| 亚洲国产精品成人久久小说| 看免费成人av毛片| 一本—道久久a久久精品蜜桃钙片| 777久久人妻少妇嫩草av网站| 欧美日本中文国产一区发布| 日本vs欧美在线观看视频| 欧美 亚洲 国产 日韩一| 嫩草影视91久久| 纵有疾风起免费观看全集完整版| 久久ye,这里只有精品| 韩国精品一区二区三区| 黄色一级大片看看| av免费观看日本| av不卡在线播放| av在线老鸭窝| 大话2 男鬼变身卡| 久久久久久久久免费视频了| 国产亚洲av片在线观看秒播厂| 又大又爽又粗| 一区二区三区乱码不卡18| 热99久久久久精品小说推荐| 欧美日韩一级在线毛片| 女性被躁到高潮视频| 老汉色av国产亚洲站长工具| 中国三级夫妇交换| 青春草国产在线视频| 国产熟女欧美一区二区| 青青草视频在线视频观看| 亚洲国产看品久久| 午夜av观看不卡| 老司机深夜福利视频在线观看 | 卡戴珊不雅视频在线播放| 波多野结衣av一区二区av| 日本av免费视频播放| av电影中文网址| 国产毛片在线视频| 国产精品亚洲av一区麻豆 | 成人手机av| 亚洲自偷自拍图片 自拍| 人妻一区二区av| 久久久久视频综合| 热re99久久精品国产66热6| 大陆偷拍与自拍| 国产精品一区二区在线不卡| 亚洲国产毛片av蜜桃av| 欧美人与性动交α欧美精品济南到| 亚洲国产精品成人久久小说| 啦啦啦 在线观看视频| 激情五月婷婷亚洲| 日韩制服丝袜自拍偷拍| 1024视频免费在线观看| 精品卡一卡二卡四卡免费| kizo精华| 一级毛片 在线播放| 最近的中文字幕免费完整| 亚洲成色77777| 国产高清国产精品国产三级| 国产亚洲精品第一综合不卡| 波多野结衣一区麻豆| 国产 精品1| 高清视频免费观看一区二区| av又黄又爽大尺度在线免费看| 成年av动漫网址| 最新的欧美精品一区二区| 欧美日韩国产mv在线观看视频| 人妻一区二区av| 成人三级做爰电影| 丝瓜视频免费看黄片| 91aial.com中文字幕在线观看| 免费日韩欧美在线观看| 国产欧美亚洲国产| 最新在线观看一区二区三区 | 天天躁日日躁夜夜躁夜夜| 人妻一区二区av| 中文精品一卡2卡3卡4更新| 日韩制服丝袜自拍偷拍| 亚洲精品,欧美精品| 国产精品嫩草影院av在线观看| 精品人妻熟女毛片av久久网站| 国产亚洲午夜精品一区二区久久| 韩国精品一区二区三区| 午夜av观看不卡| 亚洲欧美一区二区三区国产| 免费观看av网站的网址| 亚洲 欧美一区二区三区| 久久久精品免费免费高清| 亚洲一级一片aⅴ在线观看| 亚洲成人一二三区av| 丝袜人妻中文字幕| 99久国产av精品国产电影| 国产成人精品在线电影| 欧美久久黑人一区二区| 亚洲欧美色中文字幕在线| 最黄视频免费看| 亚洲欧美激情在线| 亚洲久久久国产精品| 可以免费在线观看a视频的电影网站 | 80岁老熟妇乱子伦牲交| 国产精品亚洲av一区麻豆 | 日韩精品有码人妻一区| 亚洲精品第二区| 亚洲一码二码三码区别大吗| 王馨瑶露胸无遮挡在线观看| 亚洲成人国产一区在线观看 | 国产成人啪精品午夜网站| 国产日韩欧美亚洲二区| 如日韩欧美国产精品一区二区三区| 国产精品久久久久久精品电影小说| 久久女婷五月综合色啪小说| 9色porny在线观看| 欧美黑人精品巨大| 亚洲成国产人片在线观看| 久久人人97超碰香蕉20202| 国产精品成人在线| 丝袜脚勾引网站| 精品国产露脸久久av麻豆| 黄色毛片三级朝国网站| 亚洲精华国产精华液的使用体验| 亚洲精品国产一区二区精华液| av线在线观看网站| 99久久综合免费| 老司机亚洲免费影院| 色94色欧美一区二区| 天美传媒精品一区二区| 考比视频在线观看| 色综合欧美亚洲国产小说| 亚洲成人免费av在线播放| 在线观看免费午夜福利视频| 国产亚洲一区二区精品| 久久久亚洲精品成人影院| 五月天丁香电影| av.在线天堂| 欧美人与性动交α欧美软件| 亚洲av电影在线进入| 嫩草影院入口| 19禁男女啪啪无遮挡网站| 啦啦啦在线免费观看视频4| 人体艺术视频欧美日本| 一二三四在线观看免费中文在| 波多野结衣一区麻豆| 极品少妇高潮喷水抽搐| 丰满乱子伦码专区| 成年人免费黄色播放视频| 美国免费a级毛片| 精品福利永久在线观看| 久久久久久免费高清国产稀缺| 婷婷色综合大香蕉| 国产成人系列免费观看| 9色porny在线观看| 99精国产麻豆久久婷婷| 少妇 在线观看| 少妇被粗大猛烈的视频| 亚洲国产毛片av蜜桃av| 丰满迷人的少妇在线观看| 90打野战视频偷拍视频| 老司机在亚洲福利影院| 少妇被粗大猛烈的视频| 精品国产一区二区三区四区第35| 精品一区二区三区av网在线观看 | 国产片内射在线| 久久久久精品人妻al黑| 欧美人与性动交α欧美软件| 一区二区三区精品91| 伊人久久大香线蕉亚洲五| 成人三级做爰电影| 国产在线视频一区二区| av不卡在线播放| 一区二区三区精品91| 乱人伦中国视频| 国产成人啪精品午夜网站| 捣出白浆h1v1| 老司机亚洲免费影院| 中文欧美无线码| av在线app专区| www.熟女人妻精品国产| 亚洲中文av在线| 国产精品熟女久久久久浪| 国产精品国产三级专区第一集| 老熟女久久久| 激情五月婷婷亚洲| 午夜福利在线免费观看网站| 久久久久国产精品人妻一区二区| 成人国产麻豆网| 久久精品熟女亚洲av麻豆精品| 欧美久久黑人一区二区| 在线天堂最新版资源| 亚洲熟女毛片儿| 免费不卡黄色视频| 久久亚洲国产成人精品v| 久久精品国产综合久久久| 美女大奶头黄色视频| 国产欧美日韩一区二区三区在线| 高清av免费在线| 在线天堂中文资源库| 色婷婷久久久亚洲欧美| 婷婷色综合大香蕉| avwww免费| 高清不卡的av网站| 男的添女的下面高潮视频| 三上悠亚av全集在线观看| 2018国产大陆天天弄谢| av有码第一页| 最近2019中文字幕mv第一页| 国产麻豆69| 考比视频在线观看| av在线播放精品| 国产成人精品久久二区二区91 | 午夜日本视频在线| 日日啪夜夜爽| 久久热在线av| 天堂中文最新版在线下载| 亚洲精品国产区一区二| 国产男人的电影天堂91| 国产欧美亚洲国产| 亚洲欧美一区二区三区国产| 国产麻豆69| kizo精华| 亚洲精品国产av成人精品| 久久性视频一级片| 波多野结衣av一区二区av| 我的亚洲天堂| 午夜福利网站1000一区二区三区| 在线观看www视频免费| 精品一区二区三区四区五区乱码 | av有码第一页| 国产精品免费视频内射| 免费不卡黄色视频| 人人妻人人爽人人添夜夜欢视频| 不卡av一区二区三区| 69精品国产乱码久久久| 日韩一区二区视频免费看| 一二三四中文在线观看免费高清| 一级,二级,三级黄色视频| 高清在线视频一区二区三区| 成人18禁高潮啪啪吃奶动态图| 欧美日韩一区二区视频在线观看视频在线| 国产精品久久久久久精品古装| 亚洲国产欧美在线一区| 欧美日本中文国产一区发布| 黄色视频在线播放观看不卡| 精品久久久久久电影网| 亚洲男人天堂网一区| 老司机影院成人| 又大又黄又爽视频免费| 免费看不卡的av| 又黄又粗又硬又大视频| 观看av在线不卡| 人妻 亚洲 视频| 咕卡用的链子| 国产 一区精品| 一区福利在线观看| 午夜91福利影院| 如日韩欧美国产精品一区二区三区| 精品国产一区二区三区四区第35| 久久韩国三级中文字幕| 国产极品天堂在线| 一个人免费看片子| 日日爽夜夜爽网站| 18在线观看网站| 亚洲第一av免费看| 美女福利国产在线| 免费人妻精品一区二区三区视频| 国产又爽黄色视频| av卡一久久| 免费人妻精品一区二区三区视频| 欧美在线黄色| 少妇猛男粗大的猛烈进出视频| 汤姆久久久久久久影院中文字幕| 一级爰片在线观看| 91精品伊人久久大香线蕉| av在线观看视频网站免费| 日韩 欧美 亚洲 中文字幕| 色播在线永久视频| 大香蕉久久成人网| 日韩电影二区| 嫩草影院入口| 国产精品一国产av|