在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Wio LTE的寵物物流安全衛(wèi)士設計案例

柴火創(chuàng)客空間 ? 來源:柴火創(chuàng)客空間 ? 2024-11-12 09:46 ? 次閱讀

今天小編給大家?guī)淼氖莵碜阅鞲绲腗aker Victor Altamirano為了解決寵物寄送過程中可能遇到的安全問題,而制作的“Follow My Paws”項目,該項目可以在遠程實時向用戶發(fā)送寵物航空倉的各種信息。

材料清單

硬件:

SeeedStudioWioLTE

物聯(lián)網(wǎng)SIM

適用于英特爾 Edison 的 Seeed Studio Grove 入門套件 plus

DHT11溫濕度傳感器

軟件:

arduinoIDE

SORACOM Funnel

Amazon Web Services AWS IoT

Amazon Web Services AWS Lambda

Amazon Web Services AWS SNS

Amazon Web Services AWS S3

背景

Follow My Paws:

有時我們需要通過包裹服務發(fā)送寵物。我們怎么能確保他們出現(xiàn)意外時即使處理呢?。因此,主要問題是:寵物在物流寄送服務中運輸時會出現(xiàn)意外情況。但是通常又不得不使用該服務,我們怎么能確保他們在任何時候都沒事呢?

解決方案

我將制作一個完整的物聯(lián)網(wǎng)解決方案來監(jiān)控寵物的環(huán)境,以確保它們在整個旅程中的健康。所有這些都與云平臺集成,該平臺除了實時顯示包裹的狀態(tài)外,還以固定的頻率發(fā)送通知。

目前的監(jiān)控解決方案僅限于無生命的包裝,這使得對寵物的連續(xù)監(jiān)控成為一種新奇事物。它很有用,因為多虧了這個系統(tǒng),寵物主人可以 100% 確定他們的寵物會很好,并且可以在整個旅程中監(jiān)控和跟蹤它們。

硬件介紹

要將傳感器連接到 WIO,傳感器必須具有 Grove 型輸入,如以下鏈接中所示的輸入。

https://www.seeedstudio.com/catalogsearch/result/index/?cat=890&q=Grove

對于這個項目,我已經(jīng)有了“Grove Starter Kit Plus”包,如下圖所示。

內(nèi)容:

41d7bdde-905a-11ef-a511-92fbcf53809c.jpg

建立的連接如下:

41f9e058-905a-11ef-a511-92fbcf53809c.png

Grove 軟件包中包含的加速度計在連接到 WIO 時沒有問題,因為它已經(jīng)有了它的 Grove 適配器,我不得不破解它是 DHT,因為我們沒有 Grove 的 DHT。

加速度計 Grove 版本:

422195b2-905a-11ef-a511-92fbcf53809c.jpg

DHT No-Grove 版本:

42540632-905a-11ef-a511-92fbcf53809c.jpg

以下是將模塊連接到 grove 電纜的方法:

429d1f52-905a-11ef-a511-92fbcf53809c.jpg

Wio設置

我們將通過將SIM卡連接到適當?shù)牟宀壑衼頊蕚鋀IO LTE。

42d1da58-905a-11ef-a511-92fbcf53809c.jpg

找到SIM卡的插槽后,將SIM卡插入插槽(是的,保護您的IMEI和其他數(shù)據(jù))。

42faf640-905a-11ef-a511-92fbcf53809c.jpg

一旦卡完全插入,就會看到這一點。

4333c0ba-905a-11ef-a511-92fbcf53809c.jpg

由于我們在WIO LTE中安裝了SIM卡,因此我們將天線連接到下圖所示的插槽。

435b5cb0-905a-11ef-a511-92fbcf53809c.jpg

完成此操作后,我們將準備好將模塊與Arduino IDE一起使用。

Wio Arduino設置:

這是在Arduino IDE上安裝WIO LTE的官方指南。非常清晰簡潔,強烈建議試用它。

https://github.com/Seeed-Studio/Wio_LTE_Arduino_Library

Arduino軟件在Github上。

Soracom平臺設置:

檢查您的SIM卡是否已經(jīng)連接到一個組非常重要,就我而言,我稱之為Harvest Group。

438716a2-905a-11ef-a511-92fbcf53809c.jpg

