久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

工業(yè)互聯(lián)網(wǎng)平臺協(xié)議體系:OPC UA、Modbus、MQTT從原理到部署

工業(yè)互聯(lián)網(wǎng)平臺協(xié)議體系:OPC UA、Modbus、MQTT從原理到部署 工業(yè)現(xiàn)場的設(shè)備五花八門PLC、變頻器、電表、傳感器各說各話想把它們的數(shù)據(jù)統(tǒng)一收上來繞不開協(xié)議這一關(guān)。我做了七八年工業(yè)數(shù)據(jù)采集和平臺對接從最早的串口輪詢到現(xiàn)在的邊緣網(wǎng)關(guān)云平臺踩過的坑基本都和協(xié)議選型、報文解析、連接穩(wěn)定性有關(guān)。這篇內(nèi)容圍繞工業(yè)互聯(lián)網(wǎng)平臺的協(xié)議體系展開把OPC UA、Modbus、MQTT這三條主線從底層原理到實際部署講透同時補充設(shè)備接入、邊緣計算、數(shù)據(jù)上云這條鏈路上真正會遇到的問題。不管你是剛接觸工業(yè)數(shù)據(jù)采集的工程師還是正在做平臺選型和協(xié)議適配的開發(fā)者都能從中找到可以直接參考的操作思路和避坑經(jīng)驗。1. 工業(yè)協(xié)議體系的整體分層邏輯1.1 從現(xiàn)場設(shè)備到云端平臺的數(shù)據(jù)鏈路工業(yè)互聯(lián)網(wǎng)平臺的協(xié)議體系不是單一協(xié)議能覆蓋的它本質(zhì)上是一條從物理層到應(yīng)用層的完整數(shù)據(jù)鏈路。最底層是現(xiàn)場設(shè)備層PLC、儀表、驅(qū)動器通過RS485、RS232、以太網(wǎng)等物理接口對外暴露數(shù)據(jù)往上一層是現(xiàn)場總線與工業(yè)以太網(wǎng)層Modbus RTU、Modbus TCP、Profibus、Profinet、EtherCAT等協(xié)議在這一層完成設(shè)備間的數(shù)據(jù)交換再往上是邊緣計算層網(wǎng)關(guān)或工控機通過OPC UA、Modbus TCP等協(xié)議采集數(shù)據(jù)做協(xié)議轉(zhuǎn)換和邊緣預(yù)處理最上層是平臺層MQTT、HTTP、AMQP等協(xié)議負(fù)責(zé)把數(shù)據(jù)從邊緣推到云端完成存儲、分析和應(yīng)用集成。這條鏈路里每一層解決的問題不同?,F(xiàn)場層關(guān)心的是能不能讀到邊緣層關(guān)心的是讀得穩(wěn)不穩(wěn)、格式統(tǒng)不統(tǒng)一平臺層關(guān)心的是傳得可靠不可靠、能不能支撐大規(guī)模并發(fā)。很多項目出問題不是某一層協(xié)議選錯了而是層與層之間的銜接沒做好。比如用Modbus RTU采集上來的數(shù)據(jù)直接往MQTT上扔不做數(shù)據(jù)模型映射到了平臺側(cè)就會發(fā)現(xiàn)不同設(shè)備同樣的物理量命名五花八門根本沒法統(tǒng)一分析。我見過一個典型的案例一個工廠要做能耗監(jiān)測現(xiàn)場有幾十臺電表支持Modbus RTU輸出。項目組一開始想省事用串口服務(wù)器把RS485轉(zhuǎn)成TCP然后直接在平臺側(cè)寫腳本輪詢。結(jié)果設(shè)備一多輪詢周期從5秒拖到30秒數(shù)據(jù)實時性完全沒法看。后來改成邊緣網(wǎng)關(guān)做本地采集網(wǎng)關(guān)內(nèi)部用Modbus RTU輪詢采集完做數(shù)據(jù)清洗和緩存再通過MQTT按主題發(fā)布到平臺整體延遲降到了2秒以內(nèi)。這個案例說明協(xié)議體系的分層設(shè)計不是理論上的事它直接決定了系統(tǒng)的實時性和可擴展性。1.2 三類協(xié)議各自解決的核心問題把工業(yè)互聯(lián)網(wǎng)平臺涉及的協(xié)議做個歸類大致可以分成三類現(xiàn)場設(shè)備通信協(xié)議、設(shè)備信息建模協(xié)議、消息傳輸協(xié)議。這三類協(xié)議解決的問題完全不同混在一起談容易亂?,F(xiàn)場設(shè)備通信協(xié)議的代表是Modbus系列。Modbus RTU跑在串口上Modbus TCP跑在以太網(wǎng)上它們的核心作用是讀寫寄存器。Modbus的模型非常簡單設(shè)備就是一堆寄存器的集合主站發(fā)請求從站響應(yīng)功能碼決定是讀還是寫寄存器地址決定操作哪個數(shù)據(jù)。這種簡單性讓Modbus活了四十多年還在用但它的缺點也很明顯——沒有數(shù)據(jù)類型定義沒有語義描述一個寄存器里放的是溫度還是壓力全靠文檔約定。設(shè)備信息建模協(xié)議的代表是OPC UA。OPC UA不只是通信協(xié)議它更是一套信息模型框架。它定義了地址空間、節(jié)點、引用、類型系統(tǒng)設(shè)備可以用標(biāo)準(zhǔn)化的方式描述自己有什么數(shù)據(jù)、數(shù)據(jù)是什么類型、數(shù)據(jù)之間什么關(guān)系。OPC UA的野心是讓不同廠商的設(shè)備在信息層面實現(xiàn)互操作而不是僅僅在字節(jié)層面能通。這也是為什么OPC UA在高端裝備、數(shù)控機床、機器人這些領(lǐng)域越來越普及。消息傳輸協(xié)議的代表是MQTT。MQTT是發(fā)布/訂閱模型設(shè)備作為客戶端把消息發(fā)布到Broker上的某個主題其他客戶端訂閱這個主題就能收到消息。MQTT的設(shè)計目標(biāo)是低帶寬、高延遲、不可靠網(wǎng)絡(luò)環(huán)境下的消息傳輸它的QoS機制、遺囑消息、保留消息這些特性都是為工業(yè)物聯(lián)網(wǎng)場景量身定做的。MQTT不關(guān)心消息內(nèi)容是什么它只負(fù)責(zé)把消息從A點搬到B點所以它天然適合做平臺側(cè)的數(shù)據(jù)接入?yún)f(xié)議。這三類協(xié)議在實際項目里往往是組合使用的。一個典型的架構(gòu)是現(xiàn)場設(shè)備用Modbus RTU或Modbus TCP對外提供數(shù)據(jù)邊緣網(wǎng)關(guān)用OPC UA客戶端或Modbus主站采集數(shù)據(jù)網(wǎng)關(guān)內(nèi)部做協(xié)議轉(zhuǎn)換和信息建模然后通過MQTT把數(shù)據(jù)發(fā)布到云平臺。這個組合里Modbus解決讀得到OPC UA解決讀得懂MQTT解決傳得遠。1.3 協(xié)議選型時最容易犯的三個錯誤第一個錯誤是唯協(xié)議論。有些團隊覺得選了OPC UA就萬事大吉所有設(shè)備都必須支持OPC UA不支持的就換設(shè)備。實際上OPC UA的部署成本不低老設(shè)備改造要么加OPC UA服務(wù)器模塊要么在網(wǎng)關(guān)側(cè)做協(xié)議轉(zhuǎn)換前者成本高后者需要額外開發(fā)。更務(wù)實的做法是分層處理新設(shè)備優(yōu)先選原生支持OPC UA的老設(shè)備通過網(wǎng)關(guān)做Modbus到OPC UA的映射平臺側(cè)統(tǒng)一用OPC UA信息模型做數(shù)據(jù)組織。第二個錯誤是忽略實時性要求。Modbus RTU在9600波特率下讀10個寄存器大概需要50到100毫秒如果一條RS485總線上掛20個從站輪詢一圈就要1到2秒。有些場景對實時性要求高比如運動控制、安全聯(lián)鎖這種場景下Modbus RTU根本不適合需要考慮Profinet、EtherCAT這類實時以太網(wǎng)協(xié)議。選型前一定要把實時性指標(biāo)量化是秒級、百毫秒級還是毫秒級不同量級對應(yīng)的協(xié)議方案完全不同。第三個錯誤是MQTT主題設(shè)計隨意。MQTT的主題是層級結(jié)構(gòu)的字符串用斜杠分隔比如factory/line1/machine3/temperature。很多項目一開始主題設(shè)計很隨意設(shè)備多了之后發(fā)現(xiàn)主題混亂訂閱關(guān)系復(fù)雜權(quán)限管理也沒法做。好的主題設(shè)計應(yīng)該遵循幾個原則層級從粗到細設(shè)備標(biāo)識放在固定層級數(shù)據(jù)類型放在最后主題里不要放會變化的值比如時間戳預(yù)留通配符訂閱的空間比如factory/line1//temperature可以訂閱1號線所有設(shè)備的溫度。2. Modbus協(xié)議從報文到實戰(zhàn)的完整拆解2.1 Modbus RTU與Modbus TCP的報文結(jié)構(gòu)差異Modbus RTU的報文結(jié)構(gòu)很緊湊從站地址1字節(jié) 功能碼1字節(jié) 數(shù)據(jù)N字節(jié) CRC校驗2字節(jié)。以讀保持寄存器為例功能碼03請求報文是01 03 00 00 00 0A CRC意思是讀1號從站、起始地址0、讀10個寄存器。響應(yīng)報文是01 03 14 [20字節(jié)數(shù)據(jù)] CRC其中14是字節(jié)數(shù)十六進制的20表示20字節(jié)對應(yīng)10個寄存器。Modbus TCP的報文結(jié)構(gòu)多了MBAP頭事務(wù)標(biāo)識2字節(jié) 協(xié)議標(biāo)識2字節(jié) 長度2字節(jié) 單元標(biāo)識1字節(jié) 功能碼1字節(jié) 數(shù)據(jù)N字節(jié)。事務(wù)標(biāo)識用于匹配請求和響應(yīng)協(xié)議標(biāo)識固定為0長度表示后續(xù)字節(jié)數(shù)單元標(biāo)識在TCP場景下通常用于區(qū)分網(wǎng)關(guān)后面的串口設(shè)備。Modbus TCP沒有CRC校驗因為TCP本身保證了數(shù)據(jù)完整性。這兩種報文格式的差異直接影響開發(fā)。用Python寫Modbus RTU客戶端需要自己處理CRC計算和串口超時用Modbus TCP可以直接用socket發(fā)字節(jié)流但要注意MBAP頭的字節(jié)序是大端。我見過有人把Modbus RTU的報文直接套到TCP上發(fā)結(jié)果從站完全不響應(yīng)就是因為少了MBAP頭從站解析不了。2.2 CRC校驗的手算過程與代碼實現(xiàn)Modbus RTU的CRC是16位循環(huán)冗余校驗多項式是0xA001反向的0x8005。手算過程是這樣的初始化CRC為0xFFFF對每個字節(jié)先與CRC低字節(jié)異或然后對8個bit循環(huán)如果最低位是1右移一位后異或0xA001否則只右移。最后得到的CRC低字節(jié)在前高字節(jié)在后附加在報文末尾。用Python實現(xiàn)def modbus_crc(data): crc 0xFFFF for byte in data: crc ^ byte for _ in range(8): if crc 0x0001: crc (crc 1) ^ 0xA001 else: crc 1 return bytes([crc 0xFF, (crc 8) 0xFF])這個函數(shù)輸入是報文的字節(jié)序列不含CRC輸出是兩字節(jié)的CRC。實測下來用這個函數(shù)算01 03 00 00 00 0A得到C5 CD和標(biāo)準(zhǔn)文檔里的例子一致。注意CRC的低字節(jié)在前很多初學(xué)者在這里搞反導(dǎo)致從站返回異常碼。2.3 寄存器地址從0還是從1開始的坑這是Modbus開發(fā)里最經(jīng)典的坑。Modbus協(xié)議文檔里寄存器地址通常用兩種方式表示一種是協(xié)議地址從0開始一種是文檔地址從1開始。比如保持寄存器40001這里的4表示保持寄存器區(qū)0001表示第一個寄存器對應(yīng)的協(xié)議地址是0。如果你在代碼里寫地址1去讀40001實際上讀的是40002。不同設(shè)備的文檔寫法不一樣有的直接給協(xié)議地址有的給文檔地址。我的經(jīng)驗是拿到設(shè)備文檔后先找?guī)讉€已知的寄存器做測試比如設(shè)備型號寄存器、固件版本寄存器用不同的地址偏移去讀看哪個能讀到預(yù)期值以此確定文檔用的是哪種地址體系。這個測試過程通常花不了十分鐘但能省掉后面幾個小時的排查。還有一個相關(guān)的問題是功能碼和寄存器區(qū)的對應(yīng)關(guān)系。功能碼01讀線圈對應(yīng)0xxxx功能碼02讀離散輸入對應(yīng)1xxxx功能碼03讀保持寄存器對應(yīng)4xxxx功能碼04讀輸入寄存器對應(yīng)3xxxx。有些設(shè)備把保持寄存器和輸入寄存器混用文檔里寫的是4xxxx實際要用功能碼04去讀這種不一致只能靠實測發(fā)現(xiàn)。2.4 用Modbus Poll和Modbus Slave做聯(lián)調(diào)的方法Modbus Poll是主站模擬工具Modbus Slave是從站模擬工具兩個配合使用可以在沒有真實設(shè)備的情況下完成協(xié)議聯(lián)調(diào)。我的常規(guī)做法是先在Modbus Slave里定義一個從站設(shè)置好寄存器地址和初始值然后在Modbus Poll里配置對應(yīng)的讀取參數(shù)看能不能讀到正確的值。Modbus Poll的連接配置里有幾個參數(shù)容易設(shè)錯。Mode選RTU還是TCP取決于你用的是串口還是網(wǎng)口Slave ID要和Modbus Slave里設(shè)置的一致Function選03還是04要和寄存器區(qū)對應(yīng)Address要注意是從0還是從1開始Modbus Poll里有個PLC addresses (1-based)的選項勾上之后地址就從1開始算。Scan rate是輪詢周期調(diào)試階段可以設(shè)500毫秒正式跑的時候根據(jù)實際需求調(diào)整。Modbus Slave這邊關(guān)鍵是寄存器值的設(shè)置。你可以手動改值也可以用Auto change功能讓值自動變化模擬真實設(shè)備的數(shù)據(jù)波動。如果要做批量測試可以用Edit菜單里的Preset功能一次性設(shè)置多個寄存器的值。聯(lián)調(diào)通過之后再把Modbus Poll里的配置參數(shù)搬到實際代碼里這樣能最大程度保證代碼里的參數(shù)和調(diào)試時一致。3. OPC UA的信息建模能力與部署實踐3.1 OPC UA地址空間的核心概念OPC UA的地址空間是一張圖圖里的節(jié)點通過引用連接。每個節(jié)點有NodeId、BrowseName、DisplayName、NodeClass等屬性。NodeId是節(jié)點的唯一標(biāo)識格式是ns2;sMachine1.Temperature其中ns是命名空間索引s表示字符串標(biāo)識符。BrowseName是瀏覽時顯示的名字DisplayName是給人看的名字NodeClass表示節(jié)點類型常見的有Object、Variable、Method、DataType。變量節(jié)點Variable是實際存數(shù)據(jù)的地方它有一個Value屬性客戶端讀的就是這個值。變量節(jié)點還可以有DataType屬性表示數(shù)據(jù)類型比如Float、Int32、String。對象節(jié)點Object用來組織變量比如一個設(shè)備是一個Object設(shè)備下的溫度、壓力、狀態(tài)是Variable。引用Reference連接節(jié)點常見的引用類型有Organizes、HasComponent、HasProperty。理解這套模型的關(guān)鍵是OPC UA不是簡單地暴露一堆寄存器而是把設(shè)備抽象成有語義的對象樹。客戶端瀏覽地址空間時能看到設(shè)備有哪些組件、每個組件有哪些變量、變量的數(shù)據(jù)類型是什么。這種自描述能力是Modbus不具備的也是OPC UA在復(fù)雜系統(tǒng)里更有優(yōu)勢的原因。3.2 用UaExpert瀏覽服務(wù)器地址空間UaExpert是一個常用的OPC UA客戶端工具用來瀏覽服務(wù)器地址空間、讀寫變量、查看訂閱。連接服務(wù)器時需要輸入Endpoint URL格式通常是opc.tcp://192.168.1.100:4840。連接成功后左側(cè)的Address Space面板會顯示服務(wù)器的節(jié)點樹從Root開始展開Objects節(jié)點就能看到服務(wù)器暴露的所有對象和變量。瀏覽的時候注意看每個變量的DataType和ValueRank。DataType告訴你這個變量是什么類型ValueRank告訴你是不是數(shù)組。如果ValueRank是-1表示標(biāo)量如果是1表示一維數(shù)組。讀寫變量時右鍵變量節(jié)點選Read或Write就能看到當(dāng)前值或?qū)懭胄轮?。訂閱功能在Subscription面板里配置設(shè)置采樣間隔和發(fā)布間隔就能看到變量值的實時變化。UaExpert還有一個實用的功能是查看服務(wù)器的Endpoints。在Server菜單里選Endpoints能看到服務(wù)器支持的所有Endpoint包括不同的安全策略和消息編碼方式。如果連接時提示安全策略不匹配就是這里的問題需要調(diào)整客戶端的配置或者服務(wù)器的安全設(shè)置。3.3 OPC UA服務(wù)器在邊緣網(wǎng)關(guān)上的部署要點邊緣網(wǎng)關(guān)上部署OPC UA服務(wù)器通常是為了把Modbus設(shè)備的數(shù)據(jù)映射成OPC UA節(jié)點供上層平臺統(tǒng)一采集。部署時有幾個關(guān)鍵點。第一是命名空間規(guī)劃。不要把所有節(jié)點都放在ns1下面應(yīng)該按設(shè)備類型或產(chǎn)線劃分命名空間。比如ns2放注塑機ns3放裝配線ns4放公用工程。這樣上層平臺訂閱時可以按命名空間過濾也方便權(quán)限管理。第二是節(jié)點ID的設(shè)計。NodeId一旦確定就不要改因為上層平臺的訂閱關(guān)系是綁定NodeId的。如果設(shè)備更換導(dǎo)致NodeId變化上層訂閱就會斷。建議用穩(wěn)定的業(yè)務(wù)標(biāo)識做NodeId比如設(shè)備序列號變量名而不是用會變的IP地址或端口號。第三是采樣和發(fā)布策略。OPC UA服務(wù)器的采樣間隔決定了它多久讀一次底層設(shè)備發(fā)布間隔決定了它多久把變化推給客戶端。這兩個參數(shù)要匹配底層設(shè)備的響應(yīng)速度和上層平臺的需求。如果底層是Modbus RTU采樣間隔不能小于輪詢一圈的時間如果上層平臺要求秒級數(shù)據(jù)發(fā)布間隔就設(shè)1秒。3.4 OPC UA與Modbus在數(shù)據(jù)語義上的本質(zhì)區(qū)別Modbus的數(shù)據(jù)是裸的一個寄存器里放什么協(xié)議本身不關(guān)心。OPC UA的數(shù)據(jù)是有語義的每個變量都有數(shù)據(jù)類型、工程單位、描述信息。這個區(qū)別在簡單場景下不明顯但在復(fù)雜系統(tǒng)里影響很大。舉個例子一個溫度值在Modbus里就是寄存器40001的一個整數(shù)你需要知道它是攝氏度還是華氏度、是實際值的10倍還是100倍、有沒有偏移量。這些信息全靠文檔約定文檔丟了或者寫錯了數(shù)據(jù)就沒法用。在OPC UA里溫度變量可以帶EngineeringUnits屬性直接標(biāo)明單位是攝氏度還有Description屬性說明這個變量的含義。上層平臺拿到數(shù)據(jù)時不需要額外查文檔就能理解數(shù)據(jù)的含義。這種語義能力的代價是復(fù)雜度。OPC UA的服務(wù)器和客戶端實現(xiàn)都比Modbus復(fù)雜得多配置項也多。所以選型時要權(quán)衡如果系統(tǒng)里設(shè)備種類少、數(shù)據(jù)點少、文檔管理規(guī)范Modbus夠用如果設(shè)備種類多、數(shù)據(jù)點成千上萬、需要跨系統(tǒng)集成OPC UA的語義能力就值得投入。4. MQTT在工業(yè)數(shù)據(jù)上云中的工程化落地4.1 MQTT的發(fā)布訂閱模型與QoS機制MQTT的核心是發(fā)布訂閱模型。客戶端連接到Broker可以發(fā)布消息到某個主題也可以訂閱某個主題接收消息。發(fā)布者和訂閱者不需要知道對方的存在它們只和Broker交互。這種解耦讓MQTT非常適合設(shè)備數(shù)量多、網(wǎng)絡(luò)拓?fù)鋭討B(tài)變化的場景。QoS是MQTT保證消息可靠性的機制分三個等級。QoS 0是最多一次消息發(fā)出去就不管了可能丟QoS 1是至少一次消息可能重復(fù)但不會丟QoS 2是恰好一次通過四次握手保證消息不丟不重。工業(yè)場景里QoS 1用得最多因為它在可靠性和開銷之間取得了平衡。QoS 2的開銷太大四次握手在高頻數(shù)據(jù)場景下會拖慢吞吐。QoS 1的重復(fù)消息問題需要應(yīng)用層處理。比如電表數(shù)據(jù)如果收到兩條相同時間戳的數(shù)據(jù)應(yīng)用層要做去重。我的做法是在消息體里帶一個序列號接收端維護一個最近序列號的窗口重復(fù)的序列號直接丟棄。這個邏輯不復(fù)雜但能避免很多數(shù)據(jù)統(tǒng)計上的錯誤。4.2 主題設(shè)計規(guī)范與通配符訂閱技巧MQTT主題用斜杠分隔層級設(shè)計時要考慮可讀性、可擴展性和權(quán)限控制。我推薦的結(jié)構(gòu)是{企業(yè)}/{廠區(qū)}/{產(chǎn)線}/{設(shè)備類型}/{設(shè)備ID}/{數(shù)據(jù)點}。比如acme/plant1/line2/cnc/cnc001/temperature。這個結(jié)構(gòu)從粗到細每一層都有明確含義訂閱時可以用通配符靈活匹配。通配符有兩種匹配單層#匹配多層。acme/plant1//cnc//temperature可以訂閱plant1下所有產(chǎn)線的CNC設(shè)備溫度acme/plant1/#可以訂閱plant1下所有消息。注意#只能放在主題末尾可以放在中間。另外以$開頭的主題是Broker保留的客戶端不要用。主題設(shè)計還有一個容易忽略的點不要在主題里放會變化的值。比如acme/plant1/line2/cnc/cnc001/20240101120000/temperature把時間戳放在主題里訂閱者就沒法用通配符訂閱了。時間戳應(yīng)該放在消息體里主題只放穩(wěn)定的標(biāo)識。4.3 消息不丟失的完整保障鏈路MQTT保證消息不丟需要從發(fā)布端、Broker、訂閱端三個環(huán)節(jié)一起考慮。發(fā)布端用QoS 1或QoS 2確保消息到達BrokerBroker要開啟持久化把消息存到磁盤防止Broker重啟丟消息訂閱端也要用QoS 1或QoS 2并且要及時ACK如果處理不過來要控制接收速率。發(fā)布端的另一個關(guān)鍵是連接斷開后的重連和消息緩存。設(shè)備網(wǎng)絡(luò)不穩(wěn)定時MQTT連接會斷斷開期間產(chǎn)生的數(shù)據(jù)如果直接丟棄就會丟數(shù)據(jù)。我的做法是在發(fā)布端維護一個本地隊列連接正常時直接發(fā)連接斷開時把消息存到隊列重連后從隊列里取出來補發(fā)。隊列要有容量上限滿了之后按策略丟棄最舊的數(shù)據(jù)防止內(nèi)存溢出。Broker側(cè)的持久化配置因Broker實現(xiàn)而異。以常見的Mosquitto為例需要在配置文件里設(shè)置persistence true和persistence_location指定持久化文件的位置。還要注意autosave_interval這個參數(shù)控制多久把內(nèi)存中的消息刷到磁盤設(shè)得太長會丟更多消息設(shè)得太短會影響性能。一般設(shè)300秒比較平衡。4.4 在Windows和Linux上搭建MQTT服務(wù)的實操差異Windows上搭建MQTT服務(wù)最簡單的方式是下載Mosquitto的安裝包安裝后修改配置文件然后用net start mosquitto啟動服務(wù)。配置文件默認(rèn)在安裝目錄下需要改的幾個參數(shù)listener 1883指定監(jiān)聽端口allow_anonymous false關(guān)閉匿名訪問password_file指定密碼文件。密碼文件用mosquitto_passwd命令生成。Linux上的部署方式更多樣。Ubuntu可以用apt install mosquitto安裝CentOS可以用yum install mosquitto但版本可能比較舊。如果需要新版本可以下載源碼編譯或者用Docker運行。離線環(huán)境下的部署是個常見需求需要提前下載好安裝包和依賴用dpkg -i或rpm -ivh安裝。ARM架構(gòu)的設(shè)備比如麒麟V10要注意下載對應(yīng)架構(gòu)的包x86的包在ARM上跑不了。Windows和Linux在配置文件路徑、服務(wù)管理命令、權(quán)限設(shè)置上有差異但核心配置項是一樣的。我的建議是開發(fā)階段用Windows方便調(diào)試生產(chǎn)環(huán)境用Linux更穩(wěn)定。如果團隊對Linux不熟可以用Docker統(tǒng)一環(huán)境減少部署差異帶來的問題。5. 協(xié)議轉(zhuǎn)換與邊緣計算的實際部署5.1 邊緣網(wǎng)關(guān)做協(xié)議轉(zhuǎn)換的典型架構(gòu)邊緣網(wǎng)關(guān)在工業(yè)互聯(lián)網(wǎng)平臺里的角色是翻譯官和緩沖器。它向下用Modbus、OPC UA等協(xié)議采集設(shè)備數(shù)據(jù)向上用MQTT把數(shù)據(jù)推到平臺。中間做的工作包括協(xié)議解析、數(shù)據(jù)清洗、單位換算、數(shù)據(jù)緩存、斷點續(xù)傳。一個典型的邊緣網(wǎng)關(guān)軟件架構(gòu)分四層采集層負(fù)責(zé)和底層設(shè)備通信解析層負(fù)責(zé)把原始報文轉(zhuǎn)成結(jié)構(gòu)化數(shù)據(jù)處理層負(fù)責(zé)數(shù)據(jù)清洗和業(yè)務(wù)邏輯發(fā)布層負(fù)責(zé)通過MQTT把數(shù)據(jù)發(fā)出去。這四層可以在一臺工控機上用不同進程實現(xiàn)也可以在一個進程里用不同模塊實現(xiàn)。關(guān)鍵是層與層之間要有清晰的接口方便替換和擴展。采集層的實現(xiàn)要注意并發(fā)問題。如果網(wǎng)關(guān)要同時采集多個Modbus RTU設(shè)備串口是獨占資源不能并發(fā)訪問。我的做法是用一個采集線程輪詢所有串口設(shè)備采集到的數(shù)據(jù)放到隊列里處理層從隊列里取數(shù)據(jù)。Modbus TCP設(shè)備可以并發(fā)采集但要注意連接數(shù)限制不要為每個設(shè)備都建一個長連接可以用連接池復(fù)用。5.2 數(shù)據(jù)模型映射從寄存器到物模型設(shè)備數(shù)據(jù)采集上來之后需要映射成平臺側(cè)的物模型。物模型是平臺對設(shè)備的抽象定義了設(shè)備的屬性、事件、服務(wù)。屬性是設(shè)備的狀態(tài)數(shù)據(jù)比如溫度、轉(zhuǎn)速事件是設(shè)備主動上報的信息比如報警服務(wù)是平臺可以調(diào)用的操作比如啟停。映射的過程是把Modbus寄存器或OPC UA節(jié)點綁定到物模型的屬性上。比如寄存器40001對應(yīng)溫度屬性數(shù)據(jù)類型是Float單位是攝氏度縮放系數(shù)是0.1。這個映射關(guān)系通常用配置文件描述平臺側(cè)解析配置文件后自動建立采集任務(wù)。映射時要注意幾個問題。第一是數(shù)據(jù)類型轉(zhuǎn)換Modbus寄存器是16位的如果要表示32位浮點數(shù)需要兩個寄存器組合還要注意字節(jié)序。第二是無效值處理設(shè)備通信失敗時寄存器讀不到值這時候物模型屬性應(yīng)該標(biāo)記為無效而不是填0否則平臺側(cè)會誤判。第三是單位統(tǒng)一不同設(shè)備可能用不同單位映射時要統(tǒng)一到平臺的標(biāo)準(zhǔn)單位。5.3 斷網(wǎng)續(xù)傳與數(shù)據(jù)緩存策略工業(yè)現(xiàn)場網(wǎng)絡(luò)不穩(wěn)定是常態(tài)邊緣網(wǎng)關(guān)必須具備斷網(wǎng)續(xù)傳能力。實現(xiàn)思路是采集到的數(shù)據(jù)先寫到本地緩存發(fā)布成功后再刪除緩存如果發(fā)布失敗數(shù)據(jù)留在緩存里等網(wǎng)絡(luò)恢復(fù)后重發(fā)。緩存介質(zhì)的選擇要看數(shù)據(jù)量和寫入頻率。數(shù)據(jù)量小、頻率低可以用SQLite數(shù)據(jù)量大、頻率高需要用更高效的存儲比如LevelDB或RocksDB。緩存要有容量上限和淘汰策略防止磁盤寫滿。淘汰策略通常是FIFO丟棄最舊的數(shù)據(jù)保證最新數(shù)據(jù)能存下來。斷網(wǎng)續(xù)傳的一個難點是消息順序。如果緩存里的消息重發(fā)時順序亂了平臺側(cè)可能會用舊數(shù)據(jù)覆蓋新數(shù)據(jù)。解決辦法是在消息體里帶時間戳平臺側(cè)按時間戳排序或者用單調(diào)遞增的序列號平臺側(cè)按序列號去重和排序。5.4 邊緣側(cè)數(shù)據(jù)預(yù)處理的幾個實用技巧邊緣側(cè)做數(shù)據(jù)預(yù)處理能大幅減少上云數(shù)據(jù)量降低平臺側(cè)壓力。常用的預(yù)處理包括死區(qū)過濾、變化率限制、聚合計算。死區(qū)過濾是當(dāng)數(shù)據(jù)變化小于某個閾值時不發(fā)送。比如溫度變化小于0.5度就不發(fā)這樣能過濾掉大量微小波動。變化率限制是當(dāng)數(shù)據(jù)變化太快時做限流防止異常數(shù)據(jù)沖擊平臺。聚合計算是在邊緣側(cè)做平均值、最大值、最小值統(tǒng)計只把統(tǒng)計結(jié)果發(fā)上去而不是發(fā)原始數(shù)據(jù)。這些預(yù)處理邏輯要可配置不同設(shè)備、不同數(shù)據(jù)點可能需要不同的策略。我的做法是在物模型映射配置里增加預(yù)處理字段比如deadband: 0.5、max_rate: 10、aggregation: avg/60網(wǎng)關(guān)解析配置后自動應(yīng)用。6. 協(xié)議體系落地中的典型問題與排查思路6.1 Modbus通信失敗的排查鏈路Modbus通信失敗是最常見的問題排查要按鏈路逐段進行。第一步查物理層串口線接對沒有A接A、B接B終端電阻有沒有波特率、數(shù)據(jù)位、停止位、校驗位是否一致。第二步查鏈路層從站地址對不對功能碼和設(shè)備支持的是否匹配寄存器地址是否越界。第三步查應(yīng)用層報文格式對不對CRC校驗過不過響應(yīng)超時設(shè)置是否合理。我遇到過一個案例設(shè)備文檔寫的是Modbus RTU波特率9600但實際設(shè)備出廠設(shè)置是19200。用9600去讀偶爾能讀到大部分時候超時。后來用串口調(diào)試工具抓報文發(fā)現(xiàn)響應(yīng)報文的波特率不對才定位到問題。這個案例說明設(shè)備文檔和實際設(shè)置可能不一致調(diào)試時要用工具抓包驗證。另一個常見問題是RS485總線上的設(shè)備太多導(dǎo)致信號反射和衰減。RS485標(biāo)準(zhǔn)建議一條總線掛32個設(shè)備實際項目中如果超過這個數(shù)需要加中繼器??偩€的拓?fù)湟埠苤匾獞?yīng)該用菊花鏈不要用星型星型拓?fù)鋾?dǎo)致阻抗不匹配。6.2 OPC UA連接失敗的常見原因OPC UA連接失敗的原因比Modbus復(fù)雜因為涉及安全策略、證書、端點配置。最常見的失敗是安全策略不匹配客戶端要求SignAndEncrypt服務(wù)器只支持None或者反過來。解決辦法是查看服務(wù)器的Endpoints列表選一個雙方都支持的策略。證書問題是另一個常見原因。OPC UA用證書做身份驗證和加密客戶端和服務(wù)器的證書要互相信任。如果證書不受信任連接會被拒絕。解決辦法是把對方的證書加到信任列表里或者用工具重新生成證書。UaExpert在連接時如果提示證書問題會彈出對話框讓你選擇信任或拒絕選信任后就能連上。還有一個容易忽略的問題是Endpoint URL的格式。OPC UA的URL必須以opc.tcp://開頭后面跟IP和端口。如果寫成http://或者漏了端口連接會失敗。另外有些服務(wù)器只監(jiān)聽特定網(wǎng)卡如果客戶端從另一個網(wǎng)段訪問需要確認(rèn)服務(wù)器的監(jiān)聽地址配置。6.3 MQTT消息丟失的定位方法MQTT消息丟失的定位要從發(fā)布端、Broker、訂閱端三處查。發(fā)布端查QoS設(shè)置如果設(shè)的是QoS 0丟消息是正常的改成QoS 1。查連接狀態(tài)如果連接斷了消息發(fā)不出去需要看重連邏輯和本地緩存。查發(fā)布頻率如果發(fā)布太快Broker處理不過來會丟消息需要降低頻率或升級Broker。Broker側(cè)查持久化配置如果沒開持久化Broker重啟會丟消息。查內(nèi)存和磁盤使用率如果資源滿了Broker會拒絕新消息。查日志Mosquitto的日志里會記錄連接、斷開、發(fā)布、訂閱等事件通過日志能定位大部分問題。訂閱端查QoS設(shè)置要和發(fā)布端匹配。查ACK處理如果訂閱端處理消息太慢Broker的發(fā)送隊列會滿導(dǎo)致消息被丟棄。查主題匹配如果訂閱的主題和發(fā)布的主題不匹配消息收不到。我遇到過一個案例發(fā)布端發(fā)到acme/plant1/line2/temperature訂閱端訂閱的是acme/plant1/line2/temp主題不匹配自然收不到。6.4 協(xié)議版本兼容性問題的處理經(jīng)驗工業(yè)協(xié)議有很多版本和變種兼容性問題很常見。Modbus有RTU、ASCII、TCP三種傳輸方式還有Modbus Plus等變種。OPC UA有不同版本的信息模型規(guī)范不同廠商的實現(xiàn)可能有差異。MQTT有3.1、3.1.1、5.0三個版本Broker和客戶端要支持同一版本。處理兼容性問題的原則是先確認(rèn)雙方支持的版本再找共同支持的子集。如果設(shè)備只支持老版本平臺側(cè)要向下兼容。如果平臺側(cè)要求新版本設(shè)備側(cè)要升級固件或加網(wǎng)關(guān)轉(zhuǎn)換。升級前要在測試環(huán)境驗證確認(rèn)升級后功能正常。我的經(jīng)驗是項目初期就要把協(xié)議版本作為選型指標(biāo)之一盡量選支持主流版本的設(shè)備。如果設(shè)備已經(jīng)采購了版本不匹配優(yōu)先考慮在網(wǎng)關(guān)側(cè)做轉(zhuǎn)換而不是升級設(shè)備固件因為設(shè)備固件升級風(fēng)險高可能影響生產(chǎn)。7. 從單點采集到平臺生態(tài)的演進路徑7.1 小規(guī)模項目的輕量級方案小規(guī)模項目比如一個車間、幾十臺設(shè)備不需要復(fù)雜的平臺架構(gòu)。我的建議是用一臺工控機或邊緣網(wǎng)關(guān)裝一個采集軟件直接采集Modbus設(shè)備本地存SQLite同時通過MQTT推到云平臺。云平臺可以用公有云的IoT服務(wù)也可以用開源的EMQX加自建應(yīng)用。這個方案的關(guān)鍵是采集軟件的穩(wěn)定性。采集軟件要能7x24小時運行要有斷線重連、異常恢復(fù)、日志記錄。我通常用Python或Go寫采集程序Python開發(fā)快Go運行穩(wěn)。采集程序用systemd或Windows服務(wù)的方式托管開機自啟崩潰自動重啟。數(shù)據(jù)存儲方面本地SQLite存最近7天的數(shù)據(jù)云平臺存長期數(shù)據(jù)。這樣即使網(wǎng)絡(luò)斷了本地還有數(shù)據(jù)可以查。SQLite的寫入性能有限如果數(shù)據(jù)點很多可以用時序數(shù)據(jù)庫比如InfluxDB或TDengine但會增加部署復(fù)雜度。7.2 中大規(guī)模平臺的協(xié)議接入層設(shè)計中大規(guī)模平臺設(shè)備數(shù)量上千數(shù)據(jù)點上萬協(xié)議接入層需要專門設(shè)計。接入層要解決幾個問題高并發(fā)連接、協(xié)議適配、數(shù)據(jù)路由、水平擴展。高并發(fā)連接方面MQTT Broker要支持集群EMQX和HiveMQ都支持集群部署。集群模式下客戶端連接到任意節(jié)點消息在節(jié)點間同步。集群的規(guī)模要根據(jù)連接數(shù)和消息吞吐量來定一般單節(jié)點支持幾萬連接集群可以線性擴展。協(xié)議適配方面接入層要支持多種協(xié)議Modbus、OPC UA、MQTT、HTTP等。我的做法是把協(xié)議適配做成插件每種協(xié)議一個插件插件負(fù)責(zé)協(xié)議解析和數(shù)據(jù)轉(zhuǎn)換轉(zhuǎn)換后的數(shù)據(jù)統(tǒng)一格式再交給后續(xù)處理。這樣增加新協(xié)議時只需要加插件不用改核心代碼。數(shù)據(jù)路由方面接入層要根據(jù)數(shù)據(jù)來源和類型把數(shù)據(jù)路由到不同的處理管道。比如實時數(shù)據(jù)走流處理管道歷史數(shù)據(jù)走存儲管道報警數(shù)據(jù)走通知管道。路由規(guī)則用配置描述支持動態(tài)更新。7.3 設(shè)備接入規(guī)模擴大后的性能瓶頸設(shè)備接入規(guī)模擴大后最先出現(xiàn)瓶頸的地方通常是數(shù)據(jù)庫和消息隊列。數(shù)據(jù)庫寫入跟不上消息隊列積壓整個系統(tǒng)的延遲就會上升。數(shù)據(jù)庫方面關(guān)系型數(shù)據(jù)庫在時序數(shù)據(jù)場景下性能有限寫入QPS通常幾千就到頂了。時序數(shù)據(jù)庫針對時序數(shù)據(jù)優(yōu)化寫入QPS可以到幾十萬。如果數(shù)據(jù)量繼續(xù)增長還需要分庫分表或冷熱數(shù)據(jù)分離。消息隊列方面Kafka和Pulsar適合高吞吐場景RabbitMQ適合低延遲場景。工業(yè)物聯(lián)網(wǎng)的數(shù)據(jù)特點是寫入量大、讀取相對少Kafka比較合適。Kafka的分區(qū)數(shù)要根據(jù)吞吐量來定分區(qū)太少吞吐上不去分區(qū)太多管理復(fù)雜。還有一個容易被忽略的瓶頸是網(wǎng)絡(luò)帶寬。設(shè)備數(shù)量多了之后上行數(shù)據(jù)量可能超過網(wǎng)絡(luò)帶寬導(dǎo)致數(shù)據(jù)積壓。解決辦法是在邊緣側(cè)做數(shù)據(jù)壓縮和聚合減少上行數(shù)據(jù)量。另外可以用MQTT的保留消息和遺囑消息減少不必要的通信。7.4 協(xié)議體系與平臺生態(tài)的長期演進協(xié)議體系不是一成不變的隨著業(yè)務(wù)發(fā)展和技術(shù)演進會不斷有新的協(xié)議加入舊的協(xié)議逐步淘汰。平臺設(shè)計時要考慮這種演進留出擴展空間。一個務(wù)實的做法是抽象出協(xié)議適配層把協(xié)議相關(guān)的邏輯隔離在這一層。上層應(yīng)用只和統(tǒng)一的數(shù)據(jù)模型交互不關(guān)心底層是什么協(xié)議。這樣增加新協(xié)議時只需要在適配層加實現(xiàn)上層應(yīng)用不用改。另一個做法是建立協(xié)議注冊機制每種協(xié)議在平臺注冊聲明自己支持的設(shè)備類型、數(shù)據(jù)格式、配置參數(shù)。平臺根據(jù)注冊信息自動生成配置界面和采集任務(wù)。這樣運維人員不用寫代碼就能接入新設(shè)備。長期來看OPC UA和MQTT的組合會越來越主流。OPC UA解決設(shè)備側(cè)的語義互操作MQTT解決平臺側(cè)的消息傳輸。兩者結(jié)合能覆蓋從設(shè)備到云端的完整鏈路。但這不意味著Modbus會消失大量存量設(shè)備還在用Modbus未來很長時間內(nèi)Modbus到OPC UA的網(wǎng)關(guān)轉(zhuǎn)換仍然是剛需。我在實際項目中最大的體會是協(xié)議選型沒有絕對的好壞只有適不適合。一個項目用Modbus加MQTT跑得很穩(wěn)另一個項目用OPC UA加Kafka也很順關(guān)鍵是要匹配項目的規(guī)模、實時性要求、團隊技術(shù)棧和預(yù)算。選型前多做幾個原型驗證比看多少文檔都管用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩一区二区精彩视频| 大香蕉综合网| 欧美日韩第一页| 九九九九久久久久| 欧美综合中文| 北野未奈加勒比av| 久久久久久久久久久久久久久乱码| 免费人成在线观看网站品爱网| 人人摸人人舔一区二区| 色大香蕉97N| 色墦五月丁香| 黄页视频网站野外| 成年女人18级毛片毛片免费观看| 一本色道久久天天射天天干| 一二三区精品视频| 蜜臀99久久精品| 色婷婷综合久久中文字幕雪峰| 深田咏美亚洲精品福利社| 一类av片在线看| 亚洲av青草久久一区二区| 夜夜爽爽夜夜精品视频| 热久日综合| 丰满人妻一区二区三区在线| 国产专区路线| 蜜桃色院一区久久 | 伊人操操| 人妻五十路在线| 亚州乱码中文字幕综合久久久| 五月丁香综合啪啪| 强奸乱伦动态污图免费 | 久久久久久久久久久久九| 色综合中文字幕不卡| 国产67194| 乱欲一区二区| 婷婷香蕉| 97色冈| 99操| 97国产超湿| 蜜臀久久99精品久久久久久久久| 精品一久久久| 欧美淫乱视频| 国产综合久| 香蕉国产97| 超碰 欧美| 伊人欧美大香蕉视频| 91九九九吃| 青久久| 国产人妻精品一区二区三区秋霞 | 婷婷爽人人婷婷爽视频| 97爱爱| 2020久久免费视频| 手机在线A片| 国产精品久久久无码AV网站| 操逼网站视频漫画国产| 伊人一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆| 天天久久久久久| 欧洲视频在线| 人人干黄色| 国产亚洲禁久一区二区| www.婷婷| 2019AV天堂| 蜜臀久久精品久久久久视频| 九色黄站| 亚洲蜜乳av| 亚洲av影院在线观看| 无码国产精品午夜不卡(| 粉嫩国产精品久久粉嫩| 99国内熟女露脸视频| 熟女露脸激情自拍视频| 一起草高清无码| 强奸乱伦亚洲第一页| www久久99| 亚洲色图 欧美热图 清纯唯美 另类自拍| 天天干天天日天天射黄色片| 日韩电影中文字幕| 99re热有精品视频国产| 96久久科窝| 97硬碰| 久久激情四射婷婷丁香五月天| 日韩一二三区| 六月色婷婷| 亚洲情色图片区| 熟人人妻少妇精品久久| 婷婷精品视频| 国产久久久久影院老熟女| 日韩大香蕉| 亚洲成a人片在线观看中文!!!| 91丨九色丨43老版熟女| 欧美夜夜骑视频| 亚洲精品人体| 人人人人人人少妇| 人乳av| 影音先锋日本一区二区| 亚洲国产精品久久久久久久久久| 日本欧美m v精品网站加| 大香蕉综合网| 免费视频无码| 欧美 亚洲精品首页| 久久久一区二区三区三州| 亚洲男人天堂Av| 亚洲综合情色| 蜜乳AV.COM| 9/A片 | 日本视频一区二区三区| 男人的天堂三级| 一本精品日本在线视频精品| 亚洲欧洲激情| 曰韩成人免费视频| 大白逼三四级| 夜夜操2028| 安微少妇操BBB| 人妻一区二区三区视频| 欧美日本天堂| 日本熟妇人妻中出视频| 大香蕉色欲AV| 久久av成人无码免费| 亚洲av热热色| 岛国激情视频在线观看| 欧美日本不卡| 日本色婷婷| 久久久久白虎| www.狠狠| 加勒比综合88| 久久免费看高潮毛片韩国| 女上位精品在线| 亚洲图片婷婷五月天| 久久久国产精品人妻丝袜| 97超碰碰| 人妻熟女一区二区| 97硬碰| 国产高清视频无码在线| 最新精品久久蜜桃| 蜜乳av首页| 老女人综合| 天天综合91在线| 成人精品在线免费视频| 久久亚洲天天做| 中文字幕亚洲永久精品| 激情文学小说一区二区| 中文字幕五区| 日韩人妻制服丝袜av| 91 丝袜在线观看| 亚洲一区二区麻豆影院| 91社区伊人| 97国伦国色| 日本性交操一区二区不卡系列| 夜夜嗷嗷一区二区| 日本肉体xxxx裸交| 亚洲AV秘无码一区..| 日逼五月天| 在线中文字幕极品av| 爱丝福利| 久久久一区二区| 男人兔费天堂| 亚洲图片婷婷五月天| 啊啊啊男女| 花野真衣| 玖玖爱免费观看视频| 国语精品av| 97人人爱人人做人人乐| 天美传媒国产原创中文字幕亚洲欧美另类| 强奸乱伦免费网站| 亚洲熟女av中文字幕| 哈哈操电影AV| 99re9在线| 一级AV性爱| 九九九九九九综合| 国产一区二区久久| 日韩丝袜人妻AV| 成人免费福利网站国产| 一个国产在线综合网站| 精品久久久一本一道| 91久久久视| 欧美精品一二三| 极品粉嫩一区二区| 九九成人视频| 97色在线观看| 丁香五月天激情| 无码不卡八戒| 人妻第一页| 后入式视频国产自| 国产夜夜艹| 久久精品三级影视| 色综合色欲色综合色综合色综合| 久久久久久亚洲中文| 综合网天天| 91精品操美女| 97超碰这里只有精品| 亚洲色图加勒比| 98色网| 九九黄色视频在线观看| 中国大陆国产高清AⅤ毛片| 国产一级内射高清视频| 大香蕉狠狠爱| 天天天干977| 欧美97免费| 欧美大干日韩| 98福利在线视频| 熟妇熟女一区二三区| 伊人天堂在线| 熟妇熟女亚洲天堂网| 91性高潮久久久久久久久| 国产区91柔拿会所技师| 欧美黄色片在线播放| 久久精品人人做人人看| 国产精品99精品视频网站| 亚洲高清自拍| 亚洲人体视频在线观看| 乱伦熟女论坛| 最新的亚洲无吗| 太久视频| 五月激情啪啪| 亚洲 综合 欧美| 蜜臀av一区二区三区免费观看| 国产伦精品一区二区三区在线观| 丁香婷婷色五月| 婷婷五月天成人网| 精品国产嫩穴视频| 欧美 传媒 麻豆 日韩 偷拍| 操逼精品视频| 婷婷久草| 日本男人天堂| 性色AV网站| 亚欧毛片基地国产毛片基地| 激情接吻视频久久久久久| 日韩黄色成人性爱| 女优视频第10页| 国产久久视频| 天天超级碰碰碰| 色香综合天天影视综合 | 国产美女口爆吞精视频| 亚洲国产一区二区日韩专区| 日韩乱伦影音先锋| 久久久不能久久久久| 成人网欧美风情| 久草精品一区 | 操逼天美3区| 国产午夜无码片在线观看影视 | 九九九成人| 午夜超碰| 日韩激情啪啪啪| 亚洲欧美一区二区三区一猛片| 国产无套粉嫩白浆在| 激情五月天综合网| 亚洲成人精品久久久| 欧美超碰人妻97| 麻豆视频一区二区| 国产一级黄色片在线观看| av大香蕉| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 大香蕉 222| 国产人妻精品一区二区三区秋霞 | 欧美日韩香蕉| av大香蕉网站| 国产97在线播放| 亚洲熟妇一,二,三期| 乱论91| 欧美激情总合网| 性老妇一区二区三区| 情色大香蕉| 伊人网青青| 开心激情站| www.高清无码诱惑一区.com| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 人人澡人人爽人人精品| 九九九久| 精品人妻av在线播放| 色嘟嘟人妻天堂网| 999久久久国产精品| 国产精品探花在线| 日韩激情视频| 久久久久久久人妻丝袜| 精品国产精品一区二区| 蜜桃色院一区久久 | 91精品黄在线观看| 91路www| 国产精品第一区第一页| 亚洲射综合网| 黄色免费一级在线毛片| 混色激情av| 久久久久久久久久久久97| 天天色天天干天天射| 中文字幕二区日韩天堂| 日本媚薬中文字幕在线| 国产精品国产拍高清AV| 色97综合中文字幕| 天美麻花大全视频| 欧美色图99| 亚洲成人福利电影免费| 好看的久久不射无码影视影院| 蜜臀久久99精品久久久电影| 久久久久久大| 蜜乳Av成人片网站| 天天操人人操骚逼网站| 无码伊人久久大杳蕉中文无码| 亚洲自拍欧美色综合| 天天操天天干一区二区| 91AV天美在线视频| 无套内射性感少妇视频| 精品国产乱码久久久久久久| 亚洲高潮少妇| 日本一级真人黄色性爱视频| 久久大线蕉一区| 欧美成人A√在线一区二区| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 伊人九九| 久操九九九九| 欧美精品一区二区少妇免费A片| 91麻豆天美国产| 岛国在线国产| 少妇第一页| 欧洲熟妇xxXx欧美老妇裸体| 青青草毛片| 欧美成人精品一区二区三区| 91人精品妻入口| 久久久网一区| 国产亚洲精品自在线亚洲情侣| 91无码人妻精品一区二区三区蜜桃| 国产三级日产三级韩国三级| AV女资源| 人妻日日夜夜精品| 成人精品一区二区91毛片不卡| 夜夜福利| 五月天婷婷色| 成人aⅴ一区二区三区| 天天干夜夜| 天天干天天爽| 搞中出久久| 亚洲情色 无码专区| 91精品黄在线观看| 狠狠久久手机视频精品| Julia Annxxxxx| 久久亚洲不卡| 天天躁日日躁AAA片李宗瑞| 大香蕉视频啪啪啪啪| 校园春色综合| 入口操逼网站| 久操网视频| 日本在线伊人啪啪| 亚洲欧美国产va在线| 色婷婷香蕉| 国产中出内射一区二区| 色69大色97香蕉| 五月天黄色av| 精品国产精品一区二区| 亚洲国产成人7777| 久久久偷拍| 美女诱惑在线一区| 国产精品经典一卡久久久| 在线无码视频| 3PAV乱伦视频| 狠狠爱综合网| 97在线视频免费看| 欧美色交| 少妇色欲综合网2| 日本A级视频| 人妻天堂综合网| 欧美大香蕉专区网| 日韩三A大片在线观看| 婷婷综合伊人一区| 午夜美女诱惑电源网| 清清草影| 亚州综合AⅤ| 蜜桃精久三区| 欧美天天拍| 99热这里| 涩五月婷婷| 操逼逼无码| 成人aⅴ一区二区三区| 久久综合九色综合欧洲98| 99久久久| 欧美丝袜亚洲| 午夜福利合集| 婷婷精品久久av影视| 免费亚洲国产精品久久一区| 欧美少妇色综合| 99抽插| 国产白领连续中出在线观看| 猛交交| 中文字幕在线观看丝袜| 亚洲欧洲另类| 亚洲 中文 女同| 久久久久久午夜男人的天堂| 久久性爱视频| 91扒丝袜综合在线| 超碰97资源大奶| 久操B网| 欧美制服网站美腿丝袜| 98福利在线视频| 亚洲精品一卡二卡三卡福利视频网站| 欧美亚洲AN| 欧美97视频| 亚洲资源网| 97视频www| 天美欧美国产| 久久国产999| 啊啊啊啊在线播放| 69精品| 国产精品视频内谢女人| 亚洲AV成人精品网站在AV| 日韩免费av片高清无码| 强奸乱伦大香蕉| 久久精品高清AV| 亚洲中文字母在线播放| www久久久| 91neishe| 搞中出视频在线观看| 天堂亚洲精品久久老牛| 亚洲国产97在线精品一区| 欧美激情在线观看视频| 一级AV性爱| 强奸乱伦资源| 人人乐大香蕉| 色大香蕉97N| 尤物视频新赏网鲜网色诱网| 大香蕉综合网| 性久久| 91九色在线| 亚洲 中文 女同| 天天看片麻豆| 亚洲欧美碰碰| 日韩激情小说一区二区| 天天综合网国产| 香蕉久久精品| 国产午夜精品一区二区三区牛牛| 夜夜草我| 伊人91| 午夜天堂网| 一二三卡欧美日韩人妻免费精品| 校园春色综合网| 性在久久久久久| 激情深爱五月天| 青青草乱入乱欲视频在线观看| 久久大香蕉97| 户外裸露刺激视频第一区| 色五月婷婷麻豆在| 97操综合| 国产视频一区二区三区在线免费观看| 91九九| 天天激色| 欧美性爱无码一区二区三区| 99精品无码| 欧美亚洲成人在线一区二区三区| 久艹日日日| 成人5码视频| 91亚洲欧美色图| 啊啊啊啊啊啊啊啊在线观看| 在线视频日韩欧美国产| 99re在线视频| 在线观看免费视频国产| 青娱乐蜜桃臀AV色婷| 丰满人妻无码一区二区三区| 韩国轻伦国内自拍一区| 嗯嗯啊啊操我| 天天干少妇| 另类图片五月天| 家庭乱伦网站国产| 国产第11页| 亚洲国产精品V?在线播放| 能看的av| 欧美色图电影| 久久老子无码午夜伦不卡| 九九九九九九九九九五码| PMv在线观看| 欧美不卡在线美女| 日韩肏逼视频| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲免费成人在线高清无码视频| 九九热免费国产视频婷婷伊人五月 | 在线 欧美 亚洲| 久久久久久69国产一区二区| AV在线资源| 久久久久免费看少妇A片特黄| 少妇天堂网络| 久操操AV电影| 美女诱惑在线一区| 超97在线精品视频| 神马久久久久久久久| 屁屁影院一区二区三区国产| 色偷偷人人玩人人舔人人操人人摸人人爽| 国产一区二区a毛片| 啊啊啊啊啊好大好舒服想要| 日韩欧美成人性爱在线| 国产AV天美传媒一区二区三区 | 欧美岛国精品在线观看| 欧美在线啊啊啊| 国产精品干干干| 大乔未久88一区| a v网站在线播放| 亚洲脚交| 91久久久久久久久久久| 五十路六十路素人熟女| 91黑丝操| 欧美日韩成人在线| 91人妻最真实刺激绿帽| 天天澡天天爽日日av| 中文字幕一区二区三区高清| 91天天美女| 五月丁香啪啪| av网站免费看| 嗯嗯啊啊的视频| 亚洲婷婷五月天| 亚洲欧美国产va在线播放频| 欧美人妻中出| 日本熟妇一区二区三区| 涩涩涩综合| 亚洲干B| 欧美日韩夜夜| 首页中文字幕中文字幕免费| 无码天堂| 欧美激情一| 久久久9品一区二区三区| 亚洲AV无码AV吞精久久久久| 久久女人| 天美传媒av在线| 无码99| 中文字幕一区二区在线日韩精品| 九九九一二三| 久久大精品乱码视频人妻熟女| 狠狠狠狠狠狠| 亚洲高清国产理伦片| 香蕉99秘 一区精品蜜桃臀| 亚洲限制级| 中文字幕 码 自拍 视频 区| 这里只有精品视频在线观看麻豆| 97超碰中文在线| 国产风韵犹存熟妇三区| 夜夜爽妓女| 激情五月天婷婷| 黄色小视频日本txt| 青娱乐休闲视频在线观看| 亚洲综合伊人| 歐美性天天| 国产熟女少妇一区| 日韩另类| 日韩人成网站在线播放| 亚瑟国产精品久久无码| 肏逼视频日本| 亚洲男人天堂AV| 亚洲亚洲亚洲天堂天堂| 我中文字幕6区| 91大神电影天堂| 日本三级中国三级99人妇网站| 国产高清在线观看欧美| 亚洲人妻在线一区| 日韩综合无码色欲vv| 老司机福利青青草| 国产一级内射高清视频| 国产精品夜夜| 人妻丝袜二区| 综合 亚洲 欧美| 欧美日韩小说| 亚洲天堂另类| 日本二三四区| 亚洲男人天堂网站| 自拍六区| 91日韩| 大奶的诱惑| 大香蕉中文在线| 超碰地址久久| 中文字幕97| aaa亚无码专区| 91免费看一区二区三区| 人妻二区| 色狠狠 - 百度| 操高情无码| 亚洲最新中文字幕免费| 日本五十路熟女一区二区| 少妇高潮对白在线观看| 综合色色网| 久热这里| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 色av中文字| 久久国产视频专区一二三 | 被男人添B超爽视频| 欧美激情另类一区二区| japan日本高清乱xxxx| 午夜偷拍久久熟女| 亚洲成人免费在线| 97青青操视频| 免费97视频| 色网亚洲人| 97亚洲欧美| 中文字幕精品一区欧美| 强奸乱伦αv片| 婷婷五月天基地| 欧美日日夜夜| 国产熟女无套内射| 少妇被c 黄 免费观看| 大粗鳼巴久久久久| 翘臀vidoes| 园内精品自拍视频在线播放| oumeisetupian| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 加勒比色99999| 亚洲少妇在线观看| 欧美成人A天堂片在线观看| 夜夜影视四色| 天天色悠悠激情| 男人的天堂在线| 久久久偷拍| 欧美日韩大黄片| 十八禁视频网站| 中文字幕一区 二 区 三 四 五 区日 日 骚| 色爱欲亚洲| 欧美日韩精品久久久久东北老熟妇| 欧美日韩在线小说| 熟女精品va中文字幕| 国产成人亚洲精品自产在线| 欧美白嫩女HD| 久久人| 亚洲古典另类欧美在线| 色女网日韩| 大但人体久久久久| 激情五月综合开心五月| 九九伊人网| 欧美韩国你懂得在线 | 日韩少妇一区二区三区| 手机不卡视频不卡在线一二三区| 97chaopenrihan| 老外又粗又长一晚做五次| 婷婷操逼| 欧美日韩中国x| 成人免费毛片| 欧美在线官网| 欧美色图综合网| 国产午夜激片Av毛片不卡| wwe 天天干.com| 精品人妻一区二区三区四区不卡在| 国产 亚洲 丝袜 制服| 久久婷婷在线观看视频| 国产久久久久久| 一区二区三区机械有限公司| 经典丝袜一区| 欧美日韩日产免费网站看| 打av高清| www.99色| 成人精品视频一区二区| 国产一国产一级毛片古装| 99久热| 91N综合网| 色青青久久影视| 69丨亚洲丨精品丨入口免费播放| 日本成人A片免费看| 青青草手机在线免费观看| 性无码专区2020| 日本一二区免费| 天天日天天干天天操| 国产亚洲 中文欧美久久| v91av| 欧美色图天堂在线| 丝袜美腿亚洲| 蜜臀久久99精品久久久久免费观| 国产亚洲99久久精品熟| 欧美黑人与女人91~| 欧美性爽xyxOOOO| 国产传媒美日韩av| 国产成年精品高清在线观看91| 五月天久久婷婷亚洲| 国产精品爱欲| 黄久在线| 99熟女| 97精品| 五十路熟女工口| 亚洲最新av无码成人精品区 | 蜜乳AV一区| 玖玖超碰熟| 久久99综合| 精品国产乱码久久| 麻豆福利视频导航| 美女写真| 欧美 色 亚洲| 嗯嗯啊啊操死我| 欧美一级特黄淫片在线观看| 亚洲天堂电影网| 色五月综合| 天天上日日上日韩精品| 老女人老91妇女老热女| 婷婷操逼| 影音先锋日本一区二区| 春色综合免费| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 色波多| 噜噜噜亚洲精品| 性爱久久| 狼狼色丁香久久婷婷综合五月 | 污啪啪啪视频| 免费福利视频中文字幕| 成人草草视频| 人人爽夜夜操| 天天插天天操| 香伊人在线| 老鸭窝成人| 麻豆婷婷成人一二三| 手机看av网站在线看| 免费试看60秒| 欧美在线综合| 色哟哟-国产专区| 国产a级午夜毛片| 国产家庭乱伦表演| 东北女人高潮视频| 欧美暴力猛交| 欧美少妇大量自拍视频在线观看| 成人三一级一片aaa| 亚洲av青草久久一区二区| 九九九九97| 日韩美女久久一区二区三区| 亚洲AV成人无码一区二区三区在线观看 | 强奸国产精品视频| 亚洲91色| 九九这里只有精品| 白 大 人妻 区 在线| 香蕉在线一区二区三区| 男女真人网18| 天天插夜夜操| 欧美亚洲自拍另类人妻| 欧美综合色,www| 精品视频久久区| 超碰97最新人妻| 婷婷三区| 天天综合AV| www.天天干| 不卡免费av在线播放| 少妇人妻好深太紧了vr91| 999久久久免费精品国产牛牛| 天天影视91看看| 超碰日韩美妻| 狠色婷婷久久一区二区三区_| 日本免费一区二| 天天影视色香色欲| 美女黄色一级A视频| 曰韩av中文字幕专区| 成人午夜小视频手机在线看| 国产精品人妻熟女aⅴ| 91性高朝久久久久久久久| 国产熟女精品一区二区| 亚洲情色视频| 丰满人妻一区二区三区免费| 国产精选视频| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 亚州91| 精品人妻一区二区免费蜜桃视频| 99热这里只有精品18| 国产精品在线免费| 狠日欧美| 懂色Av| 亚洲日韩人妻中文字幕一区| 亚洲AV麻豆Aⅴ无码电影一| 97爱爱| 久久成年片色大黄全免费网站| 97久久超碰| 国产成人91一区二区三区| 秋霞 色色| 欧美成人A√在线一区二区| 成年人黄色视频免费| 性爱网站一区二区| 午夜偷拍久久熟女| 国产日本久久免费精品| 婷婷五月激情综合| 极品五月天噜噜| 女同性恋一区二区三区精品视频| 美欧老女人97| 大干人妻| 最新亚洲黄色免费电影| 欧美A片中文字幕| 国产区91柔拿会所技师| 欧美一级色| 欧美不卡在线美女| 97在线青| 久艹免费| 人人妻人人爽一区二区三区| 亚洲 欧美综合| 欧美姓爱综合网| 性爱视频免费网址| 小情侣高清国产在线视频| 婷婷五月天综合网| 东北女人的毛片| 久久精品人妻一区二区三区| 欧美东京热青青草| 黑人狂躁日本妞一区二区三区| 亚洲精品精品一区二区| 中文字幕视频在线观看一区二区| 日本一天色道久久久精品视频| 亚洲 无码 有码 中文字幕| 久久久久久久| 国产99精品一区二区三区免费| 国产成人+综合亚洲+天堂| 伊人国产av| 中文字幕av一区二区三区人妻少妇| 日日超碰亚洲| 人妻aa| 久久嫩草国产成人一区| 欧美色道啊| 无码人妻一区二区三区色欲aⅴ| AV无码久久久精品| 爱干爱射网啊啊啊| 欧美人妻一区二区| 日本成人A片网站| 人妻久久久久久久久久久久久久久| 国产天美传媒精品| 91网站18禁| 天天干人妇| 日韩在线97| 天天射夜夜操| 日本欧美成人片AAAA| 97就爱干| 婷婷干黄色| 久久久久成人蜜桃精品| 中文字幕二区| 中日亚韩免费视频| 综精品久久久aaaa| 97在线免费视频观看| 啪一啪免费视频| 欧美情色男人的天堂| 97超碰超碰| 婷婷五月综合激情| 欧美日韩97在线| 岛国黄| 亚洲精品骚逼| 日韩欧美亚欧在线视频| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 天天天天天天天天综合| 97亚洲综合| 欧美天天插| 欧美操逼录像国产黄色国产| 亚洲一区二区精品福利| 亚熟hd视频在线| 92性色国产午夜福利在线661| 97人妻色| 2017天天拍大香蕉| 亚洲激情网一二三四区| 神马麻豆福利院| 97色色网| 亚洲图片日本AⅤ欧美在线| 五月天激情小说网| 91精品国产91熟女| www.99色| 99999re| 麻豆天美国美国产| 91精片| 久久婷婷色综合一区二区三区| 久9九综合在线| 麻豆人妻精品一区二区| 亚洲激情视频| 特级大荫道BBwBBwBBW| 国产精品美女久久久久久网站| 久久色激情一区二区三区| 日韩三级伊人| 日韩人妻无码精品系列| 午夜AV人气不卡| 天天爱综合网| 色香蕉影院| 999综合网| 蜜桃在线观看一区二区三区| 韩国手机不卡无码三级视频| 色老牛| 亚洲精品人妻吞精av| 欧美成人贴图| 伊人综合色网| 亚洲人体视频在线观看| 99色婷婷中文字幕乱色| 99久久久久久久久| 青青草一区二区高清无码视频| 粉嫩国产精品久久粉嫩| 波多野结衣之双飞调教在线播放| 日韩钢筋无码高清啾啾啾| 久久精品日韩| 午夜久久久| 人妻中文在线| 欧洲精品一级二级精品综合视频综合| 亚洲色图大香| 无码不卡八戒| 亚洲AV色图一区| 亚洲夜色在线| 日本熟女免费視颖| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 超碰99在线观看| 啊啊啊啊啊在线| 操死我了嗯嗯嗯| 涩五月婷婷| 国模无码人体一区二区三| 搡老女人老91妇女熟女| 精品久久久无码| 欧美国产欧美在线观看| 日天天九九天堂666| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 天天综合网网欲色| 夜夜操一区二区| 亚洲有码 欧美精品| 欧美一区二区三区另类精品| 嗯嗯不要 视频| 二级久久网| 人妻啊啊人妻啊啊| 黄片com.| 日韩操啪| 亚洲图片91| 久久精品人妻一区二区| 亚洲色图大香| 手机看片1025| 高清国产成人无码| 亚洲国产成人精品女人久久久| 中文字幕视频免费| 国产精品视频电影| 97在线精品| 国产黄色av大片网站| 一级片视频啪啪| 天天综合色图| 啊啊啊轻点在线观看| 欧美A√综合网 | 伊人网在线点播| 久久人妇| 人妻熟女一区二区三区在线| 长长久久曰曰夜夜成人网| 国产三级多多影院2022国产AA一级毛片无码 | 欧美91网站| 国产精品乱人伊人网| 婷婷综合久久| 欧美v亚洲v日韩v最新在线二区| 国产精品白丝在线播放| 天美传媒AV在线播放| 亚洲蜜臀精品视频久久| 人妻丝袜肏逼| 殴洲老熟女| 97人亚洲综合字幕| 偷窥自拍亚洲色图| 九九色色| av大香蕉| 狠狠操天天干| 91久久久久久| 狠狠色色| 97精品在线| 伊人久久久日韩一区| 懂色AV中文| 玖玖蜜臀资源网| 色老汉色| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 无色无码| 乱伦系列一区二区| 国产精点久久久成人| 亚洲aV性爱| 婷婷丁香成人| 在线日韩视频| 久操大香蕉手机视频在线看| renqi久久久久久久久久久久| 色婷婷在线视频| 中文字幕在线播放2中文字幕在线观看2 | 91av天美性媒精品视频| 国产久久久9999| 美女尤物福利视频| 嗯~啊~快点 死我视频| 久久超碰亚洲人| 男人天堂综合| 亚洲精品久久一区二区三区蜜桃臀| 亚州再线| 国产av热热色| 亚洲成人帖图| 激情小说亚洲色图| 日韩欧美性吧婷婷乱伦大香蕉| 蜜乳成人AV| 日本丝袜人妻内射| 九九aV| 亚洲AV无码天美传媒一区| 麻豆九九九| 老司机午夜福利视频一区二区| 国产av色网| 久久久一区二区三区四区五区| 人妻色偷色噜| 亚洲成人福利电影免费| 色五月亚洲| 大香蕉在线视频重口味毛片在线| 国产精品九九| 少妇精品久久| 成人免费看吃奶视频网站| 天堂8在线新版官网| 九九久久九九久久| 国产乱码精品久久久久久| 99色热| 麻豆国产97在线| 亚洲精品亚洲人成在线麻豆| 碰碰在线视频| 久久精品99久久久久久| 超碰在线91| 国产精品亚洲天堂网址| 天天插天天干| 97一本大道亚洲一区| 老司机香蕉久久久久| 男女啪啪啪18禁网站| 在线观看综合精品亚洲| 东北夫妻性偷拍| 亚洲国产亚洲天堂| JIZZJIZZ亚洲女人被躁| 国产高清成人传媒影视| 台湾佬中文娱乐自偷自拍| 97久久久久久久久久| 蜜乳中文字幕a在线| 欧洲熟妇xxXx欧美老妇裸体| av大香蕉网站| 亚洲视频精选| 人妻乱仑一区二区三区| 校园春色亚洲欧洲| 一区二区三区高清| 日本国产欧美高清在线| 久久免费看高潮毛片韩国| 蜜屁av| 可以在线观看AV的网站| 欧美日韩淫加| 99re99| 国产成人精品亚洲日本| 欧美日韩国产电影| 欧美日韩97| 色播综合| 激情四射婷婷六月天| 亚洲一区操| 综精品久久久aaaa| 久久东京热久久| 超碰人人干| 91亚洲丝袜熟女| 日韩国产乱子伦App| 欧美性暴力猛交XXXX | 日韩av在线免费网站| 亚州乱码中文字幕综合久久久| 黄页av| www久久久| 天天性射网| 色乱二区| 日韩精品一区,二区 九九...老司机| 日韩免费中文字幕视频| 麻豆天美国美国产AV| 91n处女在线观看| 偷看洗澡一二三区美女| 久久精品99| www.人人cao| 国产97在线播放| 激情接吻视频久久久久久| 老熟妇一区二区三区啪啪| 久久中文字幕一区不卡| 60秒试看最爽10分钟网站| 五月丁香黄色网| 久久一区无码| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 久久婷婷精品| 国产一线二线三线av| 五月丁香成人网| 天天狂操夜夜狂日| 久久天堂婷婷网| 欧美色狠| 一区二区精品更新提醒| 午夜福利一区二区影院| 韩国女主播青草在线| 国产精品4p在线观看| 成人综合网 欧美| 99久久久无码精品国产人| 亚洲色丰满少妇高潮| 高清成年美女黄网站免费大全| 天天综合麻豆视频| 极品色www影院| 大香蕉草草| 97超碰色五月| 性饥渴少妇av无码毛片| 欧美色日本| 最新啪啪视频| 91欧美情色| 天天综合网一91网| 五十路六十路素人熟女| 亚洲欧美在线综合| 日本3级一区二区免费| 97天天摸天天爽| 亚洲瓯美色图| 多毛小伙内射老太婆| 色欧美色交综合| 欧美日韩丝袜 | 日韩无码久久熟女一级片| 亚洲 欧美 手机在线观看| 怡红院成人视频| av草草在线电影| 内射白嫩美女| 一级毛片久久久久久久女人18| 欧美性五月| 久久精品亚洲婷婷| 国产一区二区精品久久99| 九七超碰人人乐| 超碰1024久久| 岛国成人av在线播放网址| 国产激情视频一区区三区| 久久人爽| 亚洲第一页色| 家庭乱伦性爱av| 夜夜性| 久草草一二三四区久久| 六月婷婷激情| 精品中文字幕一区二区| 久久久四区| 操淫穴亚洲五月丁香 | 九九精品美女高溯喷水| 国产综合网站在线播放| 亚洲欧美色图片| www. 男人天堂成人在线| 96AV精品| 操逼网免费无码视频| 亚洲国产一级黄色视频| 人妻喷水| 99色日| 久久久久久久少妇| 国模精品娜娜一二三区| 国产精品爱欲| 国产日本一区二区三区蜜臀在线观看| 国产乱人妻精品入口| 久久本道| 亚洲色诱惑| 国产日韩在线播放av| 韩国一级做a久久久久| 国产伊人精品在线| 精品黄色电影| yazhououmeizongya| 欧美熟女妇同| 殴美性色a级欧美| 99热这里只有精品地址| 日本一区二区三区午夜观看| 日韩精品一二三| 爱丝福利| 一区二区三区色综合| 国内黄色精品| 深夜操逼网| 久久久激情| 秋霞视频一区二区| 人妻aa| 国产亚洲女v在线观看| 13小男生GAY自慰脱裤子| 东京热大香蕉| 91精品导航| 四虎影视国产精品| 黑人粗大V S日韩女优视频| 91欧美丨精品丨入口| 日本精品人妻少妇一区二区| 天天日少妇逼AV| 男人天堂久久精品| www.99热| 91 刺激在线| 国产少妇肉丝在线观看| 丁香六月啪啪| 久/久精品99看9| 久久久五月天| 欧美婷婷| 久久怡红院| 性站| 香蕉99秘 精品一区丁香| 懂色AV一区二区三区| 精品 码产区一区二-1080P高清在线www-B029AV| 午夜黄色免费在线观看| 九九性爱网| 久久丁香五月天| 久久一二三四五六七八九区区区| AA丁香综合激情| 青青欧美在线| 青青草久久一区网| 无码久| 亚洲脚交| 精品人妻一区二区三区鲁大师| 熟妇人妻精品一区二区|