DIY物聯(lián)網(wǎng)應(yīng)用 4-空調(diào)遙控控制風(fēng)扇

有請(qǐng)本章的主角們:玩具小風(fēng)扇、紅外接收器和一個(gè)紅外遙控器(空調(diào)、電視遙控都行)。本章我們的目標(biāo)是實(shí)現(xiàn)用遙控器控制風(fēng)扇。

紅外協(xié)議

我們知道,人的眼睛能看到的可見光按波長從長到短排列,依次為紅、橙、黃、綠、青、藍(lán)、紫。其中紅光的波長范圍為0.62~0.76μm;紫光的波長范圍為0.38~0.46μm,比紫光波長還短的光叫紫外線,比紅光波長還長的光叫紅外線,紅外是一種人的眼眼看不到的光線,利用紅外波來傳遞信息,傳遞的規(guī)則就成為紅外協(xié)議。紅外線的波長較短,對(duì)障礙物的衍射能力差,所以更適合應(yīng)用在需要短距離無線通信場(chǎng)合點(diǎn)對(duì)點(diǎn)的直接線數(shù)據(jù)傳輸。為了使各種設(shè)備能夠通過一個(gè)紅外接口進(jìn)行通信,紅外數(shù)據(jù)協(xié)議(InfraredDataAssociation,簡稱IRDA)發(fā)布了一個(gè)關(guān)于紅外的統(tǒng)一的軟硬件規(guī)范,也就是紅外數(shù)據(jù)通訊標(biāo)準(zhǔn)。
紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的媒體,即通信信道。發(fā)送端采用脈時(shí)調(diào)制(PPM)方式,將二進(jìn)制數(shù)字信號(hào)調(diào)制成某一頻率的脈沖序列,并驅(qū)動(dòng)紅外發(fā)射管以光脈沖的形式發(fā)送出去;接收端將接收到的光脈轉(zhuǎn)換成電信號(hào),再經(jīng)過放大、濾波等處理后送給解調(diào)電路進(jìn)行解調(diào),還原為二進(jìn)制數(shù)字信號(hào)后輸出。
簡而言之,紅外通信的實(shí)質(zhì)就是對(duì)二進(jìn)制數(shù)字信號(hào)進(jìn)行調(diào)制與解調(diào),以便利用紅外信道進(jìn)行傳輸;紅外通信接口就是針對(duì)紅外信道的調(diào)制解調(diào)器

紅外信號(hào).png
紅外信號(hào).png

紅外信號(hào)錄制

利用紅外接收設(shè)備可以接收到紅外波的信號(hào),紅外接收器接收到紅外線光波,經(jīng)過解調(diào)電路轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)。把接收的到數(shù)據(jù)記錄存儲(chǔ)下來的過程叫做錄制。利用 Ruff 套件中的紅外接收器錄制空調(diào)遙控器的信號(hào),存儲(chǔ)下來,然后使用紅外發(fā)射器發(fā)生出去,你就可以實(shí)現(xiàn) Ruff 來控制空調(diào)了,想想是不是很有趣?還有更有趣的,Ruff 連接網(wǎng)絡(luò),你就可以遠(yuǎn)程操控你們家空調(diào)。你還可以利用溫度傳感器寫一個(gè)程序根據(jù)溫度范圍自動(dòng)調(diào)節(jié)你們家空調(diào)。

控制風(fēng)扇

說了原理,開始實(shí)踐吧!
在上一章《我的第一個(gè)物聯(lián)網(wǎng)應(yīng)用3》 中,我們知道怎么使用繼電器控制風(fēng)扇了,這一章很簡單,在上一章的基礎(chǔ)上,我們結(jié)合紅外設(shè)備,使用紅外設(shè)備控制繼電器來控制風(fēng)扇。說了一堆的紅外原理,其實(shí)我們這里利用的很簡單,我們只要接收到紅外信號(hào)即可,不需去解讀信號(hào)的意義,收到信號(hào)時(shí)如果繼電器關(guān)閉狀態(tài)就打開,反之就關(guān)閉。

  • 添加紅外接收器

    rap device add irr
    

我們把設(shè)備 ID 定為 "irr", 添加成功以后我們?nèi)?Ruff 官網(wǎng)軟件倉庫中查看下紅外接收器的驅(qū)動(dòng)提供了什么方法。

 $('#<device-id>').on('data', function(data) {     
      console.log('received data', data);
  });

只有一個(gè)方法:監(jiān)聽數(shù)據(jù),我們所以我們寫一個(gè)監(jiān)聽數(shù)據(jù)的方法:

 $('#irr').on('data', function(data) {     
        console.log('received data', data);
      //控制繼電器
      controlRelay();
  });

再寫一個(gè)控制控制繼電器的方法:

var relayOpen = false;
function controlRelay(){
    relayOpen = !relayOpen;
    if (relayOpen) {
         $('#relay').turnOn(function () { 
               // 打開繼電器成功的回調(diào)函數(shù)
                console.log('turn on');
          });
       
    } else {
        $('#relay').turnOff(function () { 
                  // 關(guān)閉繼電器成功的回調(diào)函數(shù)
                 console.log('turn off');
         });
    }
}

完整代碼:index.js

var relayOpen = false;
function controlRelay(){
        relayOpen = !relayOpen;
        if (relayOpen) {
             $('#relay').turnOn(function () { 
                   // 打開繼電器成功的回調(diào)函數(shù)
                    console.log('turn on');
          });
    } else {
        $('#relay').turnOff(function () { 
                  // 關(guān)閉繼電器成功的回調(diào)函數(shù)
                 console.log('turn off');
         });
    }
}
$.ready(function (error) {
    if (error) {
        console.log(error);
        return;
    }
    $('#irr').on('data',function(data) {
         //控制繼電器
           controlRelay();
    });
});
$.end(function () {
    $('#relay').turnOff(function () { 
                 console.log('turn off');
         });

});

部署看看吧,也許你的風(fēng)扇噪音會(huì)對(duì)紅外信號(hào)造成干擾,一旦干擾你的紅外接收器就會(huì)不斷接收到信號(hào)(實(shí)際是風(fēng)扇噪音信號(hào)),如果出現(xiàn)這種情況,建議你把風(fēng)扇和紅外接收器的距離離遠(yuǎn)一些。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評(píng)論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,559評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,442評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,835評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,581評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,922評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評(píng)論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,096評(píng)論 0 290
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,639評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,374評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,591評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評(píng)論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,789評(píng)論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,196評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,524評(píng)論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,322評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,554評(píng)論 2 379

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