如果我們沒有創(chuàng)建組,我們將創(chuàng)建一個組,如下圖所示,如果我們不這樣做,我們將無法執(zhí)行 AWS IoT 配置。

43b2ac7c-905a-11ef-a511-92fbcf53809c.jpg

自從創(chuàng)建了小組以來,就我而言,我們通過按“Harvest Group”進入小組菜單,一旦進入,我們將看到以下內(nèi)容。

43d4aafc-905a-11ef-a511-92fbcf53809c.jpg

在組菜單中,我們將輸入選項“SORACOM Funnel”,此選項將允許我們訪問與AWS服務的連接,所有憑證將在稍后的AWS配置中獲得,因此請勿關閉此選項卡(請遵循)。

43f69ae0-905a-11ef-a511-92fbcf53809c.jpg

AWS IoT 設置

要與 AWS IoT 通信,我們需要在 IAM 控制臺中創(chuàng)建一個角色,以便授權(quán) Soracom 訪問我們的控制臺。

第一步是創(chuàng)建一個允許我們與 AWS 通信的角色。

4426d340-905a-11ef-a511-92fbcf53809c.jpg

在角色配置中,我們需要授予對 AWS IoT 的訪問權(quán)限。

444462a2-905a-11ef-a511-92fbcf53809c.jpg

在這里,我們可以看到可以與此角色一起使用的服務,在本例中,此策略只是一個示例。注意:如果您不確定要獲取角色的策略,請選擇策略 (AWSIoTFullAccess)。

446f8162-905a-11ef-a511-92fbcf53809c.jpg

我們給新角色起了個名字。

44967dc6-905a-11ef-a511-92fbcf53809c.jpg

我們進入 AWS IoT 控制臺并轉(zhuǎn)到“設置”部分。

44bf788e-905a-11ef-a511-92fbcf53809c.jpg

進入“設置”部分后,我們將復制“端點”,這將在 Soracom 控制臺選項卡中使用。

下一步是在 AWS IoT 和其他 AWS 服務(如 Lambda、SNS 和 DynamoDB)之間創(chuàng)建連接。因此,為此,我們必須創(chuàng)建一個“規(guī)則”,該規(guī)則將用于在此服務和上述服務之間建立橋梁。

44eab490-905a-11ef-a511-92fbcf53809c.jpg

一旦我們有了規(guī)則,我們將如圖所示對其進行配置。

450949c8-905a-11ef-a511-92fbcf53809c.jpg

在此選項卡中,我們將配置數(shù)據(jù)到達后要激活的 lambda(在完成配置其他服務之前不要關閉)

452fa3de-905a-11ef-a511-92fbcf53809c.jpg

AWS Lambda 設置

我們創(chuàng)建一個 Lambda,如屏幕上所示(它非常直觀,應該沒有問題)。

45589a0a-905a-11ef-a511-92fbcf53809c.jpg

lambda 應該以這種方式看待,使用 lambda 的原因是因為我們需要處理從模塊獲取的數(shù)據(jù),以通過消息和我們的 Web 平臺給出響應(執(zhí)行此過程 2 次,因為我們將配置 2 個 lambda 以連接到 SNS 和 DynamoDB 的服務)

458ab648-905a-11ef-a511-92fbcf53809c.jpg

第一個 Lambda SNS 服務:

這是向 SNS 發(fā)送通知的代碼,稍后將在 SNS 配置中獲取 TopicARN。

