夜夜躁很很躁日日躁麻豆,精品人妻无码,制服丝袜国产精品,成人免费看www网址入口

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請入駐

只花了 50 左右的成本,我從零開始改造了一張能用 Siri 控制的升降桌

0
分享至

編注:本文是少數(shù)派會(huì)員 π+Prime 的免費(fèi)試讀內(nèi)容。π+Prime 是少數(shù)派推出的讀者權(quán)益增值服務(wù),它是一個(gè)包含內(nèi)容、周邊、活動(dòng)權(quán)益在內(nèi)的綜合服務(wù)。你可以 了解關(guān)于少數(shù)派會(huì)員的更多權(quán)益和福利。

其實(shí)在兩年前,我就已經(jīng)根據(jù)我派作者 @EstrellaXD 的文章《HomeKit 智能升降桌是怎樣煉成的》,自己搓出來了適合我 HomeKit 升降桌的控制模塊,并試產(chǎn)了幾塊。當(dāng)時(shí)實(shí)現(xiàn)的功能很簡單,就是通過模擬升降桌控制器模塊的按鍵操作來實(shí)現(xiàn)將升降桌接入 HomeKit,進(jìn)而可以使用 iPhone 和 Siri 來操作。


當(dāng)時(shí)做的小模塊

這個(gè)方案一用就是三年。直到 25 年,我和伴侶搬進(jìn)了 188 平的大豪斯,原本只需要承載我一個(gè)人需求的桌子,需要負(fù)擔(dān)的事情也更多了。比如一起在我的世界養(yǎng)貓吃飯、碼字、縫紉、做開發(fā)、化妝……總之,原本四個(gè)檔位的高度設(shè)定對我來說是綽綽有余,但應(yīng)對兩個(gè)人的需求就不太夠。

于是我又想起了升降桌智能化這事。我想,為什么不能有一個(gè)升降桌能讓我多設(shè)定幾個(gè)高度模式呢,或者可以讓我們直接在手機(jī)或者鍵盤上輸入數(shù)字,然后就自動(dòng)升降到指定高度呢?


一開始,我想著能花點(diǎn)錢解決的事情,就別自己費(fèi)盡心思去搞了。畢竟,前不久才剛做完一個(gè)大手術(shù),自己沒那個(gè)心力,同時(shí)自己嘗試過開發(fā)硬件之后,便也知道了其中的重重困難。所以,我便在網(wǎng)上搜索「智能升降桌」,想著干脆買張新的好了。

事情當(dāng)然不出意外地——出意外了。(要是沒出意外你們現(xiàn)在也看不到這邊文章了對吧。)在我搜索的過程中發(fā)現(xiàn),如今很多升降桌的宣傳雖然都加上了「智能」倆字,但某種程度上來講,他們這個(gè)「智能」是基于傳統(tǒng)「不可升降」桌子來定義的,而非智能家居時(shí)代里「能夠接入家居平臺(tái)」。

當(dāng)然,我也很早就知道有品牌做出了支持米家的智能升降桌,但 3000 塊左右的售價(jià)多少讓我有點(diǎn)難堪——這么多錢,都夠我倆去海南自駕旅行一周了。


行吧,既然沒有廠家愿意做,愿意做的我買不起,那就還是只能自己上了。

折騰前的準(zhǔn)備與忠告

這里先給大家一個(gè)重要提醒:請?jiān)谠缟匣蛑形玳_始探索,千萬不要在傍晚開始。因?yàn)槌怂C(jī)和打《文明 6》,這個(gè)點(diǎn)開始探索,你很容易就見到凌晨四點(diǎn)五點(diǎn)六點(diǎn)或者剛剛天亮的城市了。

想要完成這個(gè)項(xiàng)目,你需要準(zhǔn)備一些工具和環(huán)境:

  • ESP32 開發(fā)板,我選擇的是 ESP32-C3;

  • 面包板若干杜邦線;

  • 若干LED,用來測試電平和查看狀態(tài)等;

  • 如果是方案二,還需要準(zhǔn)備紅外測距模塊VL53L0xVL53L1x;

  • 電烙鐵、焊錫、萬用表;

  • 一套好用的螺絲刀,用來拆開升降桌控制模塊;

  • 一個(gè)USB 轉(zhuǎn) UART 模塊,可能需要用來刷固件或抓取 UART 數(shù)據(jù);

  • 一個(gè)支持第三方加載項(xiàng)的 Home Assistant 環(huán)境(用于安裝 ESPHome);以及

  • 一個(gè)具有探索精神,且懂一些編程基礎(chǔ)的你。

