成人国产永久福利看片_日本熟妇网站大全_自拍一级av毛片_天天操夜夜操很很操_亚洲欧美国产精品一区综合精品区_日韩福利片影音先锋在线播放视频_潮喷失禁大喷水aⅴ无码_2024高清福利无码_国产人与性动交α欧美精品_玩弄懦弱美人双xing大nai

/ EN
13922884048

技術(shù)交流

Technology Exchange
/
/

基于樹莓派RP2040游戲機(jī)的簡易網(wǎng)絡(luò)氣象站

發(fā)布時間:2022-09-06作者來源:薩科微瀏覽:4606


一、設(shè)計目標(biāo)

1.RP2040 Game Kit板通過提供的ESP32-S2的WiFi模塊連接網(wǎng)絡(luò)。

2.在RP2040 Game Kit上顯示某一個城市的氣象信息 - 時間、天氣實況、生活指數(shù)、天氣預(yù)報...

3.通過RP2040 Game Kit上的按鍵和四向搖桿配合能夠切換顯示不同城市的信息 ,做到能切換顯示、刷新數(shù)據(jù)、修改城市名。

4. 通過顯示屏與搖桿按鍵交互來模擬一個九鍵鍵盤,實現(xiàn)城市名的自主輸入,輸入錯誤也會有錯誤提示。

5. 搭配上圖片來豐富顯示內(nèi)容,包括天氣氣象符號、各生活指數(shù)示意圖等。

二、準(zhǔn)備工作

1?硬件連接

Rp2040游戲機(jī)與esp32-s2模塊的連線如下圖所示。

    pico                        esp32s2
    tx = Pin(16)   -->    RXD_PIN (GPIO_NUM_21)
    rx = Pin(17)   -->    RXD_PIN (GPIO_NUM_21)
    3V3               -->    3V3
    GND             -->    GND

2. 開發(fā)環(huán)境

(1)thonny。安裝過程具體可參考 https://class.eetree.cn/live_pc/l_60fe7f4fe4b0a27d0e360f74

(2)  Vscode的插件Espressif IDF v1.3.0。

3. 參考例程

(1)ESP32 IDF v4.3.1:樂鑫ESP開發(fā)環(huán)境,本項目參考了其中的http request,uart,wifi station 例程。具體可參考官方文檔ESP-IDF 編程指南。

(2)硬禾學(xué)堂2022寒假在家練:基于樹莓派RP2040的嵌入式系統(tǒng)學(xué)習(xí)平臺,相關(guān)內(nèi)容可參考https://www.eetree.cn/project/detail/698

4.源代碼目錄結(jié)構(gòu)

(1)Rp2040

-/
   -weather_main.py 主函數(shù)
   -draw.py 畫圖部分
   -http_deal.py http數(shù)據(jù)處理部分
   -location.py 鍵盤鍵位內(nèi)容
   -button.py 按鍵
   -board.py 引腳定義
   -vga2_8x8.py字體小
   -vga1_16x32.py字體大
   -vga1_8x16.py 字體中
   -weather_picture_small/ 天氣現(xiàn)象圖片(?。?br style="box-sizing: border-box;"/>   -weather_picture_big/ 天氣現(xiàn)象圖片(大)
   -index of living/ 生活指數(shù)插圖

(2)ESP32-S2

    - http_request/
             - CMakeLists.txt
             - sdkconfig
             - main/       - CMakeLists.txt
                                - http_main.c   esp32主函數(shù),http請求,json解析
                                - http.h        
                                - uart.c        串口通信部分
                                - uart.h
                                - wifi.c        wifi連接部分
                                - wifi.h

5.使用說明

(1)先將wifi_name和wifi_passwd分別修改成要連接的熱點(diǎn)的名字和密碼。
(2)分別編譯下載程序到pico和esp32s2(esp32s2可用vscode),具體可參照上面的源代碼目錄結(jié)構(gòu)。
(3)使用杜邦線進(jìn)行硬件連接,具體連線請參照上面的硬件連接。
(4)上電開機(jī)。

6.注意事項

(1)部分wifi可能不能被esp32識別。

(2)使用過程中請保持網(wǎng)絡(luò)順暢,若失去網(wǎng)絡(luò)連接或產(chǎn)生一些其它錯誤,可以試著先按下esp32的reset鍵重啟,再運(yùn)行RP2040的主程序。

(3)由于使用心知天氣平臺的免費(fèi)版,暫時只支持國內(nèi)部分城市。

三、軟件流程圖

image.png

 

 

四、實現(xiàn)過程

1?網(wǎng)絡(luò)連接

(1)WiFi連接

wifi名和密碼需提前設(shè)定,具體在RP2040的weather_main.py中修改,如下。

# 在此處修改你要連接的wifi名和密碼wifi_name = "123"wifi_passwd = "12345678"

 

發(fā)送wifi信息給esp32前需進(jìn)行簡單編碼以供esp32識別,具體請參考下面的多機(jī)通信部分。

在esp32接收到信息后立即調(diào)用wifi_init_sta()函數(shù)進(jìn)行wifi連接,這里是在esp32idf的例程 ~\Espressif\frameworks\esp-idf-v4.4.1\examples\wifi\getting_started\station   的基礎(chǔ)上修改的,具體如下。

/**********wifi初始化函數(shù)**************/void wifi_init_sta( char *wifi_ssid , char *wifi_password){
    s_wifi_event_group = xEventGroupCreate();

    // ESP_ERROR_CHECK(esp_netif_init());

    // ESP_ERROR_CHECK(esp_event_loop_create_default());
    esp_netif_create_default_wifi_sta();

    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
    ESP_ERROR_CHECK(esp_wifi_init(&cfg));

    esp_event_handler_instance_t instance_any_id;
    esp_event_handler_instance_t instance_got_ip;
    ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT,
                                                        ESP_EVENT_ANY_ID,
                                                        &event_handler,
                                                        NULL,
                                                        &instance_any_id));
    ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT,
                                                        IP_EVENT_STA_GOT_IP,
                                                        &event_handler,
                                                        NULL,
                                                        &instance_got_ip));

    wifi_config_t wifi_config = {
        .sta = {
            // .ssid = wifi_ssid ,
            // .password = wifi_password ,
            /* Setting a password implies station will connect to all security modes including WEP/WPA.
             * However these modes are deprecated and not advisable to be used. Incase your Access point
             * doesn't support WPA2, these mode can be enabled by commenting below line */
	     .threshold.authmode = WIFI_AUTH_WPA2_PSK,
        },
    };


    memcpy(wifi_config.sta.ssid, wifi_ssid, sizeof(wifi_config.sta.ssid));
    memcpy(wifi_config.sta.password, wifi_password, sizeof(wifi_config.sta.password));


    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) );
    ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config) );
    ESP_ERROR_CHECK(esp_wifi_start() );

    ESP_LOGI(TAG, "wifi_init_sta finished.");

    /* Waiting until either the connection is established (WIFI_CONNECTED_BIT) or connection failed for the maximum
     * number of re-tries (WIFI_FAIL_BIT). The bits are set by event_handler() (see above) */
    EventBits_t bits = xEventGroupWaitBits(s_wifi_event_group,
            WIFI_CONNECTED_BIT | WIFI_FAIL_BIT,
            pdFALSE,
            pdFALSE,
            portMAX_DELAY);

    /* xEventGroupWaitBits() returns the bits before the call returned, hence we can test which event actually
     * happened. */
    if (bits & WIFI_CONNECTED_BIT) {       
        ESP_LOGI(TAG, "connected to ap SSID:%s password:%s",
                 wifi_ssid, wifi_password);
                  http_get_task();  //連接成功,發(fā)送http請求
        // sendData(TAG,"connectsucess");
    } else if (bits & WIFI_FAIL_BIT) {
        ESP_LOGI(TAG, "Failed to connect to SSID:%s, password:%s",
                 wifi_ssid, wifi_password);
        sendData(TAG,"Connectfail");  //連接失敗,發(fā)送狀態(tài)告知pico
        
    } else {
        ESP_LOGE(TAG, "UNEXPECTED EVENT");
        sendData(TAG,"Connectfail"); //連接失敗,發(fā)送狀態(tài)告知pico
    }

    /* The event will not be processed after unregister */
    ESP_ERROR_CHECK(esp_event_handler_instance_unregister(IP_EVENT, IP_EVENT_STA_GOT_IP, instance_got_ip));
    ESP_ERROR_CHECK(esp_event_handler_instance_unregister(WIFI_EVENT, ESP_EVENT_ANY_ID, instance_any_id));
    vEventGroupDelete(s_wifi_event_group);}

wifi連接成功后就立即發(fā)送http請求,失敗則返回狀態(tài)給RP2040。

(2)http請求

這里參考了esp32idf的例程~\Espressif\frameworks\esp-idf-v4.4.1\examples\protocols\http_request,將其中的循環(huán)任務(wù)改成了單次調(diào)動并根據(jù)不同的請求內(nèi)容增加了參數(shù)判斷,就能根據(jù)需要進(jìn)行http請求,并在發(fā)生錯誤時發(fā)送狀態(tài)給RP2040,具體內(nèi)容在http_main.c中,如下。

//HTTP請求函數(shù)void http_get(char arg){
    const struct addrinfo hints = {
        .ai_family = AF_INET,
        .ai_socktype = SOCK_STREAM,
    };
    struct addrinfo *res;
    struct in_addr *addr;
    int s, r;
    
    char recv_buf[64];
    char mid_buf[1400];   //接受http報文正文部分

    memset(mid_buf,0,sizeof(mid_buf));
    char WEB_PATH[200] = "GET " ;  
    
    // 組合字段構(gòu)成http請求的發(fā)送內(nèi)容,根據(jù)不同的請求進(jìn)行不同的組合
    switch (arg){
       //實時天氣,例:http://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=beijing&language=en&unit=c
       case WEATHER_CURRENT: 
        strcat(WEB_PATH,WEB_PATH_CURRENT_1);
        strcat(WEB_PATH,reqLocation);
        strcat(WEB_PATH,WEB_PATH_CURRENT_2);
        strcat(WEB_PATH,REQUEST_ED);
        break;
        //生活指數(shù),例:http://api.seniverse.com/v3/life/suggestion.json?key=SzOM2PDJp7crLA0Ug&location=haikou&language=en
        case WEATHER_LIFE:         
        strcat(WEB_PATH,WEB_PATH_LIFE_1);
        strcat(WEB_PATH,reqLocation);
        strcat(WEB_PATH,WEB_PATH_LIFE_2);
        strcat(WEB_PATH,REQUEST_ED);
        break;
        //天氣預(yù)報,例:http://api.seniverse.com/v3/weather/daily.json?key=your_api_key&location=beijing&language=zh-Hans&unit=c&start=0&days=5
        case WEATHER_FORECAST:  
        strcat(WEB_PATH,WEB_PATH_FORECAST_1);
        strcat(WEB_PATH,reqLocation);
        strcat(WEB_PATH,WEB_PATH_FORECAST_2);
        strcat(WEB_PATH,REQUEST_ED);
        break;

        default:ESP_LOGI(TAG, "wrong");

    }
 
        
    int err = getaddrinfo(WEB_SERVER, WEB_PORT, &hints, &res);

    if(err != 0 || res == NULL) {
        ESP_LOGE(TAG, "DNS lookup failed err=%d res=%p", err, res);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
        sendData(TAG,"httprequestfail");     //http初始化失敗,告知pico
        
    }else {
        /* Code to print the resolved IP.

           Note: inet_ntoa is non-reentrant, look at ipaddr_ntoa_r for "real" code */
        addr = &((struct sockaddr_in *)res->ai_addr)->sin_addr;
        ESP_LOGI(TAG, "DNS lookup succeeded. IP=%s", inet_ntoa(*addr));

        s = socket(res->ai_family, res->ai_socktype, 0);
        if(s < 0) {
            ESP_LOGE(TAG, "... Failed to allocate socket.");
            freeaddrinfo(res);
            vTaskDelay(1000 / portTICK_PERIOD_MS);
            sendData(TAG,"httprequestfail"); //http初始化失敗,告知pico
        }else{
            ESP_LOGI(TAG, "... allocated socket");

            if(connect(s, res->ai_addr, res->ai_addrlen) != 0) {
                ESP_LOGE(TAG, "... socket connect failed errno=%d", errno);
                close(s);
                freeaddrinfo(res);
                vTaskDelay(4000 / portTICK_PERIOD_MS);
                sendData(TAG,"httprequestfail"); //http初始化失敗,告知pico
            }else{
                ESP_LOGI(TAG, "... connected");
                freeaddrinfo(res);

                if (write(s, WEB_PATH, strlen(WEB_PATH)) < 0) {
                    ESP_LOGE(TAG, "... socket send failed");
                    close(s);
                    vTaskDelay(4000 / portTICK_PERIOD_MS);
                    sendData(TAG,"httprequestfail"); //http初始化失敗,告知pico
                }else{
                    ESP_LOGI(TAG, "... socket send success");

                    struct timeval receiving_timeout;
                    receiving_timeout.tv_sec = 5;
                    receiving_timeout.tv_usec = 0;
                    if (setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &receiving_timeout,
                        sizeof(receiving_timeout)) < 0) {
                        ESP_LOGE(TAG, "... failed to set socket receiving timeout");
                        close(s);
                        vTaskDelay(4000 / portTICK_PERIOD_MS);
                        sendData(TAG,"httprequestfail"); //http初始化失敗,告知pico
                    }else{
                        ESP_LOGI(TAG, "... set socket receiving timeout success");

                       
                        /* Read HTTP response */
                        do {
                            bzero(recv_buf, sizeof(recv_buf));
                            r = read(s, recv_buf, sizeof(recv_buf)-1);
                            strcat(mid_buf,recv_buf);
                            for(int i = 0; i < r; i++) {
                                putchar(recv_buf[i]);
                            }
                        } while(r > 0);
                        // ESP_LOGI(TAG,"return=%s",mid_buf);
                        //json格式轉(zhuǎn)化 
                        cjson_to_struct_info(mid_buf,arg);


                        ESP_LOGI(TAG, "... done reading from socket. Last read return=%d errno=%d.", r, errno);
                        close(s);
                        
                    }
                }
            }

        }
        
    }    }

由于要請求的內(nèi)容有三項(天氣實況、生活指數(shù)、天氣預(yù)報),分別對應(yīng)三個不同的請求行:

void http_get_task(void){
    memset(send_data_quene,0,sizeof(send_data_quene));
    http_get(WEATHER_CURRENT); //天氣實況
    vTaskDelay(1000 / portTICK_PERIOD_MS);  //適當(dāng)延時
    http_get(WEATHER_FORECAST); //天氣預(yù)報
    vTaskDelay(1000 / portTICK_PERIOD_MS);
    http_get(WEATHER_LIFE);     //生活指數(shù)
    vTaskDelay(1000 / portTICK_PERIOD_MS);
    ESP_LOGI(TAG,"send_data:%s",send_data_quene);
    sendData(TAG,send_data_quene);//整合發(fā)送}
實時天氣,例:http://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=beijing&language=en&unit=c
生活指數(shù),例:http://api.seniverse.com/v3/life/suggestion.json?key=SzOM2PDJp7crLA0Ug&location=haikou&language=en
天氣預(yù)報,例:http://api.seniverse.com/v3/weather/daily.json?key=your_api_key&location=beijing&language=zh-Hans&unit=c&start=0&days=5
所以在函數(shù)在加入判斷到底發(fā)送哪一個,相應(yīng)的請求行要進(jìn)行不同組合,在http_get()函數(shù)中做判斷,具體內(nèi)容在http.h中,如下。
#define WEB_SERVER "api.seniverse.com"#define WEB_PORT "80"#define reqUserKey "SzOM2PDJp7crLA0Ug"// #define reqLocation "Shenzhen"#define reqUnit "c"//天氣實況#define WEATHER_CURRENT 'C' #define WEB_PATH_CURRENT_1 "/v3/weather/now.json?key=" reqUserKey "&location="  #define WEB_PATH_CURRENT_2 "&language=en&unit=" reqUnit//生活指數(shù)#define WEATHER_LIFE 'L'#define WEB_PATH_LIFE_1 "/v3/life/suggestion.json?key=" reqUserKey "&location="  #define WEB_PATH_LIFE_2 "&language=en"//天氣預(yù)報#define WEATHER_FORECAST 'F'#define WEB_PATH_FORECAST_1 "/v3/weather/daily.json?key=" reqUserKey "&location="  #define WEB_PATH_FORECAST_2 "&language=en&unit=" reqUnit "&start=0&days=5"//http請求尾static const char *REQUEST_ED = " HTTP/1.0\r\n"
        "Host: "WEB_SERVER":"WEB_PORT"\r\n"
        "User-Agent: esp-idf/1.0 esp32\r\n"
        "\r\n";//城市名char *reqLocation ;

由于請求的城市名是會變化的,所以利用C語言strcat函數(shù)進(jìn)行組合,組合好后就可以發(fā)送完整的請求行了。

而接收到的數(shù)據(jù)都是json格式,這里調(diào)用了cjson庫來進(jìn)行解碼,針對不同的http報文有不同的處理方式,具體在http_main.c中,如下。

/***********json格式解析************/void cjson_to_struct_info(char *text,char arg){

    cJSON *root,*psub;
    cJSON *arrayItem;
    //截取有效json
    char *index=strchr(text,'{');
    strcpy(text,index);
 
    root = cJSON_Parse(text);
    
    if(root!=NULL)
    {
        /*******************天氣實況**********/
        if(arg == WEATHER_CURRENT){
            psub = cJSON_GetObjectItem(root, "results");
            arrayItem = cJSON_GetArrayItem(psub,0);
    
            cJSON *locat = cJSON_GetObjectItem(arrayItem, "location");
            cJSON *now = cJSON_GetObjectItem(arrayItem, "now");
            if((locat!=NULL)&&(now!=NULL))
            {
                psub=cJSON_GetObjectItem(locat,"name");
                sprintf(weathe.cit,"%s",psub->valuestring);
                ESP_LOGI(TAG,"city:%s",weathe.cit);
                strcat(send_data_quene,weathe.cit);  //拼接發(fā)送字符串
                strcat(send_data_quene,"+");         //分割符,讓pico識別
    
                psub=cJSON_GetObjectItem(now,"text");
                sprintf(weathe.weather_text,"%s",psub->valuestring);
                ESP_LOGI(TAG,"weather:%s",weathe.weather_text);
                strcat(send_data_quene,weathe.weather_text);
                strcat(send_data_quene,"+");
                
                psub=cJSON_GetObjectItem(now,"code");
                sprintf(weathe.weather_code,"%s",psub->valuestring);
                ESP_LOGI(TAG,"%s",weathe.weather_code);
                strcat(send_data_quene,weathe.weather_code);
                strcat(send_data_quene,"+");
    
                psub=cJSON_GetObjectItem(now,"temperature");
                sprintf(weathe.temperatur,"%s",psub->valuestring);
                ESP_LOGI(TAG,"temperatur:%s",weathe.temperatur);
                strcat(send_data_quene,weathe.temperatur);
                strcat(send_data_quene,"+");                
         
            }else{
                sendData(TAG,"httprequestfail"); //json格式有誤。http請求失敗
            }
        
        }

        /*****************天氣預(yù)報*************************/
        if(arg == WEATHER_FORECAST){
            psub = cJSON_GetObjectItem(root, "results");
            arrayItem = cJSON_GetArrayItem(psub,0);
            
            cJSON *locat = cJSON_GetObjectItem(arrayItem, "location");
            cJSON *daily = cJSON_GetObjectItem(arrayItem, "daily");
            if((locat!=NULL)&&(daily!=NULL))
            {
     
                for(int i = 0;i<3;i++){
                    arrayItem = cJSON_GetArrayItem(daily,i);
                    psub = cJSON_GetObjectItem(arrayItem, "date");
                    sprintf(weathe.daily_weathe[i].date,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"date:%s",weathe.daily_weathe[i].date);
                    strcat(send_data_quene,weathe.daily_weathe[i].date);
                    strcat(send_data_quene,"+");

                    psub = cJSON_GetObjectItem(arrayItem, "text_day");
                    sprintf(weathe.daily_weathe[i].text_day,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"text_day:%s",weathe.daily_weathe[i].text_day);
                    strcat(send_data_quene,weathe.daily_weathe[i].text_day);
                    strcat(send_data_quene,"+");

                    psub = cJSON_GetObjectItem(arrayItem, "code_day");
                    sprintf(weathe.daily_weathe[i].code_day,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"code_day:%s",weathe.daily_weathe[i].code_day);
                    strcat(send_data_quene,weathe.daily_weathe[i].code_day);
                    strcat(send_data_quene,"+");

                    psub = cJSON_GetObjectItem(arrayItem, "text_night");
                    sprintf(weathe.daily_weathe[i].text_night,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"text_night:%s",weathe.daily_weathe[i].text_night);
                    strcat(send_data_quene,weathe.daily_weathe[i].text_night);
                    strcat(send_data_quene,"+");

                    psub = cJSON_GetObjectItem(arrayItem, "code_night");
                    sprintf(weathe.daily_weathe[i].code_night,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"code_night:%s",weathe.daily_weathe[i].code_night);
                    strcat(send_data_quene,weathe.daily_weathe[i].code_night);
                    strcat(send_data_quene,"+");

                    psub = cJSON_GetObjectItem(arrayItem, "high");
                    sprintf(weathe.daily_weathe[i].high,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"high:%s",weathe.daily_weathe[i].high);
                    strcat(send_data_quene,weathe.daily_weathe[i].high);
                    strcat(send_data_quene,"+");

                    psub = cJSON_GetObjectItem(arrayItem, "low");
                    sprintf(weathe.daily_weathe[i].low,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"low:%s",weathe.daily_weathe[i].low);
                    strcat(send_data_quene,weathe.daily_weathe[i].low);
                    strcat(send_data_quene,"+");

                    psub = cJSON_GetObjectItem(arrayItem, "precip");
                    sprintf(weathe.daily_weathe[i].precip,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"precip:%s",weathe.daily_weathe[i].precip);
                    strcat(send_data_quene,weathe.daily_weathe[i].precip);
                    strcat(send_data_quene,"+");

                    psub = cJSON_GetObjectItem(arrayItem, "humidity");
                    sprintf(weathe.daily_weathe[i].humidity,"%s",psub->valuestring);
                    ESP_LOGI(TAG,"humidity:%s",weathe.daily_weathe[i].humidity);
                    strcat(send_data_quene,weathe.daily_weathe[i].humidity);
                    strcat(send_data_quene,"+");
                }
 
            }
            else{
                sendData(TAG,"httprequestfail");  //json格式有誤。http請求失敗
            }

        }
        
         /**************************生活指數(shù)****************************************/
        if(arg == WEATHER_LIFE){
            psub = cJSON_GetObjectItem(root, "results");
            arrayItem = cJSON_GetArrayItem(psub,0);
    
            cJSON *locat = cJSON_GetObjectItem(arrayItem, "location");
            cJSON *suggestion = cJSON_GetObjectItem(arrayItem, "suggestion");
            if((locat!=NULL)&&(suggestion!=NULL))
            {

                cJSON *car_washing=cJSON_GetObjectItem(suggestion,"car_washing");
                psub=cJSON_GetObjectItem(car_washing,"brief");
                sprintf(weathe.car_washing,"%s",psub->valuestring);
                ESP_LOGI(TAG,"car_washing:%s",weathe.car_washing);
                strcat(send_data_quene,weathe.car_washing);
                strcat(send_data_quene,"+");
                
    
                cJSON *dressing=cJSON_GetObjectItem(suggestion,"dressing");
                psub=cJSON_GetObjectItem(dressing,"brief");
                sprintf(weathe.dressing,"%s",psub->valuestring);
                ESP_LOGI(TAG,"dressing:%s",weathe.dressing);
                strcat(send_data_quene,weathe.dressing);
                strcat(send_data_quene,"+");

                cJSON *flu=cJSON_GetObjectItem(suggestion,"flu");
                psub=cJSON_GetObjectItem(flu,"brief");
                sprintf(weathe.flu,"%s",psub->valuestring);
                ESP_LOGI(TAG,"flu:%s",weathe.flu);
                strcat(send_data_quene,weathe.flu);
                strcat(send_data_quene,"+");

                cJSON *sport=cJSON_GetObjectItem(suggestion,"sport");
                psub=cJSON_GetObjectItem(sport,"brief");
                sprintf(weathe.sport,"%s",psub->valuestring);
                ESP_LOGI(TAG,"sport:%s",weathe.sport);
                strcat(send_data_quene,weathe.sport);
                strcat(send_data_quene,"+");

                cJSON *travel=cJSON_GetObjectItem(suggestion,"travel");
                psub=cJSON_GetObjectItem(travel,"brief");
                if (psub->valuestring[0] == '\0'){
                    sprintf(weathe.travel,"%s","No Result");
                }else{
                    sprintf(weathe.travel,"%s",psub->valuestring);
                }
                ESP_LOGI(TAG,"travel:%s",weathe.travel);
                strcat(send_data_quene,weathe.travel);
                strcat(send_data_quene,"+");
                
                cJSON *uv=cJSON_GetObjectItem(suggestion,"uv");
                psub=cJSON_GetObjectItem(uv,"brief");
                sprintf(weathe.uv,"%s",psub->valuestring);
                ESP_LOGI(TAG,"uv:%s",weathe.uv);
                strcat(send_data_quene,weathe.uv);
                // strcat(send_data_quene,"+");
            
 
            }else{
                sendData(TAG,"httprequestfail"); //json格式有誤。http請求失敗
            }
        }
        
    }
    
    cJSON_Delete(root);}

cjson解析完后進(jìn)行組合,將消息發(fā)送給RP2040。

2. 多機(jī)串口通信

本項目涉及到兩個模塊之間的通信問題,在開機(jī)后雙方都各持有一定信息,但需要相互通信才能完成工作。

流程基本為:RP2040發(fā)給esp32需要的wifi名和密碼,esp32在http請求成功后發(fā)給RP2040需要的天氣信息。RP2040可根據(jù)需要發(fā)送城市名給esp32讓其去發(fā)送http請求,esp32在網(wǎng)絡(luò)產(chǎn)生異常后也能及時發(fā)送狀態(tài)給RP2040。

(1)RP2040發(fā)送wifi名和wifi密碼給esp32

image.png

在本項目中esp32主要接收來自三種數(shù)據(jù):城市名,wifi名,wifi密碼,并不復(fù)雜,設(shè)置簡單的識別規(guī)則即可。

wifi名:在消息頭部添加"+"

wif密碼:在消息頭部添加"-"

城市名:不處理

具體處理代碼詳見weather_main.py的initialise_wifi()函數(shù),如下。

    async def initialise_wifi(self):#          初始化界面
        self.drawing.draw_opening()
        await asyncio.sleep_ms(2000)
       #        "+"和"-"用于讓esp32識別是wifi名還是密碼
        self.send_quene = "+" + wifi_name
        self.uart.write(self.send_quene)
        await asyncio.sleep_ms(1000)
        self.send_quene = "-" + wifi_passwd
        self.uart.write(self.send_quene)
        
        self.picture_index = 0
        self.drawing.draw_sending()  #發(fā)送中
        self.err = True
#         檢測wifi是否連接成功        while self.err == True:
            await self.uart_task()

在esp32接收識別后把頭部去掉即可,具體請見esp32的uart.c的rx_task()函數(shù)的相關(guān)部分,如下

void rx_task(void *arg){
               ........................
            if (data[0] == '+'){
                //收到“+”開頭,判斷為wifi名
                Wifi_ssid = &data[1];    //截取
                strcpy (ssid,Wifi_ssid); //轉(zhuǎn)存
        
            }
            else if(data[0] == '-'){
                //收到“-”開頭,判斷為wifi密碼
                Wifi_password = &data[1];  //截取
                strcpy (passwd,Wifi_password);  //轉(zhuǎn)存
                ESP_LOGI(RX_TASK_TAG, "ssid %s password: '%s'", ssid, passwd);

                wifi_init_sta(ssid,passwd);  //wifi初始化
            }else{
                    
                ...............................

            }
            
      
    }

(2)esp32把處理好的數(shù)據(jù)整合發(fā)送給RP2040

image.png

由于更新一次數(shù)據(jù)需要發(fā)送3次http請求,所以方案有3種:

1.收到即發(fā):這樣的話要求RP2040需要嚴(yán)格控制讀取順序,容易出錯。

2.完成一個請求才發(fā)。

3.全部整合在一起再發(fā)。

顯然第二種方法除了整合數(shù)據(jù)之外,還需要進(jìn)行接收信息的判斷,在考慮盡可能少判斷和少發(fā)送次數(shù)的前提下,采用第3種方法。只需設(shè)置合適的分隔符,將所有數(shù)據(jù)一次發(fā)送即可,接收端接收后去除分割符,按照次序讀取即可。

這里我采用"+"作為分隔符,在esp32中利用strcat()函數(shù)拼接(詳見上文json解析部分),利用python中的字符串內(nèi)建函數(shù)split()可以很容易分解并讀取,具體請參考RP2040的http_deal.py。

def data_deal(self):
        if self.text.find(b'+') != -1:
            decode_receiveStr = self.text.decode()   #去編碼,轉(zhuǎn)化為文本
            self.receive_items = decode_receiveStr.split('+')
            print(self.receive_items)
            http_get_data.city_name_text = self.receive_items[0]
            http_get_data.weather_current_text = self.receive_items[1]
            http_get_data.weather_current_code = self.receive_items[2]
            http_get_data.current_temperature = self.receive_items[3]
            http_get_data.date0 = self.receive_items[4]
            http_get_data.date0_day_text = self.receive_items[5]
            http_get_data.date0_day_code = self.receive_items[6]
            http_get_data.date0_night_text = self.receive_items[7]
            http_get_data.date0_night_code = self.receive_items[8]
           ........

(3)RP2040發(fā)送城市名給ESP32

image.png

發(fā)送城市名不做處理直接發(fā)送,在RP2040的wearher_main.py中,先是發(fā)送標(biāo)志生效(self.send_flag = True),然后在uart_task()函數(shù)中發(fā)送,具體如下。

  async def uart_task(self):
         ......
        #         發(fā)送任務(wù)
        if self.send_flag == True:
            self.uart.write(self.send_quene)
            self.send_flag = False

esp32則直接接收,修改reqLocation變量,執(zhí)行http請求,具體見esp32的uart.c的rx_task()函數(shù)。

 void rx_task(void *arg){

            ...................................
     if (rxBytes > 0) {
            data[rxBytes] = 0;
            ESP_LOGI(RX_TASK_TAG, "Read %d bytes: '%s'", rxBytes, data);
            ESP_LOG_BUFFER_HEXDUMP(RX_TASK_TAG, data, rxBytes, ESP_LOG_INFO);
            if (data[0] == '+'){
                //收到“+”開頭,判斷為wifi名
                Wifi_ssid = &data[1];    //截取
                strcpy (ssid,Wifi_ssid); //轉(zhuǎn)存
        
            }
            else if(data[0] == '-'){
                //收到“-”開頭,判斷為wifi密碼
                Wifi_password = &data[1];  //截取
                strcpy (passwd,Wifi_password);  //轉(zhuǎn)存
                ESP_LOGI(RX_TASK_TAG, "ssid %s password: '%s'", ssid, passwd);

                wifi_init_sta(ssid,passwd);  //wifi初始化
            }else{
                //一般字符串,城市名
                reqLocation = data;
                ESP_LOGI(RX_TASK_TAG, "Re: '%s'", reqLocation);
                http_get_task();   //接受到立即發(fā)送請求
                

            }
            
        ......................
        

    }

(4)esp32錯誤消息發(fā)送給RP2040

esp32可能會出現(xiàn)兩種錯誤:wifi連接失敗和http請求失敗,可以直接讓RP2040讀取判斷,讀取后在屏幕上顯示相應(yīng)信息,具體詳見RP2040的weather_main.py的uart_task()函數(shù)中,如下。

    async def uart_task(self):
        self.receive_flag = self.uart.any()
         ...........
            #             wifi連接失敗
            if receiveStr == b'Connectfail':
                self.drawing.draw_wificonnectfail()
                await asyncio.sleep_ms(1500)
                self.err = True                
#             http請求失敗
            elif receiveStr == b'httprequestfail':
                self.drawing.draw_httprequestfail()
                self.err = True
                await asyncio.sleep_ms(1500)
            
             ..........................

3. 顯示

RP2040顯示主要使用st7789c庫,來自(https://github.com/russhughes/st7789_mpy)或(https://github.com/picospuch/RP2040_Game_Kit),以下討論的代碼均在RP2040源代碼的draw.py中。

該庫的優(yōu)勢在于顯示速度快而且能夠顯示jpg圖片,所以可以參考心知天氣平臺的天氣符號代碼與符號對應(yīng)關(guān)系(詳見https://docs.seniverse.com/api/start/code.html),就能夠根據(jù)顯示官方的天氣信息及符號。

根據(jù)官方文檔可知,每一個天氣代碼對應(yīng)一種天氣現(xiàn)象,所以可以利用這個代碼判斷該畫哪一張圖,由于python沒有switch語句而且循環(huán)判斷程序的執(zhí)行效率會很低,所以這里我采用了在類中定義不同的方法(方法名有一定的規(guī)則),然后通過getattr函數(shù)來進(jìn)行實現(xiàn)判斷,我在后面判斷周幾以及的鍵盤鍵位判斷都用到了這個思路。具體詳見RP2040的draw.py的weather類和weekday類,以及l(fā)ocation.py的location類,具體如下。

class weather:
    
    picture_big = "/weather_picture_big/Unknown.jpg"
    picture_small = "/weather_picture_small/Unknown.jpg"
    
    def weather0(self):
        weather.picture_big = "/weather_picture_big/Sunny.jpg"
        weather.picture_small = "/weather_picture_small/Sunny.jpg"
    
    def weather1(self):
        weather.picture_big = "/weather_picture_big/Clear.jpg"
        weather.picture_small = "/weather_picture_small/Clear.jpg"
        
        ................

    def Default(self):
        weather.picture_big = "/weather_picture_big/Unknown.jpg"
        weather.picture_small = "/weather_picture_small/Unknown.jpg"
    
    def getweather(self, weather):
        weather_name = "weather" + str(weather)
        fun = getattr(self, weather_name, self.Default)
        return fun()class draw:

       .........................

   def draw_real_time_weather_picture(self,city_name,weather_current_code,weather_current_text,current_temperature):
        self.display.init()
        self.code.getweather(weather_current_code)  #天氣代碼判斷

          ................

        self.display.jpg(self.code.picture_big ,0 , 0, st7789.FAST)

(1)天氣實況顯示

image.png

天氣實況要顯示的內(nèi)容不多,但要注意心知天氣平臺返回的天氣字段有些會很長(如Thundershower with Hail),就有可能影響顯示,所以這里要先對部分長字段進(jìn)行處理,經(jīng)過觀察后發(fā)現(xiàn)可以采用以下方式處理:

1.將有“Thunder”字段的換成"T","Thundershower"變?yōu)椤癟shower”,這可以接受,有些天氣平臺就是這么表示的。

2.將有空格的字段分兩行顯示。

這樣就能把一行顯示的字符控制在10個以內(nèi),具體詳見RP2040的draw.py中的draw_real_time_weather_picture()函數(shù),如下。

    def draw_real_time_weather_picture(self,city_name,weather_current_code,weather_current_text,current_temperature):

        ..................

        if weather_current_text.find('Thunder') != -1:      
            weather_current_text = weather_current_text.replace('Thunder','T')
            
        if weather_current_text.find(' ') != -1:
            item = weather_current_text.split(' ',1)
            self.display.text(font2,item[0],0,130)
            self.display.text(font2,item[1],0,170)
        else:
            self.display.text(font2,weather_current_text,0,150)
        
          ...........................

(2)生活指數(shù)顯示

image.png               image.png

由于返回的參數(shù)都是英文,生活指數(shù)部分字段長度不定,所以這里分兩頁來顯示,具體詳見draw.py中的draw_index_of_living()函數(shù),如下。

    def draw_index_of_living(self,index1,index2,index3,picture_index):

           ............................#         由于6向指數(shù)很難在同一幅畫面顯示,所以分開顯示
        if picture_index == 2:
            self.display.text(font3,"car_washing",60,0)          #洗車指數(shù)
            self.display.jpg("/index of living/car_washing.jpg" ,0 , 0, st7789.FAST)
            self.display.text(font2,index1,60,20,st7789.BLUE)
            
            self.display.text(font3,"dressing",0,81)                    #穿衣指數(shù)
            self.display.jpg("/index of living/dressing.jpg" ,180 , 81, st7789.FAST)
            self.display.text(font2,index2,0,100,st7789.RED)
            
            self.display.text(font3,"flu",60,161)                #流感指數(shù) 
            self.display.jpg("/index of living/flu.jpg" ,0 , 161, st7789.FAST)
            self.display.text(font2,index3,60,180,st7789.GREEN)
            
        if picture_index == 3:
            self.display.text(font3,"sport",60,0)            #運(yùn)動指數(shù)
            self.display.jpg("/index of living/sport.jpg" ,0 , 0, st7789.FAST)
            self.display.text(font2,index1,60,20,st7789.BLUE)
            
            self.display.text(font3,"travel",0,81)            #旅游指數(shù)
            self.display.jpg("/index of living/travel.jpg" ,180 , 81, st7789.FAST)
            self.display.text(font2,index2,0,100,st7789.RED)
            
            self.display.text(font3,"uv",60,161)             #紫外線指數(shù)
            self.display.jpg("/index of living/uv.jpg" ,0 , 161, st7789.FAST)
            self.display.text(font2,index3,60,180,st7789.GREEN)

(3)天氣預(yù)報顯示

image.png

天氣預(yù)報要顯示的內(nèi)容是最多的,因此如何合理安排布局并使數(shù)據(jù)直觀是一個挑戰(zhàn)。

這里的天氣圖標(biāo)對應(yīng)的是小版的,使用和上面一樣的在類中定義不同的方法(方法名有一定的規(guī)則),然后通過getattr函數(shù)來進(jìn)行實現(xiàn)判斷的方式來實現(xiàn)。

在每日[敏感詞][敏感詞]氣溫的顯示上,我采用了比較簡約的方法,用紅色字體+H表示[敏感詞]氣溫,用藍(lán)色字體+L表示[敏感詞]氣溫,具體代碼詳見draw_weather_forcast()函數(shù)。

    def draw_weather_forcast(self,date0,date0_day_text,date0_day_code,date0_high_temperature,date0_low_temperature,date0_precip,date0_humidity,
                             date1,date1_day_text,date1_day_code,date1_high_temperature,date1_low_temperature,date1_precip,date1_humidity,
                             date2,date2_day_text,date2_day_code,date2_high_temperature,date2_low_temperature,date2_precip,date2_humidity):       

          .......................

 
        self.display.text(font3,"H"+date0_high_temperature,5,120,st7789.RED)       #[敏感詞]氣溫
        self.display.text(font3,"L"+date0_low_temperature,5,140,st7789.BLUE)       #[敏感詞]氣溫
        self.display.text(font2,"C",43,125)
        self.display.text(font1,"o",40,120)


            .........................

而關(guān)于降水概率(POP)和相對濕度(HR)都是百分?jǐn)?shù),可以采用類似長度條的方式直觀的表現(xiàn)其大小,而且占用空間小。




   def draw_weather_forcast(self,date0,date0_day_text,date0_day_code,date0_high_temperature,date0_low_temperature,date0_precip,date0_humidity,
                             date1,date1_day_text,date1_day_code,date1_high_temperature,date1_low_temperature,date1_precip,date1_humidity,
                             date2,date2_day_text,date2_day_code,date2_high_temperature,date2_low_temperature,date2_precip,date2_humidity):

          ..........................

       self.display.text(font3,"POP:",0,160,st7789.MAGENTA)       #降雨概率POP
        num_date0_precip = float(date0_precip)
        length = int(num_date0_precip * 70)
        self.display.fill_rect(5,183,length,5,st7789.MAGENTA)       #顏色條顯示,越長百分比越大
        self.display.fill_rect(3,182,5,7,st7789.WHITE)
        num_date0_precip = num_date0_precip * 100
        num_date0_precip= int(num_date0_precip)
        self.display.text(font3,str(num_date0_precip)+"%",50,160,st7789.MAGENTA)
        
        self.display.text(font3,"HR:",0,190,st7789.CYAN)          #相對濕度HR
        num_date0_humidity= int(date0_humidity)
        length = int(num_date0_humidity * 70 /100)
        self.display.fill_rect(5,213,length,5,st7789.CYAN)
        self.display.fill_rect(3,212,5,7,st7789.WHITE)
        self.display.text(font3,str(num_date0_humidity)+"%",50,190,st7789.CYAN)

        ....................................

(4)實時時間顯示

若要得到實時時間,可以通過RP2040的RTC(實時時鐘)獲得當(dāng)前時間,調(diào)用也十分方便。不過要顯示時間的話,則需要一個變量來記錄時間的變化,時間數(shù)值變化了才刷新屏幕顯示,這樣就能在屏幕上實現(xiàn)時間變化的效果。本項目使用 self.last 來記錄時間,具體實現(xiàn)代碼詳見weather_main.py的draw_times函數(shù):

    def draw_times(self):
        if self.rtc.datetime() != self.last :
            time_index = self.rtc.datetime()
            #             只在實時天氣界面顯示時間
            if self.picture_index == 1 :
                self.drawing.draw_time(str(time_index[0]),str(time_index[1]),str(time_index[2]),str(time_index[3]),str(time_index[4]),str(time_index[5]),str(time_index[6]))
            self.last = time_index
        gc.collect()

由于時間的顯示是需要實時更新的,所以這個函數(shù)在總進(jìn)程中也要調(diào)用。

    async def process(self):

        self.hardware_init()
        await self.initialise_wifi()  #初始化界面
        
        self.last_hour = self.rtc.datetime()[4]
        self.last = self.rtc.datetime()
        while True:
            self.dir_select()     #遙感檢測
            self.regular_update() #定時更新
            self.draw_times()     #更新時間
            self.city_choose()    #修改城市名
            await self.uart_task()  #串口任務(wù)

 

 

3.操作交互

本項目顯示主要分為兩個模式:一般模式和鍵盤模式。一般模式下主要顯示天氣信息,鍵盤模式下顯示并修改城市名。

(1)一般模式

即接收到http報文后顯示各類天氣信息的模式。

基本操作:搖桿左右移動可切換顯示內(nèi)容,上下移動則無效,通過變量 self-picture-index 決定顯示哪一個畫面,具體內(nèi)容請參考 weather_main.py中的 dir_select()函數(shù),如下。

    def dir_select(self):

        xValue = self.xAxis.read_u16()
        yValue = self.yAxis.read_u16()

        if xValue <1000:
            self.picture_index -= 1
            if self.picture_index < 1 :
                self.picture_index = 4
            self.draw_picture()   #遙感有動作時才更新畫面
        elif xValue >40000:
            self.picture_index += 1
            if self.picture_index > 4 :
                self.picture_index = 1
            self.draw_picture()

        gc.collect()

該模式下B鍵用于刷新天氣數(shù)據(jù),即按下B鍵后就使發(fā)送標(biāo)志生效,發(fā)送城市名給ESP32,讓其發(fā)送http請求,具體詳見weather_main的refresh_callback()函數(shù),如下。

    def refresh_callback(self, p):
        print("k2 pressed")
        self.send_flag = True

A鍵則用于打開鍵盤模式,具體詳見weather_main的keyboard_callback()函數(shù),如下。

    def keyboard_callback(self, p):
        print("kkk pressed")
        self.keyboard_cw = True

(2)鍵盤模式

即顯示一個虛擬的9鍵鍵盤,讓使用者能修改城市名。

基本操作:參考我門平時聽熟悉的9鍵鍵盤,其會把26個英文字母分成不同段安排在不同按鍵中,當(dāng)我們選中按鈕后會彈出一欄字母的分支選擇,在分支欄中再進(jìn)行一次選擇才能把內(nèi)容寫入(當(dāng)然這是以前的9鍵鍵盤,現(xiàn)在的可以模糊選擇),所以基本的邏輯如下。

image.png

 

所以操作的流程為:按A打開鍵盤,用四項搖桿進(jìn)行上下左右鍵位選擇,最左邊一欄為功能鍵,其余為字符鍵,按A選中,選擇不同的功能鍵會有不同的效果,字符鍵分為有效字符和無效字符(.用 ">_<"表示),選擇無效字符是無反應(yīng)的,選擇有效字符后最左側(cè)的功能鍵欄會被替換為分支內(nèi)容,此時只能上下移動搖桿,按A選中寫入字母到發(fā)送序列,按B則回退到9鍵選擇,在選中發(fā)送鍵"ENT”前會一直保留鍵盤界面,按“ENT”后才會退出并發(fā)送城市名給ESP32進(jìn)行http請求。若http請求失敗(城市名有誤,網(wǎng)絡(luò)斷開),則會進(jìn)入httprequestfail界面,若是城市名輸入有誤,此時按A鍵可重新打開鍵盤修改信息。

代碼實現(xiàn)過程:

實現(xiàn)一個虛擬鍵盤本質(zhì)上就是,使用按鍵進(jìn)行信息操作,操作過程通過屏幕顯示出來。

關(guān)于鍵位顯示:移動光標(biāo)的結(jié)果可以用x,y坐標(biāo)表示,對應(yīng)RP2040中的 self.locat_x和self.locat_y,關(guān)鍵在于每一個位置對應(yīng)不同的功能和字段,因此我利用上文說到的在類中定義不同的方法(方法名有一定的規(guī)則),然后通過getattr函數(shù)來進(jìn)行實現(xiàn)判斷,相干內(nèi)容在location.py的location類中,如下。

class location:
    caps = 1       #大小寫開關(guān)
    number = 0     #數(shù)字開關(guān)
    
    def location1_1(self):
       return "123"    #切換為數(shù)字


    def location2_1(self):
        if location.number == 1:
            return "1  "
        elif location.caps == 1:
            return "abc"
        else:
            return "ABC"
        
    def location3_1(self):
        
       if location.number == 1:
            return "2  "
       elif location.caps == 1:
            return "def"
       else:
            return "DEF"
        
    def location4_1(self):
        
        if location.number == 1:
            return "3  "
        elif location.caps == 1:
            return "ghi"
        else:
            return "GHI"
    
    def location1_2(self):
        return "A/a"         #切換大小寫


    def location2_2(self):
        if location.number == 1:
            return "4  "
        elif location.caps == 1:
            return "jkl"
        else:
            return "JKL"
        
    def location3_2(self):
        if location.number == 1:
            return "5  "
        elif location.caps == 1:
            return "mno"
        else:
            return "MNO"
        
    def location4_2(self):
        if location.number == 1:
            return "6   "
        elif location.caps == 1:
            return "pqrs"
        else:
            return "PQRS"
        
    def location1_3(self):
        return "DEL"     #刪除字符
    
    
    def location2_3(self):
       if location.number == 1:
            return "7  "
       elif location.caps == 1:
            return "tuv"
       else:
            return "TUV"
        
    def location3_3(self):
        if location.number == 1:
            return "8   "
        elif location.caps == 1:
            return "wxyz"
        else:
            return "WXYZ"
        
    def location4_3(self):
        if location.number == 1:
            return "9  "
        else:
            return '>_<'   #英文字母不需要這一位      
    def location1_4(self):
        return "ENT"    #發(fā)送字符
    
    
    def location2_4(self):
        return '>_<'    
    def location3_4(self):
        if location.number == 1:
            return "0  "
        else:
            return '>_<' #英文字母不需要這一位
            
    def location4_4(self):
        return '>_<'
        
    def Default(self):
        print("wrong")
        
    def getlocation(self, locationx,locationy):
        location_name = "location" + str(locationx)+"_"+str(locationy)
        fun = getattr(self, location_name, self.Default)
        return fun()

這樣就將鍵位內(nèi)容和鍵位聯(lián)系起來了,就可以實現(xiàn)畫鍵盤(draw.py的draw_keyboard()函數(shù))和高亮按鍵(draw.py的draw_highlight()函數(shù)),如下:

    def draw_keyboard(self):
        a = location()
        self.display.fill_rect(0,101,34,139,st7789.BLACK)
        self.display.fill_rect(36,206,63,33,st7789.BLACK)
        self.display.fill_rect(176,206,63,33,st7789.BLACK)
        self.display.vline(35,100,140,st7789.YELLOW)
        self.display.vline(105,100,140,st7789.YELLOW)
        self.display.vline(175,100,240,st7789.YELLOW)
        self.display.hline(0,100,240,st7789.YELLOW)
        self.display.hline(0,135,240,st7789.YELLOW)
        self.display.hline(0,170,240,st7789.YELLOW)
        self.display.hline(0,205,240,st7789.YELLOW)
        
        self.display.text(font2,a.getlocation(2,1),36,101 )
        self.display.text(font2,a.getlocation(3,1),106,101 )
        self.display.text(font2,a.getlocation(4,1),176,101 )
        
        self.display.text(font2,a.getlocation(2,2),36,136 )
        self.display.text(font2,a.getlocation(3,2),106,136 )
        self.display.text(font2,a.getlocation(4,2),176,136 )
        
        self.display.text(font2,a.getlocation(2,3),36,171 )
        self.display.text(font2,a.getlocation(3,3),106,171 )
        self.display.text(font2,a.getlocation(4,3),176,171 )
        
        self.display.text(font2,a.getlocation(3,4),106,206 )
        
        self.display.text(font3,a.getlocation(1,1),0,101 )
        self.display.text(font3,a.getlocation(1,2),0,136 )
        self.display.text(font3,a.getlocation(1,3),0,171 )
        self.display.text(font3,a.getlocation(1,4),0,206 )
        #     選中按鍵字體變成[敏感詞]表示高亮
    def draw_highlight(self,x,y):
        a = location()
        locat_x = 36 + 70 * (x-2)
        locat_y = 101 + 35 * (y-1)#         功能鍵字體大小偏小需另外處理
        if x == 1:
            self.display.text(font3,a.getlocation(x,y),0,locat_y,st7789.YELLOW)
        else:
            self.display.text(font2,a.getlocation(x,y),locat_x,locat_y,st7789.YELLOW)

那么怎么判斷功能鍵并實行相應(yīng)功能呢?本項目把功能鍵設(shè)置成特定字段(123,A/a,DEL,ENT),并在鍵盤循環(huán)中判斷相應(yīng)字段是否對應(yīng)即可,然后實現(xiàn)相應(yīng)功能,具體詳見weather_main的keyboard()函數(shù),如下。

    def keyboard(self):#         畫出鍵盤
        self.drawing_keyboard()
        self.drawing.draw_quene(self.send_quene)#         修改按鍵AB的回調(diào)函數(shù)        
        self.k1 = button(game_kit.key_a, self.k1_callback)
        self.k2 = button(game_kit.key_b, self.k2_callback)#         保持鍵盤畫面,在確認(rèn)發(fā)送后退出畫面
        while self.keyboard_cw == True:
            self.backup = False
            xValue = self.xAxis.read_u16()
            yValue = self.yAxis.read_u16()
            sleep(0.2)
            if xValue <1000:
                self.locat_x -= 1
                if self.locat_x < 1:
                    self.locat_x = 1
                self.drawing_keyboard()  #每次移動搖桿后更新畫面
            elif xValue >40000:
                self.locat_x += 1
                if self.locat_x > 4:
                    self.locat_x = 4
                self.drawing_keyboard()
            if yValue <1000:
                self.locat_y -= 1
                if self.locat_y < 1:
                    self.locat_y = 1
                self.drawing_keyboard()
            elif yValue >40000:
                self.locat_y += 1
                if self.locat_y > 4:
                    self.locat_y = 4
                self.drawing_keyboard()
            #             選中一格
            if self.chosen :
                self.chosen = False
                a= location()
                s_list=list(self.send_quene )#將字符串轉(zhuǎn)換為列表
                #                 選中發(fā)送鍵
                if a.getlocation(self.locat_x,self.locat_y) == "ENT":
                    self.keyboard_cw = False   #關(guān)閉鍵盤退出循環(huán)
                    #                     選中刪除鍵
                elif a.getlocation(self.locat_x,self.locat_y) == "DEL" :#                     判斷是否已經(jīng)全部刪除完了
                    if len(s_list)!= 0 :
                        s_list.pop(-1)#pop掉列表最后一個值,返回被pop掉的值
                        self.send_quene = ''.join(s_list)#將pop之后的列表通過join()函數(shù)轉(zhuǎn)換為字符串
                        self.drawing.draw_quene(self.send_quene) #更新已寫入內(nèi)容
                        #                         選中有效區(qū)域
                elif a.getlocation(self.locat_x,self.locat_y) != ">_<" :
                    if a.getlocation(self.locat_x,self.locat_y) == "123":   #選中切換數(shù)字
                        location.number = 1
                        self.drawing_keyboard()
                    elif a.getlocation(self.locat_x,self.locat_y) == "A/a": #選中切換大小寫
                        location.number = 0
                        location.caps = 1-location.caps
                        self.drawing_keyboard()
                    else:
                        self.branch_choose(self.locat_x,self.locat_y) #選中字符串

而選擇有效字符后需要顯示分支,按照鍵位信息中的內(nèi)容顯示在原功能欄即可,此時修改搖桿為只能上下移動,并利用按鍵AB實現(xiàn)選擇或回退,邏輯部分詳見weather_main.py的branch_choose()函數(shù),畫圖部分詳見draw.py的draw_branch()函數(shù),如下。

/weather_main.py    def branch_choose(self,x,y):
        index = 1
        a = location()
        index_max = len(a.getlocation(self.locat_x,self.locat_y)) #按鍵內(nèi)容占格數(shù)
        self.drawing_branch(index)
        #         是否按下回退鍵,若按下則回到鍵位選擇
        while self.backup == False  :
            sleep(0.2)
            yValue = self.yAxis.read_u16()
            if yValue <1000:
                index -= 1
                if index < 1:
                    index = 1
                self.drawing_branch(index)
            elif yValue >40000:
                index += 1
                if index > index_max:
                    index = index_max
                self.drawing_branch(index)
                #            選中字符
            if self.chosen :
                self.chosen = False
                self.send_quene = ''.join([self.send_quene,a.getlocation(self.locat_x,self.locat_y)[index-1]]) #將字符加入發(fā)送隊列
                self.backup =True  #退出分支
                
            self.drawing.draw_quene(self.send_quene) #更新寫入內(nèi)容
        self.backup = False
        self.drawing_keyboard()/draw.py    def draw_branch(self,index,str):
    
       self.display.fill_rect(0,101,34,33,st7789.BLACK)
       self.display.fill_rect(0,136,34,33,st7789.BLACK)
       self.display.fill_rect(0,171,34,33,st7789.BLACK)
       self.display.fill_rect(0,206,34,33,st7789.BLACK)
       locat_y = 101 + 35*(index -1)
       for i in range(0,len(str)):
           self.display.text(font2,str[i],0,101 + 35 * i)
       self.display.text(font2,str[index-1],0,locat_y,st7789.YELLOW)

最后在發(fā)送數(shù)據(jù)退出鍵盤模式回到一般模式時,要還原現(xiàn)場,具體操作詳見weather_main.py中的city_choose()函數(shù),如下。

    def city_choose(self):
        if self.keyboard_cw == True:
            self.drawing.clear()  #清屏
            self.drawing.draw_tip("city_name:")
            self.keyboard()
            self.picture_index = 0  
            self.drawing.draw_sending()  #發(fā)送中畫面
            #             將按鍵回調(diào)函數(shù)修改回一般模式下的情況
            self.k1 = button(game_kit.key_a, self.keyboard_callback)
            self.k2 = button(game_kit.key_b, self.refresh_callback)
            self.send_flag = True  #可以發(fā)送
            gc.collect()
            self.last = self.rtc.datetime()  #還原現(xiàn)場,保持時間更新

四、后記

這是我第二次用樹莓派的rp 2040來開發(fā)項目了,這次的過程比上一次要復(fù)雜許多,雖然總的思路很清晰,但這一次新引入的esp32-s2模塊給我?guī)砹巳碌奶魬?zhàn),網(wǎng)絡(luò)編程和多機(jī)通信,很多都是我[敏感詞]次接觸的東西,比如esd32-idf的開發(fā),不過最后我也充分體會到了多機(jī)互聯(lián)的快樂。就本項目而言,未來還有值得提高的地方。

  1. 加入中文顯示。有關(guān)這方面的知識我還不太了解,如果能有中文顯示界面將可以進(jìn)一步優(yōu)化。
  2. 加入WiFi掃描與連接。既然有了鍵盤理論上就能通過操作游戲機(jī)來聯(lián)網(wǎng),這樣使用起來將更加靈活。    
  3. 利用Esp 32的 NVM儲存WiFi的相關(guān)信息,這樣在每次斷電后再恢復(fù)供電時能自動連接WiFi?

