日本美女视频网站观看-一二三四国产精品一区-精品伦子一区二区三区-亚洲中文字幕人妻在线

您的位置:首頁   >  關(guān)于我們  >  新聞動態(tài)

大彩串口屏4G應(yīng)用-OTA升級工程

發(fā)布人:大彩科技發(fā)布日期:2021-08-19



演示視頻


一、適合范圍


本文檔適合大彩PM系列串口屏產(chǎn)品使用。




二、開發(fā)環(huán)境版本


1. VisualTFT軟件版本:V3.0.1.1112及以上的版本。

版本查看:

1) 打開VisualTFT軟件啟動頁面如圖2-1軟件版本,右上角會顯示的軟件版本號;

圖片

圖2-1軟件版本


2) 打開VisualTFT,在軟件右下角可以查看軟件版本圖2-2軟件版本,最新版本可登錄http://www.botecn.com/進(jìn)行下載。

圖片

圖2-2軟件版本


2. 串口屏硬件版本:M系列固件 >=V6.3.325.00。

版本查看:

1) 查看屏幕背面版本號貼紙;

2) VisualTFT與屏幕聯(lián)機(jī)成功后,右下角顯示的版本號。





三、概述


本例程,介紹4G的HTTP下載文件、OTA升級工程的方法。





四、參考資料


 1  《LUA 腳本API V1.4》可通過以下鏈接下載物聯(lián)型開發(fā)包獲取:

http:/www.botecn.com/index.php?s=/List/index/cid/19.html

 2  《LUA基礎(chǔ)學(xué)習(xí)》可通過以下鏈接下載物聯(lián)型開發(fā)包獲取:

http:/www.botecn.com/index.php?s=/List/index/cid/19.html

 3  LUA腳本初學(xué)者可以通過下面鏈接進(jìn)行學(xué)習(xí)。

http://www.runoob.com/lua/lua-arrays.html





五、教程實(shí)現(xiàn)


本文主要將以下2點(diǎn)進(jìn)行說明:

1. 準(zhǔn)備工程素材;

2. 配置串口屏工程;






5.1 準(zhǔn)備工程素材

5.1.1 準(zhǔn)備工程素材

在實(shí)現(xiàn)例程前需要作以下3個準(zhǔn)備:

1. 硬件平臺;

2. 軟件平臺;

3. UI素材;

該例程使用大彩M系列7寸串口屏DC80480M070_1111_0T為驗證開發(fā)平臺。如圖5-1所示:

圖5-1  M系列7寸串口屏

其他尺寸的串口屏均可借鑒此教程。


5.1.2 軟件平臺

使用大彩自主研發(fā)的上位機(jī)軟件VisualTFT配置工程,登錄http://www.botecn.com/下載。如圖5-2所示

圖5-2下載軟件






5.2 配置串口屏工程

本文主要介紹以下2點(diǎn):

(1) 畫面配置

(2) LUA編輯


5.2.1 畫面配置

在畫面ID0中,觸發(fā)下載、下載過程、4G信號值及運(yùn)營商3部分組成。

觸發(fā)下載:3個按鈕控件,作為觸發(fā)下載條件。

  • 控件ID1為工程下載。
  • 下載過程:控件ID4~8作為下載過程的體現(xiàn):
  • 文本控件ID4用于顯示下載速度(min/Kb)
  • 文本控件ID5顯示下載信息
  • 進(jìn)度條控件ID6為顯示下載進(jìn)度
  • 文本控件ID7用于顯示下載進(jìn)度百分比
  • 文本控件ID8顯示 ‘當(dāng)前已下載大小/總下載大小’,單位Kb
  • 4G信號和運(yùn)營商:圖標(biāo)控件控件ID11作為信號顯示、文本控件ID10用于顯示運(yùn)營商。畫面配置如圖5-3所示:
  • 串口屏固件版本:文本控件ID13用于顯示固件版本號。

注意:其他非關(guān)鍵控件不在一一介紹,下文不在累述

圖5-3 畫面配置


5.2.2 LUA編輯

本例程中,屏幕上電執(zhí)行初始化操作,如加載4G AT 指令的庫、初始化4G模塊、定時獲取運(yùn)營商和信號值等。

當(dāng)用戶點(diǎn)擊工程、固件升級按鈕時,調(diào)用air_http_download()開始下載文件。在下載回調(diào)函數(shù)on_ota_http_download_file_cb()里進(jìn)行數(shù)據(jù)存儲,顯示下載信息等。若該文件單次下載不完,會多次回調(diào)on_ota_http_download_file_cb()函數(shù),直至下載完畢,如圖5-4所示。

特別注意:使用OTA時,每次從云端下載數(shù)據(jù)最大不超過2048字節(jié),每次寫入內(nèi)存最大不超過512字節(jié)。

圖5-4 下載流程


1. 初始化

調(diào)用系統(tǒng)函數(shù)on_init()執(zhí)行代碼如程序清單 1所示:


程序清單 1  初始化

--[[*******************************************************************
** Function name:  on_init
** Descriptions :  系統(tǒng)初始化時,執(zhí)行此回調(diào)函數(shù)。
*******************************************************************--]]
function on_init()
    ota_destroy()             --清楚ota內(nèi)容
    dofile('air724at.lua')  --加載 http.lua 文件
    uart_set_baudrate3(115200)  --設(shè)置與4G模塊通訊的串口3的波特率為115200

    start_timer( timerId_init, timerout_init, 0, 1 )    --初始化定時器,部分內(nèi)容延時一段時間在初始化

    air_set_callback(on_air_send_cb,on_air_resp_callback,on_air_log_cb)     --設(shè)置4G庫函數(shù)的命令發(fā)送函數(shù),命令回調(diào)函數(shù)、調(diào)試信息打印函數(shù)

    air_hw_int()   --4G模塊初始化設(shè)置
end

-- [[*******************************************************************
** Function name:  on_timer
** Descriptions :  定時器超時回到調(diào)函數(shù)。
** @ timer_id    :  定時器ID
*******************************************************************--]]
function on_timer(timer_id)
    on_air_timer(timer_id)          --4G庫函數(shù)的定時處理

    --延時解壓ota文件
    if timer_id == timerId_ota_check_upgrade
    then
        air_log('timer_id == timerId_ota_check_upgrade')
        ota_check_upgrade(1)        --檢查文件,并解壓,參數(shù) 1 表示升級后重啟

    --延時初始化的內(nèi)容
    elseif timer_id == timerId_init
    then
        set_visiable( screen_updata, 6, 0)
    end
end

--[[*******************************************************************
** Function name : at_cops_csq
** Descriptions  : 獲取運(yùn)營商信息、信號強(qiáng)度
** @return       : nil,無返回值
*******************************************************************--]]
function at_cops_csq()
    air_cmd_add('AT+COPS?','OK',1000) –獲取運(yùn)營商
    air_cmd_add('AT+CSQ'  ,'OK',1000) –獲取信號
end

--[[*******************************************************************
** Function name:  on_air_resp_callback
** Descriptions :  4G模塊-數(shù)據(jù)回調(diào)接口
** @key           :  屏幕向4G模塊的發(fā)送請求
** @value        :  4G模塊返回的數(shù)據(jù)
*******************************************************************--]]
function on_air_resp_callback(key, value)

    if value == nil
    then 
        return              --value為空時退出
    end

    --*********************************************************************
    --功能:    判斷 key
    --          如果 key 為空,則退出函數(shù)。
    --          因為 key 為空時,下方 string.find( key , ) 是不正確的使用。
    --          以下key的處理必須不為空,
    --*****************************************************************
    if key == nil 
    then
        return
    end

    ......

    --*******************************************************************
    --條件:    4G初始化完成
    --功能:    使用使用AT指令獲取信號強(qiáng)度和運(yùn)營商。
    --          使用 http get 請求天氣、北京時間。
    --調(diào)用函數(shù):at_cops_csq()
    --函數(shù)功能:獲取信號強(qiáng)度和運(yùn)營商
    --調(diào)用函數(shù):get_wea_and_time()
    --函數(shù)功能:請求天氣、北京時間
    --*******************************************************************
    if string.find(key,'+SAPBR=1,1') ~= nil and string.find(value,'OK') ~= nil 
    then
        set_visiable( screen_updata, 16, 0 )      --畫面‘多媒體下載’的提示清空
        at_cops_csq()                                  --獲取信號強(qiáng)度、運(yùn)營商
    end

    --****************************************************************
    --條件:    設(shè)置4G模塊波特率成功
    --功能:    設(shè)置串口波特率為 921600 
    --****************************************************************
    if string.find(key,'+IPR=921600') ~= nil and
    string.find(value,'OK') ~= nil 
    then
        uart_set_baudrate3(921600)
    end

    --****************************************************************
    --條件:    設(shè)置4G模塊波特率成功
    --功能:    設(shè)置串口波特率為 115200 
    --****************************************************************
    if string.find(key,'+IPR=115200') ~= nil and
    string.find(value,'OK') ~= nil 
    then
        uart_set_baudrate3(115200)
    end

    --****************************************************************
    --條件:    4G模塊返回運(yùn)營商信息
    --功能:    設(shè)置顯示運(yùn)營商
    --****************************************************************
    if string.find(key,'+COPS') ~= nil and string.find(value,'+COPS') ~= nil
    then
        --************************************************************
        --value    : +COPS: 0,2,"46000",7
        --要提取的值:46000
        --正則表達(dá)式: '+COPS:.*,.*,"(%d*)"'
        --************************************************************
        local regular_e = '+COPS:.*,.*,"(%d*)"'--正則表達(dá)式
        --獲取的值賦給 my_mobile_MCCMNC 
        local my_mobile_MCCMNC = string.match( value, regular_e )
        set_text( screen_main, 2, mobile_MCCMNC[my_mobile_MCCMNC])
    end

    --****************************************************************
    --條件:    4G模塊返回信號強(qiáng)度信息
    --功能:    設(shè)置4G模塊的信號等級
    --****************************************************************
    if string.find(key,'+CSQ')~=nil and string.find(value,'+CSQ')~=nil
    then
        --************************************************************
        --value    : +CSQ: 15,99
        --要提取的值:15
        --正則表達(dá)式: '+CSQ: (.*),.*' 
        --***********************************************************
        local regular_e = '+CSQ: (.*),.*' --正則表達(dá)式
        local my_csq = tonumber(string.match(value,regular_e))
        if my_csq<=11 
        then
            set_value( screen_main, 1, 1) --設(shè)置信號圖標(biāo)顯示第1幀 
        elseif my_csq>=12 and my_csq<=13 
        then
            set_value(screen_main, 1, 2) --設(shè)置信號圖標(biāo)顯示第2幀 
        elseif my_csq>=14 and my_csq<=15 
        then
            set_value( screen_main, 1, 3) --設(shè)置信號圖標(biāo)顯示第3幀 
        elseif my_csq>=16 
        then
            set_value( screen_main, 1, 4) --設(shè)置信號圖標(biāo)顯示第4幀 
        end
    end
