注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信從物聯(lián)到萬聯(lián):Node.js與樹莓派萬維物聯(lián)網(wǎng)構(gòu)建實戰(zhàn)

從物聯(lián)到萬聯(lián):Node.js與樹莓派萬維物聯(lián)網(wǎng)構(gòu)建實戰(zhàn)

從物聯(lián)到萬聯(lián):Node.js與樹莓派萬維物聯(lián)網(wǎng)構(gòu)建實戰(zhàn)

定 價:¥89.00

作 者: [美] Dominique,D.,Guinard(多米尼克-吉納德),Vlad,M. ... 著;月影 譯
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: >計算機/網(wǎng)絡(luò) >通信 >網(wǎng)絡(luò)與數(shù)據(jù)通信

ISBN: 9787121327643 出版時間: 2018-01-01 包裝: 平裝
開本: 16開 頁數(shù): 332 字?jǐn)?shù):  

內(nèi)容簡介

  本書是介紹萬維物聯(lián)網(wǎng)的入門教材。作者通過將樹莓派作為物理設(shè)備網(wǎng)關(guān),提出一種構(gòu)建萬物互聯(lián)的可行方案――利用現(xiàn)有的萬維網(wǎng)標(biāo)準(zhǔn)、HTTP 協(xié)議,以及HTML、CSS 和JavaScript 技術(shù),讓智能產(chǎn)品終端成為開放的萬維網(wǎng)的一部分,最終形成物聯(lián)網(wǎng)和萬維網(wǎng)的結(jié)合體――萬維物聯(lián)網(wǎng)。本書分為兩個部分,第1 章到第5 章是第I 部分,內(nèi)容涵蓋萬維物聯(lián)網(wǎng)基本概念、JavaScript 和Node.js 介紹,通過一個簡單的例子來說明如何使用Node.js 的Web 框架與遠(yuǎn)程設(shè)備進(jìn)行交互。第6 章到第10 章是第II 部分,詳細(xì)介紹萬維物聯(lián)網(wǎng)技術(shù)棧中的各層架構(gòu)及如何用現(xiàn)有的Web 技術(shù)實現(xiàn)各層架構(gòu),最終能夠形成物理網(wǎng)聚合應(yīng)用,能夠快速創(chuàng)建復(fù)雜應(yīng)用程序,整合各種設(shè)備和數(shù)據(jù)。本書涉獵的技術(shù)范圍廣泛,包括各種Web 和物聯(lián)網(wǎng)協(xié)議、Web 標(biāo)準(zhǔn)及樹莓派的原理與實踐。適合之前沒有豐富嵌入式開發(fā)經(jīng)驗,但希望探索物聯(lián)網(wǎng)世界的Web 開發(fā)人員閱讀,也適合作為一本初級教程指導(dǎo)樹莓派開發(fā)者和Node.js 愛好者進(jìn)行物聯(lián)網(wǎng)開發(fā)實踐。

