《Arduino開(kāi)發(fā)實(shí)戰(zhàn)指南:智能家居卷》主要介紹了智能家居的原理及實(shí)現(xiàn)過(guò)程。全書(shū)共分8章,外加兩個(gè)附錄。主要內(nèi)容是:藍(lán)牙燈、藍(lán)牙鎖和LED燈光調(diào)節(jié)、電視遙控器、溫濕度計(jì)與溫控、短信告警、背景音樂(lè)、物聯(lián)網(wǎng)平臺(tái)、微信智能家居平臺(tái)。書(shū)中的8章分別對(duì)應(yīng)8個(gè)實(shí)例,詳細(xì)介紹了其硬件配置及連接,并給出了相關(guān)的軟件代碼。附錄A介紹了下載開(kāi)發(fā)包的方法,附錄B介紹了書(shū)中實(shí)例代碼在百度云盤(pán)的地址,方便讀者研究和使用。作者采用圖文并荗、逐步引導(dǎo)的講述方式,有很強(qiáng)的實(shí)用性和可操作性!禔rduino開(kāi)發(fā)實(shí)戰(zhàn)指南:智能家居卷》適合于物聯(lián)網(wǎng)的工程技術(shù)人員,大中專(zhuān)院校的相關(guān)專(zhuān)業(yè)教師和學(xué)生,以及物聯(lián)網(wǎng)、智能家居技術(shù)的愛(ài)好者。
結(jié)合微信的Arduino手把手智能家居應(yīng)用開(kāi)發(fā)教程。
結(jié)合App inventor,讓不懂編程和硬件的讀者能夠開(kāi)發(fā)出有創(chuàng)意的應(yīng)用。
電路、代碼和實(shí)例完整,可實(shí)現(xiàn)一對(duì)一動(dòng)手操作。
很多初學(xué)者在掌握了Arduino基礎(chǔ)知識(shí)之后開(kāi)始望而卻步,卻沒(méi)能做出一個(gè)像樣的應(yīng)用。家是一個(gè)你永遠(yuǎn)值得用心去投入的場(chǎng)所。用Arduino結(jié)合一些現(xiàn)在熱門(mén)的互聯(lián)網(wǎng)應(yīng)用,你就能夠改造它,讓它更溫馨,更舒服,更靈活。你可以用Arduino控制你的臺(tái)燈,控制你的家電,控制你的廚房,甚至通過(guò)微信將他們與互聯(lián)網(wǎng)連接,實(shí)現(xiàn)真正的智能家居。本書(shū)將成為你改造自己家的一個(gè)完全手冊(cè)。
智能家居,又稱(chēng)智能住宅,在國(guó)外常用Smart Home表示。通俗來(lái)說(shuō),智能家居是將燈光、家電、家庭影院、燃?xì)忸A(yù)警、遠(yuǎn)程控制、電動(dòng)窗簾、安防設(shè)備、背景音樂(lè)等連接成一個(gè)網(wǎng)絡(luò)——物聯(lián)網(wǎng),通過(guò)一臺(tái)智能家居主機(jī)(控制管理系統(tǒng))進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)家居設(shè)備的自動(dòng)化和智能化控制,給使用者帶來(lái)最大程度的高效、便捷、舒適與安全的體驗(yàn)。
使用者可通過(guò)語(yǔ)音、短信、手機(jī)或平板電腦觸摸屏、無(wú)線遙控器、上網(wǎng)設(shè)備等在家里或通過(guò)網(wǎng)絡(luò)遠(yuǎn)程控制家用設(shè)備。我們想象一下,在回家的路上,你可以提前用手機(jī)打開(kāi)家中的空調(diào)和熱水器;晚上走進(jìn)自己家的門(mén)廳時(shí),對(duì)著門(mén)廳直接說(shuō)“開(kāi)燈”,門(mén)廳的燈就亮了;開(kāi)門(mén)時(shí),安卓密碼鎖功能開(kāi)啟,系統(tǒng)會(huì)自動(dòng)打開(kāi)電子門(mén)鎖,安防撤防;坐在沙發(fā)上用手機(jī)遙控自己家的電視、空調(diào);睡覺(jué)前在床上就可以用手機(jī)關(guān)閉所有房間的燈光。這一切是多么愜意。
出門(mén)在外,如果突然想起家里的水壺還在爐臺(tái)上加熱,我們可以通過(guò)網(wǎng)絡(luò)遠(yuǎn)程、短信等關(guān)閉燃?xì)忾y門(mén);也可以在接到家中安防告警的短信或家中患病的老人通過(guò)手機(jī)發(fā)來(lái)的SOS短信時(shí),在網(wǎng)上通過(guò)攝像頭觀察家中的情況。
我們還可以進(jìn)一步設(shè)定和執(zhí)行各種復(fù)雜的場(chǎng)景操作,假如使用安卓手機(jī)設(shè)計(jì)了一個(gè)“家庭影院”場(chǎng)景,當(dāng)按下“家庭影院”場(chǎng)景按鈕時(shí),智能家居系統(tǒng)將自動(dòng)執(zhí)行事先設(shè)定好的多個(gè)動(dòng)作:關(guān)閉窗簾、關(guān)閉吊燈、打開(kāi)背景燈、打開(kāi)電視并切換到高清輸入模式、打開(kāi)DVD、打開(kāi)功放等,以前需要執(zhí)行多個(gè)動(dòng)作,現(xiàn)在只需按一個(gè)鍵就可以全部完成了。正如比爾·蓋茨在《未來(lái)之路》中曾經(jīng)說(shuō)過(guò)的那樣:“在不遠(yuǎn)的未來(lái),沒(méi)有智能家居系統(tǒng)的住宅會(huì)像今天不能上網(wǎng)的住宅那樣不合潮流!
趙 志 中國(guó)電信沈陽(yáng)分公司網(wǎng)絡(luò)運(yùn)維部高級(jí)工程師,主要負(fù)責(zé)網(wǎng)絡(luò)運(yùn)維和設(shè)計(jì)施工相關(guān)工作。對(duì)路由器、交換機(jī)、單片機(jī)等系統(tǒng)設(shè)計(jì)開(kāi)發(fā)有深入的研究。他還是一位骨灰級(jí)的開(kāi)源硬件愛(ài)好者,酷愛(ài)Arduino開(kāi)源技術(shù),在智能家居應(yīng)用方面有非常豐富的實(shí)踐經(jīng)驗(yàn)。
前言
第1章 藍(lán)牙燈 1
1.1 Arduino簡(jiǎn)介 1
1.1.1 Arduino硬件 1
1.1.2 Arduino硬件驅(qū)動(dòng)的安裝 2
1.1.3 Arduino編譯軟件安裝 5
1.2 藍(lán)牙燈的制作 8
1.2.1 硬件需求及連接圖 8
1.2.2 程序代碼 9
1.3 App Inventor基礎(chǔ) 10
1.3.1 創(chuàng)建App Inventor開(kāi)發(fā)環(huán)境 11
1.3.2 App Inventor結(jié)構(gòu) 12
1.4 制作一個(gè)App 14
1.4.1 新建一個(gè)項(xiàng)目 14
1.4.2 Designer界面設(shè)計(jì) 15
1.4.3 Blocks Editor界面設(shè)計(jì) 16
1.4.4 程序運(yùn)行 22
1.4.5 下載程序 23
第2章 藍(lán)牙鎖和LED燈光調(diào)節(jié) 25
2.1 藍(lán)牙鎖 25
2.1.1 電子鎖 25
2.1.2 硬件需求 25
2.1.3 程序代碼 26
2.1.4 制作App 27
2.1.5 Designer界面設(shè)計(jì) 27
2.1.6 Blocks Editor界面設(shè)計(jì) 28
2.1.7 程序運(yùn)行 30
2.2 LED燈調(diào)節(jié) 30
2.2.1 LED燈 30
2.2.2 硬件需求 30
2.2.3 程序代碼 31
2.2.4 制作App 32
2.2.5 Designer界面設(shè)計(jì) 33
2.2.6 Blocks Editor界面設(shè)計(jì) 33
2.2.7 程序運(yùn)行 35
第3章 電視遙控器 36
3.1 紅外編碼基礎(chǔ) 36
3.2 IRmote庫(kù)函數(shù) 38
3.2.1 IRsend類(lèi)定義 38
3.2.2 IRsend類(lèi)成員函數(shù) 39
3.2.3 IRrecv類(lèi)定義 39
3.2.4 IRrecv類(lèi)成員函數(shù) 40
3.3 獲取遙控器編碼 41
3.3.1 所需器件 41
3.3.2 硬件連接 41
3.3.3 程序代碼 42
3.4 制作Arduino遙控器 42
3.4.1 所需器件 43
3.4.2 硬件連接 43
3.4.3 程序代碼 44
3.5 “未知類(lèi)型”遙控器代碼 46
3.5.1 庫(kù)函數(shù)定義的原始協(xié)議碼格式 46
3.5.2 Arduino代碼命令修改 47
3.6 制作遙控器的App 47
3.6.1 新建一個(gè)項(xiàng)目 48
3.6.2 Designer界面設(shè)計(jì) 48
3.6.3 Blocks Editor界面設(shè)計(jì) 49
3.6.4 程序運(yùn)行 51
3.7 語(yǔ)音識(shí)別模塊 52
3.7.1 VoiceClass類(lèi)定義 52
3.7.2 VoiceClass類(lèi)成員函數(shù) 52
3.7.3 示例 53
3.8 語(yǔ)音遙控器的制作 55
3.8.1 硬件連接 55
3.8.2 程序代碼 56
第4章 溫濕度計(jì)與溫控 59
4.1 溫濕度傳感器 59
4.1.1 DHT11傳感器的特點(diǎn) 59
4.1.2 DHT11傳感器的通信過(guò)程 60
4.1.3 DHT11連線圖 62
4.2 溫濕度計(jì)程序代碼 62
4.2.1 設(shè)計(jì)思路 62
4.2.2 程序代碼 62
4.2.3 DHT11子函數(shù) 63
4.3 溫濕度計(jì)的App制作 65
4.3.1 新建一個(gè)項(xiàng)目 65
4.3.2 Designer界面設(shè)計(jì) 65
4.3.3 Blocks Editor界面設(shè)計(jì) 67
4.3.4 程序運(yùn)行 68
4.4 語(yǔ)音合成模塊 69
4.4.1 Syn6288類(lèi)定義 69
4.4.2 Syn6288類(lèi)成員函數(shù) 70
4.5 語(yǔ)音溫濕度計(jì)的制作 71
4.5.1 硬件連接 71
4.5.2 程序代碼 72
4.6 智能溫度控制 74
4.6.1 硬件搭建 74
4.6.2 程序代碼 75
4.7 智能溫度控制的App 81
4.7.1 新建一個(gè)項(xiàng)目 82
4.7.2 Designer界面設(shè)計(jì) 82
4.7.3 Blocks Editor界面設(shè)計(jì) 84
4.7.4 程序運(yùn)行 86
第5章 短信告警 88
5.1 燃?xì)夂吐┧?溢水監(jiān)控 88
5.1.1 氣體傳感器 88
5.1.2 水位傳感器 90
5.1.3 電磁閥和閥門(mén)機(jī)械手 91
5.1.4 GSM/GPRS通信模塊 91
5.1.5 GSM短信編碼方式 92
5.1.6 程序代碼 93
5.2 火災(zāi)監(jiān)控 96
5.2.1 火焰?zhèn)鞲衅?96
5.2.2 分勵(lì)脫扣器+輔助開(kāi)關(guān) 97
5.2.3 程序代碼 98
5.3 安防監(jiān)控 99
5.3.1 熱釋電紅外傳感器 99
5.3.2 網(wǎng)絡(luò)攝像頭 100
5.3.3 程序代碼 100
5.4 制作短信告警的App 101
5.4.1 新建一個(gè)項(xiàng)目 101
5.4.2 Designer界面設(shè)計(jì) 102
5.4.3 Blocks Editor界面設(shè)計(jì) 103
5.4.4 程序運(yùn)行 104
第6章 背景音樂(lè) 105
6.1 硬件搭建 105
6.1.1 MP3播放模塊 105
6.1.2 程序代碼 107
6.2 制作節(jié)目單的App 109
6.2.1 新建一個(gè)項(xiàng)目 109
6.2.2 Designer界面設(shè)計(jì) 109
6.2.3 Blocks Editor界面設(shè)計(jì) 111
6.2.4 程序運(yùn)行 114
第7章 物聯(lián)網(wǎng)平臺(tái) 115
7.1 Yeelink平臺(tái) 115
7.1.1 Yeelink平臺(tái)設(shè)置 115
7.1.2 利用網(wǎng)頁(yè)查看溫濕度變化 118
7.1.3 利用網(wǎng)頁(yè)遠(yuǎn)程控制開(kāi)關(guān)燈 122
7.1.4 微博發(fā)布 127
7.2 樂(lè)聯(lián)網(wǎng)平臺(tái) 128
7.2.1 樂(lè)聯(lián)網(wǎng)平臺(tái)設(shè)置 128
7.2.2 程序代碼 130
7.2.3 微信互動(dòng) 132
7.3 Xively平臺(tái) 138
7.3.1 Xively平臺(tái)設(shè)置 138
7.3.2 程序代碼 139
第8章 微信智能家居平臺(tái) 142
8.1 服務(wù)器的搭建 142
8.1.1 百度BAE服務(wù)器端搭建 142
8.1.2 新浪SAE服務(wù)器端搭建 145
8.2 服務(wù)器端代碼的編輯 147
8.2.1 示例代碼 147
8.2.2 鏈接微信平臺(tái)代碼 149
8.2.3 鏈接Arduino代碼 151
8.2.4 代碼上傳到服務(wù)器 152
8.2.5 數(shù)據(jù)庫(kù)編輯 153
8.3 Arduino程序設(shè)計(jì) 154
8.4 微信公眾平臺(tái)搭建 156
8.5 驗(yàn)證 159
附錄A 下載開(kāi)發(fā)包的方法 160
附錄B 從百度云盤(pán)下載本書(shū)資料 161