由于時間原因以上兩點(diǎn)尚未實現(xiàn),但我相信在不久的將來定能實現(xiàn)。






免責(zé)聲明:本文轉(zhuǎn)載自“電子森林”,本文僅代表作者個人觀點(diǎn),不代表薩科微及行業(yè)觀點(diǎn),只為轉(zhuǎn)載與分享,支持保護(hù)知識產(chǎn)權(quán),轉(zhuǎn)載請注明原出處及作者,如有侵權(quán)請聯(lián)系我們刪除。

服務(wù)熱線

0755-83044319

霍爾元件咨詢

肖特基二極管咨詢

TVS/ESD咨詢

獲取產(chǎn)品資料

一级毛片免费看一级毛片| 国产变态影院在线| mmmmxxxx国产在线观看| 播放日韩大片日韩大片中文字幕| 一级片成人男人的天堂| 女性高爱潮AAAA级视频免费| 久久久久激情视频免费观看| 国产在线AⅤ精品人妖| 亚洲国产成人a精品| 蝌蚪窝一个释放的麻豆精品国产好吊妞| 一区二区三区少妇无码| 午夜美女福利在线观看| 亚洲清纯国产com在线播放| 日韩操逼大片| 夜夜福利一区二区三区| 蜜桃AV网址大全| av免费午夜影院| 站长推荐国产高清| 公和我在厨房里添| 色多多污18禁网站入口| 国产精品久久久久久一级毛| 亚洲国产手机免费在线| 欧美性大交大片在线| 人妻在线一区二区三区好看到停不下来! | 亚洲综合色丁香亚洲天天做夜夜做天天欢人人| 秋霞一区二区三区电影在线| 成人精品一区二区三区A片用毒蛇| 夜鲁夜鲁夜鲁夜综合视频| 成年版毛片免费区| 亚洲?V无码专区日韩?V毛片| 欧美东京热精品a∨| 麻豆国产VIDEOFREE高清| 国产av激情综合| 国产在线永久免费视频aa| 成人爽网成人无码| 99国精产品一二二线精华液| 久久人妻网站| 美女张开腿黄网站免费久久| 麻豆av免费观看| 深爱五月天激动网| 国产日产中文在线| 亚洲成人天天| 曰韩无码无遮挡α级毛片| 日韩一级黄片一区二区| 欧美亚洲国产专区91在线| 免费国产成人一区二区三区| 人人超碰人人超碰97| 最新日本东京热国产| 日本一区二区不卡视频| AV在线国产电影| 多男一女一级伦奷片免费观看| 超好看国产精品久久久| 做爰全过程叫床视频| 了解最新91丝袜在线| 制服丝袜日韩中文字幕| 2021无码视频中文字幕在线| 国产精品无码电影在线观看未满18周岁| 亚洲AV√最新天堂版资源地址在线官网| 国产最火爆国产免费av观看一二三区网站 | 又黄又猛又爽大片免费| 中国国产xxx免费视频| 自拍欧美亚洲| 啊快点再快点好深视频免费| 最近中文字幕亚洲电影| 99re在线精品99re8热视频| 亚洲天堂2020av在线| 欧美黄色一级大片| 亚洲国产成人爱AV网站| sea8国产精品视频| 国人天堂Va在线观看免费 | ?国产欧美精品另类又又久久| 亚洲精品人成无码| 黄色欧美日韩在线视频| 巨爆乳中文字幕巨爆区巨爆乳无码| 亚洲一区二区三区乱码密臀aⅤ | 无码中字高清亚洲无码| 色老二网址导航| 欧美日韩视频一区二| 亚洲大片中文字幕| 99精品在线视频播放| 亚洲av电影一区二区在线秋霞网| 欧美大香线蕉线伊人| 亚洲日韩va无码中文字幕| A片日本少妇偷人妻中文字幕| 国产亚洲日韩激情无码| 日韩精品久久久一区二区三区| 床+人+棉签+冰块+夹子牛奶| 久爱无码精品免费视频麻豆| 最新国产福利一区二区三区| 国产成人精品无码片区在线| 色老二网址导航| 一级毛片一黄片高清视频| 久久国产精品成人影院| 日韩在线观看第一区| 亚洲AV无码一区二区二三区a| 手机看片1024无码第一页| 国产一级淫荡黄片| 99riAV国产精品一区| A级全黄试看60分钟| 亚洲欧美国产老妇偷窥| 国产成人精品免费视频网站大全| 分腿吊起来抽打中间的视频| 神秘电影欧美草草影院麻豆第一页| 波多野结衣AⅤ视频| 免费又粗又黄又硬又爽网站| 亚洲中文字无码aⅤ| 欧美成人少妇激情视频112| 很污很黄细致多肉小说| 在线不卡日本v二区 https| 国产va饥渴难耐女保洁员| 日韩毛片中文免费视频| 国产在线精品91大香蕉| 亚洲无码性爱视频专区在线| 国产精品美女毛片久久久久久| 秘密教学74话子豪你要| 亚洲日韩亚洲成人网| 久久久久久亚洲精品6919| 亚洲av熟女国产| 欧洲a级午夜精品| 国产精品无码AV在线播放一区 | 中文字幕一线二线三线| 琪琪综合久久探花国产| 91亚洲精品免费| 國產精品視頻免費的| 三级片手机在线播放麻豆| 亚州一区二区一无码免费视频| Aⅴ免费男人的天堂2018| 国产欧美日韩在线猎奇| 國產亞洲精品中文帶字幕21頁| 国产婷婷六月在线观看| 男女嘿咻嘿咻免费专区| 边摸边吃奶边做动态图| 性爱黄色一级中国性爱视频| 亚洲iaⅴ综合在线欧美一区| 国产午夜高清无码视频| 黄色激情视频午夜| 免费无尽xxx视频| 在线国产黄色网址| 欧美丰满熟妇乱XXXXX流白浆| 2020年最新色色综合网| 色老二网址导航| 国产爆乳福利资源| 国产精品一久久香蕉视频 | 日韩成人精品国产无码| 丰满人妻久久中文字幕| 欧美中年熟妇乱子视频| 国产欧美日韩在线视频观看| 毛片yy6080久久亚洲| 久久88综合三级亚洲不卡| 国产午夜福利亚洲第一国产麻豆| 精品高朝久久久久9999| 一级丝袜亚洲国产片| 扒开粉嫩的小缝喷白浆| 欧美亚洲日韩精品中文蜜| 免费无码a∨在线观看爽| 欧美丝袜高跟熟女| 小草国产精品情侣| 久久窝窝国产精品午夜看片的直播内容| 又色又爽又黄无遮挡的色片| 国产精品久久久久久亚洲偷窥一区| α级毛片免费网站| 欧美一卡2卡三卡四卡精品| 亚洲欧美日本综合久久精品| 国产馆精品推荐在线观看| 国产精品精京无码av勉费视频| 大胆日本无码肉体艺术视频| 99热2在线热播精品免费最新| AV天堂无码偷拍盗摄| 欧洲视频一区亚洲视频六区 | 亚洲国产黄色Av| 亚洲免费高清日本| 欧洲日本福利电影免费看| 一区卡二区卡三区卡四区乱码| 一级a爱做片在线观看| 国产v亚洲v天堂无码| 午夜伦伦电影理论片a片| 国产v亚洲v日韩v欧美在线| 五月天综合色网视频| 国产一级大黄毛片国语| 爱福利视频一区二区| 99在线视频观看| 亚洲欧美国产激情片| 小雨去医院面试体检被老医生| 精品久久久无码中文字幕vr潮喷 | 国产亚洲aⅤ片在线观看16女人 | 一区二区日韩高清自拍中文字幕 | 国产电影免费在线看| fulao2官网安卓国内载点| 巨爆乳中文字幕巨爆区巨爆乳无码 | 亚洲综合成人精品| 国产91无码一本在线无码| 亚洲精选av动图| a片无遮挡无码免费视频| 亚洲中文久久无码91互動交流| 65dvd国产不卡视频| 美洲男人天堂AV综合青青草原 | 日本人妻偷伦中文无码| 久久精品免视看国产陈冠希| 国产精品无码A v片在线观看播| 日韩三级在线中文字暮| 日韩AV无码国产精品亚洲一区| 精品综合久久中文字幕| 久久爱免费福利视频在线观看| 91桃色在线观看网站| 国产日韩在线观看视频一区| 又黄又爽又色的视频在线看| 国产在线精品91大香蕉| 亚洲在玩有码中文字幕| 国产精sm品综合色区| 99久久综合精品国产首员无码 | 深爱五月天激动网| 第四日韩AV色播第一页| 手机免费在线看片| 久久婷婷激情综合久久| 99在线精品视频97| 亚洲欧美国产激情片| 手机免费看片AV永久看片国产日韩| 色网色网视频不卡日本CC| 粉嫩AV免费一区二区三区| 久久精品国产亚洲AV香蕉片| 亚洲一区日韩高清中文字幕| 丰满人妻久久中文字幕| 日本免费在线观看A∨| 亚洲激情综合无码一区| 亚洲国产成人爱AV网站| 国产精品不卡区在线观看| 美女18禁秘啪啪免费看| 乳液狂飙网站p| 做爰全过程叫床视频| 久久精品亚洲另类天堂综合| 国产在线播放精品无码丝袜| 自拍欧美亚洲| 免费观看日本A一级黄色视频 | 欧美大香线蕉线伊人| 亚洲加勒比久久综合| 日韩美国产片AV免费观看| 久久久久看免费高清特色大片| 亚洲国产成人a精品| a毛片中文字幕视频| 久热青青青在线视频精品 | ?V片在线观看永久免费| 免费日韩欧美在线观看| 少妇沦陷精油按摩中文字幕| 日本三级视频在线观看| 啊灬啊灬啊灬快灬少妇| 又爽又黄禁片视频1000免费| 无码写真国产在线观看网站免费下载| 波多野结衣av不卡| 热门事件黑瓜吃料网app| 琪琪综合久久探花国产| 日韩AV毛片精品簧片无码| 在线观看一区视频| 男人天堂网2021| 福利姬国产精品一区在线观看| 两个人的视频在线观看完整版免费| 久久精品國產亞洲高清| 天天添天天搞视频在线| 国产在线观看免费人成短视频| 波多野结衣av无码一区二区三区| 在线观看无码h片| 亚洲高清av不卡| 国产一级毛片在线中出| 午夜免费av不卡一二三区| 亚洲精品国品乱码久久久久| 日美韩电影免费看 | 中文天堂最新版www| 茄子视频在线国产播放| 久久无码人妻影院| 旧里番熟肉无修在线播放网站| 国产美女性色网站| 日韩A v高潮潮喷无码| 男人操女人免费视频| 2022国产情侣真实露脸在线| 日本欧美国产一区二区| 四川一级少妇A片免费| 四虎精品美女国产在线观看| 亚洲国产看片| 國產盜攝xxxx視頻xxxx| 中文字幕国产日韩在线| 精品久久久鲁鲁| 成人久久一区二区伊人网| 午夜亚洲?v日韩?v无码大全| 色婷婷日韩无码视频| (凹凸視頻)最懂你的优质手机视频网站| 超碰首页免费在线观看| 免费香蕉依人在线视频久| 好粗好硬好大在线观看视频| 榴莲网站在线观看| 欧美成人少妇激情视频112| 久久精品免费国产麻豆| 亚洲人成网站18禁止αⅴ| 午夜视频不卡在线| 亚洲人成网站77777在线播放| 日本不卡视频在线观看| 狠狠色狠狠综合久久| 欧美高潮喷水在线观看| 亚洲中字乱伦一区二区| 欧美成人aaaaaaaa免费| 亚瑟精品欧美久久| 最新国自产拍在线观看国产| 国产屁屁草草影院在线| 亚洲国产中文欧美丝袜精品一区| 国产又粗又硬又爽视频| 九九热思思精品视频| 99ri精品视频在线| 国产又大又爽又黄的视频网站| 91香蕉视频污污版| 欧美第一次破苞视频福利视频| 精品国产亚洲人成在线高| 午夜色午夜视频之日本视频| 日美韩电影免费看| 国内成人免费在线| 国产极品久久久久久| 蜜桃综合色一区二区| MM1313又粗又大受不了| 三级麻豆樱花在线观看视频| 宅男噜噜噜666在线观看| 国产专区手机在线播放| 精品高清欧美日韩一区| 精品国产群3p在线观看91| 天津熟妇无码专区| 国产色乱子伦视频| 亚洲欧美日本综合久久精品| 成人在线精品国产| 国产r级一区二区三区电影观看| 日韩福利写真福利在线观看| 乱輪中文字幕在线观看| 国产日产欧产精品无码| 亚洲熟妇av午夜无码不卡| 欧美亚洲另类纯情视频| 精品亚洲片子| 国产产又大又黄又刺激的视频| 日本春药精油按摩系列| 色婷婷在线观看中文字幕国产日韩影院在线| 最新手机av影视在线| 久久精品成人无码观看| 久久精品国产亚洲av热东京热| 亚洲高清国产日韩精品| 国产精品无码AV在线播放一区| 夜夜福利一区二区三区| 久久久成人毛片无码国产| 亞洲精品午夜無碼專區| 99九九热久久只有精品| 窝窝午夜看片+成人精品| 国产交换配乱婬视频偷最新章节| 亚洲综合在线观看日本美女| 国产成人精品2022欧美日韩| 天天干夜夜操天天射| sea8国产精品视频| 无码无码专区手机在线观看| 精品国产这么小也不放过| 国产黄a级三级三级三级看三级| 欧美精品乱码99久久中文馆| 巨胸喷奶水视频无码WWW网| 亚洲无码精品视频一二三区在线观看 | 1级1级高清黄色毛片| 制服师生欧美日韩一区| 国产伦精品一区二区三区图片| 小雨去医院面试体检被老医生| 国产 亚洲 日韩 欧美 久久| 亚洲毛片αV日韩αV无码| 欧美午夜久久福利| 三级中文亚洲精品| 精品国产你懂的在线观看网址| 日韩永久免费进入2015| 给我看免费播放的片在线观看| 亚洲不卡一区二区三区| 午夜免费av不卡一二三区| 色鬼外网视频网站www| 国产精品∧v在线播放| 制服丝袜日韩中文字幕| 91aa十视频在线免费观看视频| 激情视频国产一区| 国产馆精品推荐在线观看| 爽又猛又粗国产免费国产| 亚洲色大成WWW永久网站| 日韩AⅤ精品国内在线| 真实国产乱子伦精品免费| 色色色AV一区影院| 97福利人妻福利| 久久极品免费视频| 手机在线观看网站av| 亚洲色www永久网站| 欧美自慰精品一区二区| 日韩专区亚洲一区| 欧美日韩精品中文字幕久久| 6080yy免费毛片一级| 免费国产成人一区二区三区| 口球震动白丝高潮丨VK| 一本综合久道综合伊人99爱| 国产高清在线视频色| 91成人国产视频| 国内成人免费在线| 丝袜诱惑精品国产| 亚洲丁香精品在线 | 亚洲?v永久精品一区二区免费人妻人人干视频 | 日韩成人精品国产无码| 国产成人毛片在线视频| 在线观看无码h片| 窝窝午夜看片+成人精品| 久久國產精品電影| 国产篇一级黄色| 国产美女久久com| 国产放荡对白视频网站| 欧美日韩一级在线电影| 亚州成熟妇女在线网站| 国产精品69久久久久人妇| 人妖毛片视频免费在线| 黄色免费观看网站| 国产福利精品一区二区av| 成人午夜大香蕉视频在线观看| 日韩v欧美V另类蜜桃| 福利一区福利二区| 夜夜高潮夜夜爽精品| 伊人国产激情久久成人| 亚洲香蕉国产福利在线播放| 艾草网亚洲AV无码专区国产乱码久久 | 草久视频在线观看| 麻豆国产成人精品| 性生国产免费大片| 欧美一区二区口爆吞精视频| 女生啊你tm别了免费破解版| 伊人国产激情久久成人| 国产又大又爽又黄的视频网站| 成人午夜免费无码一二三区| 人妻的秘密电影未删减版| 亚洲综合色丁香亚洲天天做夜夜做天天欢人人| 婷婷五月综合福利导航在线 | 人妻的秘密电影未删减版| 欧美人成网址18禁止久久影院| 国产无码又爽又刺激| 亚洲人妖视频在线观看网站| 曰本道一区二区无码视频| 欧美在线精品在线| 第四日韩AV色播第一页| 白丝JK高潮喷水在线观看| 日韓歐美在線播放| 欧亚AV天堂女人无线在码| 色综合久久久久综合激情| 一级毛片完整视频| 亚洲国产影院精品| 神秘电影欧美草草影院麻豆第一页| 一本大道视频在线无码观看| 免费不卡视频在线| 1024国产精品免费观看| 99看片国产午夜福利在线观看| 狠狠色综合网站久久久| mmmmxxxx国产在线观看 | 亚瑟在线影院无码专区| 女人毛多水多的视频| 亚洲v日本v欧美v综合v| 中文字幕洲无| 全免费午夜一级毛片真人| 黄色网站在线视频| 久久毛片精品视频免费观看| 婷婷在线精品国自产拍 | 亚洲一区二区三区色| 打扑克又疼又叫的软件下载安装免费 | 午夜亚洲?v日韩?v无码大全| 一本色道久久—综合亚州精品| 丝袜套j吧裹精榨精白丝袜| 日韩成人国内精品久久久久影院| 国产精品∧v在线播放| 亚洲精品国偷自产91九色| 四虎国产精品视频免费看| 久久精品免费视频在这里| 桥矿影视第2集体检| 99看片国产午夜福利在线观看 | 国产精品日本精品| 亚洲成人av福利免费观看| 日韩欧美亚洲欧美| 97人妻精品无码一区二区三区| 自拍偷区亚洲综合第一页欧18 | 色欲www欧美亚洲日韩| 极品女神无套呻吟啪啪| 伊人久久大香线蕉av仙| 精品国内自产拍在线观看尤物| 日韩精品一区二区三区老鸦窝 | 色综合久久久无码中文字幕天堂| 无码毛片免费一区二区| 亚洲欧美福利在线| 午夜福利片国产精品麻豆 | 亚洲人成影院77777| 亚洲欧洲久久精品久久| 亚洲超大尺度啪啪人体| 亚洲无码精品视频一二三区在线观看| 免费看内射乌克兰女| 欧美亚洲国内精品视频在线观看| 熟女中文一区66666| 韩剧电影在线观看韩剧理论| gogo大胆无码免费视频| 国产911免费在线观看| 婷婷六月丁香午夜爱爱| 国人天堂Va在线观看免费| 欧美亚洲综合日韩精品区| 亚洲?V无码专区日韩?V毛片 | 免费在线国产精品电影| 精品日韩人妻一区二区欧美| 岛国av无码免费无网站| 波多野结衣av无码一区二区三区| 国产成人午夜在线观看不卡| 欧美一区二区三区激情视频| 超色网站在线免费看的| 亚洲AV永久无码精品越南| 午夜福利片中文字幕在线观看| 亚洲伊人色域综合网| 太爽了不卡视频在线看| 色吊丝中文字幕无码专区| 国产熟妇露脸在线观看| 隔壁老王国产精品你懂的 | 免费高级毛片AV| 国产又粗又硬又爽视频| 亚洲三级毛片免费完整视频| 亚洲高清无码为满十八岁勿进入| 日本在线观看一区二区在线观看| 日本在线a级视频免费| 92免费午夜福利1000合集| 免费无遮羞大尺寸的动漫片| 国产中文字幕在线网站| 性做久久久久久久久浪潮| 中文字幕第一頁亞洲| 艳妇乳肉亭妇荡乳AV| 国产亚洲中文日韩欧| 制服师生欧美日韩一区| 成年妇女毛片免费看| 欧美丰满少妇XXXXX高潮女人十八毛片A片久久18 | 污污的网站免费| 亚洲成人大片网站| 亚洲综合色无码| 可以看h片的免费软件| 亚洲无码视频71| 精品午夜一区二区三区在线观看 | 青青草精品动漫综合网| 少妇沦陷精油按摩中文字幕| 国产亚洲精品久久久美女18黄| 色婷婷视频在线| 日本熟妇浓毛| 天堂网在线观看视频精品| 毛片A级大网站| 成熟女人牲交片免费看| 日韩黄色影片线观看| 日韩欧美—级黄色大片| 欧美成人少妇激情视频112| 又大又粗又硬又爽又黄毛片免费看 | 蜜桃综合色一区二区| 黄色成人网站在线免费看| 糟蹋稚嫩的身体发泄h| 久久久久久99精品三人毛片| 日本丰满白嫩大屁股ass| 综合免费无码中文| 国产在线观看免费人成短视频| 国产高清看av毛片| 亚洲欧美日韩日本| 国语对白露脸正在播放| 久久亚洲?V成人无码动态图| 国产免费观看黄AV片明星| 欧洲熟妇色xxxx欧美老妇图片| 国产私人按摩技师的视频| 日韩免费一区二区三区免费视频道| 免费国产成人一区二区三区| 久久人妻网站| 欧美大香线蕉线伊人| 欧美黄色一级大片| 日本高凊无码不卡av| 色偷偷88歐美精品久久久| 亚洲精品老司机污影院| 人妻少妇 少妇人妻第一页| 激情亚洲的在线观看| 国产AⅤ精品一区二区三区| 久久精品国产电影| 贱母畜的日常生活目标与措施| 欧美视屏手机在线| 亚洲无码av片在线播放| 综合高清欧美乱伦| 國產精品視頻免費的| 好粗好硬好大在线观看视频 | 日韩欧美视频二区国产| 911国产精品无码| 激情六月丁香婷婷四房播| 色YEYE在线视频观看网站| 日韩中美精品中文| 欧美日韩国产综合一| 亚洲精品无遮动漫| 激情五月天婷婷综合婷婷| 四虎影视国产精品永久免费一区 | 综合在线欧美精品第1页| 中文字幕欧美无线码在线观看一片| 国产v亚洲v天堂v无码久久小说| 日本久久精品久久三级片| 淫荡的欧美熟妇| 国产精品小福利九九久一区| 久久人妻精品一区二区三区蜜桃| 婷婷五月天综国产一二区精品| 亚洲国产欧美在线成人观看| 香蕉视频app网站| 波多野结超清无码中文| 扒开粉嫩的小缝伸舌头58集| 我忘记穿内裤同桌摸了我一天| 免费午夜精品视频在线观看| 精品国产91久久久久福利| 亚洲∨a久久久噜噜噜| 草久视频在线观看| 亚洲A视频综合网| 无码不卡中文伊人久久精品| 国产精品无码第三页| 91天天综合网一二三区小说| 99精品在线视频播放| 又色又爽又黄无遮挡的色片| 日本卡2卡3卡4卡5卡精品视频 | 男女嘿咻嘿咻免费专区| 国产91在线网站资源多| 午夜欧美日韩视频| 少妇无码AⅤ波多野结衣| 国产精品人成在线观看麻豆| 国产?V人人夜夜澡人人爽| 婷婷涩涩射射高清网站| 夜鲁夜鲁夜鲁夜综合视频| 成人黄色网站在线播放| 五洲国产精品无码久久| 亚洲精品无遮动漫| 免费无码a∨在线观看爽| 欧美极品在线观看| 免費大片av手機看片不卡| 人妻精品动漫H无码一区二区 | 少妇夜夜爽夜夜春夜夜| 国产高清精品在线| 国产国拍亚洲精品mv| 午夜美女福利在线观看| 伊人久久婷婷亚洲| 亚洲欧美国产激情片| 少妇无码AⅤ波多野结衣| 日韩精品欧美图片免费看| 欧美一区二区视频高清区| 无码99久热只有精品| 亞洲綜合日韓AV無碼毛片| 全免费午夜一级毛片真人| 欧美高清不卡视频| 日韩国产欧美高清在线| 成人性生交大片免费看久久| 黄片在线免费观看jk国产| 久久精品一区二区三区综合看| 免费牲交网 www.五月天| 日韩专砖一区二区三区四区| 精品国产一区二区三区av爱情岛| 在线精品无码一区二区三区| 日韩精品视频集合| 91久久亚洲国产成人综合精品| 日本不卡视频在线| 欧洲美洲亚洲国产综合| 性色生活片在线观看| 老人亚洲A∨综合色区无码桃色| 亚洲日产2020乱码草莓| 亚洲伊人久久综合影院2021| 日本不卡视频高清播放| 成人一区三区| 国产呦系列欧美呦日韩呦| 中国另类丰满熟妇乱XXXXX| 亚洲AV√最新天堂版资源地址在线官网 | 欧洲熟妇色xxxx欧美老妇图片| 日本娇小xxxxhd按摩| 无码毛片免费一区二区| 久久久久成人片免费观看r | 在线视频分类国产中文| 久久www免费人成看片老司机| 日韩欧无码中文字幕| 国产一级毛片在线中出| 日韩免费一区高清欧美人妻精品| 婷婷在线精品国自产拍| 久久免费国产| 亚洲w码欧洲s码免费导航| 亚洲无码自动跳转| 國產av無碼專區亞洲av麻豆丫| 亚洲va久久久久| 蜜桃秘无码一区二区三区四区| 日韩精品网一区二区| 国产免费观看黄AV片明星| 国产精品免费久久久久电影院| 亚洲无码gif动态图| 97午夜理论片在线影院| 美女aa国产嘿嘿| 亚洲视频在线观看一区视频| 无码99久热只有精品| 欧美人人妻人人操| 免费香蕉依人在线视频久| 欧美日韩国产综合一 | ?v在线亚洲欧洲日产一区二区 | 乱輪中文字幕在线观看| 亚洲∨a久久久噜噜噜| 岛国av免费无码网站| 一区二区三区少妇无码| 日本不卡视频高清播放| 刘玥亚洲一区国产| 日韩精品网一区二区| 草莓视频成人app免费| 国产乱人视频在线观看播放1| 久久久久久99精品三人毛片| 亚洲精品尤物视频在线| 女生啊你tm别了免费破解版| 69日本精品成人无码视频| 快色无码免费视频网站| 久久精品国产99精品亚| 在线观看视频一区二区| 高清成人一区二区三区中文字幕| 国产在线一区二区杨幂| 国产无遮挡裸体免费视频欲女高潮 | 国产无遮挡裸体免费视频欲女高潮| 丝袜人妻一区二区| 天天做天天愛天天爽| 国产精品无码电影在线观看未满18周岁 | 一级a爱做片在线观看| 久久久久久亚洲精品6919| 自拍资源在线| 日本卡2卡3卡4卡5卡精品视频 | 亚洲欧洲日产国码?v系列天堂| 日产国产韩国亚洲欧美| 日本在线aⅴ高清不卡| 国产精品卡1卡2卡3网站| 国产亚洲日韩欧美另类第| 日韩A v高潮潮喷无码| 国产精品这里只有精品| 日本午夜福利视| 猛男激情高潮一区二区三区| 五月激情综合婷婷久久| 国产一级 片射精免费看| 成人动漫中文字幕| 足疗店妓女卖婬一区二区| 精品国产成人xxxx| 欧美日韩视频一区二| 日韩在线观看一区| 亚洲专区第一页| 久久亚洲AV无码国产精品福利| 国产人妖cd在线看网站| 久久久久琪琪去精品色无码 | 成人毛A 级免费观看网站| 综合自拍无码高清| 黄片在线免费观看jk国产| 欧美亚洲国产日韩久久| 桥矿影视第2集体检| 成人A级毛片免费观看AV不卡| 久久精品亚洲另类天堂综合| 欧亚AV天堂女人无线在码 | 男人把j8放进女人的p里| 亚洲欧美另类同性| 久久爱免费福利视频在线观看| 久久香蕉超碰97国产精品| 男人边吃奶边摸下面好爽视频| 97久久精品无码视频| 性色AV一区二区无码人妻| 亚洲国产系列久久精品99婷婷| 亚洲欧美日韩看片| 亚洲国产欧美在线看片一国产| 天天操天天射天天插| 超碰国产精品日韩欧美在线第3页 亚洲综合精品国产欧美一区二区 高清无码中文字幕AV高 | 台湾美女强奸片免费看久草| 91尤物国产大尺度福利网| 欧美 亚洲 图片 小说 制服| 人妻少妇 少妇人妻第一页| 中文字幕在线精品视频9| 麻豆免费观看全集在线观看| 国产精品每日更新视频| 熟女人妻丰满熟妇啪啪774| 黄片成人在线免费观看| 乱輪中文字幕在线观看| 亚洲影院丰满少妇中文字幕无码| AI精品视频一区二区三区无码 | 伊人精品无码精品网站| 亚洲v日本v欧美v综合v| 久久精品小电影| 免费无码高潮流白浆视频| 无码丰满熟妇一区二区AV| 亚洲av成人无码久久精品老人| 少妇精品无套内谢无码久久久| 久久毛片精品视频免费观看| 久久www免费人成看片老司机| 亚洲AV无码精品午夜| 2013国产在线看视频| 免费无码3d黄动漫网站| 欧美成人?天堂片在线观看| 自偷自自拍亚洲综合精品| 99啪视频在线观看| 国产精品 码在线观看一区二区| 亚洲人成网站18禁止αⅴ| 人妻精品动漫H无码一区二区| 99啪视频在线观看| av黄色网址免费| 国产乱妇乱子在线播放视频| 2022国产情侣真实露脸在线| 日韩成av人片在线观看| 国产精品十八禁一区二区三区| 美女大尺度人体艺术| 亚洲欧美国产老妇偷窥| 性拆磨bdsm欧美激情另类| 欧美一级日本三级| 日本免费让你爽色网视频| 欧美曰韩极品午夜在线视频| 亚洲成人大片网站| 最新特黄一级网站| 99热2在线热播精品免费最新| 超碰caoporon国产精品2024| 欧美午夜在线视频精品| 91com看片免费在线看| 久热日韩视频免费无码| 国产伦精品一区二区三区免费1| 99在线精品视频97| 超好看国产精品久久久| 中文字幕在线不卡一二三区超清| 欧美一区二区口爆吞精视频 | 国产免费三级现现频在线观看| 大学毛片大学生免费播放| 665566视频网国产| 大地资源网3页在线观看| 2019中文在线视频| 亚洲丝袜制服亚洲另类| 免费全黄无遮挡裸体毛片| 欧美精品亚洲人成在线观看| 亚洲肥熟女一区二区三区| 亚洲国产成人久久精品软件| 午夜久久福利电影院| 日韩午夜精品在线播放| 久久久精品国产妓女| 国产三级免费av| 亚洲无码精品视频一二三区在线观看 | 大地资源免费更新在线视频下载大地中文资源6| 国产馆精品推荐在线观看| 97精品国产综合久久香蕉| yy手机理论国产一级久久| 日韩欧美老司机三级| 96特色免费在线视频| 六年级下面能塞多少根牙签| 伊人久久大香线蕉av仙| 乱輪中文字幕在线观看| 极品黄片免费看| 美女趴跪式从后面进去动态图| 午夜蜜桃视频在线观看| 五月婷婷视频在线| 在线观看视频一区二区| 最新国自产拍在线观看国产| 亚洲高清AV高清乱码乱论| 人人干美女看免费看| 男人进入女人免费视频a毛片 | 精品高朝久久久久9999| 国产精品中出一区二区三区 | 亚洲视频影院| 亚洲毛片中文在线| 女人18毛片水真多免费看| 亚洲大片中文字幕| 爽又猛又粗国产免费国产| 午夜在线视频精品| 国产精品白嫩美女在线| 免费上线看无码片| 国产特级特黄一级毛片| 黄色免费小视频网站| 中文字幕特级黄色片| 图片区视频区小说区综合站| 少妇人妻真实偷人精品| 国产欧美亚洲精品第1页青草| 亚洲精品高清在线视频| 玖玖精品国产黄色电影一本| 永久不卡视频在线| 无套内谢a片毛片免费| 成人精品视频免费久久久| ure—049中文在线播放| 国产精品一区二区三级| 国产高清乱理伦片中文小说| 最近中文字幕mv2018免费看| 超级大爆乳奶牛被调教出奶水| 国产∨亚洲∨日韩∨欧美∨综合在线| 国产美女张开腿让男生桶| 色综合网站AV综合无码综合网| 水野优香亚洲一区二区三区| 亚洲人成在线精品不卡网| 管鲍分拣中心最新章节笔趣阁| 国产在线观看免费人成短视频| 日韩久久综合不卡一区| 免费日韩欧美在线观看| 亚洲精品久久久www小说| 国产精品无码一区二区三去色欲 | 无乱码区1卡2卡三卡网站| 久久久成人黄色片| 牛牛超碰国产| 国产日韩亚洲专区无码| 欧美曰韩极品午夜在线视频| 亚洲国产综合无码一区二区二三区| 美女黄网站色一级毛片| 狠狠cao狠狠ri免费| 欧美 亚洲 图片 小说 制服| 亞洲、日韩中文有码視頻| 成人黄色毛片在线播放| 日本成人精品一区| 婷婷五月综合福利导航在线| 欧美自慰精品一区二区| 2019偷偷狠狠的日日| 激情亚洲的在线观看| 中文字幕国产日韩在线| 亚洲国产日本东京热| 日韩一区二区精品毛片免费不卡 | 国产交换配乱婬视频偷最新章节| 伊人97在线视频观看| 国产电影免费在线看| 欧美性爱一区二区三区四区| 一区=区三区欧美日韩免费| 欧洲a级午夜精品| 一级suv好看的国产网站国产永久免费无遮挡 | 最近韩国日本免费观看MV免费版| 歪歪漫画网站| 国产亚洲精品第一页综合| 99久久久国产精品k影| 成年妇女免费视频色欲| 亚洲人成网站77777在线播放| 真人毛片一级视频96| 亚洲午夜无码影片免费| 国产精品久久免费露出偷窥| 两个人的视频在线观看完整版免费 | 香港曰本韩国三级久久| sea8国产精品视频| 久久www免费人成看片老司机| 四虎成人精品国产一区a| 在线播放蜜桃麻豆精东AV | 亚洲国产日本东京热| 国产精品三区二区| 一区二区三区少妇无码| 午夜a理论片在线播放| 久久精品国产亚洲高清不卡| 久久久精品韩国日本国产| 久久久这里只有免费精品2018| 97超碰免费人妻中文| 极品黄片免费看| 综合高清欧美乱伦| 五月丁香亚洲福利群| 激情婷婷色丁香激情五月| 久久www影院人成免费| 青草久久久国产精品免费| 国产中文字幕永久在线观看| 一区二区中文字幕在线观看| 久久精品免费视频在这里| 欧美日本久久| 女人18毛片水真多免费看| 好吊妞视频988gao免费| 欧美国产色婷婷综合| 欧美成人网站在线观看| 中文字幕欧美无线码在线观看一片| 极品无码一区二区三区| 国产v精品成人免费视频71sao| 一区二区三区四区精品国产| 免费日韩av中文一区在线观看| 欧美大片久久久久| 亚洲 欧美 国产 日韩 精品| 欧美丰满少妇XXXXX高潮女人十八毛片A片久久18 | 久久精品日本免费国产| 女神被啪进深处娇喘在线观看| 欧美高潮喷水在线观看| 国产无码在线观看avv| 97精品国产综合久久香蕉| 欧美aⅴ在线精品在线看| 国产午夜高清在线精品一区免费| 手机免费看片AV永久看片国产日韩| 午夜福利成人久久| 又黄又网站国产| 国产亚洲精品a久久7| 欧美中年熟妇乱子视频| 精品久久久鲁鲁| 四虎在线免费观看视频| 欧美视频 一区二区三区| 在线播放蜜桃麻豆精东AV| 国产精品小福利九九久一区| 免费午夜精品视频在线观看 | 日本亚洲韩中文字幕| 深爱五月婷婷激情四射| 精品高朝久久久久9999| 国产专操老阿视频在线| 亚洲国产成人爱AV网站| 忘穿内裤被同桌摸到爽| 色婷婷在线观看中文字幕国产日韩影院在线 | 影视亚洲自拍日本| 国产专操老阿视频在线| 波多野结衣av不卡| 免費一區二區三區視頻狠狠| 国产骚逼视频| 亚洲一区二区高清在线看| 超碰欧洲无码在线观看| 2019偷偷狠狠的日日| 无码人妻久久久一区二区三区免费精华液| 成年妇女毛片免费看| 精品国产欧美在线一区二区三区 | 日韩精品视频集合| 潮喷大喷水系列无码视频| 国产午夜高清无码视频| 岛国岛国大片手机在线看视频| 欧美一级日本三级| 伊人久久大香线蕉av仙| 国产精品无码电影在线观看未满18周岁| 国产欧美乱视频第598页| 淫色激情综合久久| 伊人久久五月天网| 日韩精品A免费一区二区| 一区二区三区91| 最新欧美国产在线观看| 亚洲污免费精品一二三四| 亚洲av青草久久一区二区| 亚洲欧美日韩色图在线观看| 97精品一区二区视频在线观看| 啪啪视频啊啊啊不要痛| 亚洲嫩草av永久无码精品| 国产av视频免费在线观看| 五月婷婷视频在线| 西西4444www无码国模吧| 一级黄色录像片| 国产熟睡农村乱子伦视频| 粉嫩AV免费一区二区三区| 精品国产成人xxxx| 精品人妻久久久久中文字幕19| 日v视频在线观看| 欧美丰满熟妇乱XXXXX流白浆| 亚洲中文字幕老司机99| 国产亚洲色内内电影网站| 日韩国产二三区精品视频| 亚洲人成网站77777在线播放| 亚洲国产欧美日韩综合在线| 午夜免费av不卡一二三区| 初撮り人妻中文字幕| 国产欧美一区二精品久久久| xunleige无码新入口| 久久久成人黄色片| 欧美亚洲日韩动漫| 激情销魂乳妇奶水小说| 日美韩电影免费看| 偷拍另类校园视频一区综合| 国产按摩高潮a级中文片免费| 看一级免费黄色毛片| 亚洲精品福利中文字幕| 国产r级一区二区三区电影观看| 97福利人妻福利| 日韩一区二区三区四区五区| 影音先锋日韩av| 欧美?级在线现免费观看不卡 | 亚洲国产成人久久精品软件| 国产一级婬乱AV片露脸| 给我看免费播放的片在线观看| 一级黄色电影网络在线观看| 成人黄色网站在线播放| 久久亚洲AV无码国产精品福利| 国产精品一久久香蕉视频 | 乱仑高清免费视频观看AA片| 无码精品人妻一区二区三区芙| 巨胸喷奶水视频无码WWW网 | 丝袜护士白色丝袜网站av| 欧美第一次破苞视频福利视频| 亚洲人成网站18禁止αⅴ| 中国国产xxx免费视频| 国产三级免费av| 免费观看的AV毛片的网站不卡| 免费一级特黄特色大片在线观看一二三四区| 女神被啪进深处娇喘在线观看| 国产熟睡农村乱子伦视频| 成人毛A 级免费观看网站| 免费看真人a一级毛片| 日韩福利写真福利在线观看| 三级在线观看中文国产| 久久综合欧美精品亚洲一区| 欧美一级日本三级| 高h喷水荡肉爽腐男男软件| 在线三级电影中文字幕大全| 好粗好硬好大在线观看视频 | 国人天堂Va在线观看免费 | 自拍欧美亚洲| 五十六十路日本亲近相尾| 国产成人亚洲毛在线观看| 好粗好硬好大在线观看视频| 亚洲视频一区直播视频一区国产精品亚洲 | 我忘记穿内裤同桌摸了我一天| 水野优香亚洲一区二区三区| 污污的网站免费| 色网站人与兽4438| 亚洲两性综合图片视频| 日本不卡精品久久| 最新网址在线观看你懂的| 自拍偷区亚洲综合第一页欧18 | 糟蹋稚嫩的身体发泄h| 国产免费av大片| 免费在线看三毛片| 动漫精品无码h在线观看| 久久999热婷婷欧| 日韩精品久久伊人| 性做久久久久久久久浪潮| 亚洲国产男人的天堂网站| 人妻豐滿熟AV無碼區HD| 國產女人18毛片水真多1| 亚洲自拍偷拍福利视频| 国内精品久久无码蜜桃AV| 久草视频一二三| 惠民福利日韩免费毛片全部不收费 | 青娱视频亚洲免费| 亚洲日韩欧洲日产无码av| 久热日韩视频免费无码| 一区二区无码精品视频在线观看| 日本成人精品一区| 亚洲高清国产日韩精品| 伊人加勒比二三四区| 精品亚洲片子| 丰满少妇在线观看网站| 在线观看一区视频| 太爽了不卡视频在线看| 男人把j8放进女人的p里| 国产最火爆国产免费av观看一二三区网站| 免費一區二區三區視頻狠狠| 一及毛片进入一二区观看视频| 亚洲涩视频久久久中文字幕| 第四日韩AV色播第一页| 色吊丝中文字幕无码专区| 国产一二三区羞羞视频| 超碰首页免费在线观看 | 少妇看A片自慰呻吟| 欧美综合乱图图区乱图图区| 92免费午夜福利1000合集| 黑人大屁股啪啪欧美熟妇| 中文日产无乱码AV在线凹凸| 日韩一级黄片一区二区| 国产精品91一区二区三区| 国产日韩厂亚洲字幕中文| 日韩v欧美V另类蜜桃| 人妻丰满熟妇?v无码区乱| 亚洲中文字无码aⅤ| 國產亞洲精品中文帶字幕21頁 | 欧美黄色一级大片| 最新网址在线观看你懂的| 在线中字亚洲国产| 波多野结衣av无码一区二区三区| 亚洲免费视频一区二区三区在线观看 | 99久久综合精品国产首员无码| 99国产香蕉视频手机版| 久久久久成人片免费观看r| 国产∨亚洲∨天堂a| 国产精品无码一区二区三去色欲| 亚洲人成自拍蜜芽| 国产极品久久久久久| 久久国产精品性欧美| 第一次玩老妇真实经历| 自慰黑人无码精品人妻久久久| 成年妇女毛片免费看| 久久88综合三级亚洲不卡| 欧美亚洲国产专区91在线| 国产在线精品观看| 四虎国产精品视频免费看| 精品欧美福利视频| 欧美性大交大片在线| 人人搡人人爽国产精品| 男男无码av在线播放一区二区三区| 日本人视频Jizz页码69| 情爱视频国产在线观看| 久久国产一区视频| 日本少妇高朝久久久久久| 亚洲欧美国产老妇偷窥| 午夜a理论片在线播放| 一区二区三区亚洲欧洲| 粉嫩av中文一区二区三区| 国产精品黄色在线观看网站| 国产篇一级黄色| 欧美日韩国产成人a免费网| 色偷偷88歐美精品久久久| 日韩一级毛一片欧美一级57| 日韩内精品久久人妻无码HD| 亚洲A视频综合网| 亚洲欧美国产日韩综合| 国产成人精品男人的天堂538| 亚洲美女高潮久久久| 无码人中文字幕在线观看| 性爱黄色一级中国性爱视频| 69久成无码免费视频| 国产日韩精品午夜福利视频| 2022国内精品免费福利视频| 一牛精品视频在线观看免费| 无码一区二三区免费视频观看| 亚洲欧洲成人一区二区三区| 惠民福利国产精品欧美精品国产主播 | 99不卡亚洲精品| MM1313又粗又大受不了| 2020无码专区人妻系列| 一本到高清视频欧美精品| 97国产婷婷综合在线视频| 久久人人人妻人人玩夜色av| 亚洲欧美精品久久久久| 久久精品免费国产麻豆| 亚洲欧洲日产国码?v系列天堂 | 最近2024中文字幕免费看在线 | 无码纯肉视频在线观看喷水| 成人动漫中文字幕| 精品无码一区二区三区在线.| 男男精品视频一区二区| 精品A片久久久久久网一区| 男女性高爱潮免费版| 欧美日韩国产综合一| 少个一夜久久夜网站| 亚洲无码精品视频一二三区在线观看 | 免费香蕉依人在线视频久| 国产精品天天看天天狠妓女| 狠狠cao狠狠ri免费| 牛牛天天人人综合网日韩视频| 亚洲AV色综成人网在线看小说| 精品国产一区二区亚洲人成毛片| 国产极品久久久久久| k频道国产精品丝袜在线导航| 国产无码在线观看avv| 青青草在视线频久久| 男女性高爱潮免费版| 久久久久久国产精品婷婷一区 | 97超碰熟女久久人人| 边摸边吃奶边做动态图| 午夜神器老司机高清无码| 乱輪中文字幕在线观看| 午夜精品一级二级三级| 无码精品人妻在线看| 日本在线aⅴ高清不卡| 日本污片在线观看| 神马影院午夜dy888| 国产精品电影免费观看| 成年禁止18网站永久入口| 乱仑高清免费视频观看AA片| 国产性伦理精品一区二区三区| 亚洲精品福利一区二区在线观看| 呦呦AV 午夜在线精品| 欧美人人妻人人操| 欧美亚洲国产精品电影在线观看 | 亚洲欧美日韩国产一区二区久久久| 亚洲国产一区二区三区四| 99在线视频观看| 精品国产色欲av无码久久久| 国产dvd一道本在线| 亚洲伊人久久综合中文成人网| 玩弄牲欲强老熟女| 国产精品毛片一区二区三区狼牙| 免费无码高潮流白浆视频| 丝袜在线中文字幕| 久久久久成人片免费观看r| 精品国产精品人妻久久无码五月天| 国产av高清无亚洲| 92免费午夜福利1000合集| 亚洲欧美日韩国产综合另类91| 国语AV狠狠色丁香综合久久 | 国产熟妇露脸在线观看| 国产人成高清视频在线观看免费| 亚洲成人av在线高清| 久久免费视频国产| 人妻系列一区二区播放| 麻豆亚洲精品中文字幕一麻| 国语对白露脸正在播放| 无码毛片免费一区二区| 国产黄片一区免费观看| 成人在线观看视频国产| 太爽了不卡视频在线看| 日韩精品一区二区三区在线观看的| AI精品视频一区二区三区无码| 国产一区二区免费视频专区| 国产欧美日韩在线猎奇| 一级伦奷片高潮无码影片免费| 国产爆乳福利资源| 2013国产在线看视频| 97精品国产综合久久香蕉| 网络色综合久久国产精品国产精品国产专区不卡| 欧美视频国产区一区二区| 国内精品久久无码蜜桃AV| 日本三级片免费看精品久久| 免费看又黄又粗又爽的滛片| 国产亚洲中文在线观看| 亚洲αV成人无码精品网站| 亚洲国产长腿白丝袜av天堂| 性色开放美女主播在线直播| 粗大乱h伦亲女的更新时间| 国产中文字幕在线网站| 夜夜高潮夜夜爽精品| 最新网址在线观看你懂的| 人妻系列一区二区播放| 成人男女一级视频| 亚洲制服师生中文字幕| 超级大爆乳奶牛被调教出奶水| 在线播放国产女闺蜜| 亞洲綜合久久1區2區3區| 大肚子疯狂孕交高潮av| 亚洲av 免费在线观看| 亚洲人成自拍蜜芽| 中文字幕不卡二区| 亚洲男同av中文字幕无码| 國產亞洲精品中文帶字幕21頁| 精品国产欧美在线一区二区三区| 亚洲色一色l噜一噜噜噜| 国产福利不卡视频在线| 亚洲日韩精品视频在线免费观看| 亚洲伊人成人| 桥矿影视第2集体检| 午夜福利成人久久| 国产骚逼视频| 日本欧美一级A片在线| 惠民福利探花国产精品三级在线插放| 可以看女生裸体的软件| 日韩综合区中文字幕| 国产极品粉嫩萌白酱白丝| 久久一级片免费看| 无码自慰一区在线| 歐洲人妻豐滿AV無碼久久| 麻豆国产精品污在线| 国产精品亚洲国产在国产成人精品| 欧美日韩2021卡一卡二卡三| 少妇看A片自慰呻吟| 中文字幕日韩乱码第六区| 综合无码久久国产| 免费一级A乱子伧片中文| 精品国产日韩aV在线免费观看| 国产911免费在线观看| 好吊妞视频988gao免费| 欧美激情在线一区二| 亚洲成äv人片天堂网无码 | 亚洲va久久久噜噜噜久久尤物| jizz国产精品大全| 10种把男人爽到嗷嗷叫的姿势| 亚洲A无码4一区二区三区| 免费看又黄又粗又爽的滛片| 久久精品亚洲另类天堂综合| 亚洲免费视频网站| 97精品人妻一区二区三区蜜桃| 欧美男军人同性videosbest| 夜色私人影院永久入口| 欧美日本国产高清| 欧美日韩第一中文字幕精品| 日韩精品在线视频一区二区三区| jizz国产精品大全| 国产一二区在线观看| 国产毛片盗摄视频| 九一精品人妻一区二区三区| 国语AV狠狠色丁香综合久久| 全免费午夜一级毛片真人| 亚洲日韩精品视频在线免费观看| 粉嫩AV一区二区三区| 99久久综合精品国产首员无码 | 久热日韩视频免费无码| 欧美体内she精高潮| 国产r级在线播放| 亚洲视频中文字幕欧美在线| fulao2官网安卓国内载点 | 波多野结超清无码中文| 亚洲欧美日韩日本| 可以看女生裸体的软件| 很污很黄细致多肉小说| 黄色app大全免费下载3.0.3每天华为 | 成人动漫精品一区二区三区| 日本中文字幕乱码系列| 天堂中文在线最新版bt种子下载| 波多野结衣av不卡| 一区二区三区精华液9色| 久久久精品国产亚洲A| 福利姬在线免费观看| 非会员体验60秒试看福利区| 高清自国内久久自| 免费观看99视频| 久久一日本道色综合久久m | 精品国产自产在线| 日本农村人妻中文字幕| 91成人国产视频| 97人妻在线免费观看拥有数百万视频创作者| 亚洲欧美人成人综合在线50p| 久久久久看免费高清特色大片| 欧美国产高清在线不卡| 亚洲日韩熟妇人妻无码精品一区二区| 伊人加勒比二三四区| 国产一区二区免费视频专区| 99免费私人视频| 国产麻花豆剧传媒精品mv| 免费看黄色无码片| 国产在线一区二区杨幂 | 国产爆乳福利资源| 免费成人一区二区| 国产调教自拍亚洲情射a集毛片| 亚洲精品国偷自产91九色| 日本欧美小视频| 青草草产国视频| 国产偷国产偷亚洲高清不卡| 丝袜套j吧裹精榨精白丝袜| 日本三级片免费看精品久久| 成人黄色毛片在线播放| 了解最新国产小视频在线观看www 国产在线视频不卡一区二区三区 97久久碰人妻一区二区三区 | 在線亞洲成人| 国产精产国品欲一区| 久久国产精品一区二区av片| 免費一區二區三區視頻狠狠| 亚洲国产欧美在线看片一国产| 日韩精品欧美图片免费看| 国产高清乱理伦片中文小说| 免费一级日本c片完整版| 天堂av国产夫妇精品自在线| 日韩国产中文字幕不卡视频| 婷婷99狠狠躁天天躁中文字幕| 男人深夜在线观看视频日本三区| 久久www影院人成免费| 啊快点再快点好深视频免费| 人妻av无码专区网| 够了够了已经满c了高c了| 国产高清精品在线| 新国产三级视频在线播放| 亚洲国产日产无码| 成年版毛片免费区| 国产dvd一道本在线| 国产毛片盗摄视频| 欧美精品一级片免费看| 国产电影免费在线看| 亚洲欧美日韩国产一区二区久久久| 欧美在线精品在线| 性色AV一区二区无码人妻| 国产精品一区二区三区免费视频| av片免费国产手机在线精品| 久久精品国内高清一区二区三区| 国产精品乱伦视频线观看| 欧美国产视频| 中文日本国产免费| 日本不卡视频在线| 中文字幕欧美无线码在线观看一片| 亚洲日韩va无码中文字幕| 国产偷国产偷亚洲高清不卡| 无码久久三级少妇| 1314com免费网站免费观看| 亚州一区二区一无码免费视频| 西西4444www大胆无视频| 午夜刺激性免费观看| 又黄又网站国产| 欧美bbwbbw激情高潮| 国产黄片一区免费观看| 午夜在线视频精品| 美女高潮视频无遮挡| 国产老牛视频在线观看网站| 日韩久久综合不卡一区| 国产中年熟妇在线视频| 亚洲综合成人精品| 91精品综合久久久久m3u8| 亚洲三级毛片免费完整视频| 亚洲iaⅴ综合在线欧美一区| 日本高清成人A片一区二区三区| 好男人在线社区www影视捶大师| 一七六九在线视频观看| 亚洲黄网三级片| 日韩国产欧美高清在线| 韩国午夜久久夜理论电影| 日韩欧美亚洲欧美| 免费无码高潮流白浆视频| 国产精品看片在线观看中文 | 国产精sm品综合色区| 日本女优一区二区免费在线观看 | 久久精品国产亚洲A V麻豆网站| 精品久久久成人动漫| 国产又粗又硬又爽视频| 理论片在线看片三免费| 亚洲免费高清日本| 国产老牛视频在线观看网站| 五月在线观看不卡| 欧美亚洲国产精品电影在线观看| 国产AV浪潮资源| 日韩上萬網友分享国产黄色av心得| 国产精品亚洲精品一区| 国产精选下药在线观看| 欧美日韩亚洲免费在线观看| 卡通动漫精品一区二区三区| 免费看内射乌克兰女| 色欲人妻精品无码AⅤ片| 国产v亚洲v天堂v无码久久小说| 天堂俺去俺来也www久久婷婷| 无码a级毛片久久| 在线观看一区视频| 欧美自慰精品一区二区 | 久久久中文字幕擁有海量視頻資源| 久久久久亚洲麻豆| 亚洲精品国产av婷婷| 国产爆乳肉感大码在线视频| 亚洲一区二区高清在线看| 免费又粗又黄又硬又爽网站| 亚洲精品国产电影院| 国产v亚洲v天堂无码| 无码人妻丰满熟妇区毛片| 国产高清毛片一区二区三区| 乱人伦中文无码| 99精品视频国产一区二区三区 | 男人与牛一级毛片免费播放| 欧美亚日韩综合色| 日韩专区亚洲一区| 中文字幕久久精品无码综合网 | 色婷婷视频在线| 国产伦精品一区二区三区图片| 欧美日韩精品成人网站二区A∨| 在线中字亚洲国产| 亚洲中字乱伦一区二区| 国产乱妇乱子在线播放视频| 欧美?级在线现免费观看不卡| 国产精品看片在线观看中文| 免费牲交网 www.五月天| 久久亞洲AV成人網站玖玖| 国产无遮挡裸体免费视频欲女高潮| 久久国产精品成人影院| 国产成人青青草原网站| 无套内谢a片毛片免费| 久久婷婷国产综合色啪app| 日韩欧美黄色特一级片| 人人搡人人爽国产精品| 欧美中年熟妇乱子视频| 偷人精品视频无码国产精品一区| 伊人加勒比二三四区| 极品少妇粉嫩小泬V片可看| 亚洲av 免费在线观看| 夜鲁夜鲁夜鲁夜综合视频| 欧美日韩国产亚洲一区二区图片| 国产高清乱理伦片中文小说| 成人动漫精品一区二区三区| 精品区一区二区三免费视频观看| 国产成人男女在线观看| 国产在线一区二区观| 亚州一区二区一无码免费视频| 美女aa国产嘿嘿| 三上悠亚资源在线观看| 亚洲成人天天| 色偷偷88歐美精品久久久| 2021视频国产在线| 日韩欧美亚洲欧美| α级毛片免费网站| av免费午夜影院| 欧美中文日韩视频亚洲| 日韩专砖一区二区三区四区| SE01短视频午夜精品| 精品国产118久久久久久宅男i| 日本在高清αⅴ不卡| 免费看一级日韩av片| 国产精品亚洲专区无码牛牛在线| 免费无码高潮流白浆视频 | 日韩欧美一区二区东京热資源免費看| 中文视频亚韩字幕观看| 秋霞一区二区三区电影在线| 中文字幕不卡二区| 99国产在线视频mp4| 有没有免费看片的网站| 无码无码专区手机在线观看| 呦呦AV 午夜在线精品| 少女的视频完整版在线观看| 国产篇一级黄色| xxxx日本免费高清视频| 国内精品自线在拍2022不卡| 国产精品无码电影在线观看未满18周岁 | 制服师生欧美日韩一区| 少妇精品无套内谢无码久久久| 一级片成人男人的天堂| 免费观看99视频| 艾草网亚洲AV无码专区国产乱码久久| 亚洲精品天堂无码AV影院| 99精品国产闺蜜国产在线闺蜜| 很污很黄细致多肉小说| 视频一区二区免费国产在线观看| 国产成人无码AV在线播放DVD | 色综合网站AV综合无码综合网| 337p日本欧洲亚洲大胆久久| 最近最新2019中文字幕大全| 九九视频一区二区免费视频| 日本乱伦亚洲综合| 國產盜攝xxxx視頻xxxx| 亚洲最大成人综合网720p| 日韩激情在线| 五月天婷婷网址| 夜鲁夜鲁夜鲁夜综合视频| 国产精品久久久白浆| 久久精品小电影| 啪啪视频啊啊啊不要痛| 国产无毒影院在线观看不卡| 久久88综合三级亚洲不卡| 優質无码专区中文字幕无码| 国产精品成人一二三区| 大屁股丰满人妻无码视频网| 午夜网站黄不卡免费视频高清资源| 国产精品亚洲五色| 国产精品小福利九九久一区| 欧美三级经典电影在线观看| 亚洲国产影院精品| 超好看国产精品久久久| 欧洲亚洲免费视频三区| 日韩在线观看第一区| 国产在线精品观看| 亚洲AV色综成人网在线看小说| 亚洲AV√最新天堂版资源地址在线官网| 精品国产三级a在线看| 天海翼精品一区二区三区| 亚洲精品人成无码| 扒开粉嫩的小缝喷白浆| 福利姬国产精品一区在线观看| 欧洲熟妇色xxxx欧美老妇图片| 国产∨亚洲∨日韩∨欧美∨综合在线 | 激情婷婷色丁香激情五月| 黄片成人在线免费观看| 亚洲色一色l噜一噜噜噜| 东京热男人天堂人妻| 亚洲伊人成人| 在线成人亚洲国产| 亚洲男同av中文字幕无码| 又黄又爽又硬视频| 婷婷97欧美日本一区二区| 一区二区三区少妇无码 | 欧美亚洲国产第一页草草影院| 国产熟妇露脸在线观看| 久久一区二区中文字幕不卡| 亚洲欧美日韩不卡在线一区二区| 一区二区三区少妇无码| 久爱无码精品免费视频麻豆| 一区二区三区精品亚洲| 欧美自慰精品一区二区 | 91亚洲精品在线视频| 国产a级毛免视频| 激情五月天婷婷综合婷婷| 国色天香V天美传媒麻豆| 熟女中文一区66666| 亚洲一区日韩高清中文字幕| 可以看免费黄片的应用| 国产最火爆国产免费av观看一二三区网站 | 欧美人成网址18禁止久久影院| 中国一级大黄大片| 好粗好硬好大在线观看视频| 91欧美精品激情在线观看最新| 亚洲国产精品激情在线观看亚洲最新在线观看 | 麻豆免费观看全集在线观看| 人人草人人爱| 9久9久女女热精品视频在线观看| 久久久无码国产一区二区三区| 国产一级a毛一级a毛片视频黑人| 国产成人情侣对白91| 热国产色天使在线播放| 国产精品午夜福利旡码视频| 熟女人妻丰满熟妇啪啪774| 久久精品视频这里15| 麻豆成人国产在线观看| 黄色网站在线视频| 成年人视频免费在线播放| 国产91在线高清高冷女同事| 免费人成在线观看69式小视频| 男女做羞羞的事视频免费观看无遮挡| 亚洲男女内射在线播放| k频道国产精品丝袜在线导航| 色偷偷人人躁久久超碰97位| 欧美精品久久久久久久自慰| 高清成人一区二区三区中文字幕| 漂亮妈妈免费观看全集| 太爽了不卡视频在线看| 韩国三级久久精品| 亚洲国产午夜精品影片| 日本中文字幕久久婷婷一区二区三区| 一级毛片黄片a级高清| 亚洲欧美在无码片一区二区| 国产精品99精品一区二区三| 欧美亚洲另类纯情视频| 亚洲精品尤物视频在线| 国产日韩亚洲av无码不卡免费看| 人妻系列一区二区播放| 99re在线精品99re8热视频| 亚洲成人午夜一区二区| 国产无码又爽又刺激| 亚洲gay男同志片可播放| 亚洲肉番在线观看| 免费日韩av中文一区在线观看 | 日本大胆一区免费视频| 最新无码视频2022| 欧美性猛交一久二久三久| 老妇高潮潮喷到猛进猛出| 大香蕉视频在线观看| 91青青青国产在线观| 伊人久久精品一区二区三区| 亚洲色在线播放三级片A天堂| 免费观看av中文字幕影片| 在线观看亚洲日本综合| 第一次玩老妇真实经历| 久久精品国内高清一区二区三区 | 免费AV毛片不卡无码免费软件| 亚洲一区二区三区无码AV小说| 成年无码AⅤ片在线观看| 国产成人福利3p在线视频播放| 欧美日韩国产综合一| 激情五月天婷婷综合婷婷| 久久久久久国产精品婷婷一区| av香港经典a毛片AV观看| 国产激情无码一区二区2020| 精品一区二区无码性爱电影| 国产高清在线视频色| 在夫面前被强了中文字幕| 免费真人一级毛片一区二区| 小红帽直播app下载| 天天久久曰曰夜夜爽| 国产伦精品一区二区三区免费1| 97精品人妻无码在线视频| 国产爆乳福利资源| 精品久久久无码中文字幕vr潮喷| 亚洲码国产精品高潮在线| 亚洲视频中文在线| 国产dvd一道本在线| bt天堂在线观看国产| 亚洲精品无遮动漫| 了解最新国产小视频在线观看www| 国产黄片一区免费观看| 亚洲成人av日韩精品一区二区| 美女又黄又免费| 国产v精品成人免费视频71sao| 日韩男男乱婬AAA高清视频| 亚洲欧美日韩不卡在线一区二区| 男生和女生差差2023年大全| 久久精品黄色免费电影一电影| 久久综合国产精品中文字一区二区| 无码中文字幕在线中字| 非会员体验60秒试看福利区 | 糟蹋稚嫩的身体发泄h| 午夜婷综合久久| 全免费午夜一级毛片真人| 日本久久一区二区三区精品| 午夜免费av不卡一二三区| 久久人妻中文字幕公开| 97超碰免费人妻中文| 精品区一区二区三免费视频观看| 精品日韩人妻一区二区欧美| 久久久精品国产亚洲A| 午夜在线视频精品| 久久久久国产精品夜夜夜| 久久深夜福利网| 亚洲欧美日韩国产综合另类91| 91亚洲精品在线视频| 久久久久婷婷国产精品免费| 欧洲a级午夜精品| 2019偷偷狠狠的日日| 欧美精品列表页操你操我视频| 人妻丰满熟妇?v无码区乱| 欧美丰满少妇一区二区| 国产欧美日韩老女人| 大片免费看大片费看大片| 亚洲精品成人中文字幕色欲| 少妇欲求不满和邻居在线播放| 亚洲熟妇av午夜无码不卡| 五月激情综合婷婷久久| 视频一区二区免费国产在线观看| 车子做a爱片在线观看HD| 国产AⅤ精品一区二区三区| 精品午夜福利在线视在亚洲中文字幕第六页 | 国产精品美女美女视频| 97午夜理论片在线影院| 蜜桃av视频一区二区| 10种把男人爽到嗷嗷叫的姿势| 精品国产自产在线| 最新國產精品亞洲二區| 欧美亚洲国产日韩久久| 东京热AV深爱五月天| 国产一级毛片在线中出| 国产日本中文久久| 久久精品无码一区二| 波多野结超清无码中文| 精品无码av专区一区二区三区| 日本在线a级视频免费| 日韩一区二区三区影音先锋| 免费理论无码电影| 琪琪色只有精品| 欧美日韩三区二区一区| 精品久久久无码中文字幕vr潮喷| 中文字幕久久精品无码综合网| 日韩手机在线亚洲| 久爱无码精品免费视频麻豆| fulao2官网安卓国内载点 | 四虎1515hh海外永久免费| 一本到高清视频欧美精品| 久久国产精品亚洲看片| 049亚洲福利视频一区二区| 亚洲无码一区二区三区动漫 | 午夜伦伦电影理论片a片| 激情视频国产一区| 在线观看免费一级无码婬片| 久久久久国产成人精品亚洲午夜Av无码| 一级毛片免费看一级毛片| 在线不卡日本v二区 https| 自慰黑人无码精品人妻久久久 | 手机在线电影福利av| 国产一区二区免费视频专区 | 极品av美女在线观看| 日韩AA无码视频| 亚洲伊人色域综合网| 日韩三级在线中文字暮| 国产成人精品无码片区在线| 成人毛A 级免费观看网站| 成年最大的黄色网97日韩午夜无码| 欧美国产黄色一级| 日韩福利写真福利在线观看| 琪琪综合久久探花国产| 美女十八禁一区二区在线观看| 亚洲一区午夜视频在线观看| 日本中文字幕在线观看| 精品无码不卡影片。| 男男无码av在线播放一区二区三区| 开心五月激情五月俺亚洲| 91精品国产色综合久久成人| 欧美日韩亚洲免费在线观看| 在线观看视频一区二区| 免费观看一区二区三区| 三叶草M欧洲码和天堂区别| 一级毛片视频资源网| 当众高潮潮喷羞耻耻辱调教| 91青青青国产在线观| 国产91无码一本在线无码| 中国一级免费毛片| 日本高清在线中字视频| 亚洲一区午夜视频在线观看| 亚州成人免费电影| 无码久久三级少妇| 又色又爽又黄无遮挡的色片| 国产高清精品在线| 丝袜制服亚洲中文综合| 国产乱叫456另类在线| 色中文字幕aⅴ无码| 亚洲最大成人综合网720p| 国产日韩在线观看视频网站| 图片区视频区小说区综合站| 亚洲天堂av一级| 久久国产劲暴∨内射| 国产精品不卡永久免费| 超清无码中文字幕第一区| 国产乱码精品一区二区粉嫩| 久久久久看免费高清特色大片| 亚洲国产欧美日韩综合高清| 日韩手机在线亚洲| 无码潮喷中文字幕在线视频| 天天干天天搞舔舔搞| 亚洲欧美日韩日本| 网友分享中文无码精品视频在线看心得| 玩弄少妇水多好紧视频| 亚洲欧洲日产国码?v系列天堂 | 一级毛片黄片a级高清| 天天爱天天久久| 高清不卡亚洲日韩av在线 | 秋霞伦理视频在线播放| 非会员体验60秒试看福利区| 亚洲男女内射在线播放| 亚洲欧美日韩图片一区二区不卡| 少妇高潮一区二区三区9| 97在线观看永久免费视频下载| 三级麻豆樱花在线观看视频| 西西4444www大胆无视频| 小红帽直播app下载| 99久久无码一区人妻A片贼王| 日韩欧美亚洲国产V在线| 国产灌醉视频免费观看| 国产精品小福利九九久一区| 亚洲成a人片在线观看国| 2022露脸国产偷人在视频| sea8国产精品视频| 精品久久久性色av一二三区| 亚洲精品国偷自产91九色| 最新特黄一级网站| 青草久久久国产精品免费| 亚洲第一aⅤ在线| 亚洲Aⅴ无码专区在线观看成人| 潮喷失禁大喷水AV无码| 超碰伊人久久在香线蕉| a级国产乱理伦片| 公和我做好爽添奶头韩国| 福利一区福利二区| 午夜限制r级噜噜片一区二区| 久久毛片精品视频免费观看| 免费香蕉依人在线视频久| 亚洲制服师生中文字幕| 免费牲交网 www.五月天| 国产一区二区三区精品一级毛片 | 成人女人爽到高潮的a片| 96特色免费在线视频| 亚洲精品国内成人在线| 女人裸体让男人吃奶视频| 少妇精品无套内谢无码久久久| 2019年中文字幕日韩在线| 国产喷水1区2区3区咪咪爱av| 国产中年熟妇在线视频| 美女十八禁一区二区在线观看| 丁香五月天婷婷缴情五月| 精品一区二区无码性爱电影| 韩国成人漫画羞羞漫画在线观看 | 日美韩电影免费看| 亚洲熟妇av一区| 极品无码一区二区三区| 欧美中文日韩视频亚洲| 在线看片日韩| 欧美成人网站在线观看| 少妇看A片自慰呻吟| 中文天堂最新版www| 大香蕉视频在线观看| 尤物网欧美激情在线| 国产va饥渴难耐女保洁员| 国产一区二区校花| 乳液狂飙网站| 最新加勒比隔壁人妻| 99热这里只有精品亚洲| 欧洲美洲亚洲国产综合| 在线亚洲高清播放一区| 黄片免费观看| 国产在线一区二区观| 日产久久精品| 天天亚洲欧美日韩久久| 超碰青青草手机在线免费观看| 国产精品女同一区二区五区| 天天噜噜噜在线视频| 综合自拍无码高清| 人人妻人人爽97| 又黄又网站国产| 漂亮妈妈免费观看全集| 中文字幕乱视频在线观看| sea8国产精品视频| 欧亚AV天堂女人无线在码| 99不卡亚洲精品| 亚洲另类国产精品无码| 久久精品国产亚洲AV香蕉片| 在线看片一区二区| 日本人妻偷伦中文无码| 另类调教视频| 久久久人妻精品一区二区三区| 在线午夜电影63网导航| 粉嫩AV一区二区三区| 高清成人一区二区三区中文字幕| 亚洲AV无码精品色午夜一区二区| 人妻激情中文字幕| 免费看?Ⅴ毛片一区二区三区| 欧美日韩亚洲精品一区| 亚洲人成网站在小说| 国产篇一级黄色| 欧美办公室丝袜激情在线| 极品少妇粉嫩小泬V片可看| 东京热AV深爱五月天| 无套内谢少妇毛片A片樱花| 亚洲∨a久久久噜噜噜| 丰满少妇一级毛片免费播放器| 亚洲色图一区二区A天堂| 欧美人成网址18禁止久久影院| 色婷婷综合交清中文字幕| 91桃色在线观看网站| 精品午夜一区二区三区在线观看 | 色网色网视频不卡日本CC| 国产一级淫片视频免费看| 在线毛片片免费观看直播| 日本娇小xxxxhd按摩| 好吊妞视频988gao免费| 亚洲久久久久久中文字幕| 男人视频在线播放不卡| 男女做羞羞的事视频免费观看无遮挡| 人人草人人妻| 亚洲精品二区在线播放| 国产美女大黑逼一区二区| 在线观看综合精品自拍| av高清无码免费一区| 日本中文字幕在线观看| 亚洲男同av中文字幕无码| 人妻秘书社长办公室中出无码| 亚洲中文字幕欧美另类| 精品成人欧美伊人艺术freemovie| 精品国产一区二区三区三区 | 欧美偷窥偷拍一区二区| 日本在線有碼中文字幕| 国产乱人视频在线观看播放1| 四虎精品美女国产在线观看| 免费高级毛片AV| 综合精品人妻无码| 无码精品人妻一区二区三区不卡| 成年人视频免费在线播放| 亚洲欧洲日韩无码免费| 一级A片亲子乱中文| 国产精品美女美女视频| 久久久无码国产精品国产片 | 欧美一卡2卡三卡四卡精品| 色婷婷在线观看中文字幕国产日韩影院在线 | 色婷婷六月亚洲6月中文字幕| 欧美大片久久久久| 成人h视频精品一区二区无码网站| 欧美日韩亚洲免费在线观看| 亚洲成人黄色小说| 日本激情八区亚洲| 在线观看av中文字幕网站| 小说乱伦AV电影等| 男男精品视频一区二区| 久久国产精品香蕉成人| 亚洲欧美中文在线一区视频大全| 国产乱叫456另类在线| 国内一级内射视频| 国产精品亚洲国产在国产成人精品| 日本中文在线精品一区| 色吊丝中文字幕无码专区| 国产精品亚洲va在线| 天堂网www中文在线| 亚洲国产手机免费在线| 国产精品久久免费露出偷窥| 国产无码又爽又刺激| 亚洲啪AV永久无码精品放毛| 日本真人无遮挡全集| 日本丰满白嫩大屁股ass| 丝袜人妻一区二区| 国产边打电话边做对白在线| 欧美在线精品国自产拍愿| 精品无码不卡影片。| 中文字幕日本无码日本有人吗| 色情无码永久免费视频网站| 成熟女人牲交片免费看| 国产美女影院| 日产国产韩国亚洲欧美| 精品国产一区二区亚洲人成毛片| 好想做一次第八集最后的歌曲 | 国产成人精品免费视频网站大全| 亚洲欧美偷自拍国综合| 天天影视色香欲综合网址| 惠民福利国产精品欧美精品国产主播| 播放日韩大片日韩大片中文字幕| 日韩成人精品国产无码| 日韩亚洲欧美中文字幕影音先| 白浆一区二区三区| 免费国产成人一区二区三区| 伊人久久五月天网| 精品国产一区二区三区三区| 91精品啪在线观看国产18网站 | 国产午夜麻豆福利综合久久 | 久久久无码国产一区二区三区| 激情六月丁香婷婷四房播 | 成人动漫精品一区二区三区| 2021视频国产在线| 亚洲无码gif动态图| 中文字幕av网av无码免费| 亚洲va久久久噜噜噜久久尤物| 国产精品免费福利网站| 亚洲一区二区三区四区无卡| 午夜a理论片在线播放| 色欲国产成人无码a区在线| 亚洲 欧美在线视| 啊灬啊灬啊灬快灬少妇| 亚洲一区二区三区无码AV小说| 在线精品无码一区二区三区| 日韩激情在线| 亚洲成年在线观看 | 久久免费国产精品电影| 新国产三级视频在线播放| 午夜精品18视频国产 | 国产亚洲中文日韩欧| 欧美高潮喷水在线观看| 啊灬啊灬啊灬快灬少妇| 欧美综合激情| 欧美影院日本日韩| 免费观看日本A一级黄色视频| 欧洲亚洲一区二区在线观看| h番动漫福利在线观看| 无码人中文字幕在线观看| 一本之道高清在线观看| 美女趴跪式从后面进去动态图| 手机看片日韩高清国产欧美| 欧美一级日本三级| 一区二区三区精品亚洲| 巨爆乳中文字幕巨爆区巨爆乳无码| 欧美亚洲国产第一页草草影院| 亚洲人成在线精品不卡网| 欧美办公室丝袜激情在线| 免费男女啪啦啦超猛烈网站 | 在线不卡日本v二区 https| 色多多污18禁网站入口| 久久久久久综合网精品| 国产毛片黄片在线| 精品动漫一区| 免费网禁呦萝资源网视频 | 国产在视频线在精品视频55| 亚洲中文字幕侵犯| 成人爽网成人无码| 国产成人精品无码片区在线| 欧美精品日韩在中文字幕| 久久国产精品在线精品| 美女趴跪式从后面进去动态图| 亚洲精品国偷自产91九色 | 国产精品久久久久久一级毛| 人人妻人人爽97| 国产在线精品91大香蕉| 午夜婷综合久久| 不用播放器免费在线欧美激情| 天天干天天看天天操| 乱人伦中文无码| 高清无码抽插视频| chineseHD一区二区三区| 国产高清在线视频色| 精品无码一区二区三区在线.| 网友自拍高清一区在线视频| 久久久久久噜噜噜久久久精品| 久久只有精品免费观看国产| 欧美z0zo人与劲物在线观看| 免费人成在线观看69式小视频| 樱桃小视频在线观看视频| 小说乱伦AV电影等| 可以看h片的免费软件| 日本免费的中文字幕| 国产精品99精品一区二区三| 日韩欧美亚州综合久久| 无码专区人妻视频在线| 亚洲国产欧美在线看片一国产| 国产dvd一道本在线| 丁香五月婷中字幕| 亚洲精品福利一区二区在线观看 | 四虎精品美女国产在线观看| 国产字幕制服中文在线| 国产大学生灌醉在线观看| 欧美一级特黄99久久| 国产污污女邻居在线看| 国产精品三级欧美三级二区| 成人午夜大香蕉视频在线观看| jizz国产精品大全| 亚洲va久久久噜噜噜久久尤物| 99人中文字幕亚洲区| 久久国产劲暴∨内射| 亚洲欧美日韩精品国产| 久色加勒比七七| 成人A∨电影天堂| 国产寡妇婬乱?毛片视频中文| 国产一二三区羞羞视频| 福利姬国产精品一区在线观看| 中文字幕不卡二区| 国产又爽又黄又无遮挡的激情网站| 无码写真国产在线观看网站免费下载 | 黄色毛片免费观看| 久久人人香蕉超碰97精品| 久久中午系列无码人妻亚洲| 无码自慰一区在线| 尤物亚洲色大成网站www1234| 男人进入女人免费视频a毛片 | 人人爱夜夜爽日日做视频| 人人操人人爱国产| 日韩欧美亚洲欧美| 卡通动漫精品一区二区三区| 久久99国产亚洲精品观看| 久久国产精品亚洲看片| 免费不卡视频在线| 久久人妻网站| 中国一级免费毛片| 好男人神马影院www免费| 麻豆亚洲精品中文字幕一麻| 欧洲日本福利电影免费看| 亚洲国产精品成人藏精阁| 大胸美女18视频黄在线| 青青草在视线频久久| 蘑菇黑料爆料| 日韩性爱av在线播放| 亚洲三级毛片免费完整视频| 欧美性爱一级免费看| 手机在线毛片| 欧美黑人粗大猛烈18p| 亚洲?V无码专区日韩?V毛片| 日韩婷婷台湾| 玩弄牲欲强老熟女| 香蕉视频APP污版| 内射气质御姐视频在线播放| 乱伦综合欧美亚洲| ?v在线亚洲欧洲日产一区二区 | 亚瑟精品欧美久久| 一级伦奷片高潮无码影片免费| 亚洲欧美日韩不卡在线一区二区 | 成人女人爽到高潮的a片| 国内精品自产拍久久久久| 一级a爱做片在线观看| 五月天综合色网视频| 中文字幕 久久久| 白嫩少妇激情无码视频| 国产自在线亚洲精品| 岛国一区二区免费视频| 国产精选下药在线观看| 国产精品这里只有精品| 国产一区二区在线视频你懂的 | 日韩欧美一区二区东京热資源免費看| 成人免费高清在线播放| 亚洲色在线播放三级片A天堂 | 国产欧美一区二精品久久久| 亚洲精品国内成人在线| 亚洲视频中文在线| 成人性生交大片免费看久久| 在线看片一本中心字幕| 亚洲精品久久A片毛片| 岛国av无码免费无网站| 精品午夜一区二区三区在线观看 | 国产专区手机在线播放| 国产在视频线在精品视频55 | www国产成人免费观看的视频 | 色综合久久人妻精品日韩| 无码写真国产在线观看网站免费下载| 国产黄a级三级三级三级看三级| 一级日韩a一级a欧美| 在线视频分类国产中文| 最近最新2019中文字幕大全| 天天干天天看天天操| 午夜丰满少妇性开放视频| 欧美大片久久久久| 人妻噜噜中文字幕| 亚洲成äv人片天堂网无码| 人妻的秘密电影未删减版| 国产精品无码电影在线观看未满18周岁| 国产欧美乱视频第598页| 欧美三级经典电影在线观看| 岛国av免费无码网站| 伊人97在线视频观看| 精品无码一区二区三区久久久| 日韩经典亚洲专区| 国产a级毛片一区| 欧美亚洲一级 片内射亚洲| 国产短丝足视频在线观看| 日本人妻成人高清一区二区三区| 久久國產精品電影| 在线三级电影中文字幕大全| 亚洲欧美日韩国产综合另类91| 欧美牲交a欧美牲交aⅴ免费下载| 亚洲自拍偷拍福利视频| 亚洲精品久久A片毛片| 日本真人无遮挡全集| 精品一区深夜在线观看| 一本色道久久—综合亚州精品| 久久精品国产亚洲av瑜伽| 日韩va亚洲va欧美va清高 | 97精品人妻酒店综合大胆无码| 国产剧麻豆剧果冻传媒星空视频| 色综合网站AV综合无码综合网| 国产精品亚洲va在线| 最近中文字幕mv2018免费看| 国产精品一区二区97最熱門最齊全電影!| 裸体美女洗澡啪啪裸J网站| 成人精品视频免费久久久| 成人精品一区二区三区A片用毒蛇| 男人把j8放进女人的p里| 国内精品自产拍久久久久| 国产丝袜无码精品网址| 偷拍另类校园视频一区综合| 亚洲一区二区观看播放| 日韩AV毛片精品簧片无码| 亚洲国产欧美日韩综合在线| 欧美激情在线一区二| 国产亚洲精品自拍色| 91抖音短视频无限观看| 3d动漫精品专区久久| 久久精品福利婷婷| 久久国产精品成人影院| 乱肉艳妇熟女免费视频| 欧亚av无码电影| 女神被啪进深处娇喘在线观看| 青青青免费完整版在线观看| 亚洲人成人无码WWW电影首页| 亚洲无码一区二区三区动漫| 性做久久久久久久久浪潮| 色鬼外网视频网站www| 国产精品视频线观看26uuu| 管鲍分拣中心最新章节笔趣阁| 85国语中文AAA视频在线WWW| 91亚洲欧美专区| 又大又粗又硬又爽又黄毛片免费看 | 久热精品人妻视频| 玩弄少妇水多好紧视频| 香港曰本韩国三级久久| 日本中文不卡无码视频| 亚洲国产长腿白丝袜av天堂| 又色又大又黄无遮挡网站| 日韩上萬網友分享国产黄色av心得 | 国产精品久久亚洲av| 午夜蜜桃视频在线观看| 亚洲精品久久久www小说| 尤物禁番动漫视频在线观看 | 久久久91精品国产福利91一区二区三区| 高清不卡亚洲日韩av在线| 久久精品看国产免费| 91久久综合免费精品国产| 精品亚洲欧美日韩久久精品| 欧美老熟妇乱子伦A片视频| 自拍欧美亚洲| 国产高清在线免费视频| 五月激情综合婷婷久久| 99九九99九九精品视频| JAPANESE日本少妇的视频| 日本三级电影久久精品| 国产精品亚洲天堂| 国产高清精品在线| 99九九99九九精品视频| 精品青草视频久久| 中文字幕 国产日韩 欧美| 国产超碰人人做人人爽A大片| 东京热AV深爱五月天| 85国语中文AAA视频在线WWW| 韩国精品久久久久无码av| 欧美高清不卡视频| 午夜美女福利在线观看| 91青青青国产在线观| 中文字幕在线不卡一二三区超清| 女人和拘做受A级毛片| 色吊丝中文字幕无码专区| 国产大片md在线观看| 蜜桃蜜臀色欲一区二区在线播放| fulao2官网安卓国内载点| 国产女女另类在线播放| 精品在线一级片无码av| 啊灬啊灬啊灬快灬少妇| 国产喷水1区2区3区咪咪爱av| 国产成人午夜在线观看不卡| 国产精品91一区二区三区| 久久精品国产精品亚洲艾草网| 乌克兰人和猪兽交XⅩX | 中文字幕被公侵犯的漂| 亚洲伊人色域综合网| 婷婷国产片精品视频| 国产黄a二级三级在线观看| 午夜老湿机福利免费观看| 樱桃小视频在线观看视频| 老师张开腿让你桶个够漫画 | 亚洲欧美中文在线一区视频大全| 超碰caoporon国产精品2024| 少妇小莹借种第一章| 中文字幕特级黄色片| 伊人影院综合无码| 日韩欧美亚州综合久久| 亚洲av无码成人精品区网页| 毛片yy6080久久亚洲| 思思久久99热只有频 | 青草草产国视频| 国产精品十八禁一区二区三区| 亚洲精品4k专区第22页| 激情视频在线观看黄免费| 911国产精品无码| 国产中文字幕版在线观看| 亚洲 欧美 国产 日韩 精品| 水多多成人A片在线观看播放| 日本在高清αⅴ不卡| 亚洲欧美成人AⅤ在线专区| 亚洲国产精品脚交在线| 女同在线观看免费网站| 亚洲日本欧美中文中韩| 成长av影片观看网站| bt天堂在线观看国产| 无码一二三四婷婷| 国人天堂Va在线观看免费| 日韩va亚洲va欧美va清高| 内射人妻无码| 在线国产黄色网址| 午夜神器老司机高清无码| 伊人久久婷婷亚洲| 日日干狠狠干| 公和我做好爽添奶头韩国| 国产高清精品在线| 99精品视频国产一区二区三区| 国产亚洲中文在线观看| 精品国产一二三四区| 亚洲色一色l噜一噜噜噜| 五月丁香久久激情综合中文字幕| 最近中文字幕mv2018免费看| 一区二区三区少妇无码 | 国产精品中文字幕欧美激情| 超级导航性导航免费视频| 少妇高潮一区二区三区9| 91嫩草丨国产丨精品入口| 国产精品私拍亚洲美女视频一区 | 又黄又爽又硬视频| 免费一级特黄特色大片在线观看一二三四区| 成年禁止18网站永久入口| 青青草原免费在线| 好吊操视频在这星| 小雨去医院面试体检被老医生| 久久国产一区视频| 影音先锋天堂| 免费高清自慰一区二区三区| 日韩欧美在线网址| 91亚洲精品免费| 亚洲精品尤物视频在线| 国产一区二区在线|播放| 久久精品免费少妇高潮特黄| 国产丝袜无码精品网址| 国产熟女伦一区二区| 亚洲综合无码少妇30p| 成人动漫中文字幕| 永久免费午夜福利视频| 69久久福利窝窝网| 中文天堂最新版www| 国产精品白嫩美女在线| 黄版快手免费观看网站| 国产美女大黑逼一区二区| 日本少妇高朝久久久久久| 亚洲精品国内成人在线| 神馬影院午夜倫理片| 99久久综合精品国产首员无码| 日韩国产中文字幕不卡视频| 有没有免费看片的网站| 青娱视频亚洲免费| 大肚子疯狂孕交高潮av| 亚洲一久久久久久久久久| 欧美丰满少妇XXXXX高潮女人十八毛片A片久久18 | 85国语中文AAA视频在线WWW| 足疗店妓女卖婬一区二区| 亚洲欧美日本在线一区| 人妻无码免费中文字幕视频| 亚洲AV日韩AV高潮喷无码久久| 国精产品一品二品三品| 欧美巨大极度另类| 国产亚洲综合另类第一页| 日韩一级欧美一级视| 久久免费国产| 人妻精品动漫H无码一区二区| 久久精品日本免费国产| 久久青青草原亚洲AⅤ无码麻豆| 毛片yy6080久久亚洲| 免费网站美女被男人桶电影| 日本高清成人A片一区二区三区| 最新国产一区二区三区在线观看| 蝌蚪窝一个释放的麻豆精品国产好吊妞 | 免费看撕开奶罩揉吮奶头视频| 欧美一级特黄大片色视频| 成人在线精品国产| 日本一区二区不卡视频| 少妇夜夜爽夜夜春夜夜| 在线看国产三级片| 最近的2024免费中文字幕 | 日本插曲的痛的30分钟欢迎您| 男女高潮激烈免费观看中文| a毛片免费全部播放完整版| 中文字幕无码视频第1页| 日韩精品一区二区三区在线观看的| Aⅴ免费男人的天堂2018| 国产综合久综合在线播放| 超碰亚洲AV日韩| 人成视频免费在线观看不卡| 亚洲AV无码乱码系列一区| 女人和拘做受A级毛片| 欧美曰韩极品午夜在线视频| 日韩无码高潮喷| 丰满少妇一级毛片免费播放器| 国产精品v欧美精品v韩精品v| 91嫩草丨国产丨精品入口| 欧美亚洲国产第一页草草影院 | 国产激情免费在线| 了解最新国产小视频在线观看www| 天堂在线观看视频精品店| 国产?V人人夜夜澡人人爽| 超碰伊人久久在香线蕉| 国产成人色插网| 久久精品女人天堂?v麻豆| 一区二区日韩高清自拍中文字幕| 无码毛片免费一区二区| 黄色欧美日韩在线视频| 日本色网网站免费| 国产亚洲综合99久久系列| 亚洲欧美影视大全爱情片免费观看全集高清 | 亚洲欧美国产日本系列| 日韩综合区中文字幕| 男人把j8放进女人的p里| 婷婷六月丁香午夜爱爱| 免费看内射乌克兰女| 第四日韩AV色播第一页| 国产精品小福利九九久一区| 久久亚洲?V成人无码动态图 | 中文字幕av网av无码免费| 人成视频免费在线观看不卡| 一本色道heyzO人妻天码| 少妇精品无套内谢无码久久久| 亚洲欧洲成人一区二区三区| 国产精品免费久久久久电影院| 99re在线亚洲国产精品| 99精品免费视频在线| 一级全黄少妇性色生片| 人妻的秘密电影未删减版| 日韩免费一区二区三区免费视频道| 049亚洲福利视频一区二区| 国产一区二区校花| 成人毛片100部免费看| 精品A片久久久久久网一区| 久久美女免费视频| 国产农村av免费看片| 国产精品成人一二三区| 精品视频在线观看一区二区三区 | 网络色综合久久国产精品国产精品国产专区不卡 | 成品网站w灬源码1688伊在| 书房吸乳抑制低吟1V1| 国产免费观看黄AV片明星| 潮喷大喷水系列无码视频| 亚洲国产天堂在线mv网站| 免费中文字字幕在线中文乱码| 一及毛片进入一二区观看视频| 卡通动漫精品一区二区三区| 日韩欧洲国产亚洲中文| 免费一级国产大片| 国产私拍精品视频福利推出| 国产另类TS人妖一区二区擁有海量影視資源 | 99热2在线热播精品免费最新| 精品三级综合欧美| 久久久人妻精品一区二区三区| 粉嫩AV免费一区二区三区 | 10种把男人爽到嗷嗷叫的姿势| 久久久中文字幕擁有海量視頻資源| 精品国产乱码久久久久久日本公司| 日韩人成亚洲欧美日韩国产成人| 欧美三级 欧美一级| 日韩精品久久伊人| 337p日本欧洲亚洲大胆久久| 欧美日本一二精品在线视频| 国产电影在线观看三级| 日韩一级A片在线视频| 五月天婷婷网址| 亚洲精品日韩欧美一区二区三区| 真人毛片一级视频96| 99久热只有精品视频在线17| 人妻噜噜中文字幕| 91欧美精品激情在线观看最新| 国产欧美日韩老女人| 久久无码人妻影院| 国产一级 片射精免费看| 日本中文字幕乱码系列| 欧美中文日韩视频亚洲| 国产欧洲av网站| 日本娇小xxxxhd按摩| 女人18毛片水真多特级毛片| 曰本道一区二区无码视频| 国产精品国产亚洲区久久| 性歐美牲交xxxxx視頻| 日韩欧美亚洲欧美| 国内精品久久无码蜜桃AV| 国产在线美女福利观看网| 狠狠色狠狠综合久久| 亚洲熟妇av午夜无码不卡| 国产∨亚洲∨日韩∨欧美∨综合在线 | 日韩欧美亚洲欧美| 国产精品三级欧美三级二区 | 国产中文字幕永久在线观看| 99九九99九九精品视频| 久久网中文字幕精品| av高清国产精品久久| 亚洲精品久久久www小说| 国产成人亚洲精品资源| 免費大片av手機看片不卡| 99re在线亚洲国产精品| 不卡av一区二区中文字幕| 在夫面前被强了中文字幕| 国产精品小福利九九久一区| 欧美激情中文字幕乱码免费| 国产无码又爽又刺激| 伊人影视在线观看日韩区 | 97精品人妻无码在线视频| 亚洲综合色丁香亚洲天天做夜夜做天天欢人人 | 无码AV无码免费一区二区| 亚洲综合色无码| 欧美性爱一级免费看| 高潮抽搐冒白浆视频美女| 一本一道色欲综合网在线观看 | 性色生活片在线观看| 1024国产精品免费观看| 国产成人家庭av| 国产盗摄在线| 小红帽直播app下载| 蜜桃视频18在线观看| a毛片免费全部播放完整版| 欧美日韩第一中文字幕精品| 国产亚洲AV片a区二区| 无码精品a∨在线观看不卡| 亚洲无码性爱视频专区在线| 蜜桃综合色一区二区| 91青青青国产在线观| 亚洲AV成人片色在线高潮| 国产亚洲精品aaaaaaa片| 美洲男人天堂AV综合青青草原| 岛国一区二区免费视频| 在线看国产三级片| 国产免费午夜成人网站| 自慰黑人无码精品人妻久久久| 欧美另类视频亚州| 日本亚洲韩中文字幕| 日韩人成亚洲欧美日韩国产成人| 亚洲精品天堂无码AV影院 | 中国一级免费毛片| 免费观看av中文字幕影片| 97福利人妻福利| 久久精品日本免费国产| 久久精品一区二区三区综合看| 骚妹子高清优播Av在线播放| 福利姬液液酱喷水网站在线观看| 美女又黄又免费| 国产3d动漫精品在线观看| 三级av一区二区三区中文字幕| 欧美亚洲国产专区91在线| 丁香亚州综合色婷婷国产激情| 欧洲最新精品视频在线观看| 韩国成人漫画羞羞漫画在线观看| 日韩欧美亚洲国产V在线| 最好看免费的视频| 国产伦一区二区三区视频涩爱| 英语课代表趴下跟我做作文| 国产熟睡农村乱子伦视频| 大陆国语对白国产av片| 国产亚洲中文日韩欧| 欧美 图片区一区二区| 国产精品一区二区97最熱門最齊全電影!| 青青草原免费在线| 新婚夜被交换做3次| 分腿吊起来抽打中间的视频| 日产国产韩国亚洲欧美| 国内精品 第1页| 免费中文字字幕在线中文乱码| 中文天堂最新版www| 综合自拍无码高清| 久久久久亚洲麻豆| 黑人大屁股啪啪欧美熟妇| 欧美性爱亚洲| 91香蕉视频污污版| 免费的在线免费看av| 榴莲网站在线观看| 久久久这里只有免费精品2018| 无码精品人妻一区二区三区不卡| 啪啪视频一区二区三区| 成全午夜视频在线观看| 中文日本国产免费| 极品少妇粉嫩小泬V片可看| 成人黄色片在线免费看| 日本免费让你爽色网视频| a级国产乱理伦片| 国产欧美一区二精品久久久| av成人国产在线| 欧美香蕉爽爽人人爽观看| 亚洲黄网三级片| 黑料正能量永不迷路| 日本一区二区不卡视频| 国产精品毛片一区二区三区狼牙 | 日v视频在线观看| 精品区一区二区三免费视频观看 | 免费在线国产精品电影| 无码精品久久久久久人妻中字电影| 狠狠cao狠狠ri免费| 午夜a理论片在线播放| 性一交一乱一伦视频免费| 黄版快手免费观看网站| 欧美视屏手机在线| 亚洲二区av伦理电影| 福利在线观看免费高清完整版| 免费毛片完整在线观看| 新婚夜被交换做3次| 插插亚洲插精品一区| 又粗又长又硬又爽国产| 国产水蜜桃视频在线观看| 新欧美精品一区二区三区在线观看| 亚洲AV无码乱码系列一区| 国产高清精品在线一区| 黄色免费观看网站| 久久伊人中文字幕色综合| 在线观看欧美一区二区三区| 国产成人毛片在线视频| 午夜精品18视频国产| 曰本道一区二区无码视频| 國產亞洲精品中文帶字幕21頁| XXXX内射美国老太太| 五月天综合色网视频| 国产无套高潮在线观看| 野狼社区久久社区| 国产精品成人一二三区| 少妇无码AⅤ波多野结衣| 国产精品无码电影在线观看未满18周岁 | 福利視頻在線一區二區| 99热这里只有精品亚洲| 成年免费观看亚洲欧美精品| 久久国产观看精品3| 博雅和榜一大哥斗地主| 被两个男摁住玩弄尿孔的视频| 国产网红主播精品福利大秀专区| 亚洲一区二区三区乱码密臀aⅤ| 亚洲AV无码精品午夜 | 可以看女生裸体的软件| 性歐美牲交xxxxx視頻| 自拍欧美亚洲| 国产网红主播精品福利大秀专区| 精品国产一区二区亚洲人成毛片| 午夜日本网站在线观看| 亚洲国产日韩?在线播放| 熟女人妻丰满熟妇啪啪774| 欧美一级欧美三级在线观看。| 草莓视频在线观看免费视频下载| 在线电影亚洲欧美国产| 欧美性爱再线免费观看| 亚洲成a人v影院色老汉影| 国产乱妇乱子在线播放视频| 一级毛片免费看一级毛片| 国产美女久久com| 亚洲国产成人久久综合一区露| 男生屁股眼扒开给女人看| 免费无码?V片在线观看国产| H无码动漫在线观看不卡视频| 岛国a香蕉片不卡在线观看| 国产性爱福利小视频| 日韩?毛片免费全部播放完整| 少妇看A片自慰呻吟| 亚洲国产成人久久综合一区露| 偷人精品视频无码国产精品一区| 国产欧美日韩在线猎奇 | hs网站在线观看| 亚洲欧洲久久精品久久| 国内精品午夜久久久久影院| a天堂最新版中文在线下载| 日本在线aⅴ高清不卡| 国产精品卡1卡2卡3网站| 精品国产一区性色浪潮好看| 欧美亚洲一级 片内射亚洲| 骚妹子高清优播Av在线播放| 超级大爆乳奶牛被调教出奶水| 日本免费让你爽色网视频| 国产v亚洲v天堂v无码久久小说| 伊人影院综合无码| 欧美性xxxx极品高清hd| 国产成人亚洲精品资源| 2020无码专区人妻系列| 久热精品人妻视频| 99久久综合精品国产首员无码 | 午夜a理论片在线播放| 大鸡吧操jk美女小骚逼| 蝌蚪窝一个释放的麻豆精品国产好吊妞| 999高清无吗在线观看| 乱伦中文精品三级| 神马午夜亚洲| 博雅和榜一大哥斗地主| 国产精产国品欲一区| 国产福利一区二区久久大全| 性拆磨bdsm欧美激情另类| 很污很黄细致多肉小说| 在线观看高清视频bbixx| 成品网站w灬源码1688伊在| 爽爽影院在线免费观赏| 精品动漫一区| 日本免费的中文字幕| 亚洲视频中文字幕欧美在线| 国产无遮挡免费观看视频软件| av无码字幕精品网| 久久久久激情视频免费观看 | 成人国产欧美精品一区| 午夜久久福利电影院| 无码人妻丰满熟妇区毛片| 国产亚洲精品综合久久久久| 伊人影院综合无码| 污污的网站免费| 国产mv日韩一区二区三区| 天津熟妇无码专区| 免费亚洲精品无人区在线观看 | 国内精品自产拍久久久久| 国产欧洲av网站| 在线中字亚洲国产| 人妻健身房yin乱| 国产大学生灌醉在线观看| 日本人妻成人高清一区二区三区| 色网色网视频不卡日本CC| 国产精品一区二区97最熱門最齊全電影!| 伊人亚洲欧美一区| 亚洲综合蜜臀Av在线中文字幕| 女人18毛片水真多特级毛片 | 啊快点再快点好深视频免费| 国产乱妇乱子在线播放视频 | 欧美高潮喷水在线观看| jizzon国产免费手机版安装| 亚洲在玩有码中文字幕| 国产精品国内自产拍| 少妇人妻激情乱人伦| 亚洲高清av不卡| 日韩欧美国产18| 极品黄片免费看| 偷人精品视频无码国产精品一区| 久久婷婷激情综合久久| 亚洲毛片αV日韩αV无码| 国产又色又爽无遮挡| 粗大乱h伦亲女的更新时间| 高清无码抽插视频| 东京热男人天堂人妻| 亚洲天堂2020av在线| 美女十八禁一区二区在线观看| 天堂网www中文在线| 美女大尺度人体艺术| 精品高清欧美日韩一区| 中文字幕日本无码日本有人吗| 在线观看高清视频bbixx| 国产精品亚洲精品一区| 国内精品久久无码蜜桃AV| 91桃色在线观看网站| 午夜a级理论片在线播放| av黄色网址免费| 丝袜诱惑精品国产| 高潮抽搐冒白浆视频美女| 国产人成高清视频在线观看免费 | 日韩国产中文字幕不卡视频| 午夜特级一级毛片| 日韩精品人妻免费看| 亚洲无码 一区二区三区 波多野结衣| 丁香激情五月少妇A天堂| 99在线视频观看| 亚洲黄网三级片| 亚洲无码专区在线观看免费| 欧美日韩国产成人a免费网| 欧洲美洲亚洲国产综合| 欧美性xxxx极品高清hd| 私拍av免费在线观看| 2019年中文字幕日韩在线| 最新网址在线观看你懂的| 成人免费无码h在线观看不卡| 成年禁止18网站永久入口| 国内精品国产三级国产a久久| 香蕉视频app网站| 丰满人妻久久中文字幕| 狠狠色伊人久久精品综合网tv| 天津熟妇无码专区| 中文字幕特级黄色片| 超碰caoporon国产精品2024| jizzon国产免费手机版安装| 日本三级片免费看精品久久| 国产成人毛片在线视频| 国产女女另类在线播放| 欧美日本国产高清| 国产日韩亚洲专区无码| 粗大乱h伦亲女的更新时间| 在线观看国产丝袜一区二区三区| 欧美精品一产区二产区| 国产午夜精品一区二区在线观看| 国产精品狼友视频第一页| 国产欧美日韩在线1| 黑人大屁股啪啪欧美熟妇| 又大又粗又硬的免费视频| 草莓视频18成禁人视频免费 | 无码中字高清亚洲无码| 日韩欧美一区图片小说| 把伸进女人的www软件| 成人A级毛片免费观看AV不卡| 人妻秘书社长办公室中出无码| 啊灬啊灬啊灬快灬少妇| 日本xxxxx片免费观看喷水| 亚洲第一aⅤ在线| 成人做爰100部片是合法的吗| 国产亚洲色内内电影网站| 久久伊人中文字幕色综合| 最近韩国日本免费观看MV免费版| 85国语中文AAA视频在线WWW| 国产美女精品久久久久久| 影音先锋日韩av| 中文字幕av网av无码免费| 日韩一区二区三区四区高清不卡免费观看 | 欧美日韩国产另类激情一区| 亚洲一区二区三区无码AV小说| 欧洲最新精品视频在线观看| 日日干狠狠干| 一级毛片视频资源网| 国产av激情综合| 激情视频在线观看黄免费| 国产成人综合手机在线播放| 日韩国产中文字幕不卡视频 | 秋霞一区二区三区电影在线| 久久精品九九热精品无码| 老湿机69福利区成人| 宅男噜噜噜666在线观看| 国产一区二区三区精品一级毛片 | 欧美一级A一级A爰片免费免免| 亚洲欧美影视大全爱情片免费观看全集高清 | 亚洲中字乱伦一区二区| 国产又大又爽又黄的视频网站| 欧美bbwbbw激情高潮| 日韩视频一级中文字幕不卡 | 亚洲无码一区二区三区动漫| 日本少妇高朝久久久久久| 91国内精品久久久久| 久久国产精品亚洲人一区二区三区| 久久精品女人天堂?v麻豆| av免费午夜影院| 午夜亚洲国产理论片2023| 日美韩电影免费看| 小红帽直播app下载| 2013国产在线看视频| 国产精品久久亚洲av| 日韩一级A片在线视频| 久久精品女人天堂?v麻豆| 国产成人精品男人的天堂538| 天天插天天狠天天透| 亚洲最大激情中文字幕| 亚洲国产黄色电影| 日韩精品视频集合| 国产精品成人一二三区| 亚洲成人av福利免费观看| chinese东北体育生自慰| 久久精品成人无码观看| 伊人久久五月天网| 日本在线亚洲二区涩涩王国| 人妻av一区在线| 一级片成人男人的天堂| a毛片中文字幕视频| 日韩AⅤ精品国内在线| 亚洲国产影院精品| 久久精品免费视频在这里| 美日韩制服中文字幕视频在线| 亚洲色在线观看综合| 国产精品成人啪精久久| 久热青青青在线视频精品| 国产精sm品综合色区| 男生和女生差差2023年大全| 欧美极品少妇XXXXⅩ| 小红帽直播app下载| 国产寡妇婬乱?毛片视频中文| 啊灬啊灬啊灬快灬少妇 | 久久国产1区a级毛片| 亚洲欧美日韩不卡在线一区二区| 影音先锋日韩av| 啊灬啊灬啊灬快灬少妇| 欧美久久久噜噜噜久久88| 日本中文不卡无码视频| 亚洲婷婷综合色| 亚洲色图欧美日韩在线观看| 久久伊人av麻豆网| 亚洲av青草久久一区二区| 99久久性爱视频| 给我看免费播放的片在线观看| 欧美日韩午夜福利网站| 国产аv天堂最新版在线 网| 国产喷水1区2区3区咪咪爱av| 欧美freese黑又粗又大| 色综合网站AV综合无码综合网| 国产又爽又黄又无遮挡的激情网站| 免费观看人成午夜免费入口| 日韩内精品久久人妻无码HD| 欧美又粗又大XXXXBBBB疯| 亚洲免费视频一区二区三区在线观看 | 伊人大香国产动漫观看| 内射人妻无码| 人人爽天天碰狠狠添天天躁| 欧美va欧美va欧美精品| 色多多污18禁网站入口| 宅男噜噜噜666在线观看| 99re在线亚洲国产精品| 久久久人妻精品一区二区三区| 国产馆精品推荐在线观看| av成人国产在线| 很污很黄细致多肉小说| 最新秋霞欧美视频在线观看| 日本xxxxx片免费观看喷水| 免费观看99视频| 7777影院免费观看电视剧| 思思久久99热只有频| 久久国产劲暴∨内射| 高清成人一区二区三区中文字幕| 亚洲伊人色成人网| 中文字幕日本无码日本有人吗| 好男人好资源神马在线观看| 中文字幕av网av无码免费| 在线中文字幕精品视频| 丰满年轻岳欲乱中文字幕| 国产明星福利资源在线| 婷婷涩涩射射高清网站| 日本福利视频午夜污| 国产日韩亚洲av无码不卡免费看| 私拍av免费在线观看| 欧美日韩2021卡一卡二卡三| 自拍区偷拍区亚洲免费综合 | 精产国品一二三区www| 9久9久女女热精品视频在线观看 | 在线看片一区二区| 尤物禁番动漫视频在线观看 | 天天爱天天久久| 亚洲中文字幕久久无码一级| 高潮抽搐冒白浆视频美女| 国产精品99精品一区二区三| 日韩无码高潮喷| 2019偷偷狠狠的日日| 妻子当着丈夫的面给别人好吗| 午夜免费av不卡一二三区 | 老师张开腿让你桶个够漫画| 欧美三级片黄色网址看看日逼网| 日韩无码电影视频播放| 久久88综合三级亚洲不卡| 国产中文字幕版在线观看| 国产精品白嫩初高生免费视频| 人妻放荡乱绿帽h文| 亚洲AV无码精品色午夜一区二区| 成人精品一区二区三区A片用毒蛇 欧美亚洲综合日韩精品区 | 亚洲A无码4一区二区三区| 色吊丝中文字幕无码专区| 青娱乐手机在线观看视频| 午夜网站黄不卡免费视频高清资源| 久久内射天天玩天天懂色| 99视屏免费观看| 日韩欧美国产区在线| 黑人大屁股啪啪欧美熟妇| xxxx日本免费高清视频| 日韩综合区中文字幕| 欧美日韩一区精品人妻视频| 欧美日韩亚洲精品一区| 亚洲国产AV综合一区二区| 日韩中文字幕在线网| 波多野结衣AⅤ视频| 最近2024中文字幕免费看在线| 天海翼精品一区二区三区| 665566视频网国产| 一级毛片久久毛片| 欧美日韩精品成人网站二区A∨| 欧美丰满少妇XXXXX高潮女人十八毛片A片久久18 | 日产国产韩国亚洲欧美| 不卡视频日本偷拍| 日韩一区二区三区影音先锋| 日本韩国欧美亚洲不卡| 亚洲愉拍自拍另类天堂中国肥老太BBBWBBWW免费播放| 中文字幕人妻在线视频分类| 黄版快手免费观看网站| 日麻批100种方式| 青青草原免费在线| 精品国产av第三页| 亚洲成人av日韩精品一区二区| 国产精品久久免费露出偷窥| 国产精品h视频| 乱仑高清免费视频观看AA片| 2021无码视频中文字幕在线| 99久久精品国产系列| 好男人神马影院www免费| 最新加勒比隔壁人妻| 久久国产一区视频| 自拍偷拍视频一区二区| 9久9久女女热精品视频在线观看| 亚洲国产成人精品刺激内射白浆|