作者簡介

  Dominique “Dom” Guinard 是 EVRYTHNG 的 CTO 和聯(lián)合創(chuàng)始人,EVRYTHNG 是一個大規(guī)模的萬維物聯(lián)網(wǎng)云平臺,通過連接產(chǎn)品到萬維網(wǎng)讓它們變得更智能化。Dom 擁有蘇黎世聯(lián)邦理工大學(xué)的博士學(xué)位,他在學(xué)校期間致力于萬維物聯(lián)網(wǎng)架構(gòu)的早期研究:萬維物聯(lián)網(wǎng)架構(gòu)是物聯(lián)網(wǎng)的一個開放的應(yīng)用層。早在 2012 年,他的博士論文被授予 ETH 勛章。在這之前,Dom 花了十年時間研究了許多物聯(lián)網(wǎng)項目:與 Sun Microsystems 公司合作探索大規(guī)模 RFID 網(wǎng)絡(luò),研究移動電話作為物聯(lián)網(wǎng)網(wǎng)關(guān)的作用,在蘇黎世聯(lián)邦理工大學(xué)的 Auto-ID 實驗室參與諾基亞的一些研究,在麻省理工學(xué)院的 Auto-ID 實驗室將 EPCglobal RFID 網(wǎng)絡(luò)用于萬維物聯(lián)網(wǎng),以及用四年時間在 SAP 的企業(yè)級軟件中整合標(biāo)記的對象和無線傳感器網(wǎng)絡(luò)。Vlad Trifa 是 EVRYTHNG 的聯(lián)合創(chuàng)始人、產(chǎn)品研發(fā)的執(zhí)行副總裁。他是分布式嵌入傳感器和交互式設(shè)備與使用 Web 技術(shù)的企業(yè)應(yīng)用軟件集成方面的公認(rèn)專家。曾經(jīng)他是麻省理工學(xué)院的感知城市實驗室的研究員,在美國和新加坡研究城市與移動計算,在加州大學(xué)洛杉磯分校研究生物和分布式信號處理,以及在日本東京的國際電器通信基礎(chǔ)研究所(ATR)研究人與機器人交互和神經(jīng)系統(tǒng)科學(xué)。他也曾經(jīng)作為 SAP 的助理研究員,在工廠自動化與企業(yè)計算方面獲得工業(yè)經(jīng)驗。Vlad 以博士學(xué)位畢業(yè)于蘇黎世聯(lián)邦理工大學(xué)計算機科學(xué)專業(yè)并擁有瑞士洛桑聯(lián)邦理工學(xué)院機器人學(xué)、人工智能和機器學(xué)習(xí)方向的計算機科學(xué)碩士學(xué)位。吳亮(月影)奇虎360高級技術(shù)經(jīng)理,360前端團隊 奇舞團 負(fù)責(zé)人,w3ctech顧問。曾先后在微軟亞洲研究院做過訪問學(xué)生、金蝶軟件擔(dān)任項目經(jīng)理,百度電子商務(wù)事業(yè)部擔(dān)任Web開發(fā)項目經(jīng)理。多年來致力于Web標(biāo)準(zhǔn)和JavaScript技術(shù)的推廣,活躍于國內(nèi)各技術(shù)社區(qū)。

圖書目錄