end

--[[******************************************************************
** Function name: on_uart_recv_data3
** Descriptions : 接收串口3數(shù)據(jù)回調(diào)函數(shù),連接4G模塊。
******************************************************************--]]
function on_uart_recv_data3(packet)
    --4G AT指令庫API
    on_air_recv_data(packet)
end

核心API函數(shù)

1) dofile (filename)

加載文件:本例程中加載4G AT 指令的庫

  • filename  : 文件


2) uart_set_baudrate3(speed)

設(shè)置串口3的波特率:串口3為屏幕和4G模塊通訊的串口

  • speed  : 通訊的波特率


3) on_air_recv_data(packet)

串口接收4G模塊的返回數(shù)據(jù)的回調(diào)。

  • packet  : 形參為表,字節(jié)數(shù)據(jù)。


4) air_set_callback (on_air_send_cb,on_air_resp_callback,on_air_log_cb)

設(shè)置4G庫里的回調(diào)函數(shù)。形參類型為函數(shù),參數(shù)依次為命令發(fā)送函數(shù),命令回調(diào)函數(shù)、調(diào)試信息打印函數(shù),可自定義函數(shù)名。

  • on_air_send_cb:屏幕向4G模塊發(fā)送回調(diào)函數(shù)
  • on_air_resp_callback :4G向屏幕返回數(shù)據(jù)回調(diào)函數(shù)
  • on_air_log_cb:用戶調(diào)試信息回調(diào)函數(shù)調(diào)試


5) air_hw_int()

4G AT 指令的庫函數(shù),初始化4G模塊


6) at_cops_csq()

自定義封裝函數(shù),獲取運(yùn)行商和信號值


7) air_cmd_add(sendstr,ackstr,timeout,retry,callback)

屏幕向4G模塊發(fā)送AT指令

  • sendstr:屏幕向4G模塊發(fā)送AT指令
  • ackstr:4G模塊應(yīng)答屏幕的請求
  • timeou:應(yīng)答超時
  • retry:超時重發(fā)次數(shù),可選
  • callback:應(yīng)答回調(diào)函數(shù),可選

注:如果沒有設(shè)置超時重發(fā)次數(shù),則超時時直接發(fā)送隊列中的下一條指令。


8) on_air_resp_callback(key, value)

4G應(yīng)答屏幕回調(diào)函數(shù):屏幕發(fā)送AT指令,4G應(yīng)答后均會回調(diào)該函數(shù),初始化設(shè)置:air_set_callback(on_air_send_cb,on_air_resp_callback,on_air_log_cb)。

  • key:屏幕向4G模塊發(fā)送請求的AT指令
  • value:4G模塊返回的數(shù)據(jù)


9) ota_destroy()

清楚上次寫在內(nèi)存中的OTA數(shù)據(jù)。


相關(guān)AT指令:

本例程中,涉及到獲取4G模塊初始化、運(yùn)營商、信號值等AT交互指令回調(diào)的判斷,在on_air_resp_callback(key, value)回調(diào)函數(shù)中,判斷4G收發(fā)的相關(guān)AT指令,如下所示:

1) 網(wǎng)絡(luò)數(shù)據(jù)是否激活: 

屏幕發(fā)送:AT+SAPBR=1,1。在air_hw_int()函數(shù)里發(fā)送。

屏幕接收:OK。on_air_resp_callback(key, value)函數(shù)里執(zhí)行4G返回數(shù)據(jù)的判斷


2)  獲取運(yùn)營商:

屏幕發(fā)送:AT+COPS?。在at_cops_csq()函數(shù)了發(fā)送。

屏幕接收:OK。on_air_resp_callback(key, value)函數(shù)里執(zhí)行4G返回數(shù)據(jù)的判斷


3)  獲取信號值:

屏幕發(fā)送:AT+CSQ。在at_cops_csq()函數(shù)了發(fā)送。

屏幕接收:OK。on_air_resp_callback(key, value)函數(shù)里執(zhí)行4G返回數(shù)據(jù)的判斷

 

2. HTTP下載

用戶點(diǎn)擊按鈕控件ID1,HTTP下載對應(yīng)的OTA文件。文件,每次向服務(wù)器讀取2048K大小文件,然后在下載回調(diào)函里,每次以512字節(jié)的數(shù)據(jù)寫入存儲地址,代碼如程序清單2所示:

程序清單 2  HTTP下載

--[[******************************************************************
** Function name : on_control_notify
** Descriptions  : 系統(tǒng)回調(diào)函數(shù),用戶通過觸摸修改控件后,執(zhí)行此回調(diào)函數(shù)。
**                    點(diǎn)擊按鈕控件,修改文本控件、修改滑動條都會觸發(fā)此事件。
** @ screen       : 控件觸發(fā)所在的頁面
** @return        : 控件觸發(fā)的ID
** @return        : 控件值
** @return        : nil,無返回值
******************************************************************--]]
function on_control_notify(screen,control,value)
    --*******************************************************************
    --位置:    ota升級
    --*******************************************************************
    if screen == screen_updata 
    then
        if control == 1 and value == 1
        then

            set_enable( screen_updata, 1, 0)

            set_value( screen_updata, 6, 0)
            set_text( screen_updata, 7, '')
            set_text( screen_updata, 8, '')
            set_text( screen_updata, 4, '')

            set_visiable( screen_updata, 6, 1)           --設(shè)置進(jìn)度條可見
            set_visiable( screen_updata, 7, 1)           --設(shè)置進(jìn)度文本可見
            set_visiable( screen_updata, 8, 1)           --設(shè)置文件大小文本可見

            file_len           = 0
            file_curt_dl_perct = 0

            air_set_baudrate(921600)

            --開始下載
            air_http_download(ota_HttpDownFile_URITb, 
                              ota_dlOnceSize,
                              on_ota_http_download_cb)
        end
    end
end

--[[*********************************************************************
** Function name: ota_http_download_process
** Descriptions : 計算當(dāng)前寫入(下載)進(jìn)度
** @cur_process : 當(dāng)前下載進(jìn)度
** @return       : nil, 無返回值
*********************************************************************--]]
function ota_http_download_process( cur_process )

    local allsize =  string.format('%0.2f', (file_len    / 1024))
    local cursize =  string.format('%0.2f', (cur_process / 1024))
    local file_curt_dl_perct = (cur_process/file_len)*100

    file_curt_dl_perct = string.format('%0.1f',file_curt_dl_perct)

    set_value(screen_updata, 6, file_curt_dl_perct)
    set_text(screen_updata , 7, '下載進(jìn)度: '..file_curt_dl_perct..' %')
    set_text(screen_updata ,  8, '文件大小: '..cursize..' KB / '..allsize..' KB')
end

