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

ARTICLE DETAIL

資訊詳情

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

Android Things 智能家居中樞實(shí)戰(zhàn):從樹(shù)莓派到全屋智能

Android Things 智能家居中樞實(shí)戰(zhàn):從樹(shù)莓派到全屋智能 1. 從一塊開(kāi)發(fā)板到全屋智能我為什么選擇 Android Things 做智能家居中樞2017 年夏天我拿到第一塊 Raspberry Pi 3 的時(shí)候腦子里想的全是這玩意兒能不能當(dāng)家里的控制中心。當(dāng)時(shí)市面上主流的方案無(wú)非是樹(shù)莓派跑 Home Assistant、ESP8266 接繼電器、或者直接買(mǎi)小米/涂鴉的成品套裝。成品套裝省事但擴(kuò)展性差想加個(gè)自定義傳感器就得看廠商臉色ESP8266 方案便宜但每個(gè)節(jié)點(diǎn)都要單獨(dú)寫(xiě)固件設(shè)備一多維護(hù)成本直線上升。后來(lái)接觸到 Android Things我才算找到了一個(gè)相對(duì)平衡的切入點(diǎn)——它既有 Android 成熟的開(kāi)發(fā)工具鏈和 UI 框架又能直接操作 GPIO、I2C、SPI 這些硬件接口最關(guān)鍵的是我可以用寫(xiě) App 的思路去寫(xiě)硬件邏輯這對(duì)一個(gè) Android 開(kāi)發(fā)者來(lái)說(shuō)幾乎是零門(mén)檻。Android Things 是 Google 在 2015 年當(dāng)時(shí)叫 Brillo推出、2016 年正式更名的物聯(lián)網(wǎng)操作系統(tǒng)本質(zhì)上是裁剪過(guò)的 Android 系統(tǒng)專(zhuān)門(mén)跑在 Raspberry Pi 3、NXP i.MX7D、Intel Edison 這類(lèi)開(kāi)發(fā)板上。它的核心價(jià)值在于把 Android 的 Framework 層保留下來(lái)同時(shí)提供一套 Peripheral I/O API讓開(kāi)發(fā)者用 Java/Kotlin 就能控制 GPIO 引腳、讀寫(xiě) I2C 傳感器、驅(qū)動(dòng) PWM 設(shè)備。換句話說(shuō)你不需要懂 Linux 驅(qū)動(dòng)開(kāi)發(fā)也不需要寫(xiě) C 語(yǔ)言固件只要會(huì)寫(xiě) Android App就能做出一個(gè)能跑起來(lái)的智能家居網(wǎng)關(guān)。這篇文章適合誰(shuí)看如果你是有 Android 開(kāi)發(fā)基礎(chǔ)、想折騰智能家居但不想從零學(xué)嵌入式的人那這篇內(nèi)容基本就是為你寫(xiě)的。如果你完全沒(méi)接觸過(guò) Android 開(kāi)發(fā)也沒(méi)關(guān)系我會(huì)把關(guān)鍵概念用生活化的方式講清楚你至少能理解整套系統(tǒng)的運(yùn)作邏輯。整篇內(nèi)容我會(huì)圍繞一個(gè)實(shí)際項(xiàng)目展開(kāi)用 Raspberry Pi 3 Android Things 做一個(gè)智能家居中樞接入溫濕度傳感器、繼電器控制燈光、通過(guò)手機(jī) App 遠(yuǎn)程查看和控制。所有代碼和配置我都會(huì)給出可直接參考的版本踩過(guò)的坑也會(huì)一并說(shuō)明。2. 整體方案設(shè)計(jì)與技術(shù)選型思路2.1 為什么不用 Home Assistant 或 ESP8266 方案在動(dòng)手之前我先花了兩周時(shí)間對(duì)比了三種主流方案最后才確定用 Android Things。這個(gè)對(duì)比過(guò)程很有必要因?yàn)檫x型決定了后面所有的開(kāi)發(fā)路徑。Home Assistant 方案的優(yōu)勢(shì)是生態(tài)成熟插件多幾乎支持市面上所有主流品牌的設(shè)備。但它的短板也很明顯配置全靠 YAML 文件邏輯稍微復(fù)雜一點(diǎn)就要寫(xiě) Python 腳本而且 UI 定制能力有限。我之前用 Home Assistant 接了一個(gè)自定義的土壤濕度傳感器光是調(diào)試 MQTT 通信就花了一個(gè)周末最后發(fā)現(xiàn)是 YAML 縮進(jìn)問(wèn)題。對(duì)于想深度定制交互邏輯的人來(lái)說(shuō)Home Assistant 更像是一個(gè)配置平臺(tái)而不是開(kāi)發(fā)平臺(tái)。ESP8266/ESP32 方案的優(yōu)勢(shì)是成本低、功耗小一個(gè)節(jié)點(diǎn)十幾塊錢(qián)就能搞定。但問(wèn)題在于每個(gè)節(jié)點(diǎn)都是獨(dú)立的固件你要么用 Arduino IDE 寫(xiě) C要么用 MicroPython。設(shè)備少的時(shí)候還好一旦超過(guò) 5 個(gè)節(jié)點(diǎn)固件版本管理、OTA 升級(jí)、設(shè)備間通信都會(huì)變成噩夢(mèng)。我之前做過(guò)一個(gè) 8 節(jié)點(diǎn)的 ESP8266 方案光是統(tǒng)一固件版本就折騰了三天。Android Things 的定位剛好在兩者之間它比 Home Assistant 更靈活因?yàn)槟憧梢酝耆远x業(yè)務(wù)邏輯它比 ESP8266 方案更好維護(hù)因?yàn)樗性O(shè)備可以共享一套 Android 代碼庫(kù)OTA 升級(jí)直接用 Android 的機(jī)制。當(dāng)然它的成本比 ESP8266 高一塊 Raspberry Pi 3 大概 200 多塊但作為中樞只需要一塊終端節(jié)點(diǎn)還是可以用便宜的 ESP8266 通過(guò) MQTT 接入。2.2 系統(tǒng)架構(gòu)中樞 終端 手機(jī) App 三層結(jié)構(gòu)最終確定的架構(gòu)是三層中樞層Raspberry Pi 3 跑 Android Things負(fù)責(zé)設(shè)備管理、數(shù)據(jù)聚合、邏輯決策。它直接通過(guò) GPIO/I2C 連接本地傳感器和執(zhí)行器同時(shí)通過(guò) MQTT 或 HTTP 與遠(yuǎn)程終端節(jié)點(diǎn)通信。終端層ESP8266 節(jié)點(diǎn)負(fù)責(zé)分布式傳感和執(zhí)行比如臥室的溫濕度采集、客廳的燈光控制。它們通過(guò) Wi-Fi 與中樞通信協(xié)議用 MQTT因?yàn)?MQTT 輕量、支持發(fā)布訂閱、斷線重連機(jī)制成熟。應(yīng)用層Android 手機(jī) App 通過(guò) HTTP/WebSocket 與中樞交互查看數(shù)據(jù)、下發(fā)控制指令。App 本身也是 Android 項(xiàng)目可以復(fù)用一部分代碼邏輯。這個(gè)架構(gòu)的核心思路是集中決策、分布執(zhí)行。中樞負(fù)責(zé)所有邏輯判斷終端只做數(shù)據(jù)采集和指令執(zhí)行這樣終端固件可以做得非常簡(jiǎn)單幾乎不需要改動(dòng)。比如溫度高于 28 度自動(dòng)開(kāi)風(fēng)扇這個(gè)邏輯放在中樞里用 Kotlin 寫(xiě)幾行代碼就行不需要在每個(gè)終端節(jié)點(diǎn)里重復(fù)實(shí)現(xiàn)。2.3 硬件選型與參數(shù)計(jì)算硬件清單如下設(shè)備型號(hào)數(shù)量用途參考價(jià)格開(kāi)發(fā)板Raspberry Pi 3 Model B1中樞主機(jī)220 元溫濕度傳感器DHT111環(huán)境監(jiān)測(cè)8 元繼電器模塊5V 單路繼電器2燈光控制6 元/個(gè)電源5V 2.5A Micro USB1中樞供電25 元杜邦線母對(duì)母 20cm1 排接線5 元ESP8266 模塊NodeMCU2終端節(jié)點(diǎn)15 元/個(gè)這里重點(diǎn)說(shuō)一下電源的選擇。Raspberry Pi 3 的峰值電流可以到 2.5A如果用手機(jī)充電器通常 1A 或 2A在 Wi-Fi 滿負(fù)荷 GPIO 驅(qū)動(dòng)繼電器的時(shí)候會(huì)出現(xiàn)電壓跌落導(dǎo)致系統(tǒng)重啟。我一開(kāi)始用了一個(gè) 5V 1A 的充電器結(jié)果每次繼電器吸合的瞬間樹(shù)莓派就重啟排查了半天才定位到是供電不足。后來(lái)?yè)Q成 5V 2.5A 的專(zhuān)用電源問(wèn)題徹底消失。所以電源這塊千萬(wàn)別省寧可買(mǎi)大一點(diǎn)。DHT11 的精度是溫度 ±2°C、濕度 ±5%RH對(duì)于家居環(huán)境監(jiān)測(cè)夠用了。如果你需要更高精度可以換成 DHT22 或 SHT30但價(jià)格會(huì)貴一些而且 SHT30 是 I2C 接口接線方式不同。DHT11 用的是單總線協(xié)議Android Things 的 Peripheral I/O API 不直接支持這種協(xié)議需要自己用 GPIO 模擬時(shí)序這部分后面會(huì)詳細(xì)講。3. Android Things 核心開(kāi)發(fā)細(xì)節(jié)與實(shí)操要點(diǎn)3.1 環(huán)境搭建從 Android Studio 到開(kāi)發(fā)板燒錄Android Things 的開(kāi)發(fā)環(huán)境搭建和普通 Android 開(kāi)發(fā)差不多但有幾個(gè)關(guān)鍵區(qū)別。首先Android Studio 需要安裝 Android Things SDK。在 SDK Manager 里勾選 Android Things 相關(guān)的包主要是com.google.android.things這個(gè)庫(kù)。然后在build.gradle里添加依賴dependencies { implementation com.google.android.things:androidthings:1.0 }注意版本號(hào)1.0 是穩(wěn)定版0.8 之前的 API 有較大變動(dòng)網(wǎng)上很多老教程用的是 0.5 或 0.6代碼直接拿過(guò)來(lái)會(huì)編譯不過(guò)。其次開(kāi)發(fā)板需要燒錄 Android Things 鏡像。以 Raspberry Pi 3 為例去 Android Things 官網(wǎng)下載對(duì)應(yīng)版本的鏡像文件.img格式然后用 Etcher 或dd命令寫(xiě)入 SD 卡。寫(xiě)入完成后把 SD 卡插入樹(shù)莓派接上 HDMI 顯示器和網(wǎng)線上電啟動(dòng)。第一次啟動(dòng)會(huì)比較慢大概 2-3 分鐘屏幕上會(huì)顯示一個(gè) Android Things 的 Logo 和 IP 地址。這里有個(gè)坑Android Things 默認(rèn)通過(guò) ADB over Ethernet 連接但如果你沒(méi)有網(wǎng)線想用 Wi-Fi 連接需要先通過(guò)串口或 HDMI 鍵盤(pán)進(jìn)入系統(tǒng)設(shè)置。我當(dāng)時(shí)的做法是先用網(wǎng)線連上通過(guò)adb connect IP連上去然后用adb shell執(zhí)行 Wi-Fi 配置命令adb shell am startservice \ -n com.google.wifisetup/.WifiSetupService \ -a WifiSetupService.Connect \ -e ssid 你的WiFi名稱 \ -e passphrase 你的WiFi密碼配置成功后拔掉網(wǎng)線重啟樹(shù)莓派就會(huì)自動(dòng)連上 Wi-Fi。之后每次連接只需要adb connect Wi-Fi IP就行。3.2 GPIO 控制用代碼點(diǎn)亮一盞燈Android Things 的 GPIO 操作非常直觀。核心類(lèi)是PeripheralManagerService通過(guò)它獲取Gpio對(duì)象然后設(shè)置方向輸入或輸出和初始狀態(tài)。PeripheralManagerService manager new PeripheralManagerService(); Gpio ledPin manager.openGpio(BCM17); ledPin.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW); ledPin.setValue(true); // 點(diǎn)亮這里的BCM17是引腳名稱對(duì)應(yīng) Raspberry Pi 的 GPIO17。不同開(kāi)發(fā)板的引腳名稱不一樣Raspberry Pi 用的是 BCM 編號(hào)NXP i.MX7D 用的是另一套命名。你可以在 Android Things 的官方文檔里查到對(duì)應(yīng)開(kāi)發(fā)板的引腳映射表。實(shí)際接線的時(shí)候GPIO 輸出是 3.3V 邏輯電平而繼電器模塊通常是 5V 觸發(fā)的。這里有兩種處理方式一是用 3.3V 兼容的繼電器模塊市面上有專(zhuān)門(mén)為 3.3V 設(shè)計(jì)的二是加一個(gè)電平轉(zhuǎn)換模塊。我一開(kāi)始用的是普通 5V 繼電器直接接 GPIO 發(fā)現(xiàn)繼電器不吸合用萬(wàn)用表一量GPIO 輸出只有 3.3V達(dá)不到繼電器的觸發(fā)閾值。后來(lái)?yè)Q了一個(gè) 3.3V 兼容的繼電器模塊問(wèn)題解決。所以買(mǎi)繼電器的時(shí)候一定要看清楚觸發(fā)電壓。另外GPIO 引腳在系統(tǒng)啟動(dòng)時(shí)的默認(rèn)狀態(tài)是不確定的可能會(huì)在初始化之前有一個(gè)短暫的高電平脈沖。如果你控制的是燈光這個(gè)脈沖會(huì)導(dǎo)致燈閃一下。解決辦法是在硬件上加一個(gè)下拉電阻或者在軟件里盡早初始化 GPIO。我在代碼里是在onCreate里第一時(shí)間就打開(kāi) GPIO 并設(shè)置為低電平這樣脈沖時(shí)間可以縮短到幾毫秒肉眼基本看不出來(lái)。3.3 I2C 與單總線DHT11 的驅(qū)動(dòng)實(shí)現(xiàn)DHT11 用的是單總線協(xié)議Android Things 沒(méi)有現(xiàn)成的 API需要用 GPIO 手動(dòng)模擬時(shí)序。這個(gè)協(xié)議的核心是主機(jī)拉低總線至少 18ms然后釋放等待傳感器響應(yīng)。傳感器會(huì)拉低 80us再拉高 80us然后開(kāi)始傳輸 40 位數(shù)據(jù)8 位濕度整數(shù) 8 位濕度小數(shù) 8 位溫度整數(shù) 8 位溫度小數(shù) 8 位校驗(yàn)和。用 Java 實(shí)現(xiàn)的時(shí)候最大的難點(diǎn)是時(shí)序精度。Android Things 跑在 Linux 上Java 的Thread.sleep()精度只有毫秒級(jí)而 DHT11 的時(shí)序要求是微秒級(jí)。我試過(guò)直接用System.nanoTime()做忙等待但 Java 的 JIT 編譯和 GC 會(huì)導(dǎo)致偶爾的延遲抖動(dòng)讀取成功率只有 60% 左右。后來(lái)我換了一個(gè)思路用 Android Things 的Gpio回調(diào)機(jī)制來(lái)捕獲邊沿變化而不是主動(dòng)輪詢。具體做法是設(shè)置setEdgeTriggerType(Gpio.EDGE_BOTH)然后注冊(cè)GpioCallback在回調(diào)里記錄時(shí)間戳。這樣雖然不能完全消除抖動(dòng)但成功率能提高到 85% 以上。對(duì)于家居環(huán)境監(jiān)測(cè)來(lái)說(shuō)這個(gè)成功率夠用了因?yàn)槟憧梢悦棵胱x一次連續(xù)讀 3 次取有效值。如果你對(duì)精度要求更高建議直接用 I2C 接口的傳感器比如 SHT30 或 BME280。Android Things 對(duì) I2C 的支持非常完善I2cDevice device manager.openI2cDevice(I2C1, 0x44); byte[] data new byte[6]; device.read(data, data.length); // 解析溫濕度數(shù)據(jù)I2C 的讀取是硬件級(jí)別的不受 Java 時(shí)序抖動(dòng)影響穩(wěn)定性遠(yuǎn)超單總線方案。我后來(lái)把 DHT11 換成了 SHT30讀取成功率直接到 100%而且精度也更高。3.4 網(wǎng)絡(luò)通信MQTT 與 HTTP 的取舍中樞與終端節(jié)點(diǎn)的通信我選了 MQTT。原因有三第一MQTT 是發(fā)布訂閱模型終端節(jié)點(diǎn)只需要訂閱自己關(guān)心的主題不需要知道其他節(jié)點(diǎn)的存在第二MQTT 有 QoS 等級(jí)可以保證消息至少送達(dá)一次第三MQTT 的 Keep Alive 機(jī)制可以自動(dòng)檢測(cè)斷線配合遺囑消息Last Will可以在節(jié)點(diǎn)離線時(shí)通知中樞。Android Things 上跑 MQTT 客戶端我用的是 Eclipse Paho 庫(kù)implementation org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0連接代碼MqttClient client new MqttClient(tcp://192.168.1.100:1883, android-things-hub, new MemoryPersistence()); MqttConnectOptions options new MqttConnectOptions(); options.setCleanSession(true); options.setKeepAliveInterval(30); options.setAutomaticReconnect(true); client.connect(options); client.subscribe(home/sensor/#, (topic, message) - { // 處理傳感器數(shù)據(jù) });這里有個(gè)細(xì)節(jié)setAutomaticReconnect(true)是必須的因?yàn)?Wi-Fi 不穩(wěn)定的時(shí)候 MQTT 連接會(huì)斷自動(dòng)重連可以省去很多手動(dòng)處理的代碼。但自動(dòng)重連有個(gè)問(wèn)題重連后之前的訂閱會(huì)丟失如果cleanSession為 true所以需要在MqttCallback的connectComplete方法里重新訂閱。HTTP 主要用于手機(jī) App 與中樞的交互。我在中樞上跑了一個(gè)輕量級(jí)的 HTTP 服務(wù)器用的是 NanoHTTPD大概 50KB 的 jar 包足夠處理 REST 請(qǐng)求。手機(jī) App 通過(guò)GET /api/sensors獲取傳感器數(shù)據(jù)通過(guò)POST /api/control下發(fā)控制指令。WebSocket 用于實(shí)時(shí)推送比如溫度變化時(shí)主動(dòng)通知 App 更新 UI。4. 完整實(shí)操流程從零搭建一個(gè)可運(yùn)行的系統(tǒng)4.1 硬件接線與檢查接線是整個(gè)過(guò)程里最容易出錯(cuò)的一步。我按照以下順序操作第一步斷開(kāi)所有電源把 Raspberry Pi 3 放在桌面上確認(rèn) GPIO 引腳編號(hào)。樹(shù)莓派的 GPIO 引腳有兩套編號(hào)物理引腳號(hào)1-40和 BCM 編號(hào)。Android Things 用的是 BCM 編號(hào)所以接線的時(shí)候要看 BCM 映射圖不能看物理引腳號(hào)。第二步連接 DHT11。DHT11 有三個(gè)引腳VCC、DATA、GND。VCC 接 3.3V物理引腳 1GND 接 GND物理引腳 6DATA 接 GPIO4物理引腳 7BCM 編號(hào)是 4。注意 DHT11 的 DATA 引腳需要接一個(gè) 4.7K 到 10K 的上拉電阻到 VCC否則信號(hào)不穩(wěn)定。我一開(kāi)始沒(méi)加上拉電阻讀取成功率只有 30%加上之后提升到 85%。第三步連接繼電器模塊。繼電器的 VCC 接 5V物理引腳 2GND 接 GND物理引腳 9IN 接 GPIO17物理引腳 11。繼電器的輸出端接燈具的火線零線直連。這里涉及 220V 強(qiáng)電如果你沒(méi)有電工經(jīng)驗(yàn)建議先用 LED 燈珠模擬等邏輯跑通了再接觸強(qiáng)電。安全第一。第四步上電檢查。先不插 SD 卡只接電源用萬(wàn)用表測(cè)量各引腳電壓確認(rèn) 3.3V 和 5V 正常。然后斷電插上 SD 卡上電啟動(dòng)。4.2 Android Things 項(xiàng)目結(jié)構(gòu)與關(guān)鍵代碼項(xiàng)目結(jié)構(gòu)如下app/ ├── src/main/ │ ├── java/com/example/smarthome/ │ │ ├── MainActivity.java // 主入口初始化 GPIO 和 MQTT │ │ ├── SensorManager.java // 傳感器讀取邏輯 │ │ ├── DeviceController.java // 繼電器控制邏輯 │ │ ├── MqttHandler.java // MQTT 通信 │ │ └── HttpServer.java // HTTP API │ ├── res/ │ └── AndroidManifest.xmlAndroidManifest.xml里需要聲明權(quán)限和特性u(píng)ses-permission android:nameandroid.permission.INTERNET / uses-permission android:nameandroid.permission.ACCESS_NETWORK_STATE / uses-feature android:nameandroid.hardware.type.embedded /uses-feature這一行很關(guān)鍵它告訴系統(tǒng)這是一個(gè)嵌入式設(shè)備應(yīng)用沒(méi)有它的話Android Things 可能不會(huì)在啟動(dòng)時(shí)自動(dòng)運(yùn)行你的 App。主入口MainActivity的核心邏輯public class MainActivity extends Activity { private Gpio ledPin; private SensorManager sensorManager; private MqttHandler mqttHandler; Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PeripheralManagerService manager new PeripheralManagerService(); try { ledPin manager.openGpio(BCM17); ledPin.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW); } catch (IOException e) { Log.e(TAG, GPIO init failed, e); } sensorManager new SensorManager(manager); mqttHandler new MqttHandler(this); mqttHandler.connect(); } Override protected void onDestroy() { super.onDestroy(); if (ledPin ! null) { try { ledPin.close(); } catch (IOException e) { } } mqttHandler.disconnect(); } }傳感器讀取的定時(shí)任務(wù)用ScheduledExecutorService每 5 秒讀一次ScheduledExecutorService scheduler Executors.newSingleThreadScheduledExecutor(); scheduler.scheduleAtFixedRate(() - { float temp sensorManager.readTemperature(); float humidity sensorManager.readHumidity(); mqttHandler.publish(home/sensor/bedroom, String.format({\temp\:%.1f,\humidity\:%.1f}, temp, humidity)); }, 0, 5, TimeUnit.SECONDS);4.3 手機(jī) App 與中樞的聯(lián)調(diào)手機(jī) App 我用的是 Kotlin Retrofit接口定義很簡(jiǎn)單interface SmartHomeApi { GET(/api/sensors) suspend fun getSensors(): SensorData POST(/api/control) suspend fun controlDevice(Body command: ControlCommand): ResponseUnit }聯(lián)調(diào)的時(shí)候遇到一個(gè)典型問(wèn)題Android Things 的 HTTP 服務(wù)器默認(rèn)監(jiān)聽(tīng) 8080 端口但手機(jī) App 用 Retrofit 請(qǐng)求的時(shí)候一直超時(shí)。排查后發(fā)現(xiàn)是 Android Things 的防火墻默認(rèn)只開(kāi)放了 ADB 端口5555其他端口需要手動(dòng)開(kāi)放。解決辦法是在adb shell里執(zhí)行adb shell iptables -A INPUT -p tcp --dport 8080 -j ACCEPT但這個(gè)命令重啟后會(huì)失效需要寫(xiě)一個(gè)啟動(dòng)腳本。我把命令放到了MainActivity的onCreate里用Runtime.getRuntime().exec()執(zhí)行這樣每次 App 啟動(dòng)都會(huì)自動(dòng)開(kāi)放端口。另一個(gè)問(wèn)題是 JSON 解析。Android Things 上跑的是完整 Android 系統(tǒng)可以用 Gson 或 Moshi但要注意混淆規(guī)則。我在proguard-rules.pro里加了-keep class com.example.smarthome.model.** { *; }否則 Release 版本會(huì)因?yàn)榛煜龑?dǎo)致 JSON 字段名被改解析失敗。4.4 自動(dòng)化邏輯的實(shí)現(xiàn)智能家居的核心價(jià)值在于自動(dòng)化。我實(shí)現(xiàn)了幾個(gè)基礎(chǔ)規(guī)則溫度高于 28°C 自動(dòng)開(kāi)風(fēng)扇繼電器 1濕度低于 40% 自動(dòng)開(kāi)加濕器繼電器 2晚上 10 點(diǎn)后自動(dòng)關(guān)閉所有燈光這些規(guī)則用簡(jiǎn)單的if-else就能實(shí)現(xiàn)但更好的方式是做一個(gè)規(guī)則引擎。我用了一個(gè)輕量級(jí)的方案把規(guī)則定義成 JSON存在 SD 卡里中樞啟動(dòng)時(shí)加載{ rules: [ { name: 高溫開(kāi)風(fēng)扇, condition: {sensor: temperature, operator: , value: 28}, action: {device: fan, command: on} } ] }然后寫(xiě)一個(gè)RuleEngine類(lèi)每次傳感器數(shù)據(jù)更新時(shí)遍歷規(guī)則匹配到就執(zhí)行動(dòng)作。這樣做的好處是修改規(guī)則不需要重新編譯代碼直接改 JSON 文件重啟就行。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 系統(tǒng)啟動(dòng)失敗與 ADB 連接問(wèn)題問(wèn)題現(xiàn)象樹(shù)莓派上電后 HDMI 無(wú)輸出或者卡在 Android Things Logo 不動(dòng)。排查思路首先檢查電源用萬(wàn)用表量一下電壓是否穩(wěn)定在 5V。如果電壓低于 4.8V系統(tǒng)會(huì)啟動(dòng)失敗。其次檢查 SD 卡Android Things 對(duì) SD 卡的速度有要求Class 10 以上比較穩(wěn)妥。我用過(guò)一張雜牌的 Class 4 卡寫(xiě)入鏡像后啟動(dòng)一直失敗換卡后正常。ADB 連接問(wèn)題如果adb connect一直失敗先確認(rèn)樹(shù)莓派和電腦在同一個(gè)網(wǎng)段。然后檢查 ADB 版本Android Things 需要 ADB 1.0.39 以上。如果還是不行用adb kill-server adb start-server重啟 ADB 服務(wù)。5.2 GPIO 控制異常與電平匹配問(wèn)題現(xiàn)象繼電器不吸合或者吸合后樹(shù)莓派重啟。排查思路繼電器不吸合先量 GPIO 輸出電壓如果是 3.3V 而繼電器需要 5V就需要電平轉(zhuǎn)換。吸合后重啟基本是電源功率不夠換大功率電源。另外繼電器線圈在斷電時(shí)會(huì)產(chǎn)生反向電動(dòng)勢(shì)可能干擾樹(shù)莓派建議在繼電器線圈兩端并聯(lián)一個(gè)續(xù)流二極管1N4007。5.3 傳感器讀取不穩(wěn)定問(wèn)題現(xiàn)象DHT11 讀取成功率低數(shù)據(jù)偶爾為 NaN。排查思路首先檢查上拉電阻4.7K 到 10K 都可以我用的 10K。其次檢查接線長(zhǎng)度杜邦線太長(zhǎng)會(huì)引入干擾建議不超過(guò) 20cm。如果還是不穩(wěn)定在代碼里加重試機(jī)制for (int i 0; i 3; i) { float temp sensorManager.readTemperature(); if (!Float.isNaN(temp)) return temp; Thread.sleep(100); } return Float.NaN;5.4 MQTT 斷線重連與消息丟失問(wèn)題現(xiàn)象Wi-Fi 波動(dòng)后 MQTT 連接斷開(kāi)重連后收不到消息。排查思路確保setAutomaticReconnect(true)和setCleanSession(false)。cleanSession設(shè)為 false 時(shí)Broker 會(huì)保留訂閱關(guān)系和未送達(dá)的消息QoS 1 或 2。但要注意cleanSession為 false 時(shí)客戶端 ID 必須固定否則 Broker 會(huì)認(rèn)為是新客戶端。5.5 常見(jiàn)問(wèn)題速查表問(wèn)題可能原因解決方法系統(tǒng)啟動(dòng)失敗電源不足 / SD 卡速度慢換 5V 2.5A 電源 / Class 10 SD 卡ADB 連不上網(wǎng)段不同 / ADB 版本低檢查網(wǎng)絡(luò) / 升級(jí) ADB繼電器不吸合電平不匹配換 3.3V 繼電器或加電平轉(zhuǎn)換樹(shù)莓派重啟電源功率不夠換大功率電源DHT11 讀取失敗缺上拉電阻 / 線太長(zhǎng)加上拉電阻 / 縮短線長(zhǎng)MQTT 斷線Wi-Fi 不穩(wěn)定開(kāi)啟自動(dòng)重連 / 固定客戶端 IDHTTP 超時(shí)防火墻未開(kāi)放端口iptables 開(kāi)放端口JSON 解析失敗混淆規(guī)則缺失添加 keep 規(guī)則6. 系統(tǒng)擴(kuò)展與個(gè)人實(shí)操體會(huì)這套系統(tǒng)跑了大半年中間經(jīng)歷過(guò)幾次迭代。最開(kāi)始只有溫濕度和燈光控制后來(lái)陸續(xù)加了人體紅外傳感器HC-SR501、門(mén)窗磁傳感器MC-38、以及一個(gè)簡(jiǎn)單的語(yǔ)音控制模塊。每次加新設(shè)備核心邏輯幾乎不用改只需要在SensorManager里加一個(gè)讀取方法在RuleEngine里加一條規(guī)則。這種中樞集中決策的架構(gòu)擴(kuò)展性確實(shí)比分散式方案好很多。不過(guò) Android Things 也有它的局限。首先是啟動(dòng)速度從通電到 App 完全就緒大概需要 40 秒比 ESP8266 的 3 秒慢太多。如果你需要快速響應(yīng)的場(chǎng)景比如人體感應(yīng)開(kāi)燈純 Android Things 方案會(huì)有明顯的延遲。我的做法是把人體感應(yīng)這種低延遲需求放到 ESP8266 終端節(jié)點(diǎn)上本地直接觸發(fā)繼電器同時(shí)通過(guò) MQTT 通知中樞記錄狀態(tài)。這樣既保證了響應(yīng)速度又保留了中樞的數(shù)據(jù)聚合能力。其次是成本。一塊 Raspberry Pi 3 加上電源、SD 卡、外殼整套下來(lái)接近 300 塊。如果你只是想做一兩個(gè)燈的控制用 ESP8266 方案 30 塊就能搞定。Android Things 適合的是那種需要復(fù)雜邏輯、多設(shè)備協(xié)同、且你本身有 Android 開(kāi)發(fā)經(jīng)驗(yàn)的場(chǎng)景。如果你完全不懂 Android為了做智能家居去學(xué) Android 開(kāi)發(fā)投入產(chǎn)出比可能不太劃算。最后分享一個(gè)我在調(diào)試過(guò)程中總結(jié)的小技巧Android Things 的日志可以通過(guò)adb logcat查看但默認(rèn)輸出量很大建議用標(biāo)簽過(guò)濾adb logcat -s SmartHome:V MqttHandler:V SensorManager:V這樣只看自己代碼的日志排查問(wèn)題效率高很多。另外Android Things 支持遠(yuǎn)程調(diào)試你可以在 Android Studio 里直接對(duì)樹(shù)莓派上的 App 下斷點(diǎn)單步調(diào)試硬件邏輯這個(gè)體驗(yàn)比串口打印日志好太多了。我第一次用遠(yuǎn)程調(diào)試定位到 DHT11 時(shí)序問(wèn)題時(shí)感覺(jué)就像在調(diào)試一個(gè)普通的 Android App完全忘了自己是在操作硬件。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
rr天天操| www九九热| 九九操屄| 99亚洲欧洲| 九月婷婷久久| 啪啪五月天啪啪| 激情综合网激情五月天| 亚洲五月天婷婷综合| 大学生高潮无套内谢视频| 日韩五月婷婷| 色九九中文字幕| 久久激情五月网| Www.Av网9| 久久免片| 亚洲激情 久久| 久久性爱视频| www.99热这里精品| 99re久热只有精品6在线直播| 99热这里只有精品8| 激情五月天伊人影院| www.激情五月天.con| 五月丁香无码| 激情综合色婷婷啪啪六月天| 激情婷婷丁香五月天小说| 五月激情影院| av亚洲国产小电影| 影视av久久久噜噜噜噜噜三级| 另类激情五月| 亚洲mm免费| 超碰二区| 激情AV| 俺五月| 91九色国产在线| 色婷婷久久7777| 老司机伊人| 99色视频在线观看| 五月人妻婷婷| 色婷五月婷婷| www.97碰碰com| 九九热视频精品| 激情五月六月| 五月天另类图片| 人人97碰| 五月丁香六月在线欧美| 91碰碰视频| 草草女人亚洲| 色欲一区二区三区精品A片| 九九这里都是精品| 激情色视频| 亚洲久热| 欧美色色色色色色色| 国产偷人爽久久久久久老妇APP| 天天干电影| 丁香五月冃欧美| 久久婷婷成人视频| 午夜婷婷丁香| 久久婷婷五月天懂色| 9热在线| 激情亚洲五月| 182无码| 久久涩视频| 国产露脸150部国语对白| 99色视频在线| 天天日天天舔| 三十熟女| 9色免费网| 日韩在线观看网址| 中文字幕丰满乱孑伦无码专区| 天天色综网| 九九热在线视频| 伊人激情AV一区二区三区| 色婷婷免费视频| 综合婷婷久久| 狠狠色成人影片| 人妻久久久久久久 | 爱性综合网| 国产精品久久久久久久久久| 丁香花五月天社区| 激情久久久久久久久| 青青草99re| 97色射| 99九九热视频免费| 成人av播放| 永久的网站AAAA | 免费看片在线观看| 婷婷久久图片| 91超级碰| 天天爽,夜夜爽| 久久激情天堂| 99热精品免费| 操操日韩| 五月天性色| 婷婷在线激情| 美女五月天| 在线网黄| 亚州第一A片| 日韩成人电影在线播放| 婷激情五月| 狠狠狠狠狠| 天天天天操| 五月婷婷综合视频| 激情综合色图| 综合婷婷都市激情| 亚洲一二三网| 思思热性操| 天天操天天操综合| 亚洲精品午夜国产va久久成人| 夜夜穞天天穞狠狠穞AV美女按摩| www婷婷| www.99色| 超碰在线超碰| 99久久婷婷国产综合精品电影| 黄色激情久久| 成人短视频在线免费观看| 91久久1118| 伊人久久大香线蕉精品| 激情婷婷内射| 99久久这里只有精品| 99色免费| 能看的av网站| 日本三级网址| 色色色色色色网| 五月激情小说| 欧美婷婷五月无砖| 欧美天堂久久| 狠狠干最新地址| 久久99热只有精品| 超碰成人免费| 婷婷丁香五月天综合网| 99热在线观看| 6080av| 成人丁香五月天| 午夜丁香六月婷| 激情综合啪啪啪| 婷婷五月天视频免费在线观看| 黄网在线免费观| 精品久久久999| 亚洲综合视频天天精品| 99色视频在线| 国产又黄又爽又色的免费| 不卡成人免费| 激情综合网激情五月网| 五月花婷婷| WWW,激情五月天,COM| 五月天婷婷丁香导航| 丁香五月伊人| 久久婷婷五月综合激情国产| 五月天久久婷| 79精品视频| 丁香五月激情五月| 人人人人人人人人人草| 90色免费视频| 婷婷情爱五月天6| 日本婷婷| 思思久久思思| 亚洲精品一区中文字幕乱码| 99精品爱| 久久国产一区二区三区| 婷婷综合久久| 国产婷婷色综合AV蜜臀AV | 五月情丁香色| 色婷婷综合网站| 五月丁香婷婷激情在线视频| 啪啪视频99| 五月天综合婷婷| 五月天婷婷丁香人人操91| 有哪些A片网站| 狠狠综合久久综合| 91狠狠综合久久久| 色综合性视频| 五月丁香六月婷婷久久肏| 99狠狠操一| 色呦呦免费观看| 五月天 婷 欧美亚洲| 国产69久久久欧美黑人A片| 中文不卡一二三区| 亚州色综合| 久久婷婷色综合| 欧美极品999| 少妇真实被内射视频三四区| 精品人妻一区二区三区四区不卡在| 婷婷六月色情| 日本狠狠干| 9999热精品在线免费播放| 一本大道熟女人妻中文字幕在线| 日婷婷久久开心| 丁香五月综合激情性爱| 在线视频婷婷| 老司机伊人| 婷婷基地成人五月天| 99热在线观看| 欧美熟女99| 九九热这里都是精品6| 噜噜噜狠狠色综合| 99热只有这里才是精品| 第四色色六月色综合| 九九九激情网| 99爱在线视频| 欧美日本黄色| 天堂草在线观看| 青青999| 99婷婷| 99re这里有精品手机在线| 大香蕉人在线65| 狠狠做婷婷| 99热精品在线播放| se色婷婷视频| 久久性爱视频网站| 男人天堂99| 中文字幕 久久9999| 丁香婷婷影院| 丁香五月天社区| 天天操婷婷| 五月丁香婷婷爱激情综合网| 踪合专区啪啪| 国产精品久久久久久久久久免费| 色香蕉影院| 久久欧洲综合网| 人妻操逼视频。| 免费观看高清无码| 婷婷色影音天| 搡BBBB搡BBB搡18| 99热99极品观看| 开心婷婷中文字慕| 91丨九色丨高潮丰满日本| 色色97丁香婷婷五月天| 影音先锋91在线资源站| AA片在线观看视频在线播放| 欧美激情五月天| 蜜臀99精品| 亚洲VA在线| 九九综合久久| 玖热精品综合视频| 7月婷婷六月丁香| 人妻激情视频| 91色综合网| 狼人伊人干| 欧美槡BBBB槡BBB少妇| 亚洲操逼片| 热久久精品视频网站| 精品久久婷婷五月天| 五月丁香激情四射| 六月丁香久久| 入口五月婷婷六月香| 色爱99| www.久久色.com| 96精品成人无码A片观看金桔| 99自拍视频在线观看| 色色A| 五月好婷婷| 五月丁香九九九综合| 九九青草热| 亚洲电影中文字幕| 69精品人妻不卡视频| 亚洲一二三网| 久久码久久无清| 丁香九月激情在线视频| 人妻在线观看视频| 日本久草福利| 婷婷综合日本| 天天操天天插天天射| 黄网在线免费观| 日本欧美成人片AAAA| AAA久久| 99啪啪视频| 俺也去在线视频| 五月情涩综合婷婷| 97超碰在线免费观看| 五月婷婷69| 五月天另类激情在线| 色婷婷久久| 婷婷久月| 婷婷中文无码| 97人妻碰碰碰久久香蕉| 九九综合久久| 婷婷五月在线视频| 51精品国内探花| 国产精品色婷婷久久久精品| 99五月丁香丁| 婷婷色av| 色婷婷影院| 五月丁香影视| 亚洲综合五月天婷婷| 人妻视频一区而且二区| 大香蕉伊人99| 丁香网五月网| 丝袜人妻| 久草丁香婷婷1024| 五月婷婷偷拍| 精久久色| 五月婷色色| 爱射综合| 丁香久久久| 亚洲天堂久久| 五月丁香六月激情视频| 中文字幕日产A片在线看| 超碰在线免费观看3 9| 五月天婷婷久草丁香| 激情六月丁香| 丁香五月亚洲天堂| 天天干天天干天天干| 激情婷婷在线| 婷婷亚洲五| 99爱免费在线视频| 狠狠干综合| 天天插操| www.日韩国产| sisi热国产| 丁香六月五月天| 婷婷六月丁| 色五月丁香91| 另类色视频| 五月激情婷婷丁香| 久久无码成人| 欧美狠狠草| 天天爽,夜夜爽| 120分钟婬片免费看| a毛片二逼wwwwwwwwww| 九九热这里只有精品5| 天天肏天天爽夜夜爽| 色五月婷婷丁香五月| 这里只有精品在线观看视频| 91丨九色丨熟女|新版| 欧美色六月婷婷| 婷婷成人AV| 久久婷婷五月综合色欧美| 欧美天堂久久| 婷婷五月成人| 五月丁了香蕉综合| 自拍盗摄 另类| www99热| 亚洲AV第二区国产精品| 激情综合五月开心狠狠| 草久私拍| 俺去也五月天婷婷| 婷婷六月香| 亚洲综合视频天天精品| 能看的av| 五月丁香六月婷婷操操操| 国产精产国品一二三在观看| 67194国产| 日韩三级高清无码| 99热官网精品在线| 丁香五月天激情视频| 久777| 伊人国产婷婷五月天| 欧美婷婷五月丁香| 色5在线| 婷婷操逼| 色色日韩| 国产做A爰片毛片A片美国| 五月丁香怕啪啪| 91精品婷婷国产综合久久| 日韩无码人妻一区二区| 丁香婷婷激情| 九色视频91| 91se在线视频| WWW,五月天| 国产精品色色| 狠狠干五月丁香| 一级黄色影片| 日逼免费视频 | www.五月天色色色| 91成人电影| 91久久精品无码一区二区三区| 五月丁香成人小说| 秋霞A V毛片| 中文资源在线a | 在线播放成人网站| 亚洲精品色| 亚洲性图一区二区三区| 亚洲AV影片在线观看| 婷婷五月天激情视频| 五月四色激情| 99激情| 91凹凸在线| 亚洲精品视频在线| 99爱最新免费视频在线观看| 五月丁香综合网| 激情丁香五月婷婷| 激情小说五月天社区丁香| 狠狠色综合网| 五月婷婷免费看| 大香婷婷| 五月天婷婷基地| 青青草蜜臀| 99五丁香月| 色婷婷精品视频| 超碰91av| 五月天婷婷操逼视频| 另类图片色五月| 99精彩视频| 激情六月婷| 超碰在线观看9| 97人人干| mmm1717.6dbm人人爱人人操| 国产永久一黄| 婷婷色五月激情| 激情婷婷另类| 91操片| 嫩草AV久久伊人妇女超级A| 婷婷丁香五月,狠狠综合| 超级碰碰视频无码| 国产乱子轮XXX农村| 五月婷婷激情综合视频| 亚洲综合1024| 亚洲狠9| 五月婷婷啪啪啪| 丁香五月激情综合在线观看| 综合色影| 香蕉久久五月| 99热婷婷| 99视频久久| 先锋av性爱成人电影| 九九热99视频在线| 天天日日| 少妇大叫太大太粗太爽了A片| 拳交大逼| 五月天色在线| 激情深爱综合| 综合久久9| 激情五月天.色网| 婷婷六月综合激情| 激情综合在线观看| 丁香五月播播| 欧美丁香五月天| 亚洲永久四色| 4399在线日本A片| 天天综合天综合久久网| 五月丁香影院| 玖玖婷婷五月天| 欧美成人性爱网| 热久久77777| 成人丁香色| 综合福利网| 日本五月婷婷| 婷婷操逼| 91精品久久久久久77777| 玖玖资源站中文| 五月丁六月香av| 亚洲婷婷视频| 99re这里只有精品99| 先锋资源婷婷| 99视频九九热| 99ri精品在线| 欧美性猛交99久久久99| 久久色五月天| 丁香五月婷婷亚洲另类| 色综合久久综合| 婷婷五月综合中文字幕| 日本久久九| 精品久久久久成人码免费动漫| www.99视频| 九九九热精品| 婷婷五月激情综合| www.minyis.com【JT】实力收量可预付QQ2101460746 | 激情丁香五月天图片| 操丝袜视频影院导航| 婷婷AV丁香| 激情五月图| 婷婷丁香六月五月天| 超碰人妻在线| 亚洲va日| 99热这里只有精品33| 五月综合在线婷婷图片| 色色色.com| 五月婷婷伊人久久| 五月激情偷拍| 成人短视频在线免费观看| 99精品热| 欧美99热| 香蕉人妻AV久久久久天天| 色五月激情五月| 少妇高潮呻吟A片免费看软件| 国产精品国产成人国产三级| 婷婷丁香无码专区| 毛v一区二区视频| 婷婷va| 99热久草| 中文人妻主播久久| 九九色视频| av色色国产| 9久久久久久久久久久| 婷婷五月天av| 中文字幕 中文字幕明步| 精品久久久91久久影视网| 五月婷婷av在线| 超碰京东热av男人的天堂| 四月婷婷五月丁香| 做爱夜夜干天天操| 五月婷婷五月天亚洲无码| 久久人妻视步| 日本综合色图| 99se丁香| 六月丁香av| 色五月激情问网站| 亚洲色99| 91碰碰碰| 超热久碰.com| 五月婷高清视频| 天天爽天天摸| 99免费在线视频| 天天色2017| 热99精品视频| 激情激情激情网| 五月丁香啪| 丁香五月激情网| 丁香五月玖玖| 九九视频免费| 99爱视频在线观看| 五月色情| 九九色婷婷| 五月丁香狠狠| 五月天综合网| 毛片新网地| 色婷婷色五月色丁香| 九九这里只有精品| 色爽干| 99热国内精品| 五月丁香免费看| 色色色999| 永久热91| 色5月婷婷| 欧美性丁香色色五月天干干| 婷婷色五月天色| 天天操夜夜夜拍拍拍| 丁香五月最新地址| 任我肏视频精品| sS丁香五月婷婷| 六月婷婷综合| 久久丁香婷| 狠狠色婷婷7| 精品女人九九九| 久久大大香| 九九热这里只有精品556| 狠狠干夜夜干| 日本天堂网站99| 五月天色导航婷婷资源婷婷| 8区视频在线| 色综啪啪啪啪啪啪| 婷婷五月噜噜| 亚洲中字AV电影在线网站| 99热都是精品| 欧美日朝成人| 51成人| 五月天婷婷影院影院观看| 狠狠狠狠狠狠| 五月色婷婷在线观看| 91视频一起草| 插逼综合网| AV性爱在线| 亚洲AV成人一区二区在线观看| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 中文色婷婷| 色婷婷亚洲六月婷婷中文字幕| 色综合久久久无码中文字幕999| 激情色中文| 啪啪91| 九九久久五月天| 狼人婷婷久久| 久久99久久99精品免观看粉| 91视频一起草| 日韩婷婷| 免费亚洲婷婷| VA国产在线综合网站| 五月丁香五月婷婷| 包操45分钟网站| 婷婷五月情| 综合激情五月四射婷婷| 91欧美| 开心五月激情站| 青青草视频免费观看| 99久热这里有精品| 国产肥白大熟妇BBBB视频| 成人超碰AV| 国产高潮A片羞羞视频涩涩| 天堂AV三级| 99热99色| 亚洲色综合性| 欧美 日韩 成人| 六月丁香中文字幕| 天天摸.天天mo| 欧美经典片免费观看大全| 久婷婷久草| 开心色色五月天综合| 六月丁香婷婷五月| 日本在线视频播放91| 久热久| 五月人妻婷婷| 日hao1区| 天天插天天插| 色综合综合网| 狼人狠狠操| 91九九| 亚洲、热| 在线观看av网站| 五月天婷婷无码| 婷婷综合激情五月综合| 欧美日韩成人在线网| 91久久婷婷| 久久成人综合五月天| 免费成人中文字幕| 99这里只有精品|v| 亚洲婷婷激情五月天| 超碰在线9| 国产激情久久| 99热只有| 六月伊人婷婷| 激情综合网激情五月天| 欧美人与性动交CCOO| 成人五月天视频播放| 香蕉AV777XXX色综合一区| 深爱激情五月婷婷| 五月婷婷在线丁香| 亚洲乱啪| 亚洲无码色| 五月亭亭网成人在线视频| 99在线er热| 青青草五月天| 北京熟妇搡BBBB搡BBBB| 99久久精品国产色欲| 欧美激情五月天在线观看| 欧美操综合| 五月综合色| 日本一级一片免费视频| 大香蕉 婷婷| 色色综合网站| 天天爱综合网| 婷婷五月天第四色| 涩涩五月天综合| 97精品综合久久内射| 午夜一区| 91丨九色丨熟女|新版| 99这里只有精品在线观看| 久碰久操| 综合伊人久久| 久久日曰| 69凹凸成人综合网| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 成人必爱视| 色五月天丁香婷婷| 免费操超碰| 国产精品久久久久久久久久免费 | 色亚洲欧洲| 丁香六月 人妻| 丁香亚洲色综合| 专区无日本视频高清8| 色色激情五月天| 少妇综合网| 婷婷丁香五月天中文字幕| 成人超碰AV| 久久99免费视屏| 五月天激情四射网站| 狠狠色综合久久久久| 蜜臀AV在线观看| www.99热视频| 亚洲这里只有精品| 综合色播| 五月天狠狠| 亚洲AV成人片无码网站| 久久婷丁香五月| 天天在线XXX| 婷婷综合精品视频97| 日本激情五月天‘| 人人摸人人干人人做| www.思思99热| 26UUU精品一区二区Com| 天天天摸夜夜夜玩| 操熟女成人网| 色吧五月婷婷| 婷婷五月天av| 9久热免费视频99| 超碰97干| 99在线观看| 色色网站在线| 99久久网站| 嫩草AV久久伊人妇女超级A| 九九色综合| 亚洲乱码精品久久久久..| 狠狠操狠狠插| 草草色情综合网| 香蕉曰比| 草榴视频网| 97碰| 99热永久在线观看| 婷婷色系婷色| 日日日影院| 99热这里精品| 久久久www| 九色视频91| 日日操夜夜擼| 日韩xx在线| 欧美精产国品一二三区| 激情小说五月天社区丁香| 99在线观看免费精品视频| 亚洲AAA| 99精色| 大香蕉网站,大香蕉综合| 色无码| 亚洲免费综合一区| 男人視頻站| 九九碰九九爱97超碰| 色亭亭五月天网扯| 终合激情网| 120分钟婬片免费看| 免费无码毛片一区二区A片| 99九九这里有免费视频| 4399人妻无码久久久| 五月婷婷五月丁香综合| 五月激情久久| 99re8在这里只有精品| 天堂伊人干| 狠狠爱五月婷婷| 国产伦理精品高清在线观看网站一区二区 | AV中文网| 九热免费视频| 欧洲日韩一区二区三区| 99无码精品| 99热精品在线| 99人人操| 国熟女视频| 久久综合影院 | 日韩成人中文| 丁香婷婷九月| 99热这里只有精品2024| 超碰成人在线观看| 色情网综合| 激情图片亚洲| www.色五月| 亚洲乱码日产精品BD| 五月婷婷婷综合网| 丁香5月婷婷| 99热这里只有精品22| 九九精品丁香花| 4399在线观看免费高清电视剧| 色五月婷婷色五月婷婷色五月婷婷| 亚洲色网络| 丁香五月激情综合婷综| 日日操,夜夜爽| 九九热最新| 久草狼人| 开心五月深爱婷婷| 国产精品日本一区二区在线播放| 五月婷婷AV| 99网99热| 欧美六月婷婷| 丁香五月天成人| 久久丁香| 色久婷婷五月| 成人午夜无码视频| 9999热在线观看| 五月天成人在线播放丁香| 99热这里是精品| 少妇高潮一区二区三区99欧美| 青青草成人网| 五月丁香A片| 深爱五月亚洲| 亚洲精品又粗又大又爽A片| 激情五月丁香婷婷夜夜操| 久久99激情| 天天综合网~91| 拳交大逼| 婷婷伊人五月丁香天堂网| 天天色天天舔天天爱天天爽| 欧美成人AAA片一区国产精品| 欧日美女Va| 丁香婷婷大香蕉| 国产综合视频婷婷| 亚洲综合五月天婷婷丁香| 六月色激情| 久久婷婷亚洲| 亚洲成人在线综合| 久久久久久久久99精品| 99热网址| 香蕉国产2013| www.99在线| 色爱亚洲| 人人色人人摸人人看| 天天日天天干天天操| 开心婷婷中文字慕| 大香蕉五月天婷婷| 久热2025无码| 91久久精品国产91性色TV| 六月伊人婷婷| 婷婷5月久久综合网站| 五月天艹天天| 91丁香婷婷综合久久欧美| 婷婷五月天高清无码| 超碰在线网站| 狠狠香蕉| 五月天婷婷自拍图片在线观看| 99国产精品久久久久久久久久久 | 婷婷香五月| 91AV视频| 国产精品久久久久久白浆色欲| 久九色| 六月丁丁香| 婷婷中文字幕版| 视频一区二区在线| 美欧成人视频| 五月丁香综合啪啪| www久久久| 色性日本| 黑人无码一区| 99热这里只有精品8| 丁香六月中文| 人操91在线| 天天搞天天色综合| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 中文字幕无码成人电影| 国产激情AV| 青草视频在线蜜臀| 一本狠婷婷综合| 91超碰在线观看| 干婷婷五月天| 9999综合99综合人| 五月丁香婷婷啪啪| 丁香婷婷色五月合集| 99久久精品国产色欲| 狠狠狠狠狠干| 色99热| 六月丁香综合| 五月天婷婷婷| 人妻激情在线| 婷婷丁香五月天小说| 日本久久9| 这里只有精品1| 97色色在线视频| 亚洲成人在线播放| 激情久久久久久久久久久| 国产婷婷综合| 99re在线播放| 色婷婷a v| 激情亚洲婷婷六月| 久久久性爱网| 色欲AVV| 丁香五月天堂网| 五月婷婷开心丁香| 婷婷五月天美女| 久久五月天激情婷婷| 婷婷久久五月| 欧美成人日韩| 激情综合六月| 天天爽夜夜爽夜夜爽精| 97电影99热| se色婷婷视频| 色婷久久| 久久久精品AV| 婷婷色丁香六月| 俺来也综合网精品一区| 成人啪啪色婷婷久| 色婷婷丁香花五月天| 久热超碰| 五月婷激情影院| 丁香色情五月综合网站| WWW,五月天| 在线视频99| 欧美偷偷操| 最新高清无码专区| 亚洲激情网| 在线观看亚洲AV| 天天做天天爱综合| wwccc久久久| 色五月婷婷中文字幕在线观看| 午夜丁香综合婷婷| 九一牛视频探花| 亚洲乱码日产精品BD| 思思热视频在线| 99热亚洲| 成人va视频| 日韩色五月| 成人精品99| 亚洲精品五月| 婷婷五月开心中文字幕在线| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 日本99在线视频| 国产综合丁香五月天| 久久婷婷青青| 五月天婷a在线| 中国女人做爰A片| 国产精品天天狠天天看| 久久婷婷精品| 日韩啪啪网| 婷婷久久五月| 天天爽夜夜操| 熟妇人妻中文字幕无码老熟妇| 97精品综合久久| 人人草人人舔| 国产精品色| 婷婷五月花| 成人视频网| 疯狂做受XXXX高潮A片动画| 婷婷久久五月| 中字幕视频在线永久在线观看免费| 五月婷婷激情网| 超碰99在线| 亚洲欧洲中文日韩久久AV乱码| 激情小说五月天| 国产偷人爽久久久久久老妇APP| 欧美大肥婆大肥BBBBB| 国产69久久久欧美黑人A片| 狠狠干狠狠干| 综合久久激情久久| 一级性感毛片| 五月丁香六月激情综合| 超碰操网| 欧美va亚洲va| 亚洲尤物在线| 蜜乳中文字| 五月天婷婷丁香| 97人人看| www99热| 综合六月久久| 色五月中文字幕| 99热久草| 五月天开心成人网| 久久这里只有精品视频1| 天天操比比| 9久国产精品| 婷婷五月综合在线| 教师性爱毛片| 九九精品热播| 五月天色狠狠| 五月天另类图片| 狠狠色五月| 99精品视频网| 99天天操夜夜操| 久久性刺激| 五月丁香久久精品在线观看| 日逼免费视频| 五月丁香婷婷免费视频| 五月激情综合网| 五月丁香亭亭电影久久| www综合久久| 婷婷成人网五月天| 3www激情| 99热久草| 激情五月黄色| 色婷婷av在线| 99热99这里有免费的精品| 五月天激情婷婷| 99热精品免费| 婷婷六月综合基地| 99久久a线观| 五月天色丁香| 欧美激情综合色综合啪啪五月| 六月婷婷操逼| 色婷婷中文字母五月丁香| 999影院成人在线影院| 五月综合丁香婷婷| 女人被躁到高潮嗷嗷叫小| 色色色区| 思思热再线视频| 六月婷婷激情图片| 国av网| 亭亭玉立国色天香| 这里只有精品在线视频在线观看| 天天干天天爽| 婷婷天堂视频| 激情综合网,婷婷五月天| 天天爽天天操| 九九色网专区| 激情小说婷婷小说| 婷婷99热| 丁香色情五月综合激情| www.99热国产| 超碰成人电影| 99丝袜精品视频网站| 狠狠色婷婷在线| 人人操人人干AV| 久久久日韩特色特黄AAAA| 中文字幕丰满乱孑伦无码专区| 停婷丁五月在线| 久久久婷丁香五月| xxxx五月| 丁香色婷婷| 激情久久 婷婷| 婷婷激情五月天视频在线| 成人做爰A片免费看视频| 五月丁香婷婷基地| 婷婷五月天小说| 久草婷妨| 五月天婷婷色播在线网| 人人操AV| 大香蕉久操| 久久免费操| 丁香色影院| 久久色五月天激情小说| 亚洲精品国产熟女久久久| 99热这里只有精品26| 五月丁香婷婷久久| 久久伦乱| 五月婷婷|欧美| 9热久久| 99国产这里只有精品| 五月婷A V在线| 色小说婷婷五月天天天| 日本三级中国三级99人妇网站| 婷婷五月亚洲综合| 日本精品99| 六月婷婷av| 97碰碰在线看视频免费| 亚洲成人网站在线播放| www.狠狠操| 中文字幕成| 99ri精品在线| 久久视频婷婷| 色婷婷国产精品综合在线观看| 亚洲AV无码成人精品区电影网| 欧美日韩AAAA| 超碰色人妾| 开心五月网| 射久久丁香五月| 蜜桃人妻无码AV天堂三区| 久久天堂加勒比| 色婷婷激情四射视频| 久久综合无| 91婷婷在线| 欧美激情丁香五月| 五月天激情四射| 电影《战争与艾拉》免费观看| 精品一二三区久久AAA片| 色欲日日躁| 2018夜夜草| 丁香五月乱中文字幕| 九九综合88| 99热99久久| 欧亚洲在线高清视频| 五月天婷婷激情| 色五月婷婷婷婷| 亚洲成人中文字幕| 亚洲性爱电影| 激情图片亚洲| 激婷网| 五月婷婷天天| 97干在线| 亚洲V国产V欧美V久久久久久| 人妻精品久久久久久| 色色网91| 九九婷婷网五月天| 99热在线中文字幕| 免费观看2018www黄色操逼网站| 久9视频免费播放| 亚洲激情亚洲激情| 五月天开心色色网| 99这里有精品视频| 婷婷日在线观看| 丁香五月婷婷操逼| 激情久久肏屄视频| 精品一区二区三区四区五区六区介绍 | 五月丁香色色网| 99er视频在线| 91超级碰在线视频| 国产精产国品一二三在观看| 五月色婷婷综合| www.婷婷| 九九99精品视品| 另类A片| 99热这里只有精品2016| 丁香五月婷婷亚洲色图| 五月天激情小说| 五月丁香六月婷婷激情视频在线观看免费 | 人妻激情在线| 96精品成人无码A片观看金桔 | 99色在线观看免费| 日本丰满久久| 特级西西4444www无码| 激情色情五月天| 97香蕉久久超级碰碰高清版| 日韩一级一片内射视频4K| 婷婷激情人妻| 思思热再线视频| 伊人激情综合网| 日本久久色| 久操婷婷| 色偷偷色婷婷| 天天做天天爰天天爽天天无遮挡| 97日在线视频| 九久久九精品视频| 97热这里只有精品| 五月综合无码| 狠狠干狠狠干狠狠干狠狠干| 琪琪色五月天| 大香蕉视频99| 色婷婷丁香A片区毛片区女人区| 成年人最刺激的综合网| 色婷婷精品小视频| 久久色婷婷| 绿色小导航AV| 五月天激情美女久久| 99热一区| 亚洲乱码在线观看| 色欲AV导航| 高清无码一区二区三区四区| 久久婷婷五月天懂色| 玖玖五月丁香| 亚洲精级| 大战熟女丰满人妻AV| 高清无码视频网址| 丁香婷婷五月综合| 深爱激情六月天| 欧美色小说婷婷| 成人片久久网站| 无码激情| 婷婷免费无马| 91啪啪啪啪| 五月丁香婷婷激情爱爱| 少妇水多A片太爽了| 激情综合网五月激情| 91婷色| 日日操夜夜爽| 丁香五月婷婷在线观看| site:publishdd.com| 日日干夜夜撸夜夜骑| 五月天婷婷基地丁香| 亚洲AV日韩无码| 日韩精品超碰在线观看| 五月婷婷丁香网| 色婷婷亚洲综合天堂| 五月天丁香婷婷网| 国产亚洲精品久久久久久久久动漫| 99热这里只有精品在线| 五月婷婷AV| 久久停停超碰| 久久女人天堂| 超碰人人操人人干| 粉嫩av懂色av蜜臀av熟妇| 另类精品视频在线观看| 婷婷六月天天| 亚洲在线操| 超碰精品在线| 97色婷婷| 婷婷综合五月天| 九九RE视频在线精品| 99热精品在线播放| 久久99久久99久久99人受| 久久人妻精品| 亚洲精品无AMM毛片| 中文成人在线| 蜜臀综合久草| 99婷婷色| 九伊人网| 色五月综合在线| 五月婷视频久久| 婷婷五月天视| 激情综合网激情五月网| 噜噜噜精品欧美成人在线观看| 天天做 天天爱| 久色资源| 色九网| 99热精品在线| 午夜伊人大香蕉| 五月婷婷,六月婷婷| 色99在线看| 99久久99久久综合| 丁香五月婷婷色五月| 99色看| 五月精品| 操人无码| 开心五月色婷婷综合开心网| 六月色丁香婷婷| 99'无码| 97成人在线视频| 欧美婷婷色五月网| 五月天操逼网| 婷香五月网在线| 五月婷婷九月婷婷九月婷婷| 亚洲操B| 青青草五月天| 亚洲狠狠色丁香婷婷综合久久| 亚洲欧美日韩另类| 8区视频在线| 五月婷成人网| 丁香六月色婷婷综合| 五月婷啪| 无码成人AAAAA毛片AI换脸| 日本三级色| 国产伦理精品高清在线观看网站一区二区 | 色青青电影色五月| 九九九午夜视频| 女性自慰系列第五页| 狠狠五月激情婷婷直播片| AV成人在线播放| 精国产品一区二区三区A片| 九九综合88| 久久婷婷成人视频| 天天日日综合| 婷婷伊人| 丁香五月激情五月色综合| 丁香五月天堂| 互月天综合| 日韩九区| 91av色色乱视频| 亚洲无码成人网| 五月婷婷综合丁香视频| 女人高潮内射99精品| 97婷婷狠狠久久综合9色| 婷婷五月天777| 天堂五月婷婷| 欧美三级巜人妻互换| 激情综合在线观看| 欧美成人精品一区二区 | 亚洲AV人人操| 亚洲精级| 激情网五夜婷婷| 狠狠干狠狠干| 91综合视频丁香| 五月天国产成人| 婷婷色操| 香蕉曰比| www.激情五月天.com| 丝袜激情网| 婷婷WWW久久| 深爱五月中文字幕| 色色婷婷丁香| 综合 蜜月 婷婷| 深爱激情四射| 婷婷丁香六月| 永久免费一区二区三区| 亚洲va在线| 精品无码久久久久久久久| 丁香五月天堂| 综合网啪| 4399精品一区二区| 日本特黄aaaaa| 这里只有精品在线观看视频| 超碰人人99| 久久色这里只有精品| 91中文在线| 亚州精品色情无码A片| 激情婷婷久久| 久久天堂精品| 色七七色九九| 国产亚洲99久久精品熟| 婷婷激情六月中文| 久久久五月天| 天天色月| 色情综合网| 99热新网址| 免费亚洲婷婷五月| 丁香香蕉婷婷| 色五月丁香五月天| 伊人九九68| 新激情五月天色播| 欧美日本韩国亚洲| 久久奄也去色色网站| 欧洲第一无人区观看| 777久久精品| 激情色色| 五月天激情站| 色婷婷av在线观看| 综合99在线| 思思热在线| 热的国产,热的综合,热的有码 | 九九亚洲视频| 亚洲色综合| 五月丁香香蕉| 爱之国产色情综合| 五月开心网| 狠狠色情婷婷| 亚洲宗合激情| 婷婷亚洲色| 97人人操人人操人人操人人| 天天日天天干天天爽| 婷婷丁香五月激情密臀av| 4438激情网|