第I 部分 物聯(lián)網(wǎng)與萬維物聯(lián)網(wǎng)基礎(chǔ)......................... 1
1 從物聯(lián)網(wǎng)到萬維物聯(lián)網(wǎng)............................................................... 3
1.1 定義物聯(lián)網(wǎng) ...................................................................................................... 4
1.2 進(jìn)入萬維物聯(lián)網(wǎng) .............................................................................................. 6
1.2.1 萬維物聯(lián)網(wǎng)場景:連接旅店 .............................................................. 6
1.2.2 對比物聯(lián)網(wǎng)和萬維物聯(lián)網(wǎng) .................................................................. 8
1.2.3 物聯(lián)網(wǎng)簡史 ........................................................................................ 11
1.3 使用案例――為什么連接設(shè)備 ..................................................................... 13
1.3.1 無線傳感器網(wǎng)絡(luò)和分布式傳感 ........................................................ 13
1.3.2 可穿戴和自我量化 ............................................................................ 14
1.3.3 智能家居和建筑 ................................................................................ 16
1.3.4 智能城市和能源網(wǎng)絡(luò) ........................................................................ 16
1.3.5 智能制造與工業(yè)4.0 .......................................................................... 17
1.3.6 智能物流和供應(yīng)鏈 ............................................................................ 18
1.3.7 營銷2.0 .............................................................................................. 19
1.4 萬維物聯(lián)網(wǎng)――增強版的物聯(lián)網(wǎng) ................................................................. 21
1.4.1 更容易編程 ........................................................................................ 22
1.4.2 開放和可擴展標(biāo)準(zhǔn) ............................................................................ 22
1.4.3 快速且易于部署、維護與集成 ........................................................ 23
1.4.4 元素之間的松耦合 ............................................................................ 23
1.4.5 廣泛使用的安全和隱私機制 ............................................................ 24
1.4.6 萬維物聯(lián)網(wǎng)的弊端 ............................................................................ 25
1.5 總結(jié) ................................................................................................................ 26
2 你好,萬維物聯(lián)網(wǎng)...................................................................27
2.1 初識萬維物聯(lián)網(wǎng)設(shè)備 .................................................................................... 28
2.1.1 主角登場:樹莓派 ............................................................................ 29
2.2 練習(xí)1――在萬維物聯(lián)網(wǎng)上瀏覽一個設(shè)備 .................................................. 30
2.2.1 第1 部分――Web 作為用戶界面 .................................................... 30
2.2.2 第2 部分――Web 作為API ............................................................. 34
2.2.3 小結(jié) .................................................................................................... 39
2.3 練習(xí)2――從一個WoT 傳感器中輪詢數(shù)據(jù) ................................................ 40
2.3.1 第1 部分――輪詢當(dāng)前傳感器讀數(shù)................................................. 40
2.3.2 第2 部分――輪詢和繪制傳感器讀數(shù)............................................. 41
2.3.3 第3 部分――實時更新數(shù)據(jù)............................................................. 42
2.3.4 小結(jié) .................................................................................................... 44
2.4 練習(xí)3――作用于現(xiàn)實世界 .......................................................................... 44
2.4.1 第1 部分――使用一個表單來更新顯示的文字............................. 44
2.4.2 第2 部分――創(chuàng)建你自己的表單來控制設(shè)備................................. 46
2.4.3 小結(jié) .................................................................................................... 48
2.5 練習(xí)4――讓別人知道你的設(shè)備存在 .......................................................... 49
2.5.1 小結(jié) .................................................................................................... 52
2.6 練習(xí)5――創(chuàng)建你的第一個物理網(wǎng)聚合應(yīng)用 .............................................. 53
2.6.1 小結(jié) .................................................................................................... 55
2.7 總結(jié) ................................................................................................................ 55
3 Node.js 與萬維物聯(lián)網(wǎng)..............................................................57
3.1 JavaScript 崛起:從客戶端到服務(wù)端到智能產(chǎn)品 ....................................... 58
3.1.1 在智能產(chǎn)品中引入JavaScript .......................................................... 59
3.2 Node.js 簡介 ................................................................................................... 60
3.2.1 在電腦上安裝Node.js ....................................................................... 61
3.2.2 用Node.js 寫一個Web 服務(wù)器......................................................... 61
3.2.3 以JSON 格式返回傳感器數(shù)據(jù) ......................................................... 63
3.3 Node.js 的模塊化 ........................................................................................... 64
3.3.1 npm――Node 的包管理器 ................................................................ 64
3.3.2 通過package.json 和npm 完全管理依賴 ........................................ 65
3.3.3 你的第一個Node 模塊 ..................................................................... 67
3.4 理解Node.js 事件循環(huán) .................................................................................. 68
3.4.1 多線程Web 服務(wù)器 ........................................................................... 68
3.4.2 單線程、非阻塞Web 服務(wù)器 ........................................................... 69
3.5 開始異步編程 ................................................................................................ 71
3.5.1 匿名回調(diào) ............................................................................................ 72
3.5.2 具名回調(diào) ............................................................................................ 75
3.5.3 控制流庫 ............................................................................................ 76
3.6 總結(jié)和課外閱讀 ............................................................................................ 79
4 嵌入式系統(tǒng)入門......................................................................81
4.1 進(jìn)入嵌入式設(shè)備的世界 ................................................................................ 82
4.1.1 業(yè)余愛好者的設(shè)備與工業(yè)級設(shè)備 .................................................... 82
4.1.2 實時操作系統(tǒng)與Linux ...................................................................... 83
4.1.3 小結(jié)及超越樹莓派 ............................................................................ 85
4.2 建立你的第一臺WoT 設(shè)備――樹莓派 ....................................................... 86
4.2.1 入手樹莓派 ........................................................................................ 86
4.2.2 選擇你的樹莓派 ................................................................................ 88
4.2.3 購物清單 ............................................................................................ 88
4.2.4 設(shè)置你的樹莓派 ................................................................................ 89
4.2.5 連接你的設(shè)備 .................................................................................... 94
4.3 安裝Node.js 到樹莓派 .................................................................................. 95
4.3.1 在樹莓派上使用Git 和GitHub ........................................................ 97
4.3.2 小結(jié) .................................................................................................... 97
4.4 連接傳感器和執(zhí)行器到樹莓派 .................................................................... 98
4.4.1 理解GPIO 端口 ................................................................................. 98
4.4.2 使用面包板連接電子元件 ................................................................ 98
4.4.3 用Node.js 訪問GPIO ..................................................................... 100
4.4.4 課外閱讀 .......................................................................................... 105
4.5 總結(jié) .............................................................................................................. 106
5 構(gòu)建智能產(chǎn)品網(wǎng)絡(luò)................................................................. 107
5.1 連接智能產(chǎn)品 .............................................................................................. 109
5.1.1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu) .................................................................................. 109
5.1.2 網(wǎng)絡(luò)分層模型 ...................................................................................111
5.2 智能產(chǎn)品的網(wǎng)絡(luò)層協(xié)議 .............................................................................. 112
5.2.1 從空間的角度考慮 .......................................................................... 113
5.2.2 網(wǎng)絡(luò)協(xié)議和IoT ............................................................................... 113
5.2.3 IoT 個人局域網(wǎng) ............................................................................... 118
5.2.4 IoT 廣域網(wǎng) ....................................................................................... 122
5.2.5 網(wǎng)絡(luò)層協(xié)議的選擇 .......................................................................... 124
5.3 智能產(chǎn)品的應(yīng)用層協(xié)議 .............................................................................. 127
5.3.1 ZigBee 和藍(lán)牙的應(yīng)用層 ................................................................. 128
5.3.2 Apple HomeKit 和Google Weave ................................................... 129
5.3.3 消息隊列遙測傳輸 .......................................................................... 130
5.3.4 資源受限的應(yīng)用協(xié)議 ...................................................................... 133
5.3.5 應(yīng)用層協(xié)議的選擇 .......................................................................... 134
5.4 萬維物聯(lián)網(wǎng)架構(gòu) .......................................................................................... 134
5.4.1 第1 層:接入層 .............................................................................. 135
5.4.2 第2 層:發(fā)現(xiàn)層 .............................................................................. 136
5.4.3 第3 層:共享層 .............................................................................. 136
5.4.4 第4 層:整合層 .............................................................................. 136
5.4.5 為什么WoT 是重要的 .................................................................... 137
5.4.6 課外閱讀 .......................................................................................... 137
5.5 總結(jié) .............................................................................................................. 138
第II 部分 構(gòu)建萬維物聯(lián)網(wǎng)................................. 139
6 接入層:智能產(chǎn)品的API....................................................... 141
6.1 設(shè)備、資源和Web 智能產(chǎn)品 ..................................................................... 142
6.1.1 表述性狀態(tài)轉(zhuǎn)移 .............................................................................. 142
6.1.2 為什么需要一致的接口 .................................................................. 144
6.1.3 原則1 :可訪問資源 ....................................................................... 145
6.1.4 原則2 :通過表述來操作資源 ....................................................... 149
6.1.5 原則3 :自描述信息 ....................................................................... 151
6.1.6 原則4 :超媒體作為應(yīng)用程序狀態(tài)引擎 ....................................... 157
6.1.7 小結(jié)――Web 智能產(chǎn)品設(shè)計過程 .................................................. 160
6.2 超越REST :實時萬維物聯(lián)網(wǎng).................................................................... 161
6.2.1 WoT 需要事件 ................................................................................. 161
6.2.2 發(fā)布/ 訂閱 ....................................................................................... 162
6.2.3 webhook――HTTP 回調(diào) ................................................................. 163
6.2.4 Comet――用hack 的方式讓HTTP 支持實時Web ...................... 165
6.2.5 WebSocket ........................................................................................ 166
6.2.6 未來:從HTTP/1.1 到HTTP/2 ...................................................... 170
6.3 總結(jié) .............................................................................................................. 171
7 實現(xiàn) Web 智能產(chǎn)品............................................................... 173
7.1 連接設(shè)備到Web .......................................................................................... 174
7.2 直接集成模式――在設(shè)備上實現(xiàn) REST .................................................... 175
7.2.1 創(chuàng)建WoT 服務(wù)器 ............................................................................ 175
7.2.2 資源設(shè)計 .......................................................................................... 177
7.2.3 表述設(shè)計 .......................................................................................... 184
7.2.4 接口設(shè)計 .......................................................................................... 187
7.2.5 通過WebSocket 實現(xiàn)pub/sub 接口 ............................................... 189
7.2.6 小結(jié)――直接集成模式................................................................... 192
7.3 網(wǎng)關(guān)集成模式――CoAP ............................................................................. 193
7.3.1 運行一個CoAP 服務(wù)器 .................................................................. 194
7.3.2 通過網(wǎng)關(guān)代理CoAP ....................................................................... 195
7.3.3 小結(jié)――網(wǎng)關(guān)集成模式................................................................... 197
7.4 云端集成模式――EVRYTHNG 的MQTT ................................................ 198
7.4.1 設(shè)置EVRYTHNG 賬號 .................................................................. 200
7.4.2 創(chuàng)建MQTT 客戶端應(yīng)用程序 ......................................................... 204
7.4.3 使用action 來控制智能插座 .......................................................... 206
7.4.4 創(chuàng)建一個簡單的Web 控制應(yīng)用 ..................................................... 208
7.4.5 小結(jié)――云端集成模式................................................................... 211
7.5 總結(jié) .............................................................................................................. 212
8 發(fā)現(xiàn)層:描述和發(fā)現(xiàn)Web 智能產(chǎn)品......................................... 213
8.1 可發(fā)現(xiàn)性問題 .............................................................................................. 214
8.2 發(fā)現(xiàn)智能產(chǎn)品 .............................................................................................. 216
8.2.1 網(wǎng)絡(luò)發(fā)現(xiàn)(Network discovery) ...................................................... 216
8.2.2 Web 上的資源發(fā)現(xiàn) .......................................................................... 219
8.3 描述Web 智能產(chǎn)品 ..................................................................................... 222
8.3.1 Web 智能產(chǎn)品模型簡介 .................................................................. 224
8.3.2 元數(shù)據(jù) .............................................................................................. 226
8.3.3 屬性 .................................................................................................. 226
8.3.4 行為 .................................................................................................. 228
8.3.5 智能產(chǎn)品 .......................................................................................... 230
8.3.6 在樹莓派上實現(xiàn)Web 智能產(chǎn)品模型 ............................................. 231
8.3.7 小結(jié)――Web 智能產(chǎn)品模型 .......................................................... 237
8.4 語義化的Web 智能產(chǎn)品 ............................................................................. 238
8.4.1 關(guān)聯(lián)數(shù)據(jù)和RDFa ............................................................................ 238
8.4.2 約定的語義:schema.org ................................................................ 242
8.4.3 JSON-LD .......................................................................................... 243
8.4.4 課外閱讀 .......................................................................................... 245
8.5 總結(jié) .............................................................................................................. 246
9 共享層:安全地分享Web 智能產(chǎn)品......................................... 247
9.1 保障智能產(chǎn)品安全性 .................................................................................. 248
9.1.1 加密基礎(chǔ) .......................................................................................... 250
9.1.2 Web 安全與TLS :HTTPS 的S ..................................................... 251
9.1.3 在樹莓派中啟用TLS 以支持HTTPS 和WSS .............................. 253
9.2 授權(quán)和訪問控制 .......................................................................................... 258
9.2.1 通過 REST 和 API token 進(jìn)行訪問控制 ........................................ 258
9.2.2 OAuth :一個Web 身份驗證框架 .................................................. 261
9.3 社交化萬維物聯(lián)網(wǎng) ...................................................................................... 264
9.3.1 社交化萬維物聯(lián)網(wǎng)認(rèn)證代理 .......................................................... 264
9.3.2 實現(xiàn)社交化萬維物聯(lián)網(wǎng)認(rèn)證代理 .................................................. 267
9.4 課外閱讀 ...................................................................................................... 274
9.5 總結(jié) .............................................................................................................. 276
10 整合層:物理網(wǎng)聚合應(yīng)用..................................................... 277
10.1 構(gòu)建一個簡單的App――自動生成UI .................................................... 278
10.1.1 Web 智能產(chǎn)品的通用用戶界面 .................................................... 279
10.2 物理網(wǎng)聚合應(yīng)用 ........................................................................................ 286
10.2.1 使用Node-RED 工具創(chuàng)建物理網(wǎng)聚合應(yīng)用 ................................ 287
10.3 使用向?qū)焦ぞ邅韯?chuàng)建物理網(wǎng)聚合應(yīng)用:IFTTT ................................. 293
10.3.1 將入侵者警報推送到 Google 電子表格上 .................................. 294
10.3.2 使用自建通道發(fā)送請求 ................................................................ 296
10.3.3 將入侵警報信息從Twitter 推送到Google 電子表格 ................. 297
10.4 課外閱讀 .................................................................................................... 299
10.4.1 從簡單的聚合應(yīng)用到大數(shù)據(jù)聚合應(yīng)用 ........................................ 299
10.4.2 更好的用戶體驗 ............................................................................ 300
10.5 總結(jié) ............................................................................................................ 300
附錄A Arduino、BeagleBone、Intel Edison 與WoT............. 301

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號