目標(biāo)與核心思路

在開始改造之前,得想明白自己要什么。前情里已經(jīng)透露了核心的需求,但我又想著做都做了,不如做個(gè)完整功能的升降桌,把控制模塊上所有的功能都給接入智能化控制好了。因此,現(xiàn)在的目標(biāo)就比較明確:在不換升降桌控制器的前提下,實(shí)現(xiàn)——

  • 輸入高度數(shù)值后,升降桌調(diào)整到指定高度;

  • 能設(shè)定超過四個(gè)高度模式;

  • 將所有升降桌的物理按鍵都變成可用手機(jī)或語音控制的按鈕;

  • 接入 Home Assistant,進(jìn)而可以橋接到 HomeKit,或者通過 Matter 接入各種平臺(tái)。

有了目標(biāo),就可以思考改造的思路了。

過去,我根據(jù) @EstrellaXD 所寫文章而制作的控制模塊里,只是單純模擬了升降桌按下高度檔位的物理按鈕來實(shí)現(xiàn) HomeKit 控制。但要實(shí)現(xiàn)上面的目標(biāo),最核心的問題就是如何獲取升降桌當(dāng)前的高度,否則后面的功能全都無從談起。

拿到了關(guān)鍵的升降桌高度數(shù)據(jù)之后,還要讓升降桌可以和 Home Assistant 交互:將升降桌數(shù)據(jù)傳入 Home Assistant 實(shí)現(xiàn)展示,并通過 Home Assistant 發(fā)出控制指令來對升降桌高度進(jìn)行操作。

這樣看來,總體的實(shí)現(xiàn)邏輯并不難,只要攻破這兩個(gè)核心難點(diǎn),問題就被解決了。

方案一:基于 Upsy Desky 的協(xié)議破解

市面上許多升降桌都是通過一根網(wǎng)線來連接升降桌控制盒和控制面板的。如果我們能逆向拿到控制面板和控制盒之間的溝通數(shù)據(jù),便可以直接在中間接入一個(gè)無線控制模塊,來實(shí)現(xiàn)讀取高度數(shù)據(jù)并接入智能家居平臺(tái)。基于這個(gè)原理,我很快就在摸索的過程中發(fā)現(xiàn)了一個(gè)項(xiàng)目:Upsy Desky。

看到這個(gè)項(xiàng)目的時(shí)候,我有種「哇原來人家早就在這里等著我了」的感覺,感嘆現(xiàn)在互聯(lián)網(wǎng)和開源社區(qū)真是越來越厲害了。我迫不及待地下載了 Upsy Desky 項(xiàng)目提供的源文件,打開了里面的電路圖和 PCB,發(fā)現(xiàn) Upsy Desky 的思路與我是完全一致了。

根據(jù) Upsy Desky 提供的項(xiàng)目介紹文檔和電路圖,我了解到,許多升降桌的控制盒與控制面板都會(huì)通過 UART 協(xié)議來傳輸數(shù)據(jù),只要在中間插入一個(gè)支持 UART 協(xié)議和能夠接入 Home Assistant 的芯片,就能夠?qū)崿F(xiàn)所有的功能。

從電路圖里可以看出,Upsy Desky 的核心就是一塊 ESP32-WROOM-32 芯片。它是樂鑫科技推出的一款通用型 Wi-Fi 和藍(lán)牙模塊。


明白了原理之后,我便開始嘗試將這個(gè)方案應(yīng)用到我的桌子上。我選擇了更新的 ESP32-C3 芯片,因?yàn)樗鼉?nèi)置了 USB 接口,刷寫固件更方便,可以節(jié)省一個(gè) USB 轉(zhuǎn) UART 模塊。

ESPHome 介紹與安裝

給 ESP32 編譯固件用的是 ESPHome。ESPHome 是一個(gè) Home Assistant 的官方加載項(xiàng),可以讓我們簡單快速地為 ESP 系列芯片創(chuàng)建自定義固件。簡單來說,步驟如下:

1. 在 Home Assistant 里,一鍵安裝官方加載項(xiàng)商店里的 ESPHome;

2. 啟動(dòng)它,新建一個(gè)項(xiàng)目,選擇對應(yīng)的芯片;

3. 將作者提供的 Upsy Desky YAML 代碼復(fù)制進(jìn)去;

4. 修改適配 ESP32-C3 的部分;

5. 將 ESP32-C3 用 USB 連接到 Home Assistant 的運(yùn)行主機(jī)上;

6. 保存,等待 ESPHome 自動(dòng)編譯固件和刷寫。

要在 Home Assistant 里安裝 ESPHome 也很簡單,但前提是你運(yùn)行的 Home Assistant 設(shè)置里有「加載項(xiàng)商店」這個(gè)選項(xiàng)(使用 Home Assistant OS 或 Supervised 安裝方式即可,Docker 版較為復(fù)雜)。進(jìn)入加載項(xiàng)商店里就能看到它,一鍵安裝就行了。


Upsy Desky 固件導(dǎo)入及源代碼解讀

在 Upsy Desky 的 GitHub 里,作者已經(jīng)提供了編譯好的 bin 固件和源代碼。如果和作者采用同款硬件,直接刷入他提供的固件即可。但由于我已經(jīng)換了 ESP32-C3 作為主控芯片,就得自己編譯一個(gè)適合 ESP32-C3 的固件。

將 Upsy Desky 的源代碼從 GitHub 下載好之后,里面的firmware文件夾存放的就是固件源碼。先將里面的addons文件夾整個(gè)復(fù)制到 Home Assistant 的config/esphome 文件夾里(可通過 Samba 或 File Editor 插件訪問),然后再將里面的base.yaml也復(fù)制過來。

現(xiàn)在回到 Home Assistant 里刷新一下 ESPHome,就能看到被導(dǎo)入的 Upsy Desky 源碼 YAML 文件了?,F(xiàn)在,我們就可以來修改這里面的代碼,讓它適配 ESP32-C3。

第一步,修改芯片和框架類型:

esp32:   board: esp32-c3-devkitm-1   framework:     type: esp-idf

接著,是定義合適的 GPIO 引腳。這一步至關(guān)重要,直接關(guān)系到后續(xù)能否成功。由于 ESP32-WROOM-32 和 ESP32-C3 的 GPIO 引腳不一致,你需要根據(jù)你購買的開發(fā)板的引腳圖(Pinout Diagram),重新定義要使用的 GPIO 引腳。只要避開圖中標(biāo)記為特殊用途的引腳,一般都可以使用。


請務(wù)必查找你所用開發(fā)板的引腳圖

最后,添加 Wi-Fi 連接信息。建議使用 AP 熱點(diǎn)模式,這樣首次刷機(jī)后可以用手機(jī)連接設(shè)備創(chuàng)建的 Wi-Fi 來進(jìn)行網(wǎng)絡(luò)配置,避免密碼輸錯(cuò)導(dǎo)致無法聯(lián)網(wǎng)。

wifi:   # ... (省略 ssid 和 password) # 開啟通過 ap 熱點(diǎn)設(shè)定 Wi-Fi ap:   ssid: "Upsy-Desky-Setup"   password: "12345678"

當(dāng)所有的代碼修改完成后,將 ESP32-C3 開發(fā)板用 USB 線連接到 Home Assistant 主機(jī),然后點(diǎn)擊 ESPHome 右上角的 INSTALL,選擇 Plug into the computer running ESPHome...,再找到你連接的 USB 設(shè)備,ESPHome 就會(huì)開始編譯固件并自動(dòng)刷寫了。


Upsy Desky 的局限性

一言以蔽之,Upsy Desky 方案并不支持我的升降桌類型。如果你的桌子恰好在官方兼容列表中,那么可以無痛使用。否則,就需要具備逆向工程的能力去分析和適配你桌子的 UART 數(shù)據(jù),這對我來說難度過高。


方案二:外部傳感器(激光測距)

在方案一卡住后,一次偶然的下廚經(jīng)歷給了我靈感:既然無法從桌子「內(nèi)部」讀取高度,為何不從「外部」直接測量呢?

