99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

ROS2自定義消息實(shí)戰(zhàn):從msg設(shè)計(jì)到話題觀測(cè)

ROS2自定義消息實(shí)戰(zhàn):從msg設(shè)計(jì)到話題觀測(cè) 這周調(diào)四輪差速底盤(pán)時(shí)我又被同一個(gè)問(wèn)題絆了一下輪速、電流、溫度、PWM這些狀態(tài)量到底用哪種ROS2話題消息發(fā)下游節(jié)點(diǎn)才看得最省心用Float32MultiArray當(dāng)然能發(fā)但下標(biāo)一多收的一方根本不知道第3個(gè)float是電流還是占空比。于是我把這套協(xié)議寫(xiě)成了自定義msg順手把ROS2自定義消息設(shè)計(jì)、功能包配置、發(fā)布訂閱實(shí)現(xiàn)和話題觀測(cè)的完整流程走了一遍。這篇記錄就是這次實(shí)戰(zhàn)的復(fù)盤(pán)適合剛?cè)腴T(mén)ROS2、被自定義消息繞暈的新手也適合想規(guī)范自己消息接口的中級(jí)開(kāi)發(fā)者。看完你能獨(dú)立完成一個(gè)msg功能包從設(shè)計(jì)字段到編譯驗(yàn)證再通過(guò)命令行和可視化工具把話題數(shù)據(jù)看得明明白白。1. 自定義消息的適用邊界什么時(shí)候該自己寫(xiě)msg什么時(shí)候直接用標(biāo)準(zhǔn)類型1.1 從底盤(pán)狀態(tài)發(fā)布需求說(shuō)起一個(gè)下標(biāo)引發(fā)的協(xié)議混亂先還原一下場(chǎng)景。我要把四個(gè)輪子的目標(biāo)轉(zhuǎn)速、實(shí)際轉(zhuǎn)速、電機(jī)溫度、母線電流、PWM占空比發(fā)出來(lái)每50ms一幀總共需要十幾二十個(gè)字段。第一反應(yīng)是用std_msgs/Float32MultiArray定義一個(gè)20維的數(shù)組。發(fā)布端攥著下標(biāo)一個(gè)values[3]xxx地賦值訂閱端也要靠下標(biāo)去猜一旦兩個(gè)版本對(duì)不上輕則讀錯(cuò)數(shù)據(jù)重則把溫度當(dāng)成了轉(zhuǎn)速去跑安全判斷。這已經(jīng)不是代碼風(fēng)格的問(wèn)題是數(shù)據(jù)安全隱患。用自定義msg之后完全不同msg里字段有名字、有類型、有注釋motor_id就是motor_idtemperature就是temperature。發(fā)布端寫(xiě)起來(lái)是msg.temperature45.2訂閱端一眼就知道這個(gè)數(shù)代表什么代碼可讀性和可維護(hù)性直接上了一個(gè)臺(tái)階。1.2 標(biāo)準(zhǔn)消息庫(kù)能覆蓋大多數(shù)場(chǎng)景但個(gè)性化協(xié)議還得自己來(lái)不是說(shuō)所有消息都要自定義ROS2發(fā)展到現(xiàn)在標(biāo)準(zhǔn)接口庫(kù)已經(jīng)非常全。我最常用的幾個(gè)標(biāo)準(zhǔn)消息類型適用場(chǎng)景std_msgs/String、Bool、Int32簡(jiǎn)單狀態(tài)量、開(kāi)關(guān)、日志字符串std_msgs/Header帶時(shí)間戳和frame_id的消息頭geometry_msgs/Pose、Twist、Transform位姿、速度、坐標(biāo)變換相關(guān)sensor_msgs/Image、LaserScan、Imu相機(jī)、激光雷達(dá)、IMU傳感器數(shù)據(jù)nav_msgs/Odometry里程計(jì)判斷是否要自定義消息我一般看三條這個(gè)數(shù)據(jù)結(jié)構(gòu)會(huì)不會(huì)在多個(gè)節(jié)點(diǎn)之間復(fù)用字段是否相對(duì)固定下游是否依賴字段名字做邏輯判斷如果三個(gè)答案都是“是”就值得寫(xiě)自定義msg。如果只是一次性臨時(shí)傳參沒(méi)人在乎字段名那用MultiArray之類的通用結(jié)構(gòu)也能湊合但別讓這種代碼活過(guò)一星期。還有一個(gè)重要權(quán)衡標(biāo)準(zhǔn)消息類型往往自帶工具鏈支持。sensor_msgs/Imu可以在rviz2里直接可視化nav_msgs/Odometry可以被導(dǎo)航棧直接消費(fèi)。自定義消息想讓外部工具看懂就得自己寫(xiě)插件或者靠Foxglove這類通用工具兜底。所以我的原則是能復(fù)用標(biāo)準(zhǔn)消息就別自創(chuàng)只有標(biāo)準(zhǔn)類型無(wú)法準(zhǔn)確表達(dá)業(yè)務(wù)語(yǔ)義時(shí)才自寫(xiě)。2. 從零創(chuàng)建一個(gè)獨(dú)立msg功能包依賴、文件配置與編譯鏈路2.1 為什么我建議把msg單獨(dú)放在一個(gè)功能包里項(xiàng)目一多你就知道消息接口和業(yè)務(wù)邏輯混裝在一個(gè)包里麻煩會(huì)接踵而至。A包要引用B包里的msgB包又要依賴A包的消息很容易出現(xiàn)循環(huán)依賴。更常見(jiàn)的是業(yè)務(wù)包更新頻繁消息包也跟著一遍遍重新編譯所有依賴它的節(jié)點(diǎn)全要連帶重編開(kāi)發(fā)效率被拖得很低。所以我現(xiàn)在只要項(xiàng)目里有自定義消息都會(huì)給它們單獨(dú)建一個(gè)功能包比如叫my_msgs或者robot_interfaces。命名上建議用“項(xiàng)目名interfaces”或者“項(xiàng)目名msgs”既清楚又符合社區(qū)習(xí)慣。功能包構(gòu)建類型用ament_cmake雖然消息也能在ament_python包里生成但CMake版對(duì)跨語(yǔ)言支持最省事Python和C節(jié)點(diǎn)都能直接消費(fèi)不用額外處理安裝路徑。2.2 創(chuàng)建功能包與編寫(xiě)MotorStatus.msg創(chuàng)建命令很簡(jiǎn)單cd ~/ros2_ws/src ros2 pkg create my_msgs --build-type ament_cmake mkdir my_msgs/msg然后在msg目錄下新建MotorStatus.msg內(nèi)容可以這樣設(shè)計(jì)# 電機(jī)狀態(tài)消息 int32 motor_id # 電機(jī)編號(hào) float32 speed # 當(dāng)前轉(zhuǎn)速 rad/s float32 target_speed # 目標(biāo)轉(zhuǎn)速 rad/s float32 current # 母線電流 A float32 temperature # 電機(jī)溫度 ℃ builtin_interfaces/Time stamp # 時(shí)間戳每一行就是一個(gè)字段格式是“類型 名字 # 注釋”。注釋會(huì)在ros2 interface show里顯示出來(lái)等于把設(shè)計(jì)文檔直接帶進(jìn)了工具鏈。2.3 CMakeLists.txt與package.xml里缺一不可的配置寫(xiě)好msg文件后最關(guān)鍵的配置在CMakeLists.txt和package.xml里。CMakeLists.txt中至少在ament_package()之前加find_package(rosidl_default_generators REQUIRED) find_package(builtin_interfaces REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} msg/MotorStatus.msg )package.xml里需要補(bǔ)齊這幾行buildtool_dependrosidl_default_generators/buildtool_depend exec_dependrosidl_default_runtime/exec_depend dependbuiltin_interfaces/depend member_of_grouprosidl_interface_packages/member_of_group這個(gè)member_of_group是最容易被忽略的一行。漏掉之后消息雖然能編譯出來(lái)但其他功能包可能沒(méi)法正常識(shí)別這個(gè)包提供的接口現(xiàn)象就是找不到類型、build依賴報(bào)錯(cuò)或者ros2 interface list里搜不到。2.4 編譯、source與接口驗(yàn)證缺一步都會(huì)讓你懷疑人生配置完成后回到工作空間根目錄編譯cd ~/ros2_ws colcon build --packages-select my_msgs source install/setup.bash然后驗(yàn)證接口是否被正確識(shí)別ros2 interface show my_msgs/msg/MotorStatus看到剛才寫(xiě)的字段說(shuō)明消息包已經(jīng)注冊(cè)到系統(tǒng)里了。這一步一定要做。如果不做就急著去寫(xiě)發(fā)布訂閱節(jié)點(diǎn)遇到import報(bào)錯(cuò)再回頭排查浪費(fèi)的時(shí)間遠(yuǎn)超你想象。3. msg字段設(shè)計(jì)原則類型選型、命名習(xí)慣與版本演進(jìn)3.1 字段類型怎么選從基本類型到時(shí)間和嵌套消息ROS2 msg的基本類型和大多數(shù)語(yǔ)言差不多bool、int8/16/32/64、uint8/16/32/64、float32、float64、string。需要注意兩點(diǎn)一是float32對(duì)應(yīng)C的floatPython則統(tǒng)一用float二是ROS2里時(shí)間戳字段推薦顯式寫(xiě)builtin_interfaces/TimeDuration同理用builtin_interfaces/Duration不要再用舊版本那種裸time/duration寫(xiě)法跨包依賴時(shí)容易出問(wèn)題。如果涉及坐標(biāo)、位姿等數(shù)據(jù)可以直接嵌套其他包的消息std_msgs/Header header geometry_msgs/Pose pose sensor_msgs/PointCloud2 cloud嵌套能極大復(fù)用已有生態(tài)下游拿到Pose后可以直接配合TF、rviz等工具使用。數(shù)組也很常用float32[] ranges表示變長(zhǎng)數(shù)組float32[4] wheel_speeds表示定長(zhǎng)數(shù)組。設(shè)計(jì)時(shí)想清楚業(yè)務(wù)需要的是定長(zhǎng)還是變長(zhǎng)定長(zhǎng)數(shù)組在內(nèi)存布局上更規(guī)整變長(zhǎng)數(shù)組更適合點(diǎn)云這類動(dòng)態(tài)數(shù)據(jù)。3.2 常量定義與注釋規(guī)范msg里允許定義常量用法和枚舉很像uint8 MODE_IDLE0 uint8 MODE_RUN1 uint8 MODE_FAULT2 uint8 mode下游判斷模式時(shí)不用寫(xiě)裸數(shù)字直接用MotorStatus.MODE_RUN代碼可讀性提高一大截。注釋用#建議把單位、范圍、異常值都寫(xiě)在注釋里ros2 interface show都能看到等于給協(xié)議做了可查詢的活文檔。我見(jiàn)過(guò)很多項(xiàng)目里msg文件干干凈凈沒(méi)有任何注釋過(guò)兩個(gè)月連自己都得猜字段含義這習(xí)慣真的得改。3.3 版本迭代時(shí)盡量向后兼容消息協(xié)議一旦在多個(gè)節(jié)點(diǎn)間流傳改動(dòng)就要格外謹(jǐn)慎。加一個(gè)字段所有發(fā)布端和訂閱端都更新基本沒(méi)問(wèn)題但刪字段、改類型哪怕只是int32改成float32都可能讓舊節(jié)點(diǎn)按錯(cuò)誤的字節(jié)序解析數(shù)據(jù)出現(xiàn)完全不正常的值。我的經(jīng)驗(yàn)是能加字段就加字段不要?jiǎng)h改舊字段如果實(shí)在要改語(yǔ)義就新增加一個(gè)字段舊字段保留并標(biāo)記為deprecated。另外msg功能包升級(jí)后依賴它的業(yè)務(wù)功能包必須重新編譯并source否則節(jié)點(diǎn)還在跑舊類型定義容易出現(xiàn)字段對(duì)不上、內(nèi)存解析錯(cuò)位的詭異問(wèn)題。4. 發(fā)布與訂閱自定義消息Python與C的最小可運(yùn)行實(shí)現(xiàn)4.1 Python發(fā)布端與訂閱端從import到publish只需要幾行Python端流程很清晰發(fā)布節(jié)點(diǎn)import rclpy from rclpy.node import Node from my_msgs.msg import MotorStatus class MotorPublisher(Node): def __init__(self): super().__init__(motor_status_publisher) self.publisher_ self.create_publisher(MotorStatus, motor_status, 10) self.timer self.create_timer(0.1, self.timer_callback) def timer_callback(self): msg MotorStatus() msg.motor_id 1 msg.speed 120.5 msg.target_speed 120.0 msg.current 3.2 msg.temperature 45.2 self.publisher_.publish(msg) def main(argsNone): rclpy.init(argsargs) node MotorPublisher() rclpy.spin(node) node.destroy_node() rclpy.shutdown() if __name__ __main__: main()訂閱節(jié)點(diǎn)唯一需要注意的是回調(diào)函數(shù)只接收一個(gè)msg參數(shù)class MotorSubscriber(Node): def __init__(self): super().__init__(motor_status_subscriber) self.subscription self.create_subscription( MotorStatus, motor_status, self.listener_callback, 10) def listener_callback(self, msg): self.get_logger().info( fmotor_id{msg.motor_id} temp{msg.temperature:.2f})我自己項(xiàng)目里最容易犯的錯(cuò)是msg字段拼寫(xiě)和定義不一致比如定義的是target_speed寫(xiě)代碼時(shí)寫(xiě)成targetSpeedPython會(huì)在賦值時(shí)才報(bào)AttributeError一報(bào)錯(cuò)就先慌半天。其實(shí)翻一眼ros2 interface show就能對(duì)上排查成本極低。4.2 C實(shí)現(xiàn)要點(diǎn)蛇形頭文件與CMake鏈接C工程里消息頭文件是蛇形命名的my_msgs/msg/motor_status.hpp。寫(xiě)一個(gè)最小發(fā)布端#include rclcpp/rclcpp.hpp #include my_msgs/msg/motor_status.hpp using my_msgs::msg::MotorStatus; class MotorPublisher : public rclcpp::Node { public: MotorPublisher() : Node(motor_status_publisher) { publisher_ this-create_publisherMotorStatus(motor_status, 10); timer_ this-create_wall_timer(std::chrono::milliseconds(100), [this]() { auto msg std::make_sharedMotorStatus(); msg-motor_id 1; msg-speed 120.5; msg-target_speed 120.0; msg-current 3.2; msg-temperature 45.2; publisher_-publish(*msg); }); } private: rclcpp::PublisherMotorStatus::SharedPtr publisher_; rclcpp::TimerBase::SharedPtr timer_; };CMakeLists里要鏈接my_msgsfind_package(my_msgs REQUIRED) ament_target_dependencies(motor_pub rclcpp my_msgs)漏掉find_package(my_msgs REQUIRED)時(shí)編譯報(bào)錯(cuò)通常是找不到頭文件提示并不直觀容易讓人誤以為是路徑問(wèn)題。如果發(fā)現(xiàn)編譯一報(bào)錯(cuò)就是fatal error: my_msgs/msg/motor_status.hpp: No such file or directory九成是這句沒(méi)寫(xiě)。4.3 QoS匹配是topic echo沒(méi)數(shù)據(jù)最常見(jiàn)的元兇發(fā)布訂閱都寫(xiě)對(duì)了ros2 topic echo還是沒(méi)數(shù)據(jù)十有八九是QoS策略不兼容。簡(jiǎn)單說(shuō)QoS就是收發(fā)雙方對(duì)消息可靠性、時(shí)效性、歷史深度的約定。depth是隊(duì)列深度reliability分reliable和best_effort前者保證不丟包但可能延遲后者犧牲可靠性換低延遲。如果發(fā)布端是sensor_databest_effort訂閱端卻是默認(rèn)的reliable兩邊匹配不上數(shù)據(jù)就傳不過(guò)去。排查方法很直接ros2 topic info /motor_status -v這個(gè)命令會(huì)顯示發(fā)布者和訂閱者各自的QoS配置。如果reliability一側(cè)是Reliable另一側(cè)是Best Effort就需要在create_subscription里顯式指定QoS或者把發(fā)布端的QoS改成兼容版本。我用攝像頭數(shù)據(jù)時(shí)經(jīng)常遇到這個(gè)問(wèn)題而自己寫(xiě)的控制消息默認(rèn)reliable通常不太會(huì)踩坑但一旦踩了排查起來(lái)很隱蔽。5. 話題觀測(cè)的完整工具箱CLI、可視化工具與日志兜底5.1 ros2 topic系列命令list、echo、info、hz、bw一次說(shuō)清命令行是觀測(cè)話題的第一道門(mén)我基本每天都會(huì)用到這一組命令ros2 topic list # 列出所有話題 ros2 topic list -t # 列出話題及其消息類型 ros2 topic echo /motor_status # 持續(xù)打印話題數(shù)據(jù) ros2 topic echo /motor_status --once # 只打印一幀 ros2 topic info /motor_status -v # 查看發(fā)布訂閱數(shù)量和QoS ros2 topic hz /motor_status # 統(tǒng)計(jì)真實(shí)發(fā)布頻率 ros2 topic bw /motor_status # 統(tǒng)計(jì)話題帶寬占用 ros2 interface show my_msgs/msg/MotorStatus # 查看字段定義其中hz最實(shí)用。比如你設(shè)置了10Hz定時(shí)器但回調(diào)耗時(shí)太長(zhǎng)hz顯示出來(lái)只有2Hz不用猜就能定位是發(fā)布側(cè)卡了還是調(diào)度出了問(wèn)題。bw則在排查大消息點(diǎn)云、圖像占用帶寬時(shí)很有用。5.2 rqt_graph與rviz2可視化觀測(cè)能做到什么程度rqt_graph能把節(jié)點(diǎn)和話題關(guān)系畫(huà)成一張圖是理解系統(tǒng)拓?fù)渥钪庇^的工具rqt_graph看到節(jié)點(diǎn)間的箭頭就能快速判斷話題名和節(jié)點(diǎn)連接是否符合預(yù)期。如果某個(gè)話題的箭頭沒(méi)畫(huà)出來(lái)或者多了一個(gè)意料之外的節(jié)點(diǎn)連接通常說(shuō)明命名或邏輯有問(wèn)題。我在調(diào)多節(jié)點(diǎn)系統(tǒng)時(shí)幾乎每次都會(huì)先開(kāi)rqt_graph再?zèng)Q定下一步看哪里。rviz2對(duì)自定義消息的支持就有限了。像Pose、LaserScan、Imu這種標(biāo)準(zhǔn)消息rviz2有專門(mén)的Display插件可以直接可視化但MotorStatus這種純數(shù)值消息rviz2沒(méi)有默認(rèn)Display能顯示。我一般不在rviz2里看這種消息而是用Foxglove Studio。Foxglove對(duì)自定義消息支持得更好能直接以表格和曲線形式看任意字段非常適合電機(jī)狀態(tài)這類遙測(cè)數(shù)據(jù)。5.3 自寫(xiě)觀測(cè)節(jié)點(diǎn)和ros2 bag不依賴圖形界面的兜底方案如果目標(biāo)環(huán)境沒(méi)有圖形界面比如工控機(jī)或者Docker容器里命令行和自寫(xiě)節(jié)點(diǎn)就很重要。我個(gè)人的習(xí)慣是在每個(gè)業(yè)務(wù)包里留一個(gè)debug_sub節(jié)點(diǎn)用最簡(jiǎn)單的方式打印關(guān)鍵字段必要時(shí)還可以直接pdb.set_trace()進(jìn)入調(diào)試單幀數(shù)據(jù)就能停在那慢慢看。另一個(gè)被低估的工具是ros2 bagros2 bag record /motor_status ros2 bag play rosbag2_xxx現(xiàn)場(chǎng)測(cè)完一包數(shù)據(jù)回到工位回放配合topic echo和Foxglove慢慢分析。尤其是偶發(fā)異??咳搜鄱onsole根本盯不住錄包回放是唯一高效的辦法。這個(gè)習(xí)慣幫我解決過(guò)好幾次“現(xiàn)場(chǎng)復(fù)現(xiàn)不了”的疑難雜癥。6. 踩坑實(shí)錄自定義msg使用中最容易翻車(chē)的五個(gè)細(xì)節(jié)6.1 source順序和構(gòu)建緩存導(dǎo)致的消息類型“消失”最常見(jiàn)也最氣人的問(wèn)題明明已經(jīng)colcon build了ros2 interface show卻提示找不到類型。原因通常是當(dāng)前終端沒(méi)有source新生成的install/setup.bash或者之前source的是另一個(gè)工作空間的setup.bash。解決辦法是新開(kāi)終端cd ~/ros2_ws source install/setup.bash確保路徑里同時(shí)包含基礎(chǔ)ROS2環(huán)境和當(dāng)前工作空間。如果source沒(méi)問(wèn)題但還是找不到就得懷疑build/install目錄里的舊緩存了。這種時(shí)候我一般直接刪掉build和install目錄再重新build雖然慢一點(diǎn)但能把各種莫名其妙的舊文件問(wèn)題一次性清干凈。6.2 修改msg后調(diào)用方還在用舊字段我試過(guò)在MotorStatus里把current字段改名為bus_current所有被依賴的包都重新編譯了但跑起來(lái)的一個(gè)Python節(jié)點(diǎn)一直報(bào)AttributeError。原因是想當(dāng)然以為source了新環(huán)境就萬(wàn)事大吉實(shí)際上某些ros2 run是從舊終端啟動(dòng)的進(jìn)程還加載著舊環(huán)境變量或者install目錄里舊包沒(méi)被覆蓋。解決方法是全關(guān)終端重新source必要時(shí)把install目錄下對(duì)應(yīng)包的緩存刪掉再build。經(jīng)驗(yàn)就是當(dāng)你肉眼看到字段沒(méi)生效先殺終端進(jìn)程和舊節(jié)點(diǎn)而不是只編譯一次。6.3 消息包被多個(gè)業(yè)務(wù)包依賴時(shí)的構(gòu)建順序問(wèn)題當(dāng)my_msgs被底盤(pán)控制、導(dǎo)航、狀態(tài)機(jī)三個(gè)包同時(shí)依賴時(shí)colcon build的默認(rèn)順序一般沒(méi)問(wèn)題它會(huì)自己解析依賴。但如果只用了--packages-select去編譯某個(gè)業(yè)務(wù)包而my_msgs還沒(méi)編譯或沒(méi)source那結(jié)果一定是找不到頭文件或import報(bào)錯(cuò)。正確做法是用--packages-up-tocolcon build --packages-up-to motor_controller這個(gè)命令會(huì)把依賴鏈上游一起編譯而--packages-select只編譯指定包本身。這兩個(gè)參數(shù)的差別踩過(guò)坑的自然懂。6.4 echo有話題但數(shù)據(jù)為空或出現(xiàn)nan這個(gè)坑我踩得莫名其妙。發(fā)布端打印出來(lái)的msg里明明是正常數(shù)值但訂閱端收到后卻是nan或者0。后來(lái)發(fā)現(xiàn)是C代碼里創(chuàng)建了消息對(duì)象但沒(méi)有給字段賦值就發(fā)布某些字段的值取決于內(nèi)存初始狀態(tài)不一定是0。另一個(gè)常見(jiàn)情況是把float32字段定義成數(shù)組了或者數(shù)據(jù)結(jié)構(gòu)改了但解析代碼沒(méi)改。建議發(fā)布前先斷言一遍關(guān)鍵字段if (!std::isfinite(msg-speed)) return;這種防御式寫(xiě)法能把臟數(shù)據(jù)擋在源頭省得下游節(jié)點(diǎn)拿到異常值后像無(wú)頭蒼蠅一樣亂轉(zhuǎn)。6.5 話題名和消息類型對(duì)不上排查思路固定化還有一類錯(cuò)誤跟msg設(shè)計(jì)無(wú)關(guān)但特別容易在項(xiàng)目里反復(fù)出現(xiàn)發(fā)布的是/motor_status訂閱端監(jiān)聽(tīng)的是/motor_status/statusrqt_graph一看全是孤立節(jié)點(diǎn)。這種問(wèn)題排查思路可以固定下來(lái)先用ros2 topic list -t確認(rèn)當(dāng)前話題名單和類型再用ros2 topic info /topic -v確認(rèn)收發(fā)雙方都在最后再用rqt_graph看拓?fù)洹0催@個(gè)順序走一般十分鐘內(nèi)能定位。文末不放什么宏大結(jié)論只講兩個(gè)個(gè)人體會(huì)。第一個(gè)自定義msg并不是越早設(shè)計(jì)越好先在小范圍場(chǎng)景里跑通發(fā)布訂閱等字段趨于穩(wěn)定后再抽出獨(dú)立消息包會(huì)少改很多協(xié)議。第二個(gè)我在my_msgs里維護(hù)了一個(gè)protocol_design.md把每個(gè)字段的含義、單位、有效范圍都寫(xiě)清楚這個(gè)文件比代碼注釋有用十倍每次改協(xié)議先改文檔再改msg下游同事都能少問(wèn)很多問(wèn)題。如果你也在折騰自定義消息建議從最簡(jiǎn)單的MotorStatus這類狀態(tài)消息開(kāi)始先看完topic echo輸出再談其他。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷丁香色女人| 成人AV在线电影| 久久丁香五月| 国产av一区二区三区| 婷婷五月六月激情| 五月天色导航婷婷资源婷婷| 日本久久极品| 九九综合九| 少妇人妻人伦A片| 色墦五月丁香| 婷婷五月天午夜激情影院| 97人人超| 超碰国产AV| 狠狠色丁香久久久婷| 九月婷婷| 色色丁香婷婷综合| 亚洲美女网Va| 五月综合色| 99色最新在线视频| www色五月| 久久ab| 六月丁香五月激情网| 亚洲AV另类| 少妇高潮A片无套内谢麻豆传| 天天激情| 六月色播| www.久久66| 婷婷五月综合激情| 婷婷综合五月天| 九九久久色| 狠狠色综合网站久久久久| 天天做天天爱天天要| 五月丁香激情婷婷综合字幕| 99re在线观看| 婷婷五月天视频免费在线观看| 美女婷婷六月色| 亚洲AV网址| 五月九九综合| 特黄三级又爽又粗又大| 久久色午夜在线导航| 五月丁香啪| 亚洲AV综合在线观看| 五月综合无码| 久久久久婷| 91wwmm导航| 色综合性视频| 这里有精品2| 另类综合激情| 色婷婷五月天堂资源| 五月丁香| 色999五月色| 激情网站五月| 五月婷成人网| 色色色色色色综合| 人妻精品久久久久久| 丁香激情六月天婷婷| 久久在线视频只有这里有精品| 五月丁香六月综合基地| 五月开心婷婷网| 另类在线观看视频| 亚洲精品网站色视频| 99热e| 亚洲视频在线网| 丁香激情网| 五月丁香啪| 婷婷五月天六点丁香五月| 午夜精品777| 深爱女色婷婷丁香五月亚洲图区| 丁香五月婷婷激情123| 日日操,日日爽| 欧美激情五月综合| 我爱宗和色| 欧美操人| 97婷婷五月| 丁香五月亚洲无码| 五月天综合在线观看视频| www.激情五月| 婷婷综合97| 91精品久久久久久久| 婷婷激情五月天在线| 亚洲综合色棒| 五月天色图| 天天干,天天日| 五月丁香色综合| 99久久久久| 狠狠精品干练久久久无码中文字幕| 少妇高潮呻吟A片免费看软件 | 4399成人黄A片| 天天插天天日| 日韩在线成人电影| 激情五月天啪啪| 欧美六月| 青青草a在线| 六月激情久久婷婷| 99这里只有精品| 嫩草视频观看| 色播五月丁香婷婷| 五月婷婷激情久久| 狠狠穞A片一區二區三區| 超碰人人摸人人操| 激情宗合哪里能看| 婷婷五月天av| 天天做天天爱| 狠狠干综合网| 99热这里只有免费| 99久久久久久| 日本操B片| 99久在线精品99re8热| 综合丁香婷婷五月天| 午夜婷婷五月天在线| 99色网站| 99热国产在线| 国产va在线视频| 丁香激情综合| 99精品视频在线观看| Caoporn公开| 97色色色色| 天天干,天天舔| 人妻操在线看| 丁香婷婷色五月| WWW.HENHENL.| 婷婷五月婷婷五月天| 日本美女五月天| www.激情| 五月丁香日本片| 色久天| 婷婷综合激情| 99久久偷拍视频| 天天色天天搡| 色啪网| 久久99草五月婷婷| 六月婷婷国产| 人妻内射一区二区在线视频| 天天综合天天做天天综合| 五月天婷婷綜合院| 九色七七| 五月天天视频| www.婷婷五月天| 天堂综合久久| 久色大| 字幕网AV中文字幕| 婷婷五月天成人基地| 99热国产免费| 快乐激情五月色婷婷| 五月天婷婷乱论小说| 婷婷五月AV| 久久九九一區| 五月丁香在线国产| av在线播放网站| 人妻久久久久久久久妻久久久久久久久| 五月婷婷五月丁香| 六月丁香停| 婷婷五月伦理网站| 极骚大香蕉伊人| 国产毛片精品一区二区色欲黄A片| 级情九色| 99这里只有精品| 大香蕉手机视频| 直接看的av| 懂色av粉嫩AV蜜臀AV| 午夜成人AV在线| 婷婷五月天激情网| 综合久| 大香蕉人妻| 91色综合网| 五月丁香亭亭| a在线观看| 丁香五月综合激情性爱| 亭亭五月丁香综合欧美| 熟女人妻一区二区三区免费看| 99re99热| 国外亚洲成AV人片在线观看| 五月丁香龟婷婷| 99爱在线| 日韩 中文 欧美| 婷婷色在线播放| 久色大| 久久九精品| 亚洲婷婷六月天| www.99热| 亚洲色色香蕉| 玖玖99精品视频| 色婷久九| 日韩av干| Y11111111111少妇电影院| 99在线观看精品视频| 国产日韩欧美| 色操b| 成人免费120分钟啪啪| 91爱啪啪| 欧美熟女视频 色婷婷| av狠狠操| 深爱五月婷婷开心中文字幕| YW无码| 日日爽夜夜爽| 五月婷成人网| 欧美一级a| 天天爱夜夜爽| 亚洲综合草草| 97操碰人免费| 综合性爱网| www狠狠爱com| 久久久久久人妻| 婷婷六月丁香开心深深爱| 亚洲精品白浆高清久久久久久| A网在线欧洲| 91视频久久久| 色婷婷激情五月天丁香| 大香蕉手机视频| 第一区久久网站| 色婷婷综合影院| 夜夜撸日日操| 六月丁香综合| 丁香5月啪啪| sewuyuetingtingiii| 久热这里只有精品6| 另类视频一区| 婷婷玖玖丁香| 丝雨一区二区| 国产国产乱老熟女视频网站97| 五月天激情网开心网| 丁香五月婷婷激情尤物| 九九九九操逼| 天天操夜夜操| 天天干天天干天天干天天干天天| 99色这里| 色五月婷婷在线| 99久久婷婷国产综合精品草原| 97色伦另类图片小说视频 | 人妻丰满精品一区二区A片| 综合久久99| 丁香五月婷婷性爱| 狠干综合| 激情五月婷婷| 激情小说五月天| www.夜夜操| 色婷婷综合五月| 久操干| 青青草青青草五月天| 91九色在线| 天天爽天天日天天舔| 99热国产精品| 99热碰碰热| 国产免费一区二区三州老师F1……| 色色性爱视频| 六月丁香激情网| www天天色天天射| 人人干AV| 久热这里只有精品性色AV| 五月婷婷日| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 黄网网站在线播放| 香蕉综合在线| 丁香五月天导航| 干一干xxxx| 日韩中出视频| 伊久大香蕉| 热久久这里只有精品| 亚洲欧美婷婷五月色综合| 丁香五月天中文字幕| 婷婷五月精品中文字幕| 亚洲开心激情网| 久久久精品99亚洲综合| 五月丁香拍拍激情综合| 亚洲 在线 性爱 | 色婷婷丁香五月在线观看| 91一起操| 夜夜夜夜做天天天做无码视频| 国产亚洲精品久久久久久郑州| 色婷婷伦理| 日本成人噜噜噜噜噜| 伊人激情综合| 婷婷五月综合网| 97热久久| 99网| 99视频这里只有久久精品 | 亚洲色情一区二区三区四区| 久久久久久久8| 啊v视频在线观看| 婷婷激情五月吧| 色五月av| 97韩国久久电影院| 激情五月婷婷色| 精品皮股午夜AV| 婷婷五月精品中文字幕| 婷婷久久亚洲| 欧美婷婷日本| 九八Av| 国外亚洲成AV人片在线观看| 91久久久久久久| 人人操91| 香蕉AV777XXX色综合一区| 午夜不卡久久精品无码免费| 婷婷伊人综合| 五月丁香亭亭操逼| 五月综亚洲| 婷婷丁香综合| 亚洲欧美婷婷五月色综合| 人人摸人人搞| 91a片爽| 日韩肏屄网| 五月丁香六月综合情在线观看| 九九色之九九色88| 开心五月深爱五月婷| 久久久区区一久久久久久| 天天爽天天日| 婷婷久久综合久| 色婷婷成人做爰A片免费看网站 | 三年高清大片免费观看国语| 婷婷五月综合中文字幕| 日韩欧洲亚洲| www狠狠| 久久五月天婷婷| 播五月丁香三月婷婷| 婷婷婷婷色| 综合久久丁丁香婷| 中文AV在线观看| 亚洲在线激情婷婷五月| 中文久久婷婷| 婷婷综合久久综合| 久久这里面只有精品视频| 色丁香五月婷婷在线| 日本婷久久| 欧美性生交XXXXX无码小说| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 色婷婷9| 婷婷六月激情啪啪| 99热最新| 久久五月天色婷婷| 婷婷王月天影院| 久久这里只精品| AV变态另类一区二区| 日本老女人黄页在线播放| 丁香六月婷婷综合在线| 婷色五月天| 干一干xxxx| 另类小说婷婷色| 99性视频| 久久婷婷五月综合网| 色婷婷五月开心六月综合| 日韩99色99| 激情五月综合| 九九激情网| 久热免费| 九九美女视频| 五月丁香六月婷婷综合网站| 激情小说色五月| 九九色逼| 亚洲av综合网| 91婷婷搞| 五月天婷婷在线播放| 日韩无码色色| 26UUU一区二区| 亚洲成人综合网在线免费观看| 丁香色成人| www,天天干| 丁香五月婷婷图片综合| 天天综合图片| 99燥99日| 天天插天天插天天日| 成人网在线视频| 国产成人精品一区二区三区视频| 激情五月图| 色偷偷综合| 97碰碰电影| 五月草视频| 99欧美热| 很很干天天干| 午夜丁香综合婷婷| 久久性操| 思思视频久久| 99免费在线| 国产成人+综合亚洲+天堂| www.婷婷六月天| 国产白丝在线一区| 第四色五月婷婷| 东北黄色一级| 99精品久久久久久久婷婷| 日本人人草草| 99色| 亚洲精品五月| 色噜久| 六月婷婷八月丁香| 99热在线播放| 国外亚洲成AV人片在线观看| 亚洲五月天婷婷在线| 九九精品碰| 久色婷婷200| 久久久久久久8| 91丨九色丨熟女| 五月丁香婷婷久久| 狠狠干天天日| 第一区久久网站| 99日热在线视频| 久热这里只有精品视频免费观看| 久久精品系列| 99久久综合网| 五月色天情| 2015超碰| 婷婷五月天综合小说网| 色综合九九色综合88| av五月天婷婷丁香| 97人人操人| 天堂久久婷婷| 26uuuavcom| 91av无码| 色墦五月丁香| 亭亭五月色男人| 色99色| 五月综合久久| 丁香五月aV| 久碰视频| 婷婷五月天激情开心网| 色七色九九| 久久激情五月| 婷婷八月丁香激情综合| 丁香五月婷婷狠狠色| 久久九九热视频| 96性爱视频| 一起草av在线观看| 另类少妇人与禽zOZZ0性伦| 丁香五月婷婷婷婷欧美综合| 中文在线视频久9| 色欲天天综合网| 激情五月丁香激情综合网| 综合网网欲色| 99人人干| www.色9| 婷婷五月综合激情小说| 五月丁香亚洲校园欧美| 五月天激情日色在线| 99久热| 欧美婷婷五月无砖| 9久久精品| 91呦呦呦| 深爱激情六月天| 久色成人| 性日本激情| 美女伊人久久| 亚洲人妻AV| 青青草原福利在线| 97涩涩丁香五月天| 9er热在线精品视频| 91人无码久久久久久| 五月激情综合网| 五月婷婷丁香| 思思热精品在线| 另类婷婷丁香| 色五月婷婷少妇人妻| 在线超碰免费| 这里只有精品96| 色婷婷基地| 久久总和99| 五月丁香婷婷成人综合网| 婷婷的99视频网站| 啪啪黄页网| 91女人18毛片水多国产| 91九色偷拍| 丁香六月婷婷| 夜夜夜夜撸夜夜操| 丁香五月丁香伊人| 日日干日日s| 日韩精品超碰在线观看| 色五月婷婷1| 日本A片一区| 久久性爱99国产| 97人人操| 91成人品| 天天精品视频免费观看| 天天影院色| 色情五月天丁香社区| 热热色色五月天婷婷| 强壮公让我夜夜高潮A片视频| 丁香五月影院| BBWCUCKOLD精品熟妇| 丁香午夜天| 丁香九月久久| 婷婷五月激情中文字幕| 五月天丁香网| 爱爱网址9| 99在线精品免费视频| 六月天婷婷| 九九亚洲| 8050一级网| 超碰99在线| 亚洲乱码日产精品BD在线观看| 色色99| 久久小说| 97操男人的天堂| 婷婷 丁香 久久| 91在线操| 日本熟女视频一区二区| 婷婷操逼网| 日日夜夜噜噜爽爽| 成年人丁香五月| 成人综合视频在线| 色色色99| 99热在线观看| 99日本精品视频热| 无码99| 天天肏在线观看| 色色色色色色网| 伊人综合网站| 久久九九re热| 五月婷婷开心亚洲无| 97丁香五月天| 26uuu最新地址| 天天日夜夜| 9久热| 青青久在线视频免费观看| 国产91在线视频| 4438成人电影| 久久这里在精品视频| 丁香综合伊人AV| 欧美成人A片AAA片在线播放| 婷婷久久久| 国产成人精品亚洲线观看| 亚洲精品国产熟女久久久| 九九中文色色| 久久综合九九| 六月丁花香啪啪激情欧美| 99人人操| 五月丁六月香av| 五月天综合在线观看视频| 色99网站| 亚州婷婷五月激情综合| 天天日狠狠| 丁香五月偷拍| 色噜噜狠狠色综无码久久合欧美| 五月丁香成年黄色| 五月丁香在线国产| 久久久婷| www.91在线看| 天天色综合网吨吧| 色五月婷婷网| 九九五月天| 六月丁香影院| 精品夜夜澡人妻无码AV| 五月婷婷啪啪啪| 成人九九视频| 狠狠综合| 色九九七七| 插插网爽妇五月丁香| 丁香六月激情综合| 色99欧洲色19| 色情一区二区播放| 欧美性做爰大片免费看办公室 | 99re视频在线| 天天日日爽| 婷婷五月激情图片| 九九五月天| 欧洲激情精品婷婷| 91碰免费视频| 成人网丁香五月| 激情五月天婷婷五月天| 婷婷五月天六点丁香五月| 99热99热在线| 超碰2021| 久久机热这里只有精品| 99热网精品| 99热99网| 亚洲色网络| 97碰久久| 亚洲中文字幕AV| 99热资源在线| 思思热这里只有精品| 欧美色必爱| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 六月丁香五月天| 综合福利网| 五月天婷婷青青| 婷婷九月| 另类婷婷丁香| 国产肥白大熟妇BBBB视频| 狠狠香婷婷五月| 99热精品在线在线| 五月天婷婷六月激情网| 99这里有精品视频| 色婷婷五月天| 99热免费精品| 激情AV| 久久婷婷网站| 激情综合网激情五月天| 亚洲成人在线综合| 婷婷激情性爱| 欧美色色色| 狠狠干五月天婷婷网| 久久久久人妻网址| 丁香五月香蕉| 天天干天天干天天干| 五月丁香婷婷在线综合蜜桃| 最近中文字幕大全免费版在线 | 婷婷精品在线| 日韩无码亚欧无码| 热五月婷婷| 国产操碰| 人妻丰满精品一区二区A片| www.日韩艹| 99色在线观看视频者| 色婷婷成人| 婷婷色网站| 国产小精品| 五月情婷婷| 激情婷婷五月| 久久久国产精品黄毛片| 欧美三日本三级少妇三99| 偷偷狠狠久久婷婷五月天| 天天做天天爱天天爽| 色五月婷婷激情五月| 香蕉五月婷婷| 99热啪啪| 射久久丁香五月| 丁香花狠狠婷婷亚洲中文字幕| 思思热99热| 天天狠狠婷婷在线| 久久免费干| 久久六月综合| 色五月六月| 国产伦理精品高清在线观看网站一区二区 | 九九综合久久| 天天做天天视天天谢| 久久XX日本综合| 色婷婷色99国产综合精品| 天天舔天天| 永久免费视频| 26uuu色五月| 久久久婷婷| 第四色婷婷丁香五月| 亚洲成人免费电影| 婷婷丁香五月天大香蕉| 思思热思在线精品视频| 9 9 9色色| 国产成人精品亚洲线观看| 五月丁香婷婷爱| 综合网激情五月天| 超碰av在线| 卡视频1区2区| 天久综合91综合首页| 我爱大香蕉| 99在热线免费视频| 夜夜爽日日躁| 99精品视频在线观看免费| 94干大香蕉| 精品爱欲五| 久久久性爱视频| 五月丁香啪啪网| 夜夜骑福利资源| 日本女va| 怡红院 久久| 男女免费视频999| 伊人激情综合| 亚洲六月色| 九九伊人网| 亚洲综合婷婷| 欧美综合123区| 五月六月丁香激情| 五月激情婷婷开心| 人人操人人爱丁香五月| 这里只有精品在线播放| 极品 少妇 内射| 五月天啪啪| 8区视频在线| 日韩在线观看亚洲| 色情婷| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 丁香五月性| 91久久婷婷| 97中文在线| AAA久久| 欧美熟女99| 国产91视频| 91操片| 91ncom.色| 婷婷五月花| 99re8这里只有精品99re8热视频| 人妻啪啪啪| 丁香五月激情五月| 国产成人精品亚洲线观看| 99精品成人无码A片观看金桔| 99精品久久| 99热免费| 欧美日本不卡黄色片| 亚洲av电影网站| 婷婷五月天涩涩| 欧美三级级99久久| 丁香九九九九| 五月丁香婷婷福利| 99热大片| 噜噜色婷婷| 日韩成人电影在线播放| www.婷婷五月| 99在线精品免费视频| 婷婷五月深深的爱| 天天噜噜| 丁香五月另类色婷婷麻豆| 色月丁| www.99热这里只有精品| 女高怪谈在线观看| 99精品久久久| 伊人激情AV一区二区三区| 狠狠五月婷婷| 九九精品热播| 欧美成性色| 99精品无码网站| 五月婷婷激情综合av| 天天爽人人综合免费7799| 91操碰| 亚洲正能量欧美| AV成人在线播放| 五月天五月色婷婷综合| 狠狠五月综合在线| 色婷五月| 96丁香婷婷九月蜜桃综合久久| 99婷婷五月天激情| 丁香婷婷综合精品六月初| 丁香五月激情视频在线| 欧美日韩成人一区二区| 粉嫩AV久久一区二区三区| 亚洲啪啪自拍| 婷婷丁香五月亚洲欧美| 婷婷五月天激情丁香| 91热久久| 91在线97视频| 丁香无月在线观看| 思思热精品在线| www超碰| www.久操| 丁香六月av| 狠狠色噜噜狠狠| 少妇人妻丰满做爰XXX| 六月激情婷婷综合| 婷婷五月综合激情小说| 色色色五月婷婷| 丁香五月天堂亚洲社区| 欧美成人无码一区二区三区| 五月天伊人| 亚洲 在线 另类| 9久视频| 伊人五月天在线| 99热精品在线| 久久久久9| 丁香桃色网| www.9操| 青草网在线观看| 成人va视频| 超碰操日| 春色激情第四色| 色婷婷www| 99色在线观看视频| 五月激情婷婷六月| 中文字幕网伦射乱中文| 婷婷丁香色五月亚洲| 国内外色色色色色成人视频| 丁香五月激情图片婷婷| 亚洲激情淫网| 国产欧洲欧洲精品久久| 久久99久久99精品免观看粉| 亚洲最大激情无码| 色欲资源网| 婷婷五月天久久| 九久久精品视频99| 天天操天天操天天操天天操天天操| WWW.久久.COM| 久热这里这里有精品| 91人妻PORNY九色大屁股| 极品另类| 天天干,夜夜爽| 免费成人中文字幕| 婷婷亚洲欧美丁香五月| 色爱爱综合网| 亚洲人妻五月丁香婷婷| 97夫妻超碰| 丁香五月激情月| 三男玩一女三A片| 人人操Av| 亚洲精品久久久无码| xxxx五月| 丁香六月综合激情| 操逼福利视频| 欧美成人在线观看| 欧美婷婷五月天综合| 久久国产一区二区三区| 五月婷综合性中心| 久久久久久久久18久久| 91色情播放| 日本在线wwww| 国产精品美女| 五月婷婷六月天| 亚洲综合99| 天天爱天天日| 婷婷香草网| 丁香六月婷婷综合在线| 久久婷婷五月综合一| 亚洲综合另类| AAA久久| 天天色天天| 婷五月丁香| 色色五月天 亚洲| 九九热在线视频观看| 狠狠色噜噜狠狠| 成人午夜无码视频| 99热这只有| va中文资源在线观看| 国产成人av在线| 激情五月开心五月在线视频| 少妇高潮A片无套内谢麻豆传| 伊人在线婷婷草| 亚洲精品**不卡在线播he| 五月丁香六月欧美综合网站| 9人人操人人看| 五月婷婷开心网| 99热这里只有精品23| 五月婷婷精品视频| 久久98| 婷婷永久在线| 人妻中文字幕网| 丁香六月婷婷| 五月丁香婷婷中文网| 五月丁香中文婷婷中文| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 成人在线观看国产| 丁香五月天亚洲视频| 色婷婷五月综合| 九九综合九| 日韩精品一品二区三区的使用体验| 五月丁香色色网| 色情终和网| 91人操人人人操人| 99热这是里只有精品| 久热9热| 开心深爱激情网| 五月丁香基地| 婷婷中文字幕| 五月婷av| 婷婷国产综合| 在线综合亚洲欧美65| 五月天综合激情网| 五月丁香另类网| 婷婷五月天黄色| 伊大人久久| 久久久婷| 五月婷婷69| 深爱激情小说五月婷婷| 99热在线资源| 天堂呦 呦百度搜索-百度搜索| 五月婷婷影院| 五月天婷婷婷| 久久这有这里精品| …亚洲黄色在线播放日韩、av中文a…| 天天操天天干天天日| 久久精热| 无码激情精品色婷婷久久久久| 色噜噜97视频在线观看| 久久久久久久久久久久久久久久一道本| 色99在线视频| 婷婷综合激情| 99精品爱| 精品五月丁香| 人妻人人操| 亚洲色五月婷婷| 激情综合网激情五月婷婷| 色五月激情五月天| 九九亚洲| 人人爱人人摸人人澡| 丁香五月另类小说在线阅读| 97碰免费视频在线| 99ri在线播放| 婷婷丁香先锋资源网站| 色婷婷香蕉在线| 色99色| 五月花激情| 97干在线观看视频| 婷婷天天婷婷天天澡| 丁香五月六月婷婷综合激情| 激情婷婷人妻| Av性爱网站| 五月婷婷激情综合在线| 97狠狠色| 综合久久婷婷| 午夜成人AV在线| 成人丁香色| 另类亚洲视频| 美女伊人久久| 日本免费91| 夜夜爱影院| 丁香五月最新网址| 激情宗合 激情宗合| 天天操天天插天天射| 狠狠色婷| 狠狠色综合无线观看| 黄色av网站在线免费播放| 91se精品国产| 欧美黄色一级| 1024在线视频| 99热99| 日本在线99| 色狠狠色综合久久久绯色AⅤ影视| 成人色图情色成人网 www.5b5b5bcom 五月天| 潮汕成人AV片在线| 综合一啪| 无码髙清| 婷婷九九| 五月总合激情网| 六月丁香五月激情亚洲AV| 电影爱拉战争免费观看| 97色伦另类图片小说视频 | 先锋资源91| www98日本小时间到了| 99自拍视频网站| 伊人婷婷五月天| 五月天婷婷久久日| 成人小说 五月天 婷婷| 丁香五月婷婷成人网| 天天操天天爱天天玩| 亚洲色优| 另类图片天天影视在线观看| 激情四射五月天| 小香蕉av| 亚洲AV无码一区二| 久久久8| 午夜丁香六月婷| 巴基斯坦粉嫩无码视频| 色五月亚洲| 婷婷丁香五月综合| 五月丁色AV| 久草久青福利| 九九在线这里只有精品视频| 久久92| 天天干天天干天天| 97涩婷婷| 久色网址| 五月丁香人人婷婷在线观看| 婷婷五月天激情电影小说| 国产免费AV在线| 极品少妇XXXX精品少妇偷拍| 婷婷激情五月天桃花网| 国产精品成人AV在线| 丁香狠狠| 夜夜爽天天爽| 激情丁香五月婷婷| 久久女人九九| 欧洲永久精品| 亚洲日日日| 丁香五月天激情综合| 色婷丁香91| 五月婷网| 色色免费网战视频| 色综合激情| AV色色天堂中文| 婷婷丁香97| 婷婷丁香综合成人| 色色婷婷五月| 精品婷婷丁香五| 九九伊人网| www.五月天激情| 欧美成人精品A片免费一区99| 67久久| 九九精品在线视频观看| 丁香婷婷成人在线播放| 激情综合区| 五月婷护士| 色播五月丁香| www夜夜| 中文字幕精品无码一区二区| 26.uuu丁香五月婷婷| 亚洲中文乱字字幕线在永久| 亚洲精品视频在线| 久久久噜噜噜www成人| 精品无码av丁香五月激情| 九九热在线精品视频| 色吧婷婷五月亚洲| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 婷婷97色| 久久精品性爱视频,| 婷婷五月天基地| 久久九九激情五月天| 狠狠搞五月天| www.狠狠| 色级婷婷| 99热这里只有精品1998| 亚洲高清在线| 91九色国产| 人妻久久久| 久久ri精品视频| 激情五月丁香激情综合网| 久久精彩视频| 色五月婷婷av| 人妻久热| 都市激情亚洲| 色视频五月天| 色亭亭丁香五月天| 色婷婷伦理| 欧美操人| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 蜜桃人妻无码AV天堂三区| 91婷婷| 97碰久久| 亚洲无码11| 亚洲激情六月丁香| 开心五月综合| 婷婷最新地址| 色青青视频| 国产毛片欧美毛片久久久| 激情小说五月天社区丁香 | 可以免费观看的AV| 五月天色播网| 综合色99| 丁香色六月婷婷| 丁香婷婷啪啪| AAAA亚洲| 午夜69成人做爰视频| 婷婷丁香五月视频| 女人高潮内射99精品| 久久这里只有精品07| 五月丁香综合网| 热无码A∨| 国外亚洲成AV人片在线观看| mmm1717.6dbm人人爱人人操| 国产精产国品一二三在观看| 一區四區歐美日韓| 免费看欧美成人A片无码| 亚洲色小说在线综合| 色综合久久之分久久| 日日夜夜噜噜爽爽| 五月天啪啪网| 色婷婷的五月天| 色色色在线观看| 欧美三级欧美一级| 99色色爰| 大地资源色婷婷视频在线| 激情婷婷狠狠干| 国内久久婷婷| 1区2区视频| 超碰狠狠操| 欧美大片| 拳交大逼| 爽极品色| 99在线精品视频| 五月色俺婷婷| www.99热这里精品| 91精品久久久久久| 婷婷五月天日本国产| 人妻激情久久| 色五月婷婷网| 99久久亚洲精品视频| 精品无码久久久久久久久| 99日韩网站| 久久99久久99精品免观看粉| 五月激情天| 色久综合天天做视频| 五月婷婷日本| 久久a热| 天天精品视频在线观看视频| 婷婷va| 色综合久| 午夜五月天| 996热| 97久久久久久久久久久| 看片视频在线免费日产在线看| 色色五月婷| 超碰色碰碰| 一起草Av| 热久久国产视频| 嫩模aV在线| 欧美情色一区| 婷婷中文无码| 日本激情五月| 亚洲av网站| 日韩AC在线免费观看| 亚洲婷婷91丁香| 色情五月天首页| 熟女网站久久| 久久婷婷九月国产精品| 五月婷婷激情久久| 丁香五月天BBw| 久热9| 久久天堂女人| 久久久久9| 狠狠色成人影片| 色人五月婷婷| 婷婷97碰碰| 中文字幕成人版| 色九月| 能看的av网站| 天天摸日日舔狠狠添婷婷婷| 香蕉国产2013| 97婷婷丁香五月综合| 激情五月婷婷综合| 色色色婷| 色情五月停停丁香| 日本婷婷丁香五月| 久久新地址| 三级99热| 狠狠狠人妻| 中文字幕在线不卡| 免费啪啪啪网站| 琪琪布丁香社区激情五月天| 99热免费观看| 婷色五月天| 激情五月天综合| 天天射天天射一道本日本社区| 人人爽人人射-美女久久久久久久久久-成人AV | 日日噜狠狠色综| 婷色五月天| 国产99久9在线| 亚洲黄色操逼| 无码激情AAAAA片-区区| 天天干天天插| 99热91| 91丨九色丨丰满人妖| 五月天精品视频| 色五月成人在线| 五月婷婷六月爱| 男人天堂亚洲综合| 婷婷五月天伊人在线| 亚洲成人网站在线观看| 国产成人高清| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 99热午夜精品| 国产免费性爱| 第四色在线观看| 色婷婷五月综合| 99爱精品| 五月丁香六月婷婷啪啪| 丁香色五月天| 97人人干| 99热久| 色色色综合色| 99视频精品在线| 人人摸人人干| 色丁香五月婷婷| 亚洲黄色影视| 天天综合网站| 国产特级毛片AAAAAAA高清| 99色在线| 精国产品一区二区三区A片| 色色色热| 亚洲精品久久久无码| 天天躁日日躁狠狠躁日日躁2022年5月9日| 婷婷色网| 国产成人精品一区二三区熟女在线 | 激情丁香图片| 五月婷婷五月天在线| 99热碰碰| www.色99| 亚洲操逼网| 夜精品无码A片一区二区蜜桃| 人妻熟人中文字幕一区二区| 日韩在线观看网址| 婷婷丁香色女人| 欧美 日韩 成人| AV在线免费网站| WWW,色五月| 激情五月综合ì香亚洲| 五月综合影院| 五月婷婷激情综合av| 久热黄色| 99啪啪| 欧美综合激情| 免费观看2018www黄色操逼网站| 狠狠色丁香久久婷婷综合五月| 天天综合久久| 欧美激情综合色丁香婷婷五月天| 婷婷五月丁香六月天亚洲综合| 五月天激情无码专区| 综合婷婷五月天| 97在线精品| 五月丁香综合网| 99热热热天天人人人超超碰| 99碰碰中文| 激情五月婷婷综合| 色五月婷婷激情五月| 五月成人天| 中文无码婷婷| 国产人妻777人伦精品HD| 丁香五月激情啪啪啪| 五月久久婷婷| 国产免费一区二区在线A片视频| 天天狠狠夜夜狠狠2023| 成人网在线观看视频| 五月天婷婷狠狠| 婷婷五月亚洲激情| 国产婷婷五月天| 色碰碰视频| 亚洲视频综合网| WWW.久久久久久久| 五月色无码| 五月婷婷六月丁香玖玖玫瑰91| 伊人久久艹| 人人操91色| 五月婷婷丁香成人网| 色亭亭五月天丁香综合AV - 百度 - 百度| 玖玖综合色| 日本44久久在线| 婷婷色五月激情| 五月天婷婷无码视频| 夜夜爽天天干| 亚洲AVwwwwwww| 免费99情趣网视频| 五月丁香婷婷爱| 亚洲乱码日产精品BD| 1024婷婷综合久久五月天| 狠狠操.COM| 日本一级黄色电影| 丁香婷婷综合影院| 丁香五月天激情网址| 另类激情首页| 中国女人内射6XXXXX| 五月丁香六月婷婷成人| 五月天婷婷黄色| 五月丁香综合在线| 色玖玖玖| 五月天色在线| 五月天色不卡| 无码yw| 五月天深爱激情网| 激情综合一| 99色在线观看视频| 色99欧洲色19| 亚洲无AV在线中文字幕| 色色色99| enecarbon-materials.com污K127封锁请涟系@wip1688 | 四虎成人精品永久免费AV九九| 天天插插天天| 91男同视频| 九九热在线亚洲免费视频| 精品人妻在线| 97在线视频 欧美| 五月丁香久久呀| 夜夜撸日日操| 91精品在线看| 天天肏天天肏天天肏| Caoub青青超碰 | www.色婷婷.com| 东京热人妻一区二区三区在线| 丁香综合伊人AV| www九九热| 五月丁香| 日韩成人电影AV| 久久婷婷久久| 丁香五月社区| 五月丁香偷拍| 色色色色av色色色色| 九九九九热99超碰| 深爱五月天天| 香蕉AV777XXX色综合一区| 狠狠操之狠狠操| 激情五月久久| 色情综合网| 99视频内射三四| 色婷婷欧美| 五月婷婷综合激情网| 日韩不卡DvD| 国产91视频| WWW.99热| 色色五月天婷婷| 日本三级中国三级99人妇网站| 人妻综合网| 五月天色色色| 五月丁香色婷婷| 久久五月天精品视频| 色婷婷影视| 亚洲综合丁香五月| WW婷婷五月天com| 久久婷婷五月综合伊人| 99资源人人|