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

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

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

定 價:¥89.00

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

購買這本書可以去


ISBN: 9787121327643 出版時間: 2018-01-01 包裝: 平裝
開本: 16開 頁數: 332 字數:  

內容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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