這便引出了我們的最終方案:在桌板底部安裝一個(gè)激光測距傳感器,測量桌板到地面的實(shí)時(shí)高度。這個(gè)高度數(shù)據(jù)通過 ESP 芯片發(fā)送給 Home Assistant。同時(shí),ESP 芯片的 GPIO 引腳連接到升降桌的物理按鍵上,通過程序模擬按鍵點(diǎn)擊,從而實(shí)現(xiàn)精確控制。

這個(gè)方案的額外好處是數(shù)據(jù)更準(zhǔn)確。比如我給桌子加裝了輪子后,桌子整體抬高了幾厘米,傳感器能測出真實(shí)高度,而桌子內(nèi)置的高度顯示則不會(huì)改變。

芯片及傳感器選型

芯片我決定繼續(xù)沿用 ESP32-C3。至于距離傳感器,經(jīng)過一番研究,我鎖定了兩款 ToF 紅外距離傳感器:VL53L0x 和它的「進(jìn)階款」 VL53L1x。其中——

  • VL53L0x:體積小,價(jià)格便宜,但典型測距范圍只有 1.2 米。

  • VL53L1x:體積稍大,價(jià)格更高,但測距范圍可達(dá) 2 米以上,精度和刷新率也更高。


我的升降桌加裝輪子后最高可達(dá) 1.3 米,超出了 VL53L0x 的范圍,因此VL53L1x 是本項(xiàng)目更穩(wěn)妥的選擇。你可以根據(jù)自己升降桌的實(shí)際高度范圍來決定。


還是挺貴的...

成功獲得高度數(shù)據(jù)

拿到傳感器后,需要將它與 ESP32-C3 連接起來。我們使用 I2C 協(xié)議通信,只需在 ESPHome 中定義 SDA 和 SCL 引腳即可:

i2c:   sda: GPIO4   scl: GPIO5   scan: true

注意VL53L0x 和 VL53L1x 的驅(qū)動(dòng)方式有所不同。前者受 ESPHome 官方支持,后者需要引入第三方庫。

如果你使用VL53L0x,配置如下:

sensor:   - platform: vl53l0x     name: "升降桌高度"     # ... 其他參數(shù)     unit_of_measurement: "m"

如果你使用VL53L1x,則需要先引入第三方驅(qū)動(dòng),再進(jìn)行配置:

external_components:   - source: github://soldierkam/vl53l1x_sensor     refresh: 1s sensor:   - platform: vl53l1x_sensor     name: "升降桌高度"     id: distance_sensor     unit_of_measurement: "cm"     accuracy_decimals: 1     update_interval: 500ms     # 以下 roi 參數(shù)用于啟用整個(gè)傳感器陣列,讓讀數(shù)更穩(wěn)定,直接復(fù)制即可     distance_mode: MEDIUM     timing_budget: 200ms     roi_center:        x: 8       y: 8     roi_size:        x: 16       y: 16     filters:       - multiply: 100 # 將單位從米轉(zhuǎn)換為厘米       - delta: 0.5    # 僅當(dāng)高度變化超過0.5cm時(shí)才更新,防止讀數(shù)抖動(dòng)

其中,roi_centerroi_size參數(shù)是告訴傳感器啟用全部感光元件進(jìn)行測量,可以得到更準(zhǔn)確、干擾更小的平均值。你可以把它想象成,roi_center定義的是「你向哪里看」,而roi_size定義的是「眼睛睜多大」。

完成這些工作后,傳感器終于成功地將桌面高度實(shí)時(shí)顯示在了 Home Assistant 中。


早期的圖已經(jīng)截不到了,就給個(gè)最近的吧

如何進(jìn)行升降桌控制?

獲取高度后,我們回歸到最簡單可靠的模擬點(diǎn)擊方案。原理是:通過程序控制 ESP32-C3 的 GPIO 接口輸出一個(gè)高電平信號(hào),來模擬按下升降桌控制面板上的物理按鍵。(注意:要使該方案生效,ESP32-C3 和升降桌控制電路必須共地。)


原理圖,請務(wù)必注意共地連接

搭建測試電路

我們可以先在面包板上搭建測試電路。根據(jù) ESP32-C3 的引腳圖連接硬件,并將傳感器用膠帶臨時(shí)固定在桌底測試。


測試電路,供電直接采用 USB-C 接口


用膠帶固定在桌底用于測試的 VL53L1x

撰寫代碼