console.log('Loading function'); // Load the AWS SDK var AWS = require("aws-sdk"); // Set up the code to call when the Lambda function is invoked exports.handler = (event, context, callback) => { // Load the message passed into the Lambda function into a JSON object var eventText = JSON.parse(JSON.stringify(event, null, 2)); // Log a message to the console; you can view this text in the Monitoring tab in the Lambda console or in the CloudWatch Logs console // Create a string, extracting the click type and serial number from the message sent by the AWS IoT button // Write the string to the console var temp=parseInt(eventText.temperature) var acc=parseInt(eventText.accelerometer) var moi=parseInt(eventText.moisture) var air=parseInt(eventText.air) var id=eventText.ID var myarray=[0,0,0,0] if(temp<15) { myarray[0]=4 } else if(temp >= 15 && temp < 18) { myarray[0]=3 } else if(temp >= 18 && temp < 19) { myarray[0]=2 } else if(temp >= 21 && temp < 24) { myarray[0]=1 } else if(temp >= 24 && temp < 26) { myarray[0]=2 } else if(temp >= 26 && temp < 28) { myarray[0]=3 } else if(temp >= 28) { myarray[0]=4 } temp=temp*1.8+32 if(acc<3) { myarray[1]=1 } else if(acc >= 3 && acc < 6) { myarray[1]=2 } else if(acc >= 6 && acc < 10) { myarray[1]=3 } else if(acc >= 10) { myarray[1]=4 } if(moi<20) { myarray[3]=4 } else if(moi >= 20 && moi < 30) { myarray[3]=3 } else if(moi >= 30 && moi < 40) { myarray[3]=2 } else if(moi >= 40 && moi < 50) { myarray[3]=1 } else if(moi >= 50 && moi < 65) { myarray[3]=2 } else if(moi >= 65 && moi < 80) { myarray[3]=3 } else if(moi >= 80) { myarray[3]=4 } air=0.5 * (temp + 61.0 + ((temp-68.0)*1.2) + (moi*0.094)) if(air<90) { myarray[2]=1 } else if(air >= 90 && air < 102) { myarray[2]=2 } else if(air >= 102 && air < 122) { myarray[2]=3 } else if(air >= 122) { myarray[2]=4 } var mess=""; if(myarray[3]==1 || myarray[2]==1 || myarray[1]==1 || myarray[0]==1) { mess="Your dog goes in perfect travel conditions" } if(myarray[3]==2 || myarray[2]==2 || myarray[1]==2 || myarray[0]==2) { mess="Your dog is in good condition" } if(myarray[3]==3 || myarray[2]==3 || myarray[1]==3 || myarray[0]==3) { mess="Your dog is fine but the travel conditions are not the best." } if(myarray[3]==4 || myarray[2]==4 || myarray[1]==4 || myarray[0]==4) { mess="Your dog is fine but travel conditions should improve" } // Create an SNS object var sns = new AWS.SNS(); console.log("Received event:",JSON.stringify(myarray, null, 2),air); var params = { Message: mess, TopicArn: "YOURSNSENDPOINT" }; sns.publish(params, context.done); };

第二個 Lambda DynamoDB 服務:

這是將數(shù)據(jù)發(fā)送到 DynamoDB 的代碼。

