小米智能家居之使用JS API 開發(fā)控制Yeelight智能燈

我家里的小米智能電器有米家、yeelight程梦、aqara等品牌又谋,米家有小米電視、米家空調(diào)等挎狸,yeelight有各個房間的吸頂燈,aqara有智能開關断楷。由于米家開發(fā)者文檔顯示目前當前僅面向企業(yè)開放锨匆,暫未面向個人開發(fā)者開放。而aqara智能開關可玩性一般(文檔可訪問這里),而yeelight智能燈可以調(diào)節(jié)燈光開關恐锣、光暗茅主、與傳感器聯(lián)動,可玩性更高土榴,于是我就把魔爪伸向了yeelight智能燈了诀姚。

先來看一下效果:視頻地址

?由于百度谷歌都沒有JS實現(xiàn)相關的教程,于是我只能從頭開始摸索了玷禽。yeelight的開發(fā)文檔比較簡陋赫段,而且是全英文的,社區(qū)更是提問題的多矢赁,解答問題的少糯笙,真是不太友好。

晦澀難懂的開發(fā)文檔

對可行性存在懷疑的我決定先?嘗試運行一下網(wǎng)站提供的mac版demo代碼撩银,看看是不是能跑通的给涕。為此我還安裝了xcode。結(jié)果直接運行會報如下錯誤:
error: No account for team "S4JD8QVPVY". Add a new account in the Accounts ...
解決辦法是额获,這兒需要換上自己的開發(fā)者賬號所在的team够庙。

換上自己的開發(fā)者賬號所在的team

運行成功后發(fā)現(xiàn)找不到燈設備,fine抄邀,那我暫時也沒辦法了耘眨。

本著快速實現(xiàn)的想法,我逆轉(zhuǎn)了一下思路撤摸,到github上看看有沒有相關的輪子毅桃。篩選一下語言、高贊准夷、文檔詳細的項目后钥飞,最后選擇了幾個項目嘗試跑一下,但都沒有找到燈設備衫嵌。百思不得其解地吃了一個下午茶读宙,以及搶了一輪小米有品的口罩結(jié)果被耍猴之后,不得不感嘆整個下午都被小米耍了楔绞。

此刻作為一個逆轉(zhuǎn)裁判粉絲结闸,我也逆轉(zhuǎn)一下思路,既然這么多demo都找不到設備酒朵,但他們既然存在桦锄,存在就是合理,那是不是其實demo是能跑通的蔫耽,只是我缺了哪些步驟呢结耀?把yeelight的論壇以及官網(wǎng)翻了個片后,我注意到官網(wǎng)的“局域網(wǎng)控制”入口,那是否我要給這些燈打開局域網(wǎng)控制才能夠被發(fā)現(xiàn)呢图甜?于是我被逼按照提示下載了他們的app來打開控制碍粥。再運行一遍mac版的demo,果然找到燈泡設備了黑毅!github上的項目也能順利運行了嚼摩。

允許局域網(wǎng)控制燈

找到設備了

沒想到要運行成功一個demo,還需要經(jīng)歷探索矿瘦、推理枕面、逆轉(zhuǎn)思路的過程,yeelight燈的開發(fā)入門真是趣味滿滿缚去!建議官方出一個文檔膊畴,讓人按著步驟去做吧。這方面aqara的文檔就做得好多了病游。

對比試用幾個github庫后,我最終選擇了jamesblanksby的庫來開發(fā)稠通,雖然現(xiàn)在已經(jīng)不再維護了衬衬。

實現(xiàn)如下:

先安裝庫:
npm i --save node-yeelight

再編寫代碼:

var Yeelight = require('node-yeelight');
var y = new Yeelight;

y.on('ready', function() {
    console.log('ready');
    y.discover();
});

y.on('deviceadded', function(device) {
    console.log('device added');
    y.connect(device);
});