--[[*********************************************************************
** Function name: on_ota_http_download_cb
** Descriptions : 下載文件
** @key           : key, HTTP下載返回標(biāo)識
** @value        : value,4G模塊屏幕  的應(yīng)答數(shù)據(jù) 
** @return       : nil, 無返回值
*********************************************************************--]]
function on_ota_http_download_cb(key, value)

    if key=='data_len' 
    then
        local otafile_len = value               --獲取文件長度
        file_len = otafile_len

        ota_destroy()      --清楚ota內(nèi)容
        ota_init_addr = ota_init('0123456789abcdef',otafile_len,ota_addr)  --初始化OTA內(nèi)存

        start_timer_download_speed(file_len)  --開始計算下載時間
        set_text( screen_updata, 4, '')        --速度顯示為空

    elseif key=='data'                           --文件數(shù)據(jù)包
    then
        my_ota_write_filedata('',value,add_write,ota_init_addr)   --分段寫入數(shù)據(jù)

    elseif key=='finish'                        --下載結(jié)束
    then
        air_set_baudrate(115200)     --重新設(shè)置4G模塊和串口3波特率為115200
        start_timer(timerId_ota_check_upgrade, timerout_ota_check_upgrade , 0, 1)  --定時執(zhí)行ota_check_upgrade(1)

        ota_seek_ops = 0                        --寫的位置,計算下載進(jìn)度
        file_len           = 0                  --本次下載的文件長度

        set_visiable( screen_updata, 6, 0)      --設(shè)置進(jìn)度條不可見
        set_visiable( screen_updata, 7, 0)      --設(shè)置進(jìn)度文本不可見
        set_visiable( screen_updata, 8, 0)      --設(shè)置文件大小文本不可見
        set_enable( screen_updata, 1, 1)

        local dl_sec,dl_speed = stop_timer_download_speed()     --停止下載計時,比返回總用時秒數(shù),每秒下載速度
        set_text(screen_updata,4,'下載速度:'.. string.format('%0.2f',dl_speed) ..'KB/s 總用時:'..dl_sec..'s ')

        set_text( screen_updata, 5, '文件等待校驗,請稍等...')
    elseif key=='timeout'             --下載超時
    then
        reset_4G()                    --重啟4G
        dl_reset_flag = 1             --重啟標(biāo)志位
        air_set_baudrate(115200)      --重新設(shè)置4G模塊和串口3波特率為115200
        ota_destroy()                 --清楚ota內(nèi)容

        set_text( screen_updata, 5, '下載超時,發(fā)生網(wǎng)絡(luò)錯誤,重新設(shè)置中...') --提示
        stop_timer_download_speed()       --停止下載計時
        set_enable( screen_updata, 1, 1)

    elseif key=='dl_file_read_retry'     -- HTTPREAD 重下
    then
        --*************************************************************
        --value:            retry: -1,601
        --要提取的值:       -1
        --                   601
        --正則表達(dá)式:       'retry: (%d*),(%d*)'
        --*************************************************************
        local httpread_retry=''
        local status=''
        local regular_e = 'retry: (.*),(%d*)'      --正則表達(dá)式
        local httpread_retry,status = string.match(value,regular_e)   --獲取的值賦給 
        if httpread_retry == '-1' and ( status == '408' or status == '601' or status == '603' )
        then
            reset_4G()
            dl_reset_flag = 1

            stop_timer_download_speed()      --停止下載計時
            set_text( screen_updata, 5, '下載超時,發(fā)生網(wǎng)絡(luò)錯誤,重新設(shè)置中...')    --提示
            set_enable( screen_updata, 1, 1)

        end
        ota_destroy()
    elseif key=='dl_file_head_retry'       -- HTTPHEAD 重下
    then
        --**************************************************************
        --value:            retry: -1,601
        --要提取的值:       -1
        --                   601
        --正則表達(dá)式:       'retry: (%d*),(%d*)'
        --**************************************************************
        local httphead_retry=''
        local status=''
        local regular_e = 'retry: (.*),(%d*)'      --正則表達(dá)式
        local httphead_retry,status = string.match(value,regular_e)            --獲取的值賦給 
        if httphead_retry == '-1' and ( status == '408' or status == '601' or status == '603' )
        then
            reset_4G()
            dl_reset_flag = 1

            stop_timer_download_speed()             --停止下載計時
            set_text( screen_updata, 5, '下載超時,發(fā)生網(wǎng)絡(luò)錯誤,重新設(shè)置中...') --提示
            set_enable( screen_updata, 1, 1)

        end
        ota_destroy()
    end
end

--[[*****************************************************************
** Function name : my_ota_write_filedata
** Descriptions  : ota數(shù)據(jù)分段寫入ota升級地址
** @file         : 文件路徑
** @data         : 待寫入的數(shù)據(jù)
** @open_mode    : 打開文件的方式
** @addr         : ota初始化地址
*****************************************************************--]]
function my_ota_write_filedata(file, data, open_mode,addr)

    local count     = 0     --每次寫的字節(jié)數(shù)
    local write_cnt = 0     --‘data’數(shù)據(jù)一共需要寫的次數(shù)

    --獲取待寫入數(shù)據(jù)的長度和數(shù)據(jù)類型
    local wrire_len, data_type = my_getdataLen_Type(data)

    local write_byte_Tb = {}

    if type(addr) == 'number'
    then

        --數(shù)據(jù)長度大于0
        if wrire_len > 0
        then
            --計算'@data'要寫多少次
            write_cnt =  math.modf(wrire_len / ota_WriteOnceSize)
            -- wrire_len 不是 ota_WriteOnceSize 的整數(shù)倍時,wrire_len = wrire_len + 1
            if wrire_len % ota_WriteOnceSize > 0
            then
                write_cnt = write_cnt + 1
            end
            my_uart_log('Lua_debug: need write allcnt -> '..write_cnt..' rn')


            for i = 1, write_cnt
            do
                --復(fù)位寫字節(jié)數(shù)組
                write_byte_Tb = {}

                --計算本次寫的個數(shù)
                count = ota_WriteOnceSize
                if i == write_cnt
                then
                    if wrire_len % ota_WriteOnceSize > 0
                    then
                        --最后一次寫入時,count為剩余數(shù)據(jù)的長度
                        count = wrire_len % ota_WriteOnceSize

                    end
                end

                --計算寫的位置
                ota_seek_ops = ota_seek_ops + count

                --顯示當(dāng)前寫入(下載)進(jìn)度
                ota_http_download_process( ota_seek_ops )

                my_uart_log('Lua_debug: cur write  -> '..i..'th / wrire count '..count..' rn')

                --填充寫入flash的字節(jié)數(shù)組
                for j = 0, count - 1
                do
                    if data_type == 'string'
                    then
                        --字符串類型,將每個字符轉(zhuǎn)換為字節(jié)數(shù)組
                        write_byte_Tb[j - 1] = tonumber(string.byte(data, ((i - 1) * ota_WriteOnceSize + j), ((i - 1) * ota_WriteOnceSize + j)))

                    elseif data_type == 'table'
                    then
                        --數(shù)組類型,字節(jié)賦值
                        write_byte_Tb[j] = data[((i - 1) * ota_WriteOnceSize + j)]
                    end
                end

                if i == write_cnt
                then
                    if wrire_len % ota_WriteOnceSize > 0
                    then
                        for y=count,ota_WriteOnceSize-1 do
                            write_byte_Tb[y] = 0
                        end
                    end
                end

                ota_write(write_byte_Tb)         --寫數(shù)據(jù)到內(nèi)存中
            end
        end
    else

    end
end 

核心API函數(shù)

1) air_http_download(url,break_size,user_callback)

4G庫函數(shù),HTTP下載文件。

  • url:HTTP下載資源連接。
  • break_size:單次網(wǎng)絡(luò)下載的包大小,單位字節(jié)(BYTE),本例程中為7K。
  • user_callback:改形參是一個函數(shù)變量,HTTP下載應(yīng)答屏幕的回調(diào)函數(shù)。名稱可自定義命名,如本例程為on_http_download_file_cb。


2) on_ota_http_download_file_cb(key, value)

用戶自定義函數(shù),HTTP下載回調(diào)函數(shù)。

  • key:HTTP響應(yīng)數(shù)據(jù)類型
  • value:HTTP響應(yīng)的內(nèi)容
- 若key = ‘data_len’,表示HTTP下載的文件大??;value 表示為文件大小,單位byte。
- 若key = ‘data’,表示HTTP響應(yīng)數(shù)據(jù)內(nèi)容;value為數(shù)據(jù)內(nèi)容,類型為字節(jié)數(shù)組,大小為air_http_download(url,break_size,user_callback)設(shè)置的break_size。
- 若key = ‘finish’,表示HTTP下載完成;value為文件總大小,單位byte
- 若key = ‘timeout’,表示HTTP下載超時。
- 若key = ‘dl_file_head_retry’,表示 HTTPACTION 查詢頭信息超時。若超時,內(nèi)部已經(jīng)處理了3次重發(fā)數(shù)據(jù)請求。

- 若key = ‘dl_file_read_retry’,表示 HTTPACTION 查詢讀取數(shù)據(jù)超時。若超時,內(nèi)部已經(jīng)處理了3次重發(fā)數(shù)據(jù)請求。


3) my_ota_write_filedata(file, data, open_mode)

用戶自定義函數(shù),寫文件。本例程,將4G HTTP下載返回的數(shù)據(jù)寫在內(nèi)存中。

  • file:存儲路徑,本例程中,為空。
  • data:存儲的數(shù)據(jù),類型可以是‘?dāng)?shù)組’或‘字符串’,本例程中,4G HTTP下載返回的數(shù)據(jù)類型是數(shù)組
  • open_mode:文件打開模式:本例程中,每次寫文件,將數(shù)據(jù)寫在文件尾。

注意:本文不再闡述文件讀寫的詳細(xì)說明,可參考相應(yīng)的資料,如《Lua應(yīng)用-文件讀寫V1.0.pdf》


4) ota_destroy ( )

清除OTA數(shù)據(jù):對0x800000地址寫入的數(shù)據(jù)清除。


5) ota_init (md5,filesize, addr)

視頻播放回調(diào)函數(shù) 

  • md5:字符串,固定為‘0123456789abcdef’
  • filesize:ota.bin文件的大小,單位:byte
  • addr:固定為0x800000(16進(jìn)制)

如ota.bin文件大小為17542byte,則ota_init(‘0123456789abcdef’, 17542, 0x800000)。


6) ota_write(writeTb)

OTA寫入,用戶調(diào)用ota_write(writeTb),將writeTb數(shù)據(jù)寫入到0x800000地址。

  • writeTb:寫入字節(jié)數(shù)據(jù),寫入大小為2048 byte,不足2048byte補(bǔ)零。寫入該地址的數(shù)據(jù)掉電后不清除。


7) ota_check_upgrade(state)

ota.bin文件校驗、解壓。當(dāng)用戶將ota.bin文件傳輸完畢后,調(diào)用ota_check_upgrade(state)對ota.bin進(jìn)行先校驗在解壓,解壓成功后即已經(jīng)升級完成,屏幕自動重啟。

  • state:1,進(jìn)入升級狀態(tài)。

 