有了高度數(shù)據(jù)和模擬按鍵的能力,我們就可以在 ESPHome 中編寫完整的控制邏輯了。以下是核心代碼片段,你可以根據(jù)自己的需求進(jìn)行修改和擴(kuò)展。

第一部分:基礎(chǔ)定義

# ... (此處省略設(shè)備名稱、Wi-Fi、API等基礎(chǔ)配置) ... # 開發(fā)板類型及框架,這里需要你查看自己的開發(fā)板類型,并根據(jù)商家或數(shù)據(jù)手冊的描述來寫 esp32:   board: airm2m_core_esp32c3 # 示例板型,請?zhí)鎿Q   framework:     type: arduino # 打開 ESP32-C3 的藍(lán)牙網(wǎng)關(guān)功能 (可選) bluetooth_proxy:   active: true

第二部分:接口定義

# ... (此處省略 i2c 和 external_components 定義) ... # 定義用于模擬按鍵的輸出引腳 output:   - platform: gpio     id: output_up     pin: GPIO2   - platform: gpio     id: output_down     pin: GPIO3   - platform: gpio     id: output_preset1     pin: GPIO6   # ... 根據(jù)需要定義更多

第三部分:核心邏輯 (開關(guān)、傳感器與數(shù)字輸入)

# 定義互鎖的上升/下降開關(guān) switch:   - platform: output     id: switch_up     name: "高度上升"     output: output_up     on_turn_on:       - switch.turn_off: switch_down   - platform: output     id: switch_down     name: "高度下降"     output: output_down     on_turn_on:       - switch.turn_off: switch_up # 定義傳感器,并加入最高/最低安全限位 sensor:   - platform: vl53l1x_sensor     # ... (此處省略傳感器具體參數(shù)) ...     on_value:       then:         # 最高高度安全限制         - if:             condition:               and:                 - switch.is_on: switch_up                 - lambda: 'return x >= 125.0;'             then:               - switch.turn_off: switch_up         # 最低高度安全限制         - if:             condition:               and:                 - switch.is_on: switch_down                 - lambda: 'return x <= 65.0;'             then:               - switch.turn_off: switch_down # 手動(dòng)設(shè)定任意高度的數(shù)字輸入框 number:   - platform: template     name: "設(shè)定高度"     id: target_height     unit_of_measurement: "cm"       min_value: 65.0     max_value: 125.0     step: 0.5     mode: box     optimistic: true     on_value:       then:         # 1. 安全第一:停止當(dāng)前所有馬達(dá)動(dòng)作         - switch.turn_off: switch_up         - switch.turn_off: switch_down         - delay: 200ms         # 2. 判斷是否需要上升         - if:             condition:               lambda: 'return x > id(distance_sensor).state;' # 如果目標(biāo)高度 > 當(dāng)前高度             then:               - switch.turn_on: switch_up               - wait_until:                   condition:                     lambda: 'return id(distance_sensor).state >= x;' # 等待,直到當(dāng)前高度 >= 目標(biāo)高度               - switch.turn_off: switch_up         # 3. 判斷是否需要下降         - if:             condition:               lambda: 'return x < id(distance_sensor).state;' # 如果目標(biāo)高度 < 當(dāng)前高度             then:               - switch.turn_on: switch_down               - wait_until:                   condition:                     lambda: 'return id(distance_sensor).state <= x;' # 等待,直到當(dāng)前高度 <= 目標(biāo)高度               - switch.turn_off: switch_down

至此,整個(gè)程序就近乎完整實(shí)現(xiàn)了我對智能升降桌的需求了。

到了這一步,也宣告著整個(gè)項(xiàng)目的探索階段完工,電路和程序的可行性都已經(jīng)得到驗(yàn)證,可以進(jìn)行總裝了。

接入智能家居平臺(tái),真正實(shí)現(xiàn)智能化

現(xiàn)在,這個(gè)升降桌智能控制模塊在刷入 ESPHome 固件之后,就會(huì)自動(dòng)在 Home Assistant 里被發(fā)現(xiàn),一鍵接入后就能看到我們之前定義的那些傳感器和開關(guān)實(shí)體。


接入 HomeKit