var deviceList = [];
y.on('deviceconnected', function(device) {
    console.log('device connected');
    deviceList.push(device);
    var state = true;
    setTimeout(function(){
        setInterval(function() {

            // 設置燈泡開關及過度時間
            // y.setPower(device, state, 2500);
    
            state = state ? false : true;
            
            // 設置燈泡亮度
            y.setBrightness(
                device, // device object
                state?100:1, // brightness percentage (1-100)
                800 // transition speed in ms
            );
        }, 1000);
    },(deviceList.length-1)*1000);
    
});

y.listen();

以上代碼實現(xiàn)的是兩個燈輪流變光變暗,即開始的視頻效果改橘。

接著我搭配可編程的門窗傳感器滋尉,總算實現(xiàn)了門開燈開的效果了。這個下午也沒白呆了飞主∈ㄏВ可惜的是這個是局域網(wǎng)控制,就是要時刻開著服務器來控制碌识,有點不太方便了碾篡,如果能提供云控制的辦法就好了。

至此總算把功能實現(xiàn)了筏餐。在遇到新的技術難題時开泽,我們要嘗試從多個角度去分析應對,一條路走不通就換個思路走魁瞪,在解決的過程中逐漸理解問題所在穆律。另外還要懂得用輪子,彎路會少走很多导俘,效率也會提高很多峦耘。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市旅薄,隨后出現(xiàn)的幾起案子辅髓,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件利朵,死亡現(xiàn)場離奇詭異律想,居然都是意外死亡,警方通過查閱死者的電腦和手機绍弟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門技即,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人樟遣,你說我怎么就攤上這事而叼。” “怎么了豹悬?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵葵陵,是天一觀的道長。 經(jīng)常有香客問我瞻佛,道長脱篙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任伤柄,我火速辦了婚禮绊困,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘适刀。我一直安慰自己秤朗,他們只是感情好,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布笔喉。 她就那樣靜靜地躺著取视,像睡著了一般。 火紅的嫁衣襯著肌膚如雪常挚。 梳的紋絲不亂的頭發(fā)上作谭,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音奄毡,去河邊找鬼丢早。 笑死,一個胖子當著我的面吹牛秧倾,可吹牛的內(nèi)容都是我干的怨酝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼那先,長吁一口氣:“原來是場噩夢啊……” “哼农猬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起售淡,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤斤葱,失蹤者是張志新(化名)和其女友劉穎慷垮,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揍堕,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡料身,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了衩茸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芹血。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖楞慈,靈堂內(nèi)的尸體忽然破棺而出幔烛,到底是詐尸還是另有隱情,我是刑警寧澤囊蓝,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布饿悬,位于F島的核電站,受9級特大地震影響聚霜,放射性物質(zhì)發(fā)生泄漏狡恬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一蝎宇、第九天 我趴在偏房一處隱蔽的房頂上張望傲宜。 院中可真熱鬧,春花似錦夫啊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至虱咧,卻和暖如春熊榛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腕巡。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工玄坦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绘沉。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓煎楣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親车伞。 傳聞我的和親對象是個殘疾皇子择懂,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 沒有趕上2020的第一日,沒有等待新年的到來另玖,卻是24歲的最后一天困曙,來好好沉下心來回顧或者期許表伦。時間一定是不停留的...
    ChenBling閱讀 217評論 0 0
  • 偏偏現(xiàn)在一歲一個月。 這兩年真真切切體會只有四字:小兒難養(yǎng)慷丽。 你能預言的是蹦哼,嘮叨的偏媽又要開始沒完沒了的感慨了。 ...
    李曉欣閱讀 707評論 6 3
  • 我相信有很多人會和我一樣說著自己很勇敢要糊,但是當你真正遇到事情時你會真的不慌嗎纲熏? 他們說當你迷茫的時候就去多讀書...
    蛻盡鉛華閱讀 218評論 0 1
  • 實在是課上太過無聊,打不起一點精神聽課杨耙,只能翻手機赤套。有點無奈太多年養(yǎng)成的習慣,還是那么喜歡看小說珊膜,只不過從之前...
    LeeJS_Z閱讀 517評論 0 0