如何以Qmote控制聲寶冷氣

和Maid White一起動手玩

TIH
14 min readMay 19, 2018

受夠了為了開你家那台智慧聯網冷氣,打開手機滑半天嗎?今天來試試用一個小按鈕來開冷氣吧!

需求材料

Qmote:
一款由Qblinks推出的藍牙遙控裝置,外型是金屬質感的水滴狀按鈕。
(癮科技:〈Qmote小按鈕 串起全家智慧物聯網〉

Qmote APP:
與Qmote搭配使用的手機APP,有iOSAndroid版。安裝之後,記得先和你的Qmote配對喔。
以下的範例圖會是iOS,Android的介面會有些許不同。

聲寶冷氣:
由聲寶推出,可以用Wi-Fi控制的冷氣。適用機種請參照App StoreGoogle Play的說明。
安裝之後,記得先和你的冷氣配對喔。

Maid White:
TIH的服務,能將Qmote和冷氣串接起來。
為了使用Maid White,我們需要一個Maid White帳號。如果還沒有,別緊張,等等的步驟會從註冊開始。

能發送http指令的工具:
若是新手,推薦使用Postman(有適用Mac OS、Windows和Linux的版本,也有Chrome的擴充功能)。
Mac或Linux的使用者如果不排斥純文字介面,可以用內建的Terminal。

預估耗時

五十分鐘。

步驟

01、註冊一個Maid White帳號

Maid White註冊頁面

到Maid White的註冊頁面,選個你有在用的電子信箱,想組記得住又不會簡單到過份的密碼,填進對應的欄位,註冊個新帳號。

送出後,一封認證信很快就會寄到你剛剛填的的信箱。點擊認證信中的連結,會打開一個新的頁面,告知你的帳號已經認證完畢,感謝你的配合OwO。

02、取得一個Access Token

Access Token是進入Maid White伺服器的通行證,是一組長得像這樣的字串:

efd73555-a69a-acac-f15c-d463213d710a8

我們接下來要取得的Access Token是屬於你剛剛申請的那個帳號的。

使用Terminal

請輸入以下指令:

$ curl 'https://www.tih.tw/2/token' -d 'username=your@email.tw&password=yourpassword'

請將指令中的your@email.tw以及yourpassword分別換成你註冊Maid White用的電子信箱位址以及密碼。

送出之後,你會收到來自系統的回應。

使用Postman

1、選擇POST

2、在網址列輸入https://www.tih.tw/2/token

3、Body格式選擇x-www-form-urlencoded

4、在一個Key欄位輸入username,在其對應的Value欄位打你的Maid White帳號;在下一列的Key跟Value欄位分別輸入password以及你的Maid White密碼

5、按下Send送出,接著你會在下方看見來自系統的回應。

錯誤回應A

{"error":"bad_request","error_description":"username or password incorrect"}

收到這個回應,代表你的帳號或密碼打錯了。(如果真的試了很多次還是無法成功,請聯絡TIH的粉絲專頁尋求協助。)

錯誤回應B

{"error":"require_parameter","error_description":"parameter xxx not found"}

收到這個回應,代表缺了參數。請檢查usernamepassword是否有漏打或拼錯。

成功回應

{"access_token":"efd73555-a69a-acac-f15c-d463213d710a8","token_type":"bearer","scope":"*"}

收到這個回應,代表剛剛送出的http request成功了!取得Access Token efd73555-a69a-acac-f15c-d46321d710a8(當然,你的Access Token長得一定跟這個不一樣)。

03、測試Access Token

讓我們來測試一下剛剛拿到的Access Token是不是真的能用。

使用Terminal

請輸入以下指令:

$ curl 'https://www.tih.tw/2/devices' -H 'Authorization: bearer efd73555-a69a-acac-f15c-d463213d710a8'

記得將efd73555開頭的那一大串字,換成自己的Access Token喔。

送出之後,你會收到來自系統的回應。

使用Postman

1、選擇GET

2、在網址列輸入https://www.tih.tw/2/devices

3、Authorization類型選擇Bearer Token

4、在Token欄位輸入你的Access Token

5、按下Send送出,接著你會在下方看見來自系統的回應。

錯誤回應

{"error":"bad_request","error_description":"User not found"}

收到這個回應,請檢查你在複製貼上Access Token的時候有沒有缺漏或其它錯誤。

成功回應

{
"devices": [],
"status": "ok"
}

收到這個回應,代表這個Access Token正常、可用!既然可用,就可以往下一步去囉。

04、在Maid White上新增聲寶冷氣

聲寶智慧操作系統APP。

打開聲寶冷氣的APP「聲寶智慧操作系統」,可以在列表上看見你的冷氣,以及其它家電(如果你有的話)。

冷氣那項會顯示那台冷氣的名字、狀態以及一行長長的字串,如附圖上的「客廳的冷氣」、「已連線」以及一串28UH2D開頭,長長的的文字。那個字串是這台冷氣的UID,如同冷氣的身分證字號一樣的東西,你可以從自己的手機上看見你家冷氣的UID。

Maid White就是透過這個UID知道要控制的是哪一台冷氣。

現在我們要將這台冷氣登記上Maid White了!

使用Terminal

請輸入:

$ curl 'https://www.tih.tw/2/devices' -H 'Authorization: bearer efd73555-a69a-acac-f15c-d463213d710a8' -d 'driver_name=tw.tih.x.tw.sampo.v2.air_conditioner&uid=28UH2D5LK8ZW3VYW111A'

記得將Access Token和uid都換成自己的喔!

送出之後,你會收到來自系統的回應。

使用Postman

1、選擇POST

2、在網址列輸入https://www.tih.tw/2/devices

3、Authorization類型選擇Bearer Token

4、在Token欄位輸入你的Access Token

5、Body格式選擇x-www-form-urlencoded

6、在一個Key欄位輸入driver_name,在其對應的Value欄位輸入tw.tih.x.tw.sampo.v2.air_conditioner;在下一列的Key跟Value欄位分別輸入uid以及你的冷氣的UID

7、按下Send送出,接著你會在下方看見來自系統的回應。

成功回應

{"data": 363}

收到這個回應,代表新增成功!回應得到的那個數字(如範例中的363)是那台冷氣的device ID。

05、取得冷氣的基本資訊

現在讓我們來取得這台冷氣的一些基本資訊吧!像是有沒有開機、目前溫度、設定溫度、是否有設定定時⋯⋯等等。

使用Terminal

請輸入:

$ curl 'https://www.tih.tw/2/devices/363' -H 'Authorization: bearer efd73555-a69a-acac-f15c-d463213d710a8'

記得將363換成你的冷氣的device ID,還有把Access Token換成你的。

使用Postman

1、選擇GET

2、在網址列輸入https://www.tih.tw/2/devices/363,記得將網址末段的363換成你的冷氣的device ID。

3、Authorization類型選擇Bearer Token

4、在Token欄位輸入你的Access Token

5、按下Send送出,接著你會在下方看見來自系統的回應。

錯誤回應

{
"display_name": "sampo AC 28UH2D5LK8ZW3VYW111A",
"display_picture": "",
"driver_name": "tw.tih.x.tw.sampo.v2.air_conditioner",
"error_description": "get uid IOTC_ER_DEVICE_OFFLINE",
"id": 633,
"online": false
}

收到這個回應,代表你的那台冷氣現在不在線上,請檢查冷氣是否有正確連線,或者是否加到了一台已經沒有在使用的冷氣。

成功回應

{    "ambient_temperature": 35,
"disable_ir_remote_controller": false,
"display_name": "sampo AC 28UH2D5LK8ZW3VYW111A",
"display_picture": "",
"driver_name": "tw.tih.x.tw.sampo.v2.air_conditioner",
"eco": false,
"fan_level": -1,
"id": 363,
"internet_sound": false,
"ionizer": false,
"mode": "cool",
"online": true,
"outdoor_current": 2,
"outdoor_power": 210,
"outdoor_power_total": 2309,
"outdoor_temperature": 0,
"power_status": false,
"self_clean": false,
"sleep_mode": false,
"target_temperature_range": [
29,
29
],
"vertical_wind_direction": -1,
"x_error_code": 0,
"x_maximum_mode": false,
"x_quite_mode": false,
"x_turn_off_timer_minute": 0,
"x_turn_on_timer_minute": 0
}

收到這個回應代表成功取得冷氣資訊!我們可以看見包含開關、周圍溫度、設定溫度、睡眠模式⋯⋯等等數值。

06、控制冷氣

現在來開關機吧!

使用Terminal

請輸入:

$ curl 'https://www.tih.tw/2/devices/363' -H 'Authorization: bearer efd73555-a69a-acac-f15c-d463213d710a8' -d ‘power_status=true'

開機囉!和上一步一樣,系統的回應會包含這台冷氣的種種資訊,可以注意到此時power_status=true

再來,只要把power_status的參數改成false — —

$ curl 'https://www.tih.tw/2/devices/363' -H 'Authorization: bearer efd73555-a69a-acac-f15c-d463213d710a8' -d 'power_status=false'

噠啦!成功關機!此時回應中的power_status的值是false

使用Postman

1、選擇POST

2、在網址列輸入https://www.tih.tw/2/devices/363

3、Authorization類型選擇Bearer Token

4、在Token欄位輸入你的Access Token

5、Body格式選擇x-www-form-urlencoded

6、在一個Key欄位輸入power_status,在其對應的Value欄位輸入true

7、按下Send送出 — — 開機囉!接著你會在下方看見來自系統的回應。

和上一步一樣,系統的回應會包含這台冷氣的種種資訊,可以注意到此時power_status=true

再來,只要把power_status的Value改成false,按下Send送出,就可以關機啦。此時回應中的power_status的值是false

07、設定Qmote APP

有記得先配對好你的Qmote和這支APP嗎?現在打開Qmote APP,主畫面上顯示著已經配對好的Qmote,我們點一下那顆Qmote,進到新的畫面後,按一下右上角的「+」號,我們要來新增Qmote的指令囉。

Qmote APP

點代表短按,線代表長壓,畫面上顯示的其實是不同的按鈕組合,像附圖上如骰子一般的那幾個就依照點的數量,分別是按一下到四下,想要更多按鈕組合的話,可以點畫面下方的開啟長鍵按鈕組合,就會看到除了原先的四種短壓組合,還多了「長壓一下、短按一下」、「長壓一下、短按兩下」等等,更為豐富的按鈕組合。

先以最簡單好記的「短按一下」進行設定吧。

我們進入了新的畫面,看到一大堆可選的功能,讓我們拉到畫面最下方,選擇HTTP請求

1、請在GET、POST、DELETE、PUT那列選項中選擇POST

2、請在網址那列輸入https://www.tih.tw/2/devices/363(記得將device ID從363換成自己的喔)。

HTTP Request — Qmote APP

3、點擊Add Parameter來新增參數。跳出的視窗有兩個欄位,分別是Key以及Value。

3-A、請在Key輸入power_status,Value輸入true,代表我們是想要開機(若是想關機,請改成false

3-B、按下Save儲存

3-C、再按一次Add Parameter

3-D、在Key與Value分別輸入access_token以及你的Access Token。

新增完兩組參數後,點畫面右上角的儲存 — — 就可以開始測試囉!

07、測試

拿起你的Qmote,按一下之後稍微等幾秒 — — 聽到冷氣的嗶聲了嗎?

Original photo by Zac Durant on Unsplash.

成、功、啦!

以上,希望大家玩(?)得還開心。歡迎大家和我們分享實作的經驗!

如果有任何疑問或建議,可以直接在這篇文章留言,或者到TIH的Facebook粉絲專頁留言、私訊我們。

--

--

TIH

台灣智慧家庭(Taiwan Intelligent Home,TIH),以打造台灣軟體產業鍊為宗旨的公司,致力於智慧家電跨品牌整合,同時協助開發物聯網相關的應用程式。