由于 HomeKit 沒有「升降桌」這個(gè)設(shè)備類型,我們只能通過模擬「開關(guān)」或「插座」的方式來接入。得益于我們代碼中豐富的邏輯,可以將「高度模式選擇」這個(gè) `select` 實(shí)體(完整代碼可在原文找到)橋接到 HomeKit,它會(huì)顯示為一個(gè)排插,每個(gè)插座對應(yīng)一個(gè)高度模式。


當(dāng)然,你把它們拆開顯示也可以

這樣,不僅可以在「家庭」App 中點(diǎn)擊切換模式,還能直接用 Siri 進(jìn)行語音控制。

再給它安排一個(gè)語音精靈吧

我將一個(gè) Aqara 語音伴侶放在桌上,通過其 Matter 信號(hào)同步能力,可以創(chuàng)建自定義語音指令。例如,我說「坐下模式」,Aqara 會(huì)發(fā)送一個(gè)信號(hào)給 Home Assistant,觸發(fā)一個(gè)自動(dòng)化,將桌子調(diào)整到預(yù)設(shè)的坐下高度。


甚至還能用妙控鍵盤

借助 Keyboard Maestro,我將妙控鍵盤上閑置的 F13-F19 按鍵映射為控制升降桌的快捷鍵。按下按鍵時(shí),執(zhí)行一條 Shell 指令來調(diào)用 Home Assistant 的 API。

curl -X POST -H "Authorization: Bearer [你的Home Assistant token]" \   -H "Content-Type: application/json" \   -d '{"entity_id": "select.desk_mode_selector", "option": "站立模式"}' \   http://[你的HA地址]:8123/api/services/select/select_option

注意,需要先在 Home Assistant 的個(gè)人主頁中生成一個(gè)長期訪問令牌 (Token)。


我知道打錯(cuò)字了......

當(dāng)然,最重要的是自動(dòng)化

有了智能化的升降桌,最終極的玩法是自動(dòng)化。例如,搭配一個(gè)人體和壓力傳感器,實(shí)現(xiàn)「檢測到久坐一小時(shí)后,自動(dòng)將桌子升到站立高度」,強(qiáng)制自己站坐交替,保護(hù)腰椎。

ESPHome 的坑

到這里,干貨已基本講完。但實(shí)際上,哪怕你完全照著做,也可能會(huì)遇到一些坑,主要集中在 ESPHome 的編譯上。

最常見的問題是開發(fā)板不兼容。在購買 ESP32-C3 開發(fā)板時(shí),務(wù)必向商家確認(rèn)其在 ESPHome 中應(yīng)選擇的board類型。如果選錯(cuò),固件即使刷入也無法正常啟動(dòng),設(shè)備會(huì)一直顯示 OFFLINE。

例如,我這塊 「Powered by LuatOS」 的板子,就不能用默認(rèn)的esp32-c3-devkitm-1,而需要手動(dòng)選擇airm2m_core_esp32c3類型,并且將框架 framework 設(shè)置為arduino而非esp-idf。

此外,還可能遇到 ESPHome 版本與芯片的兼容性問題,或者一些玄學(xué)的編譯報(bào)錯(cuò)??傊?,這個(gè)過程需要耐心和一定的解決問題的能力,但相信你如果決心探索,就一定能成功。

結(jié)語

相比前幾次的自制硬件探索,這次的過程雖然更加曲折,但有了此前項(xiàng)目的探索經(jīng)驗(yàn),再加上 AI 工具的助力,我也還是成功地跑通了一套自己的方案。

只不過這個(gè)方案不那么有普適性,如果要適配更多的桌子,還需要進(jìn)一步的開發(fā),我雖然有著計(jì)劃,但短期內(nèi)靠自己肯定是做不來了。不過想來也有些有趣,自己很多年前做的選擇,卻冥冥之中讓我有了更多折騰的創(chuàng)意 —— 如果以前沒有貪便宜買了雜牌升降桌,那我很可能就只是給大家搬運(yùn)一下 Upsy Desky 這個(gè)現(xiàn)成的開源項(xiàng)目,就沒有后續(xù)的各種故事了。

也算是在好幾年后重新再找回一些探索的快樂了。就是寫完這篇文章的時(shí)候,已經(jīng)是凌晨四點(diǎn)半,得趕緊休息了。就讓我們難忘今宵,下次的折騰再見。

https://sspai.com/prime/story/diy-a-siri-enabled-standing-desk?utm_source=wechat&utm_medium=social