3. OTA升級

OTA文件下載完成,則調(diào)用ota_check_upgrade(1)開始進(jìn)入校驗解壓過程,代碼如程序清單 3所示:

程序清單 3 文件校驗、解壓

--[[**************************************************************
** Function name:  on_timer
** Descriptions:   定時器超時回調(diào)
******************************************************************--]]
function on_timer(timer_id)

    ......
    --延時解壓ota文件
    if timer_id == timerId_ota_check_upgrade
    then
        air_log('timer_id == timerId_ota_check_upgrade')
        ota_check_upgrade(1)       --檢查文件,并解壓,參數(shù) 1 表示升級后重啟
    end

end

--[[*******************************************************************
** Function name: on_ota_progress
** Descriptions : 解壓升級
** @status      : 解壓狀態(tài)
** @value       : 對于狀態(tài)的具體數(shù)值
**
** @開始校驗
** @status  =  1
** @value   =  0
**
** @校驗結(jié)果
** @status  =  2
** @value   =  0 ,失敗
**             1 ,成功
**
** @開始解壓
** @status  =  3
** @value   =  0~100,解壓進(jìn)度
**
** @解壓結(jié)束
** @status  =  4
** @value   =  0 ,失敗
**             1 ,成功
**
** @return      : nil, 無返回值
******************************************************************--]]
function on_ota_progress(status,value)

    if status == 1
    then
        set_text(screen_updata , 5, '開始校驗')
        set_value(screen_updata, 6, 0)
    elseif status == 2
    then
        if value == 0
        then
            set_text(screen_updata , 5, '校驗失敗,文件錯誤,請檢查下載文件')
        elseif value == 1
        then
            set_text(screen_updata , 5, '校驗成功')
        end
    elseif status == 3
    then
        set_value(screen_updata, 6, value)
        set_text(screen_updata , 5, '文件解壓進(jìn)度: '..value..' %')
    elseif status == 4
    then
        if value == 0
        then
            set_text(screen_updata , 5, '解壓失敗')

        elseif value == 1
        then
            set_text(screen_updata , 5, '解壓成功')
            set_value(screen_updata, 6, 100)

        end
    end
    refresh_screen()                        --刷新畫面

end

核心API函數(shù)

1) ota_check_upgrade(state)

ota.bin文件校驗、解壓。當(dāng)用戶將ota.bin文件傳輸完畢后,調(diào)用ota_check_upgrade(state)對ota.bin進(jìn)行先校驗在解壓,解壓成功后即已經(jīng)升級完成,屏幕自動重啟。

  • state:1,進(jìn)入升級狀態(tài)。

 

2) on_ota_progress(status,value)

OTA校驗、解壓回調(diào)。當(dāng)用戶ota_check_upgrade(state)函數(shù)后,會自動回到該API。

  • status:狀態(tài)。1-校驗過程,2-校驗結(jié)果,3-解壓過程,4解壓結(jié)果
  • value:處理結(jié)果。
當(dāng)state = 1,value 固定為0;
當(dāng)state = 2,0-校驗失敗,1-校驗成功;
當(dāng)state = 3,0-~100,解壓進(jìn)度;
當(dāng)state = 4,0-解壓失敗,1-解壓成功。

 

3) refresh_screen()

刷新屏幕。







5.3 下載工程

工程編譯成功后在輸出窗口會提示編譯成功,如圖5-5所示;

圖5-5編譯成功


在菜單欄中,文件→打開工程目錄,在‘dciot_build’目錄的‘private’拷貝到SD卡中,如圖5-6和圖5-7所示;把SD卡接上串口屏后重新上電,等到提示燒錄工程成功后,拔掉SD卡重新上電即可。

圖5-6量產(chǎn)向?qū)?/span>


5-7拷貝到SD





