基本信息
作者徐凱
類別 圖書 / 非虛構
出版社機械工業出版社 / 2017-09
提供方華章數媒
字數約 99,000 字
內容介紹
本書的示例可以讓你更快地熟悉物聯網系統。本書包括很多與物聯網系統相關的基礎知識,通過這些基礎知識的學習可以加深你對物聯網系統的理解。通過本書中的多個動手示例,你可以掌握物聯網系統的調試方法。對於嵌入式工程師而言,本書可以幫助你從不同角度了解低功耗設備如何連線網路。通過CoAP的學習可以從另一個角度熟悉HTTP。CoAP和HTTP都是設備連線網路的常見手段。我個人喜歡閱讀技術圖書,通過閱讀圖書可以系統地掌握一門新技術,我也希望本書可以幫助讀者熟練掌握CoAP,並把它套用於物聯網系統中。
CoAP可以幫助低功耗智慧型終端接入網路,通過這種標準協定也可以降低物聯網系統的開發難度,尤其可降低物聯網Web平台的開發難度。對於套用CoAP的終端設備來說,同樣會遵守REST標準,使用類似的資源描述方法,使用相同的請求方法,套用相同的JSON數據包。對於物聯網Web平台來說,處理一次終端設備的數據上傳和處理一次Ajax表單提交同樣容易。
目錄
前言
第1章 物聯網與網路協定
1.1 本章主要內容
1.2 物聯網與IP
1.2.1 IPv4
1.2.2 IPv6
1.2.3 6LoWPAN
1.3 物聯網與HTTP
1.3.1 HTTP
1.3.2 REST風格
1.4 物聯網與CoAP
1.4.1 CoAP
1.4.2 RFC文檔匯總
1.5 物聯網與MQTT協定
1.5.1 MQTT協定
1.5.2 MQTT主題
1.5.3 MQTT服務質量
1.6 本章小結
第2章 物聯網與開源硬體
2.1 本章主要內容
2.2 Arduino
2.2.1 Arduino簡介
2.2.2 常用Arduino型號
2.2.3 Arduino擴展接口
2.3 樹莓派
2.3.1 樹莓派簡介
2.3.2 常用樹莓派型號
2.3.3 樹莓派擴展接口
2.4 本章小結
第3章 網路技術回顧
3.1 本章主要內容
3.2 IP
3.2.1 動手嘗試
3.2.2 IPv4首部
3.2.3 IPv4地址
3.2.4 IPv6首部
3.2.5 IPv6地址
3.3 UDP
3.3.1 動手嘗試
3.3.2 UDP首部
3.3.3 UDP示例分析
3.4 TCP
3.4.1 動手嘗試
3.4.2 TCP首部
3.4.3 TCP示例分析
3.4.4 UDP與TCP對比
3.5 HTTP
3.5.1 動手嘗試
3.5.2 HTTP工作模式
3.5.3 HTTP首部
3.5.4 HTTP請求方法
3.5.5 HTTP狀態碼
3.5.6 HTTP首部欄位
3.5.7 HTTP的優勢與問題
3.6 本章小結
第4章 CoAP快速入門
4.1 本章主要內容
4.2 Copper外掛程式入門
4.2.1 Copper外掛程式安裝
4.2.2 Copper外掛程式入門示例
4.3 Arduino CoAP伺服器實現
4.3.1 獲取示例
4.3.2 示例說明
4.3.3 動手測試
4.3.4 著手分析
4.4 本章小結
第5章 CoAP核心
5.1 本章主要內容
5.2 CoAP首部
5.2.1 版本編號Ver
5.2.2 報文類型T
5.2.3 標籤長度指示TKL
5.2.4 準則Code
5.2.5 報文序號Message ID
5.2.6 標籤Token
5.2.7 選項Options
5.2.8 分隔設定0xFF
5.2.9 負載Payload
5.3 CoAP工作模式
5.3.1 邏輯分層結構
5.3.2 報文類型
5.3.3 請求/回響模式
5.4 CoAP重傳機制
5.4.1 CoAP重傳情況分析
5.4.2 傳輸參數說明
5.4.3 最大傳輸耗時(MAX_TRANSMIT_SPAN)
5.4.4 最大等待時間(MAX_TRANSMIT_WAIT)
5.5 CoAP方法
5.5.1 GET
5.5.2 POST
5.5.3 PUT
5.5.4 DELETE
5.6 CoAP回響碼
5.6.1 正確回響
5.6.2 客戶端錯誤
5.6.3 伺服器錯誤
5.7 CoAP選項
5.7.1 選項格式
5.7.2 URI相關選項
5.7.3 Content-Format選項
5.7.4 Accept選項
5.7.5 Etag選項
5.7.6 If-Match選項
5.7.7 If-None-Match選項
5.7.8 選項示例
5.8 CoAP媒體類型
5.8.1 link-format類型
5.8.2 文本與二進制類型
5.8.3 JSON類型
5.9 本章小結
第6章 CoAP擴展
6.1 本章主要內容
6.2 CoAP資源描述
6.2.1 CoAP資源描述原理
6.2.2 CoAP資源描述詳解
6.3 CoAP觀察者模式
6.3.1 觀察者模式原理
6.3.2 CoAP觀察選項
6.3.3 觀察者模式示例
6.4 本章小結
第7章 CoAP軟體實現
7.1 本章主要內容
7.2 libcoap
7.2.1 libcoap安裝
7.2.2 libcoap使用詳解
7.2.3 libcoap入門示例
7.3 aiocoap
7.3.1 aiocoap安裝
7.3.2 aiocoap入門示例
7.3.3 aiocoap塊傳輸示例
7.3.4 aiocoap樹莓派GPIO示例
7.4 node-coap
7.4.1 Node.js安裝
7.4.2 node-coap入門示例
7.4.3 node-coap媒體類型示例
7.5 Californium
7.5.1 準備工作
7.5.2 Californium入門示例
7.6 本章小結
第8章 CoAP調試工具
8.1 本章主要內容
8.2 Copper調試工具
8.2.1 Copper地址欄
8.2.2 Copper工具列
8.2.3 Copper回響首部
8.2.4 Copper負載內容
8.2.5 Copper請求選項
8.2.6 Copper使用示例
8.3 Wireshark
8.3.1 Wireshark安裝
8.3.2 Wireshark使用
8.3.3 Wireshark示例
8.4 本章小結
第9章 微型物聯網系統——伺服器部分
9.1 本章主要內容
9.2 假想需求
9.3 原型設計
9.3.1 系統結構說明
9.3.2 系統流程設計
9.3.3 網頁原型設計
9.4 詳細設計
9.4.1 技術選型說明
9.4.2 資料庫設計
9.4.3 CoAP API設計
9.4.4 HTTP API設計
9.5 具體實現
9.5.1 資料庫實現
9.5.2 CoAP路由實現
9.5.3 Web前端實現
9.5.4 Web後端實現
9.6 綜合測試
9.6.1 啟動微型物聯網系統
9.6.2 增加模擬數據
9.6.3 訪問默認設備
9.6.4 使用分頁功能
9.6.5 訪問其他設備
9.7 本章小結
第10章 微型物聯網系統——設備部分
10.1 本章主要內容
10.2 設備與網路結構說明
10.2.1 設備說明
10.2.2 網路結構說明
10.3 Contiki入門
10.3.1 Contiki初步
10.3.2 native入門示例
10.3.3 安裝交叉工具鏈
10.3.4 SensorTag入門示例
10.4 搭建邊界路由
10.4.1 創建Slip-Radio
10.4.2 創建Native-Border-Router
10.5 增加NAT64
10.5.1 NAT64簡介
10.5.2 安裝Jool
10.5.3 UDP NAT64示例
10.6 CoAP Client Sensor
10.6.1 加入網路並啟動任務
10.6.2 獲取感測器數據
10.6.3 傳遞感測器數據
10.7 綜合測試
10.7.1 啟動CoAP伺服器
10.7.2 啟動邊界路由和NAT64
10.7.3 生成並下載固件
10.7.4 查看運行結果
10.8 本章小結
參考文獻