作者:宛潼

責(zé)編:PlatyHsu


特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
逐一排查,260億包養(yǎng)李春平的好萊塢女星是誰?

逐一排查,260億包養(yǎng)李春平的好萊塢女星是誰?

不正確
2025-11-03 16:22:58
面相又變了,50歲趙薇近照曝光婚禮上用心打扮,卻走不了回頭路

面相又變了,50歲趙薇近照曝光婚禮上用心打扮,卻走不了回頭路

洲洲影視娛評
2025-11-03 18:18:49
升西部第3,沒有詹姆斯的湖人,到底強(qiáng)在哪里?有個(gè)優(yōu)勢聯(lián)盟第1

升西部第3,沒有詹姆斯的湖人,到底強(qiáng)在哪里?有個(gè)優(yōu)勢聯(lián)盟第1

摸神drose
2025-11-03 22:04:54
澄清!楊瀚森女友被質(zhì)疑學(xué)歷低,曬本科證書回應(yīng):我才不是大專妹

澄清!楊瀚森女友被質(zhì)疑學(xué)歷低,曬本科證書回應(yīng):我才不是大專妹

林小湜體育頻道
2025-11-03 20:09:26
聯(lián)盟第一!雷霆大勝鵜鶘7戰(zhàn)全勝 亞歷山大30+7連79場20+歷史第三

聯(lián)盟第一!雷霆大勝鵜鶘7戰(zhàn)全勝 亞歷山大30+7連79場20+歷史第三

醉臥浮生
2025-11-03 06:53:58
久功不克俄羅斯連撤兩員大將!西爾斯基:紅軍城守住了

久功不克俄羅斯連撤兩員大將!西爾斯基:紅軍城守住了

史政先鋒
2025-11-03 11:54:13
突發(fā)特訊!美方通告全球:美軍機(jī)連續(xù)墜入南海并非巧合,罕見措辭引爆國際輿論

突發(fā)特訊!美方通告全球:美軍機(jī)連續(xù)墜入南海并非巧合,罕見措辭引爆國際輿論

在新加坡生活
2025-11-03 01:12:19
這就是蔣介石4任夫人的真實(shí)樣貌,罕見修復(fù)的老照片,誰最漂亮?

這就是蔣介石4任夫人的真實(shí)樣貌,罕見修復(fù)的老照片,誰最漂亮?

萬物知識(shí)圈
2025-11-01 09:14:39
不到24小時(shí),日本撕毀對華承諾,特朗普不敢做的事,高市早苗做了

不到24小時(shí),日本撕毀對華承諾,特朗普不敢做的事,高市早苗做了

阿校談史
2025-11-03 09:43:27
全紅嬋首戰(zhàn)比賽,恩師何威儀緊跟嬋寶身后,陳若琳一臉寵溺看嬋寶

全紅嬋首戰(zhàn)比賽,恩師何威儀緊跟嬋寶身后,陳若琳一臉寵溺看嬋寶

阿纂看事
2025-11-03 10:54:52
全網(wǎng)社死!上海出軌律師大有來頭,已躲起來,小三航空公司遭圍攻

全網(wǎng)社死!上海出軌律師大有來頭,已躲起來,小三航空公司遭圍攻

阿訊說天下
2025-11-03 18:14:18
人類滅亡大局已定?科學(xué)家算出人類滅絕的日期,人類準(zhǔn)備好了嗎?

人類滅亡大局已定?科學(xué)家算出人類滅絕的日期,人類準(zhǔn)備好了嗎?

涵豆說娛
2025-11-03 18:21:57
宣告奇跡出現(xiàn)不到1個(gè)月,蔡磊近況曝光,他已為自己安排好后路

宣告奇跡出現(xiàn)不到1個(gè)月,蔡磊近況曝光,他已為自己安排好后路

聞識(shí)
2025-11-03 15:20:57
長達(dá)25天!上海中小學(xué)寒假放假時(shí)間安排!

長達(dá)25天!上海中小學(xué)寒假放假時(shí)間安排!

上觀新聞
2025-11-03 18:49:11
烏軍投降了,紅軍城大魚落網(wǎng),俄凌晨擊落6架敵機(jī),基輔封鎖消息