console.log('Loading function'); var AWS = require("aws-sdk"); exports.handler = (event, context, callback) => { var eventText = JSON.parse(JSON.stringify(event, null, 2)); var temp=parseInt(eventText.temperature) var acc=parseInt(eventText.accelerometer) var moi=parseInt(eventText.moisture) var air=0 var id=eventText.ID var myarray=[0,0,0,0] if(temp<15) { myarray[0]=4 } else if(temp >= 15 && temp < 18) { myarray[0]=3 } else if(temp >= 18 && temp < 19) { myarray[0]=2 } else if(temp >= 21 && temp < 24) { myarray[0]=1 } else if(temp >= 24 && temp < 26) { myarray[0]=2 } else if(temp >= 26 && temp < 28) { myarray[0]=3 } else if(temp >= 28) { myarray[0]=4 } temp=temp*1.8+32 if(acc<3) { myarray[1]=1 } else if(acc >= 3 && acc < 6) { myarray[1]=2 } else if(acc >= 6 && acc < 10) { myarray[1]=3 } else if(acc >= 10) { myarray[1]=4 } if(moi<20) { myarray[3]=4 } else if(moi >= 20 && moi < 30) { myarray[3]=3 } else if(moi >= 30 && moi < 40) { myarray[3]=2 } else if(moi >= 40 && moi < 50) { myarray[3]=1 } else if(moi >= 50 && moi < 65) { myarray[3]=2 } else if(moi >= 65 && moi < 80) { myarray[3]=3 } else if(moi >= 80) { myarray[3]=4 } air=0.5 * (temp + 61.0 + ((temp-68.0)*1.2) + (moi*0.094)) if(air<90) { myarray[2]=1 } else if(air >= 90 && air < 102) { myarray[2]=2 } else if(air >= 102 && air < 122) { myarray[2]=3 } else if(air >= 122) { myarray[2]=4 } // Set the region AWS.config.update({region: 'ap-northeast-1'}); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'}); var params = { TableName: 'FMPtemp', Item: { 'ID' : {S: id}, 'Array' : {S: JSON.stringify(myarray, null, 2)} } }; // Call DynamoDB to add the item to the table ddb.putItem(params, function(err, data) {if (err) {} else {}}); };

AWSSNS設置

在SNS服務中,我們創(chuàng)建了一個主題

45a94752-905a-11ef-a511-92fbcf53809c.jpg

在 SNS 服務中,我們創(chuàng)建了一個主題。

45c554f6-905a-11ef-a511-92fbcf53809c.jpg

由于我們創(chuàng)建了主題,因此我們可以在希望通知到達的位置創(chuàng)建訂閱。

45ecefac-905a-11ef-a511-92fbcf53809c.jpg

這是我們可以發(fā)送通知的所有方面的一個示例。

460b8cbe-905a-11ef-a511-92fbcf53809c.jpg

為您的第一個 Lambda 保存此 ARN:

462c2122-905a-11ef-a511-92fbcf53809c.jpg

AWS DynamoDB 設置:

對于這個項目和我們的 WEB 實現(xiàn),我們需要在 DynamoDB 中創(chuàng)建 2 個表,因為一個表將用作數(shù)據(jù)存儲,另一個表將用于可以在 WEB 平臺中使用的臨時變量。

對于此步驟,僅創(chuàng)建了兩個表,如圖所示:

46556c08-905a-11ef-a511-92fbcf53809c.jpg

WEB界面設置

Web 平臺可能看起來很簡單,但它在與 AWS 交互的方式上有一個非常有趣的實現(xiàn)。

使用網(wǎng)頁時最大的問題之一是具有臨時變量,因為每次更新頁面時,我們都會丟失變量存儲的所有信息,但是在我的實現(xiàn)中,我直接從 DynamoDB 中提取數(shù)據(jù),這要歸功于提供 AWS 的 javascript 開發(fā)工具包,因此我可以將信息存儲在數(shù)據(jù)庫中, 如上圖所示,在名為“FMP”的數(shù)據(jù)庫中,并保存臨時變量和快速訪問,以便部署和更新網(wǎng)頁“FMPtemp”。

在顯示網(wǎng)頁時,調(diào)用FMPtemp數(shù)據(jù)庫實時獲取寵物的狀態(tài),并根據(jù)我們的算法確定寵物的一般狀態(tài),將通過顏色通知,如下圖所示。

467c9bfc-905a-11ef-a511-92fbcf53809c.jpg

每圖標代表以下內(nèi)容:

溫度:環(huán)境溫度

加速度:最大加速度

空氣Q:空氣質(zhì)量

濕潤:空氣濕氣

顏色范圍:

46ab553c-905a-11ef-a511-92fbcf53809c.jpg

空氣質(zhì)量是使用以下公式計算的,使用簡化版本來計算空氣的露點,根據(jù)書籍,它必須小于 90:

空氣 Q=0.5 * (溫度 + 61.0 + ((溫度-68.0)1.2) + (濕潤0.094))

最終產(chǎn)品

我們將溫度傳感器組裝在外殼中。

42540632-905a-11ef-a511-92fbcf53809c.jpg

422195b2-905a-11ef-a511-92fbcf53809c.jpg

471dc6a8-905a-11ef-a511-92fbcf53809c.jpg

47493d7e-905a-11ef-a511-92fbcf53809c.jpg

476c6646-905a-11ef-a511-92fbcf53809c.jpg

47975b58-905a-11ef-a511-92fbcf53809c.jpg

---end---

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • LTE
    LTE
    +關注

    關注

    15

    文章

    1364

    瀏覽量

    178688
  • SIM卡
    +關注

    關注

    6

    文章

    288

    瀏覽量

    29331
  • DHT11
    +關注

    關注

    19

    文章

    277

    瀏覽量

    58140

原文標題:創(chuàng)客項目秀|基于 Wio LTE的寵物物流安全衛(wèi)士

文章出處:【微信號:ChaiHuoMakerSpace,微信公眾號:柴火創(chuàng)客空間】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    [原創(chuàng)]求高級騙子當師傅!共同對抗貸款安全衛(wèi)士的攻擊!

    一直以來我就靠騙人衛(wèi)生,最近卻被易貸中國貸款安全衛(wèi)士給曝光了,靠,氣死我了!易貸中國拿現(xiàn)金獎勵那些舉報貸款騙子,和推薦朋友舉報貸款騙子的人,真實吃飽了沒事干!這不是跟我們這些靠這行為生的人做對么?特在此,開此帖,求高級騙術專家,收我做徒弟,我要騙光別人的錢財!拜師!
    發(fā)表于 05-18 17:16

    【云智易申請】家庭安全衛(wèi)士

    申請理由:作為整個項目的主控制板!項目描述:便 攜式安全衛(wèi)士是一套便捷的安防系統(tǒng)。本套系統(tǒng)主要有五大子系統(tǒng)構(gòu)成,分別為主控制系統(tǒng)、安防便貼系統(tǒng)、GSM遠程控制與報警系統(tǒng)、WiFi圖像采集系統(tǒng)以
    發(fā)表于 07-31 15:23

    近電防觸碰報警器,給工作人員安排了一位“安全衛(wèi)士

    發(fā)生。近電防觸碰報警器的使用,無非是給工作人員安排了一位“安全衛(wèi)士”。解決了觸電方面的顧慮,在施工的過程中,工程人員不用再承擔太多的壓力,工作效率也將有所提升。 -END-
    發(fā)表于 10-27 14:30

    360安全衛(wèi)士5.0綠色版免費下載

    360安全衛(wèi)士是由奇虎公司推出的完全免費的安全類上網(wǎng)輔助工具軟件,它擁有查殺流行木馬、清理惡評及系統(tǒng)插件,管理應用軟件,卡巴斯基殺毒,系統(tǒng)實時保護,修復
    發(fā)表于 12-10 16:24 ?0次下載
    360<b class='flag-5'>安全衛(wèi)士</b>5.0綠色版免費下載

    360安全衛(wèi)士7.7下載_官網(wǎng)最新

    360安全衛(wèi)士是當前功能最強、效果最好、最受用戶歡迎的上網(wǎng)必備安全軟件。由于使用方便,用戶口碑好,目前4.2億中國網(wǎng)民中,首選安裝360的
    發(fā)表于 03-12 21:11 ?39次下載
    360<b class='flag-5'>安全衛(wèi)士</b>7.7下載_官網(wǎng)最新

    360安全衛(wèi)士v7.5 Beta版

    親愛的廣大360用戶,360安全衛(wèi)士7.5beta版發(fā)布功能及改進說明如下: 【網(wǎng)盾】 1、新增下載云安全保護功能,全面支持360安全瀏覽器、IE瀏覽器、迅雷、QQ旋風、網(wǎng)際
    發(fā)表于 09-02 09:32 ?0次下載

    AVR單片機居家安全衛(wèi)士系統(tǒng)軟硬件架構(gòu)分析

    1.設計方案目標: 智能居家安全衛(wèi)士系統(tǒng)是利用先進的計算機技術、綜合布線技術、依照人體工程學原理,融合個性需求,將與家居生活有關的各個子系統(tǒng)有機地結(jié)合在一起,實現(xiàn)以人為本的全新家居生活體驗。高性能
    發(fā)表于 10-16 15:48 ?0次下載
    AVR單片機居家<b class='flag-5'>安全衛(wèi)士</b>系統(tǒng)軟硬件架構(gòu)分析

    汽車安全衛(wèi)士,包括酒精檢測,疲勞檢測,空氣質(zhì)量檢測

    1.1 引言 本方案基于Atmel Studio 5及AVR平臺,設計一個融合酒精檢測、疲勞檢測和車內(nèi)空氣質(zhì)量檢測為一體的汽車安全衛(wèi)士系統(tǒng),通過對駕駛員呼出氣體的酒精濃度檢測判斷是否允許啟動汽車
    發(fā)表于 11-20 15:53 ?4次下載
    汽車<b class='flag-5'>安全衛(wèi)士</b>,包括酒精檢測,疲勞檢測,空氣質(zhì)量檢測

    360安全衛(wèi)士宣布,區(qū)塊鏈平臺EOS的一系列存在高危安全漏洞

    360安全衛(wèi)士發(fā)文宣布公司Vulcan(伏爾甘)團隊發(fā)現(xiàn)了區(qū)塊鏈平臺EOS的一系列高危安全漏洞。
    發(fā)表于 06-25 17:30 ?891次閱讀

    使用Wio終端擴展Arduboy

    電子發(fā)燒友網(wǎng)站提供《使用Wio終端擴展Arduboy.zip》資料免費下載
    發(fā)表于 11-03 09:24 ?0次下載
    使用<b class='flag-5'>Wio</b>終端擴展Arduboy

    WAYON維安保險絲-便攜式電子設備的“安全衛(wèi)士”!

    便攜式電子設備的“安全衛(wèi)士”!WAYON維安保險絲:貼著用,很放心
    的頭像 發(fā)表于 01-06 13:01 ?1642次閱讀
    WAYON維安保險絲-便攜式電子設備的“<b class='flag-5'>安全衛(wèi)士</b>”!

    千方鯤巢·安全衛(wèi)士守護每一個“三無”路口、路段的交通安全

    為了你的安全 守護“三無”路口、路段的安全怎能少了我 千方鯤巢·安全衛(wèi)士 ? 來看看“鬼探頭”最害怕的我有哪些絕招 絕招1:聲光字預警 道路安全守護神 擁有黃閃警示燈/紅藍閃燈、語音
    的頭像 發(fā)表于 08-15 09:08 ?1219次閱讀

    電梯智能安全衛(wèi)士,為安全出行保駕護航

    電梯智能安全衛(wèi)士應運而生。它不僅解決了傳統(tǒng)電梯管理存在的問題,還為電梯的安全運行提供了強有力的保障。
    的頭像 發(fā)表于 10-17 10:29 ?629次閱讀

    辦公樓園區(qū)雙屏電梯安全衛(wèi)士:守護高效與安全的智慧新篇章

    在現(xiàn)代化的辦公樓園區(qū)中,電梯不僅是連接不同樓層的交通工具,更是衡量樓宇智能化水平的重要標尺。隨著科技的飛速發(fā)展,雙屏電梯安全衛(wèi)士作為一種創(chuàng)新的安全管理系統(tǒng),正逐步成為辦公樓園區(qū)的新標配,為日常辦公生活帶來前所未有的便捷與安全。
    的頭像 發(fā)表于 10-09 10:30 ?427次閱讀

    GNSS位移監(jiān)測站:橋梁、大壩等大型工程的安全衛(wèi)士

    GNSS位移監(jiān)測站確實是橋梁、大壩等大型工程的安全衛(wèi)士 ?。它們通過全球?qū)Ш叫l(wèi)星系統(tǒng)(如GPS、GLONASS、Galileo和BeiDou等)接收信號,計算出監(jiān)測點的三維坐標信息,包括經(jīng)度、緯度
    的頭像 發(fā)表于 01-03 09:13 ?297次閱讀
    主站蜘蛛池模板: 男男污肉高h坐便器调教 | 亚洲视频黄 | 欧美三级第一页 | 国产精品一区二区三区免费视频 | 国产毛片农村妇女aa板 | 午夜激情婷婷 | 在线观看一级片 | 婷婷97狠狠的狠狠的爱 | 国产成人精品高清在线 | 永久黄网站色视频免费 | 天堂网在线www资源网 | 男男浪荡性受高hnp肉 | 拍拍拍交性免费视频 | 韩国午夜精品理论片西瓜 | 久久精品美女久久 | 我把美女日出白浆 | 三区在线观看 | 日本黄色美女网站 | 欧美一区二区三区成人看不卡 | 欧美一区二区三区四区在线观看 | 看全黄大片狐狸视频在线观看 | 国产看午夜精品理论片 | 在线看视频你懂的 | 亚洲精品aaa揭晓 | 色牛网 | 国产美女一级片 | 深夜动态福利gif进出粗暴 | 在线免费色 | 精品久久看 | 成人欧美一区二区三区视频不卡 | 免费免费啪视频视频观看 | 性欧美视频在线观看 | 日韩高清性爽一级毛片免费 | 国产精品久久免费观看 | 一级黄色毛毛片 | 美日韩一区二区 | 欧美一级日韩一级亚洲一级 | 久久男人的天堂色偷偷 | 香蕉视频黄色片 | 日本黄色绿像 | 国产网站黄 |