亚洲精品网站在线观看免费| 欧美激情中文一区二区| 中文字幕日本最新视频| 免费人妻精品一区二区| 欧美三级影片在线观看| 99精品一区二区三区| 亚洲专区av中文字幕| 日韩中文字幕视频在线观看免费| 欧美亚洲中文字幕黄色| 亚洲视频一区二区在线观看| 亚洲乱色熟女一区二区| 中文黄色字幕在线观看| 日韩欧美精品二区在线| 熟女人妻中文字幕在线| 日韩av在线播放入口| 日韩国产免费一区二区| 大白屁股一区二区三区熟女少妇| 日本美女性感丝袜图片| 六月婷婷综合激情小说网站| 九月婷婷丁香六月在线| 日本美女性感丝袜图片| 伊人青青综合在线视频| 亚洲乱码一区二区av| 丰满人妻一区二区三区视频不卡| 蜜桃视频在线观看黄版| 欧美综合免费福利视频| 午夜福利国产精品久久超碰| 亚洲专区av中文字幕| 变态另类欧美一区二区三区| 国产老师丝袜白浆在线视频| 国产一区二区欧美三区四区| 久久青青黄色偷拍视频| 日本在线成人中文字幕| 日韩欧美一区二区三区精品综合 | 国产精品这里只有激情| 99久久人妻精品二区| 91精品人妻中文字幕| 人妻熟女在线观看中文字幕| 久久国产精品视频在线| 国产剧情中文字幕在线| 日韩欧美亚洲一区二区三区| 美女丝袜美腿魅惑男人| 日韩欧美精品二区在线| 国产亚洲中文在线字幕| 久久人妻一区二区三区极品 | 五月天丁香婷婷综合网| 午夜激情免费在线观看视频| 欧美精品亚洲在线观看| 极品少妇被猛的白浆直喷白浆| 国产综合视频在线观看一区二区| 中文字幕人妻一区二区在线视频 | 四川偷拍偷窥在线观看| 人妻中文字幕免费日韩| 久久婷婷综合在线视频| 美国一级特黄大片中字欧美| 黄色网免费的久久av| 日韩欧美精品在线播放| 美女午夜免费福利视频合集| 91欧美激情一区二区三区成人| 国产情侣自拍在线视频| 国产福利视频一区在线| 日韩国产中文字幕有码| 本庄优花在线中文字幕| 日本久久综合视频网站| 人妻精品系列一区二区三区| 欧美精品免费在线观看| 婷婷在线视频免费视频| 一区二区日韩av在线观看| 人人妻人人澡人人爽欧美一区视频| 欧美国产亚洲一区二区| 免费一级特大黄片欧美| 欧美日韩精品久久久免费观看| 日韩国产免费一区二区| 欧美三级影片在线观看| 蜜桃熟女一区二区三区| 国产又粗又猛又爽又黄的刘涛视| 精品日韩在线观看视频| 麻豆国产精品一区二区三区在线| 亚洲精品色图一二三区| 日韩国产欧美在线更新视频91| 五月婷婷丁香免费亚洲| 中文字幕欧美日韩网站| 美女丝袜美腿魅惑男人| 亚洲黄色av网址在线观看| 偷偷av一区二区三区| 精品人妻熟女一区二区三区免费看| 精品国产av天堂资源地址一二三| 在线播放亚洲一区二区三区四区| 亚洲欧美日韩一区二区三区四区 | 欧美熟妇激情视频在线播放 | 最近的中文字幕第一页 | 日本一区二区三区四区不卡| 午夜激情福利视频一区| 国产中文字幕高清在线观看| 高潮美女一区二区三区| 久久久久日韩欧美精品| 蜜桃成人在线免费观看| 韩国三级中文字幕高清| 一区二区三区乱码在线播放| 日本美女美足一区二区| 岛国av在线一区二区| 欧美日韩综合一区在线免费| 区一区二区三国产中文字幕| 国产片一区二区三区在线观看| 男女上床视频免费在线观看 | 久久视频在线观看这里只有精品| 亚洲精品一区二区视频| 国产又粗又嫩免费观看| 亚洲黄色在线观看一区| 大波视频国产精品丝袜美女| 综合亚洲一区二区三区| 成人在线观看视频中文字幕| 在线视频中文字幕日本| 亚洲五十路熟妇久久久| 国产精品亚洲欧美一区麻豆| 青青青青视频在线最热| 午夜老司机视频免费| 色综合天天综合网就去色综合 | 中文字幕中文字幕在线中不卡| 日本精品在线不卡视频| 美女黄色三级深夜福利| 成人一区二区三区视频免费| 日韩激情视频免费观看| 青青青爽在线观看网站| 国产精品自在在线午夜出白浆| 日韩视频素人人妻一区| 中文人妻av久久人妻| 欧美日韩成人一区二区三区| 成人一区二区三区视频免费| 欧美一区二区三区成人在线| 午夜激情免费在线观看视频| 久久综合香蕉国产国产蜜臀av| 国产伦理精品1区2区3区| 在线视频人妻一区二区中文字幕 | 中文字幕在线亚洲欧美| 国产精品久久亚洲不卡| 四川偷拍偷窥在线观看| 欧美亚洲色图综合一区| 农村精品人妻一区二区| 污污在线观看视频网站| 一区二区三区在线观看蜜桃| av一区二区三区蜜桃| 欧美黄片一级二级三级| 日韩精品视频婷婷在线观看| 欧美黄片一级二级三级| 精品一区二区三区成人在线| 少妇精品久久久一区二区三| 在线中文字幕日本一区| 日本高清一区二区三区三区| 中文字幕在线一区二区三区视频| 国产精品三级av在线| 麻豆一区2区3区在线观看| 美国一级特黄大片中字欧美| 日本久久高清一区二区三区| 国产精品国产三级国产专区不| 国产伦理精品1区2区3区| 日韩精品视频婷婷在线观看| 99午夜福利免费视频| 亚洲在线观看视频一区二区 | 极品人妻一区二区三区| 日韩美女av在线一区二区| 日本在线不卡一卡视频| 色综合一区二区三区体内射精| 日韩在线一区二区三区网站| 久久精品免费看18禁| 青青视频免费观看免费| 精品人妻一区二区三区在线播| 人妻谢精体内一区二区| 国产又粗又硬又长又爽黄毛片| 亚洲婷婷综合在线视频| 日本性感黑丝美女一区二区| 午夜激情福利视频一区| 亚洲一区在线视频在线播放| 免费久久99精品一二三区| 国产欧美日韩精品久久| 欧美日韩经典一区二区三区| 色综合久久夜色精品国产av| 欧洲精品一区二区在线| 日韩欧美不卡在线一二| 久久精品国产午夜福利伦理| 日韩国产精品免费在线观看| 韩国精品一区在线观看| 欧美精品日韩精品一卡| 精品日韩在线观看视频| 伊人狼人在线综合视频| 国产大又长又粗的免费视频| 人人妻人人澡人人爽欧美一区视频| 欧美精品一区二区三区久久| 成人午夜激情视频在线观看| 欧美三级影片在线观看 | 欧美日韩精品在线国产| 日韩亚洲天堂久久综合| 中文字幕日韩av四区在线观看| 午夜av成年免费毛片| 日韩中文字幕永久视频| 97成人碰碰在线视频| 中文字幕久久亚洲一区二区三区 | 日韩黄肉视频在线观看| 国产又粗又猛又爽又黄视频| 人妻射精一区二区三区| 久久婷婷综合在线视频| 欧美一区二区三区四区激情 | 欧美日韩免费不卡一区| 精品国产亚洲av麻豆小草| 亚洲一区欧美一区日韩| 人妻中文字幕丝袜美腿| 精品人妻久久99一区二区三区 | 国产一级精品午夜视频| 又长又硬又粗欧美啪啪| 神马不卡一区二区三区| 日本有吗免费亚洲一区二区| 亚洲一区日韩欧美在线| 精品日韩在线免费观看| 日本中文字幕视频在线一二区| 国产日韩美女中文字幕| 中文字幕av在线一二三区| 视频一区中文字幕日韩| 国产一级内射欧美一级内射| 亚洲乱码一区二区av| 青草高清视频在线观看| 中文字幕一区二区人妻免费不卡| 视频一区二区三区午夜| 亚洲欧美在线综合视频| 久久精品中文字幕视频| 国产刺激一区二区三区| 久久中文字幕一区二区| 欧美日韩精品久久久免费观看| 国产区精品在线一区二区三区四区| av中文字幕国产精品| 色综合久久夜色精品国产av | 日韩精品在线观看免费| 国产一区二区欧美三区四区| 亚洲午夜精品在线观看| 久久视频一区精品视频| 久草福利在线视频资源| 欧美三级黄片在线播放| 又长又硬又粗欧美啪啪| 欧美中文字幕在线观看第一页| 成人看的污污超级黄网站免费| 日韩欧美一区中文字母视频| 人妻精品一区二区三区网站 | 久草视频在线视频精品| 激情五月综合图片欧美| 激情深爱婷婷开心五月| 欧美亚洲一区二区在线视频 | 亚洲黄色在线观看一区| 成人激情黄色一区二区三区| 欧美偷拍一区二区三区| 日本中文字幕视频在线播放| 亚洲在线观看视频一区二区| 亚洲一区二区在线免费| av中文字幕国产精品| 欧美日韩午夜在线观看| 亚洲一区欧美二区三区日韩| 少妇人妻系列中文字幕| 久草国产高清在线视频| 亚洲欧洲国产另类精品自线| 星空无限传媒一二三区| 国产精品青草视频免费播放| 久久亚洲av色午夜麻豆精品| 久久亚洲欧美日韩一区| 欧美日韩一区二区三区的视频| 日本性感黑丝美女一区二区| 亚洲一区二区三区九九| 午夜av成年免费毛片| av精选日韩中文字幕| 欧美三级特黄在线播放| 中文字幕中文字幕国产| 国产免费黄色一级影片播放| 日韩中文字幕在线视频免费| 中文字幕熟女在线视频| 一区二区美女丝袜网站| 黄片视频网站在线免费观看| 日韩中文字幕资源在线| 日韩在线你懂的视频| 美国一级特黄大片中字欧美| 久久99亚洲精品久久久久| 亚洲欧美国产午夜福利另类| 蜜桃视频一区在线免费观看| 色婷婷好青青在线观看视频| 被老头玩弄邻居人妻中文字幕| 日韩一区二区三区四区人妻 | 六月婷婷综合激情小说网站| 日韩精品在线在线观看| 日韩精品中文字幕乱码| 免费看女人的粉逼网站| av高清不卡在线免费观看| 粉嫩极品美女国产精品| 国产人妻一区二区三区在线| 天天日天天摸天天操天天舔| 日本在线视频精品一区| 韩国精品三级一区二区| 免费看女人的粉逼网站| 99精品一区二区三区| 日本一区二区三区四区不卡| 免费一区二区三区91| 欧美成人三级一区二区三区| 一本色道久久综合av| 国产精品自在在线午夜出白浆| 美女丝袜在线国产二区| 欧美中文字幕视频在线| 欧美国产亚洲一区二区| 国产高清一区二区视频| 亚洲欧美中文字幕网站| 日韩精品在线观看高清视频| 99热这里只有精品一| 精品人妻熟女一区二区三区免费看 | 亚洲欧美日韩一区二区三区四区| 精品久久久久中文人妻被强| 亚洲黄色成人日韩在线| 岛国av在线一区二区| 伊人色婷婷亚洲一区二区三区| 福利一区二区三区高清视频| 美女做爰高潮免费视频| 亚洲国语乱码中文字幕| 久久偷拍视频爱爱免费| 天天操天天射天天干天天日天天操 | 人妻熟女在线观看中文字幕| 精品蜜桃一区二区三区观看| 国产不卡视频一区二区三区| 亚洲天堂第一av网站| 亚洲欧美最新中文字幕在线观看 | 成人大片免费在线播放| 久久99亚洲精品久久久久| 国产又粗又爽又黄又大的视频 | 亚洲不卡免费一区二区| 综合亚洲一区二区三区| 国产又大又长又粗的刺激视频| 人妻中文字幕丝袜美腿| 亚洲国产中文字幕一区二区| 国产区一区二区三在线观看| 日韩精品在线观看高清视频| 天天日天天操天天射天天爽| 极品少妇被猛的白浆直喷白浆| 国产不卡av在线播放| 日韩欧美精品在线视频| 久久青青黄色偷拍视频| 久久久久日韩欧美精品| 在线中文字幕日本一区| 国产日韩美女中文字幕| 国产又粗又猛又爽又黄的电视| 岛国视频午夜一区免费| 中文字幕日韩精品人妻在线视频 | 久久久久久久亚洲夜色| 久久久精品国产黄毛片| 日韩中文字幕一区精品区七七av | 中文字幕av在线一二三区| 国产免费一区二区视频| 国产精品熟女中文字幕| 精品福利一区二区三区免费视频| 欧美日韩在线亚洲综合国产人| 精品人妻一区二区在线| 99精品一区二区三区久久久蜜桃 | 欧美午夜精品日韩另类| 日韩一区二区三区乱码免费| 男人插女人逼视频网站| 国产粉嫩呻吟一区二区三区| 国产一级精品午夜视频| 成人看的污污超级黄网站免费| 99久热精品视频在线观看| 国产三级视频一区二区| 99偷拍在线视频精品| 欧美大片一级特黄在线免费观看| 成人国产麻豆一区二区| 日本中文字幕视频在线一二区 | 色噜噜噜精品一区二区三区| 美国一级特黄大片中字欧美| 中文字幕人妻丝袜一区三区 | av中文字幕国产精品| 国产又粗又猛又爽又黄| 亚洲欧美日韩综合在线中文字幕| 中文字幕国产精品99| 日韩精品在线观看高清视频| 成人av一区二区三区婷婷| 中文字幕一区二区人妻 | 国产精品极品美女自在线观看不卡 | 日韩中文字幕一区二区| 精品久久久久蜜桃有码| 日韩精品免费视频一区| 中文人妻丰满熟妇伦子伦精品| 国产欧美视频一区二区三区 | 午夜精品日韩在线观看| 久久中文字幕国产精品| 国产农村天天爽天天干| 污网站在线观看免费看| 欧美三级视频中文字幕| 亚洲激情成人在线观看| 国产精品人妻一区二区三区在线| 日韩在线你懂的视频| 免费一区二区三区91| 国产一区二区三区三级黄色片| 国产亚洲欧美午夜在线| 国产又粗又猛又大爽又黄又硬视频| 中文字幕理论片一区二区三区| 精品久久久久中文人妻被强| 深夜福利视频在线观看播放| 日本国模一区二区三区| 国产亚洲中文在线字幕| 国产又大又长又粗又猛的黄视频| 欧美熟妇激情视频在线播放 | 国产在视频一区二区三区吞精| 免费久久99精品一二三区| 欧美日韩亚洲变态另类| 偷拍亚洲欧美日韩一区二区| 欧洲亚洲韩国日本国产精品 | 中文字幕亚洲熟女系列| 欧美日韩精品在线观看| 青青久久免费观看视频| 精品人妻一区二区在线| 欧州一区二区三区视频| 曰批国产精品视频免费观看网站| 中文字幕欧美日韩网站| 久久视频在线视频精品| 天天日天天干天天爽天天操 | 欧美日韩一区二区综合另类| 男女上床网站免费观看| 欧美三级伦理免费观看| 国产中文字幕亚洲赤目| 亚洲狼人视频在线观看| 福利丝袜视频在线观看网站| 国产精品网站免费在线观看| 日韩精品高清在线播放| 日韩亚洲麻豆激情四射| 国语在线一区二区三区| 国产福利午夜熟女69| 久久亚洲欧美日韩一区| 精品久久久久久中文字| 偷拍视频国内久久精品| 中文字幕理论片一区二区三区| 精品一久久香蕉国产欧美综合| 超薄肉丝脚交一区二区三区| 欧美精品熟女一区二区| 天天操天天插天天爱天天射| 精品乱码一区二区二区三区| 日韩亚洲国产激情一区二区 | 欧美激情中文字幕在线观看| 国产又猛又爽又黄又粗| 日本在线成人中文字幕| 婷婷开心五月亚洲综合| 国产在线一区二区三区不卡| 熟女人妻av专区免费| 日韩精品一线在线观看| 日本精品视频免费在线观看| 午夜福利网站亚洲天堂| 欧美熟妇熟女视频在线观看| 中文字幕国产在线精品| 亚洲精品色图一二三区| 天天日天天干天天操天天爽| 亚洲一区二区高清视频| 精品区一区二区三区四| 免费福利视频一区二区三区 | 久久蜜桃亚洲一区二区动漫| 欧美日韩另类一区二区三区| 欧美国产一区二区三区不卡| 熟女人妻av专区免费| 久草资源福利视频观看| 国产免费黄色一级影片播放| 视频一区二区三区午夜| 日韩亚洲麻豆激情四射| 国产三级视频一区二区| 中文字幕日韩人妻久热| 爱草视频免费在线观看| 中文字幕日韩av四区在线观看| 神马不卡一区二区三区| 国产三级全部精品视频| 午夜高潮视频在线观看| 亚洲一区二区三区九九| 免费在线观看黄色网片| 日韩欧美人妻精品一区二区三区| 好好的日中文字幕在线| 欧美日韩国产国码在线| 日韩欧美中文字幕视频| 免费一级特大黄片欧美| 97夜夜澡人人爽人人爽欧美| 欧美福利视频一二三区| 国产大又长又粗的免费视频| 日韩欧美不卡在线一二| 亚洲午夜精品一区二区三区蜜桃| 中文字幕欧美日韩网站| 亚洲国语乱码中文字幕| 国产精品十八禁在线看| 国产欧美视频一区二区三区 | 日本在线视频精品一区| 国语自产精品视频二区在线| 五月激情开心久久婷婷| 日本高清一区二区三区三区| 女人天堂av在线播放| 欧美国产综合日韩一区二区三区| 日韩av一区二区三区人妻在线看| 久久这里只有精品三级| 国产一级av一区二区| 好吊操视频这里有精品| 欧美日韩激情中文字幕| 黄色福利大片在线观看| 精品国产av天堂资源地址一二三 | 一区二区亚洲精品国产精华| 韩国人妻一区二区三区| 午夜老司机在线视频| 中文字幕日韩在线不卡| 黄色av日韩在线观看| 亚洲欧美中文字幕网站| 亚洲欧美日韩成人综合| 成人国产精品视频一区| 成人在线观看视频中文字幕| 亚洲欧洲在线一区二区| 国产在线一区二区三区不卡| 无马一区二区三区四区五区六区 | 乱码精品一区二区三区| 欧美另类激情在线免费播放| 福利丝袜视频在线观看网站| 青青草在线观看视频免费观看| 国产专区精品综合在线| 亚洲黄色成人日韩在线| 欧美伦理一区二区三区| 丝袜美腿亚洲综合性一区二区三区| 少妇张开双腿让男人捅| 日韩福利在线观看视频| 日韩精品在线观看高清视频| 蜜桃精品一区二区三区在线看| 久久精品中文字幕有码| 日韩亚洲欧美专区在线| 91婷婷丝袜肉丝在线播放| 男女激情综合福利网站在线观看| 99在线视频精品观看| 免费一区二区三区91| 极品少妇被猛的白浆直喷白浆| 成人午夜激情视频在线观看| 日本亚洲中文有码视频| 中文字幕日韩在线不卡| 亚洲少妇人妻伦理在线| 亚洲伦理在线观看免费| 欧美偷拍一区二区三区| 天天日天天干天天爽天天操 | 日韩在线精品成人av在线| 亚洲午夜美女福利视频| 欧美三级黄片在线播放| 中文字幕亚洲一区二区三区五十路| 日韩亚洲中文字幕永久在线| 中文字幕人妻丝袜一区三区| 久久视频在线观看这里只有精品| 玩弄放荡人妻一区二区三区| 国产又粗又猛又爽又黄的刘涛视| 青青视频在线免费观看视频| 亚洲中文字幕永码永久在线| 欧美一区二区人妻少妇| 久久国产精品精品av| 美女丝袜美腿亚洲一区二区三区| 亚洲精品国产一区久久| 日韩国产中文在线视频| 国产中文字幕亚洲精品| 美女午夜免费福利视频合集| 日韩精品在线观看免费| 日本中文字幕视频在线播放| 中文字幕一区二区人妻| 久久精品中文字幕有码| 国产日韩欧美二区三区| 日本在线成人中文字幕| 亚洲丝袜美女一区二区 | 中文字幕日韩在线不卡| 久久亚洲欧美日韩一区| 好吊操视频这里有精品| 亚洲欧美日韩成人综合| 日韩精品欧美视频在线| av精选日韩中文字幕| 日韩av日韩av日韩| 国产极品粉嫩尤物一区二区| 亚洲欧美日韩在线一区二区色| 欧美日韩在线午夜观看| 青青草原绿色华人在线| 人妻激情一区二区三区一起草| 婷婷视频高清在线观看| 欧美成人三级一区二区三区| 精品区一区二区三区四| 日韩亚洲人妻在线观看| 中文字幕一区二区日韩美女| 视频一区中文字幕日韩| 天天日天天射天天综合| 成人一区二区三区综合| 久久亚洲av色午夜麻豆精品| 亚洲国产综合在线一区| 欧美另类激情在线免费播放| 欧美日韩经典一区二区三区| 日韩av日韩av日韩| 韩日一级人添人人澡人人妻精品| 国产精品少妇在线呻吟| 日本乱熟妇一区二区三区蜜臀| 免费av在线观看av| 漂亮人妻被中出中文字幕久久| 国产又大又长又粗的刺激视频| 精品久久久久久久人事蜜臀av| 日韩国产中文在线视频| 午夜老司机视频免费| 中文字幕欧美日韩网站| 欧美亚洲中文字幕黄色| 国产又粗又嫩免费观看| 熟女人妻影片中文字幕| 久久精品久久久久子伦| 日韩丝袜美腿一区二区| 国产专区精品综合在线| 在线高清中文字幕亚洲精品日韩| 国产老师丝袜白浆在线视频| 欧美激情中文一区二区| 日韩精品欧美视频在线| 日韩精品亚洲人成在线| 人妻少妇中文字幕一区| 欧美日韩三区在线播放| 国产熟女高潮激情视频网站| 色偷偷亚洲男人天堂网| 国语在线一区二区三区| 亚洲欧洲精品成人在线| 久久亚洲精品视频在线观看| 国产精品露脸在线午夜| 日韩精品午夜福利视频| 日本人妻日本中文字幕| 久久人妻一区二区三区极品| 人妻中文字幕免费日韩| 91精品国产自产91精品| 午夜激情视频在线播放| 好吊操这里有精品亚洲| 欧美亚洲一区二区在线视频| 精品久久久久久日韩| 久久三级欧美激情一区二区三区| 伊人青青综合在线视频| 黄色av免费在线网站| 日韩精品视频婷婷在线观看| 好吊操视频这里有精品| 亚洲欧美日本在线一区| 国产区一区二区三在线观看| 一区二区人妻手机在线| 97成人碰碰在线视频| 最新人妻在线只有精品| 青青视频在线免费观看视频| 欧美在线免费观看成人| 韩国精品三级一区二区| 久久精品免费看18禁| 被老头玩弄邻居人妻中文字幕| 国产中文字幕二区在线| 日韩视频免费观看在线观看| av黄色精品在线观看| 欧美日韩精品一区 二区 三区| 精品欧美成人一区二区不卡在线 | 免费人妻精品一区二区| 天天日天天干天天爽天天操| 在线成人免费视频中文字幕 | 中文日韩亚洲欧美字幕| 亚洲一区二区三区在线| 人妻射精一区二区三区| 国产片在线播放一区二区三区| 日韩熟女少妇高潮免费| 国产日韩欧美精品免费| 精品一区二区三区不卡| 超碰亚洲一区二区三区| 色偷偷亚洲男人天堂网| 国产刺激一区二区三区 | 日韩精品免费视频一区| 欧美三级伦理免费观看| 色狠狠av一区二区三区香蕉| 91欧美激情一区二区三区成人| 国产一区二区高清免费| 久久精品免费看18禁| 国产精品少妇在线呻吟| 欧美日韩国产中文综合| 国产在视频一区二区三区吞精| 欧美国产另类中文字幕| 欧美三级伦理免费观看| 福利一区二区三区高清视频| 中文字幕国产在线精品 | 国产又粗又硬又猛又爽| 本庄优花在线中文字幕| 日本黄页网站在线播放| 一区二区三区日韩蜜桃| 亚洲一区二区三区九九| 国产又粗又猛大又黄又爽的动漫| 少妇精品久久久一区二区三| 久久久精品人妻一区二区三区四 | 麻豆午夜一区二区三区| 亚洲一区二区三区在线| 成人激情黄色一区二区三区| 青青青操在线视频观看| 亚洲专区婷婷中文字幕| 欧美日韩综合精品一区| 人妻射精一区二区三区| 亚洲美女黄色福利视频网站大全| 人妻一区二区三区中文字幕| 欧美成人欧美激情欧美风情| 午夜看片福利欧美熟女| 亚洲天堂男人在线播放| 日韩国产福利在线视频| 大波视频国产精品丝袜美女| 综合一区二区三区资源在线播放| 精品福利一区二区三区免费视频 | 日韩精品免费视频观看| 中文字幕在线高清婷婷| 美腿丝袜国产在线视频| 四川偷拍偷窥在线观看| 精品久久久久中文人妻被强| 日韩精品网址在线观看| 欧美三级在线免费播放| 日本一区二区三区四区不卡| 亚洲欧美日韩综合在线中文字幕| 欧美黄片狠狠操狠狠干| 国产内射在线激情一区| 海角国产精品一二三区| 激情深爱婷婷开心五月| 视频在线一区中文字幕| 日本久久高清一区二区三区| 亚洲欧美国产一区二区在线 | 欧美日韩成人免费在线视频| 一区二区三区一片黄理论片| 国产欧美一级黄片免费| 欧美亚洲色图综合一区| 国产一级av一区二区| 国产成人午夜精品网站| 人妻公交摩擦中文字幕| 人妻中文字幕免费日韩| 久久亚洲av色午夜麻豆精品| 国产偷人视频在线播放| 美女午夜免费福利视频合集| 欧州一区二区三区视频| 欧洲亚洲韩国日本国产精品| 中文字幕人妻熟女人妻| 五月婷婷久月在线观看| 国产精品视频中文字幕| 清纯唯美亚洲另类中文字幕| 中文字幕在线高清婷婷| 日韩中文字幕精品欧美| 99久久人妻精品免费二区绿帽 | 欧美男女激情啪啪免费视频 | 欧美三级黄片在线播放| 国产中文字幕亚洲赤目| 丝袜美女啪啪视频免费看全部| 国产又粗又硬又猛又爽| 人妻久久一区二区三区| 亚洲国内一区二区三区| 日韩一区免费在线观看| 亚洲欧洲精品成人在线| 熟妇人妻一区二区二区| 国内经典中文字幕日韩精品| 蜜桃熟了在线观看视频| 国产区精品在线一区二区三区四区| 国产在线精品在线精品在线| av在线免费观看不卡| 日本高清精品免费视频| 精品人妻一区二区三区精品人妻| 国产激情一区二区在线| av在线免费观看不卡| 午夜福利天堂一区二区在线观看| 国产精品少妇在线呻吟| 午夜亚洲福利一区二区| 美腿丝袜国产在线视频| 在线免费看黄片小视频| 中文字幕理论片一区二区三区 | 熟女人妻av专区免费| 中文字幕欧美日韩在在线看免费 | 亚洲一区日韩欧美在线| 在线视频中文字幕日本| av在线不卡观看一本| 国产伦理精品1区2区3区| 一区二区三区日韩蜜桃| 熟妇人妻一区二区二区| 蜜桃tv一区二区三区在线 | 色综合一区二区三区体内射精| 99久久人妻精品免费二区绿帽 | 免费观看午夜爱爱视频| 美国一级特黄大片中字欧美| 五月婷婷丁香在线视频| 亚洲青青视频在线观看| 欧美视频激情在线首页在线 | 午夜欧美日韩一区二区在线| 免费欧美日韩一级黄片| 国产一区二区高清免费| 本庄优花在线中文字幕| 亚洲一区日韩欧美在线| 日本人人妻人人澡人人爽人人精品| 国产亚洲欧洲精品av| 亚洲欧洲精品成人在线| 成人高清在线观看视频| 很污的视频欧美网站在线观看| 国产成人精品日本亚洲网站| 无马一区二区三区四区五区六区| 国产老师丝袜白浆在线视频| 欧美三级影片在线观看| 亚洲中文在线播放一区| 欧美日韩大陆中文字幕| 亚洲中文字幕综合一区二区| 婷婷精彩在线视频网站| 精品丰满熟女一区二区三区91| 韩国二区三区在线观看| 午夜激情视频在线播放| 欧美少妇高跟诱惑在线播放| 日韩一区二区三区四区日b小视频| 开心五月婷婷激情嘿嘿| 国产又大又爽又粗视频| 国产av一区二区粉嫩| 欧美少妇高跟诱惑在线播放| 亚洲女人天堂av在线| 在线播放日韩中文字幕| 成人国产精品免费观看视频| 熟妇人妻一区二区二区| 伊人色婷婷亚洲一区二区三区| 欧美中文日韩国产字幕| 欧美一区二区三区精品水蜜桃| 中文字幕在线一区二区三区视频| 天天爽天天狠综合久久久综合| 欧美激情中文一区二区| 日韩精品在线在线观看| 国产片在线播放一区二区三区| 成人av一区二区三区婷婷| 国产视频自拍高清在线| 亚洲一区二区成人欧美| 精品在线观看一区二区视频| 午夜在线观看一区二区三区视频| 欧美日韩另类一区二区| 久久国产精品视频在线| 中文字幕亚洲欧美在线| 日韩三级av在线播放| 青青草原国产视频在线| 免费久久99精品一二三区| 精品人妻一区二区三区精品人妻 | 日韩欧美视频在线精品网站在线| 精品一久久香蕉国产欧美综合 | 精品区一区二区三区四| 国产亚洲欧美午夜在线| 日韩av一区二区三区人妻在线看| 国产又粗又猛又爽又黄的电视| 欧美中文字幕视频在线 | 精品人妻一区二区三区精品人妻| 深夜在线播放视频日韩| 欧美另类激情在线免费播放| 精品人妻一区二区在线| 欧美偷拍一区二区三区 | 国产又粗又硬又猛又爽| 亚洲一区二区三区在线| 中文精品字幕人妻熟女| 精品欧美一区二区一级久久 | 天天日天天射天天日天天射| 久久精品免费看18禁| 91精品国产自产91精品| 国产三级全部精品视频| 亚洲中文字幕综合一区二区| 天天操天天干天天操天天操综合| 黄片国产精品一区二区| 国语在线一区二区三区| 天天操天天插天天爱天天射| 玩弄放荡人妻一区二区三区 | 亚洲欧美日韩成人综合在线| 国产多对交换完整视频| 亚洲国产视频中文字幕| 六月婷婷综合激情小说网站| 国产欧美一区二区三区在线看| 国产又粗又硬又猛又爽| 日韩美女丝袜视频诱惑| 欧美亚洲一区二区在线视频 | 裸模一区二区三区免费| 好吊操这里有精品亚洲| 欧美日韩三区在线播放| 乱码精品一区二区三区| 久久蜜桃亚洲一区二区动漫| 日韩欧美熟女中文字幕| 中文字幕在线一区二区三区视频| 欧美日韩综合精品一区| 日本国模一区二区三区| 青青草原一区在线观看| 午夜福利网站亚洲天堂| 国产激情偷乱视频一区二区三区| 男人插女人逼视频网站| 欧美国产综合日韩一区二区三区| 不卡一区二区欧美日韩| 成人精品一区二区免费| 精品一久久香蕉国产欧美综合| 午夜日韩欧美在线看| 久久精品中文字幕有码| 熟妇人妻一区二区二区| 亚洲欧美日本在线一区| 在线视频人妻中文字幕| 亚洲国产一区二区三区三州| 精品国产一二三区在线| 日韩精品高清一区不卡| 深夜在线播放视频日韩| 福利一级黄色录像视频| 国产中文字幕二区在线| 国模沟沟一区二区三区| 国产精品亚洲一区二区三区不卡 | 国产中文字幕乱码一区二区三区| 日韩亚洲麻豆激情四射| 国产精品久久亚洲不卡| 国产日韩欧美二区三区| 亚洲欧洲国产另类精品自线一区| 精品福利视频一区二区三区| 中文人妻丰满熟妇伦子伦精品| 综合亚洲一区二区三区| 五十路丰满人妻熟女| 国产网友自拍视频一区| 青青草视频男人的天堂| 国产成人伦理一区二区在线观看| 色噜噜噜精品一区二区三区| 青青草原绿色华人在线| 中文字幕人妻二区二区三区| 欧美精品一区二区色诱| 亚洲一区av在线观看| 91精品在线视频成人| 亚洲欧美日韩一区二区三区四区| 色偷偷亚洲男人天堂网| 国产又粗又爽又猛视频| 日韩一区二区三区乱码免费| 天天操操天天日日天天射射| 中文字幕日韩在线资源| 性色午夜福利免费视频| 亚洲欧美日韩在线一区二区色| 国产又粗又猛又大爽又黄又硬视频| 激情综合五月激情综合| 国产日韩欧美二区三区| 国产精品自在在线午夜出白浆| 亚洲一区中文字幕欧美| 国产又粗又爽又猛视频| 一区二区三区一片黄理论片| 国产一级二级精品二级在线| 少妇人妻系列中文字幕| 国产激情偷乱视频一区二区三区 | 日韩道本一区二区三区| 亚洲欧美日韩一区二区三区四区| 成人激情黄色一区二区三区| 国产青青青视频在线免费观看| 国产精品自在在线午夜出白浆| 成人av一区二区三区婷婷 | 一区二区三区中文人妻| 色综合色开心久久激情| 久久人妻一区二区三区极品| 国内不卡的一区二区三区中文字幕| 亚洲一区欧美二区三区日韩| 日韩欧美人妻精品一区二区三区| 成人高清在线观看视频| 国产亚洲欧美午夜在线| 日韩一区二区三区四区人妻 | 亚洲一区二区中文字幕精品人妻| 麻豆精品国产专区在线观看| 国模沟沟一区二区三区| 一区二区三区乱码在线播放| 中文字幕视频一区人妻| 亚洲精品动漫一区二区| 欧美亚洲中文日韩一区二区三区| 国产又粗又猛又爽又黄视频| 国产视频自拍高清在线| 精品人妻一区二区蜜桃| 亚洲中文字幕永码永久在线| 欧美大片一级特黄在线免费观看| 欧美福利视频一二三区| 最近的中文字幕第一页| 中文字幕伊人精品视频| 免费日韩一区在线观看| 日本美女性感丝袜图片| 午夜福利日本在线观看| 最近的中文字幕第一页 | 人妻中文字幕丝袜美腿| 欧美激情中文一区二区| 天天操操天天日日天天射射| 好看中文字幕一区二区三区 | 中文字幕人妻一区二区在线视频| 日本高清精品免费视频| 亚洲欧美在线综合视频| 95久久人妻精品免费二区| 中文字幕日韩人妻久热| 操日韩美女逼乱交视频| 国产不卡视频一区二区三区| 午夜激情免费在线观看视频| 日本久久高清一区二区三区| 欧美日韩精品在线一区二区三区 | 国产精品青草视频免费播放| 亚洲黄色在线观看av| 五月婷婷丁香在线视频| 偷拍视频国内久久精品| 国产经典三级一区二区| 一区二区三区日韩蜜桃| 麻豆一区2区3区在线观看 | 韩国一级精品中文字幕| 一区二区成人欧美人妻| 青青国产精品视频在线| 欧美福利在线观看视频| 天天日天天射天天综合| 国产免费一级二级三级| 中文字幕中文字幕黄色| 日韩在线一区二区三区网站| 夫妻性生活的视频播放| 99久久精品国产一区二区成人| 成人小视频网站在线看| 中文字幕日韩人妻四区| 在线成人免费视频中文字幕 | 欧洲亚洲韩国日本国产精品| 五月激情开心久久婷婷| 99偷拍在线视频精品| 神马国产成人精品三区| 欧美三级在线免费播放| 91婷婷丝袜肉丝在线播放| 欧美精品熟女一区二区| 亚洲黄色成人日韩在线| 日韩亚洲麻豆激情四射| 日本久久综合视频网站| 欧美日韩另类一区二区三区| 色婷婷好青青在线观看视频| 欧美成人激情在线观看| 久久视频一区精品视频| 久草精品在线观看视频| 日韩视频在线一区观看| 污污动漫在线观看视频| 国产一区二区高清免费| 日韩在线一区二区三区网站| 免费污视频网站在线看| 精品欧美久久一区二区三区| 欧美亚洲色图综合一区| 欧美成人欧美激情欧美风情| 国产一二三区成人av| 精品久久久久久中文字| 伊人青青综合在线视频| 欧美日韩在线中文字幕| 开心五月婷婷激情嘿嘿| 美女做爰高潮免费视频| 久久精品视频在线视频| 好吊操这里有精品亚洲| 欧州一区二区三区视频| 99热这里只有精品一| 国产视频精品1区2区| 好吊妞国产欧美日韩一区二区三区| 亚洲中文字幕永码永久在线| 免费久久99精品一二三区| 风间由美在线一区二区合集| 五月天丁香婷婷综合网| 日韩蜜桃视频在线观看| 国产精品高清免费在线| 国产精品露脸在线午夜| 国产中文字幕乱码一区二区三区| 成人一区二区三区视频免费| 国产精品久久亚洲不卡| 亚洲精品一区在线网站| 日本在线不卡一卡视频| 亚洲在线观看视频一区二区| 日韩精品视频婷婷在线观看| 亚洲国产一区二区三区三州| 精品在线观看一区二区视频| 青青青操在线视频观看| 国产精品亚洲二区在线观看| 日韩欧美亚洲一区二区三区在线| 中文字幕人妻二区二区三区 | 熟妇人妻一区二区二区| 一区二区三区中文人妻| 丝袜美女啪啪视频免费看全部| 天天日天天干天天爽天天操| 免费福利视频一区二区三区| 91精品国产自产91精品| 国产精品亚洲欧美一区麻豆| 久久久精品人妻一区二区三区四 | 日韩丝袜在线免费观看| 欧美日韩在线午夜观看| 五月婷婷六月丁香激情四射| 激情偷拍视频网站免费| 日韩福利在线观看视频| 日韩在线一区二区三区网站| 亚洲中文字幕在线观看免费| 亚洲一区二区高清视频| 五月婷婷丁香一区综合| 国产在视频一区二区三区吞精| 日韩欧美午夜精品伊人| 又黄又爽视频在线免费观看| 国产老师丝袜白浆在线视频| 久久三级欧美激情一区二区三区| 国产精品一二三四在线观看| 日韩人妻中文字幕专区| 久久国产精品视频在线| 亚洲少妇人妻伦理在线| 精品免费一区二区在线| 蜜桃视频网站免费观看一区二区| 国语自产精品视频二区在线| 久久日本久久久久久久| 韩国二区三区在线观看| 韩国三级中文字幕高清| 国产又黄又粗又猛又爽| 日韩欧美精品在线视频| 在线视频日韩精品激情| 欧美国产另类中文字幕| 亚洲一区日韩中文字幕| 欧美大片一级特黄在线免费观看| 在线视频免费观看国产精品| 视频免费在线观看网站| 欧美日韩一区二区综合另类| 欧美日韩国产中文综合| 国产老师丝袜白浆在线视频| 国产欧美亚洲一区二区| 69精品人妻一区二区| 人妻少妇亚洲一区二区| 好看中文字幕一区二区三区| 五月婷婷六月丁香激情四射| 日韩精品福利视频免费观看| 欧美日韩一区不卡视频| 亚洲狼人视频在线观看| 午夜激情福利视频一区| 亚洲精品欧美一区二区| 中文精品字幕人妻熟女 | 亚洲原创一区二区三区| 亚洲一区二区二区三区在线观看| 男女激情综合福利网站在线观看 | 精品人妻一区二区三区精品人妻 | 国产91熟女高潮一区二区三区| 亚洲欧美日本国产一区| 午夜日韩欧美在线看| 青青草草免费在线播放| 91精品人妻中文字幕| 99精品国产99久久久久97| 亚洲欧洲国产另类精品自线一区| 99久久人妻精品二区| 超碰97人人模人人爽人人爱| 亚洲成年人在线天堂| 风间由美在线一区二区合集| 国内偷拍视频免费久久| 国产中文字幕亚洲精品| 在线观看国产精品三级| 日韩精品一线在线观看| 免费污视频网站在线看| 国产亚洲欧美午夜在线| 日本在线视频精品一区| 亚洲专区婷婷中文字幕| 国内精品中文字幕人妻| 亚洲青青视频在线观看| 偷拍亚洲欧美日韩一区二区| 五月激情开心久久婷婷| 99久久人妻精品二区| 国产又黄又粗又猛又爽| 99久久精品人妻系列| 国产欧美亚洲一区二区| 人人妻人人澡人人爽亚洲精品| 久久久精品人妻一区二区三区四 | 国产偷拍网站在线观看| 久久精品国产av一区二区蜜臀| 韩国精品一区在线观看| 国产又粗又爽又黄又大的视频 | 亚洲欧美日韩在线一区二区色| 日韩av在线播放入口| 国产又大又爽又粗视频| 成人大片免费在线播放| 亚洲不卡免费一区二区| 清纯唯美亚洲另类中文字幕| 亚洲欧美综合精品久久成人| 熟女人妻影片中文字幕| 久草精品在线观看视频| 秘书人妻一区二区三区| 无马一区二区三区四区五区六区| 农村精品人妻一区二区| 黄色网免费的久久av| 亚洲狼人视频在线观看| 日韩av中文字幕九区| 国产av一区二区粉嫩| 国产一区二区三区三级黄色片| 亚洲黄色成人日韩在线| 国产亚洲成人自拍一区| 日韩蜜桃视频在线观看| 日韩国产免费一区二区| 日韩影片中文字幕一区二区三区| 国产亚洲成人自拍一区| 日韩影片中文字幕一区二区三区 | 日韩亚洲国产激情一区二区| 韩国一级精品中文字幕| 日韩av在线播放免费| 日韩亚洲麻豆激情四射| 在线视频人妻一区二区中文字幕| 好看中文字幕一区二区三区| 日韩欧美精品二区在线| 日本高清精品免费视频| 欧美成人午夜精品久久久91 | 在线观看日本一区二区三区| 高清中文字幕日本一本| 少妇张开双腿让男人捅| 亚洲天码中文字幕在线| 亚洲青青视频在线观看| 日韩在线资源中文字幕| 国产精品青草视频免费播放| 中文调教av一区二区三区| 日本人妻日本中文字幕| 中文字幕日韩在线不卡| 五月婷婷六月丁香激情四射| 中文字幕日韩在线资源| 丁香六月婷婷一区在线| 中文精品字幕人妻熟女 | 久久久亚洲天堂网av| 欧美大片一级特黄在线免费观看| 欧美日韩精品一区 二区 三区| 日本人妻丰满熟妇久久久久久久 |