烏軍投降了,紅軍城大魚落網(wǎng),俄凌晨擊落6架敵機(jī),基輔封鎖消息

影孖看世界
2025-11-02 23:36:09
遭證監(jiān)會(huì)立案!688496,20CM“一字”跌停

遭證監(jiān)會(huì)立案!688496,20CM“一字”跌停

大眾證券報(bào)
2025-11-03 11:35:44
臺(tái)灣歌手黃安發(fā)文:一覺醒來,導(dǎo)航都變了!

臺(tái)灣歌手黃安發(fā)文:一覺醒來,導(dǎo)航都變了!

魯中晨報(bào)
2025-11-03 15:27:15
突發(fā)利空,集體大跌

突發(fā)利空,集體大跌

中國基金報(bào)
2025-11-03 12:55:17
九旬李明啟談到容嬤嬤為自己發(fā)聲:我是個(gè)好人,當(dāng)年屬于救場行為

九旬李明啟談到容嬤嬤為自己發(fā)聲:我是個(gè)好人,當(dāng)年屬于救場行為

蜜桔娛樂
2025-11-03 16:30:18
臺(tái)灣網(wǎng)友質(zhì)疑:我們?nèi)兆舆^得明明挺好,為什么還要回歸?

臺(tái)灣網(wǎng)友質(zhì)疑:我們?nèi)兆舆^得明明挺好,為什么還要回歸?

扶蘇聊歷史
2025-10-30 13:39:37
2025-11-03 22:44:49
少數(shù)派sspai incentive-icons
少數(shù)派sspai
高品質(zhì)數(shù)字消費(fèi)指南
4881文章數(shù) 28234關(guān)注度
往期回顧 全部

科技要聞

余承東內(nèi)部信:鴻蒙下一步要實(shí)現(xiàn)上億覆蓋

頭條要聞

57名儲(chǔ)戶在銀行大廳受騙損失千萬本金 當(dāng)?shù)爻闪⒄{(diào)查組

頭條要聞

57名儲(chǔ)戶在銀行大廳受騙損失千萬本金 當(dāng)?shù)爻闪⒄{(diào)查組

體育要聞

開拓者官宣召回楊瀚森 隊(duì)記解析核心原因

娛樂要聞

男導(dǎo)演曝丑聞 蔣欣的含金量還在上升

財(cái)經(jīng)要聞

最新省市GDP:誰在飆升,誰掉隊(duì)了?

汽車要聞

環(huán)比增長28.7% 方程豹品牌10月銷量31052輛

態(tài)度原創(chuàng)

家居
手機(jī)
教育
藝術(shù)
公開課

家居要聞

歲月柔情 現(xiàn)代品質(zhì)輕奢

手機(jī)要聞

OPPO 11月升級機(jī)型公布:搭載ColorOS16正式版

教育要聞

新手班主任最容易踩的16個(gè)坑

藝術(shù)要聞

90后跨國夫妻,到浙江山居:花20萬租20年,值了!

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版 在线日韩国产成人免费| 久久机热图片| 亚洲美女久久| 收个毛片看看| 九九九成人影院| 国产永久在线观看| 丰满少妇与性猛交| 男女肉粗暴进来120秒动态图| 波多野结衣高潮激情视频| 亚洲理论在线A中文字幕| 欧美少妇影院| 四虎成人欧美精品在永久在线| 亚洲精品一区国产| 99久久久无码国产精品免费| 亚洲一二区AV| 国产精品高清中文字幕| 日本爽妇独网| 精品免费在线视频| 丁香婷婷七月天| 午夜无码A级毛片免费视频| 人人干日日干| 国产产无码乱码精品久久鸭| 亚欧无码视频| 无码人妻丰满熟妇啪啪网不卡| 中国熟女老女人| 美女禁区a级全片免费观看| 性色av无码中文av有码vr| 欧美日韩在线第一页免费观看 | 老熟妇老熟女老女人天堂| 99re热这里只有精品视频| 国产丝袜91| 寂寞少妇15p| 玩弄少妇肉体到高潮动态图| 亚洲男同志网站| 娇妻玩4p被三个男人伺候电影| 亚洲AV无码精品一级毛片| 96精品国产AⅤ一区二区价表| 黄色成人影院| 精品999婷婷| 国产欧美一区二区精品久久久| XXXXXX性视频|