買這商品的人也買了...
-
重構─改善既有程式的設計, 2/e (Refactoring: Improving The Design of Existing Code)$800$632 -
Linux Device Driver Programming 驅動程式設計$690$587 -
系統思考:克服盲點、面對複雜性、見樹又見林的整體思考 (Thinking in Systems: A Primer)$450$356 -
$294鳳凰計畫:一個 IT計畫的傳奇故事 (The Phoenix Project : A Novel about IT, DevOps, and Helping your business win)(沙盤特別版) -
Python 自動化的樂趣|搞定重複瑣碎 & 單調無聊的工作 (中文版) (Automate the Boring Stuff with Python: Practical Programming for Total Beginners)$500$425 -
$594HTTPS 權威指南:在服務器和 Web 應用上部署 SSL/TLS 和 PKI -
TensorFlow + Keras 深度學習人工智慧實務應用$590$460 -
寫程式前就該懂的演算法 ─ 資料分析與程式設計人員必學的邏輯思考術 (Grokking Algorithms: An illustrated guide for programmers and other curious people)$390$308 -
$594Python 數據處理 (Data Wrangling with Python) -
7天學會大數據資料處理—NoSQL:MongoDB入門與活用, 2/e$400$312 -
Deep Learning|用 Python 進行深度學習的基礎理論實作$580$458 -
單元測試的藝術, 2/e (The Art of Unit Testing: with examples in C#, 2/e)$650$507 -
精通機器學習|使用 Python (Introduction to Machine Learning with Python: A Guide for Data Scientists)$680$537 -
Soft Skills 軟實力|軟體開發人員的生存手冊 (Soft Skills: The software developer's life manual)$520$411 -
Docker 這樣學才有趣:從入門,到玩直播、挖礦$450$356 -
Python:期貨演算法交易實務 121個關鍵技巧詳解$500$390 -
演算法圖鑑:26種演算法 + 7種資料結構,人工智慧、數據分析、邏輯思考的原理和應用 step by step 全圖解$450$356 -
為你自己學 Git$500$425 -
圖解區塊鏈$380$300 -
MicroPython 入門指南$354$336 -
$179基於 ARM Cortex-M3 的 STM32 微控制器實戰教程, 2/e -
$474完美圖解物聯網IoT實操:ESP8266 Arduino,Cordova物聯網移動App,JavaScript微控制器編程 -
深度學習入門教室:6堂基礎課程 + Python 實作練習,Deep Learning、人工智慧、機器學習的理論和應用全圖解$550$495 -
晉升成 HTTP 一代宗師:用 java 實作$490$417 -
$474密碼技術與物聯網安全:mbedtls 開發實戰
商品描述
CoAP是受限制的應用協議(Constrained Application Protocol)的簡稱。隨著近幾年物聯網技術的快速發展,越來越多的設備需要接入因特網。雖然對人們而言,連接因特網方便快捷,但是對於那些低功耗受限制設備,接入因特網卻非常困難。在當前由PC機和智能手機組成的因特網世界中,信息交換一般通過TCP和HTTP協議實現。但是低功耗受限制設備要實現TCP和HTTP協議也許是一個非常苛刻的要求。為了讓低功耗受限制設可以流暢接入因特網,CoAP應運而生。 CoAP是一種物聯網應用層協議,它運行於UDP協議之上,而不是像HTTP那樣運行於TCP之上。 CoAP借鑒了HTTP協議大量的成功經驗,CoAP和HTTP都使用請求響應工作模式。與HTTP採用文本首部不同,CoAP採用完全的二進制首部,這使得CoAP的首部更短,傳輸效率更高。 CoAP為低功耗受限制設備而生,一個內存僅有20KB的單片機也可以實現CoAP服務器或客戶端。
本書主要內容包括:
學習CoAP必要的網絡基礎知識
CoAP與MQTT、HTTP之間的區別與聯繫
CoAP核心內容:二進制首部、工作模式、重傳機制、響應碼、選項和媒體類型等
CoAP擴展內容:CoAP資源描述和CoAP觀察者
使用C語言、Python或Node.js實現CoAP客戶端與服務器
使用Copper插件和Wireshark調試CoA
作者簡介
徐凱,嵌入式軟件工程師,現就職於美的集團洗衣機事業部。擅長嵌入式Web系統和6LoWPAN無線傳感網應用,精通物聯網應用層協議CoAP和物聯網操作系統Contiki。
目錄大綱
前言
第1章 物聯網與網絡協議1
1.1 本章主要內容1
1.2 物聯網與IP2
1.2.1 IPv42
1.2.2 IPv62
1.2.3 6LoWPAN3
1.3 物聯網與HTTP 6
1.3.1 HTTP6
1.3.2 REST風格6
1.4 物聯網與CoAP7
1.4.1 CoAP8
1.4.2 RFC文檔匯總8
1.5 物聯網與MQTT協議10
1.5.1 MQTT協議10
1.5.2 MQTT主題10
1.5.3 MQTT服務質量11
1.6 本章小結12
第2章 物聯網與開源硬件13
2.1 本章主要內容13
2.2 Arduino13
2.2.1 Arduino簡介13
2.2.2 常用Arduino型號14
2.2.3 Arduino擴展接口15
2.3 樹莓派16
2.3.1 樹莓派簡介16
2.3.2 常用樹莓派型號16
2.3.3 樹莓派擴展接口19
2.4 本章小結20
第3章 網絡技術回顧22
3.1 本章主要內容22
3.2 IP23
3.2.1 動手嘗試23
3.2.2 IPv4首部26
3.2.3 IPv4地址27
3.2.4 IPv6首部28
3.2.5 IPv6地址30
3.3 UDP31
3.3.1 動手嘗試31
3.3.2 UDP首部35
3.3.3 UDP示例分析35
3.4 TCP37
3.4.1 動手嘗試37
3.4.2 TCP首部41
3.4.3 TCP示例分析42
3.4.4 UDP與TCP對比43
3.5 HTTP44
3.5.1 動手嘗試44
3.5.2 HTTP工作模式50
3.5.3 HTTP首部51
3.5.4 HTTP請求方法53
3.5.5 HTTP狀態碼53
3.5.6 HTTP首部字段54
3.5.7 HTTP的優勢與問題54
3.6 本章小結56
第4章 CoAP快速入門57
4.1 本章主要內容57
4.2 Copper插件入門58
4.2.1 Copper插件安裝58
4.2.2 Copper插件入門示例59
4.3 Arduino CoAP服務器實現61
4.3.1 獲取示例61
4.3.2 示例說明62
4.3.3 動手測試67
4.3.4 著手分析70
4.4 本章小結73
第5章 CoAP核心74
5.1 本章主要內容74
5.2 CoAP首部74
5.2.1 版本編號Ver75
5.2.2 報文類型T75
5.2.3 標簽長度指示TKL75
5.2.4 準則Code76
5.2.5 報文序號Message ID77
5.2.6 標簽Token77
5.2.7 選項Options77
5.2.8 分隔符0xFF78
5.2.9 負載Payload78
5.3 CoAP工作模式78
5.3.1 邏輯分層結構79
5.3.2 報文類型79
5.3.3 請求/響應模式81
5.4 CoAP重傳機制83
5.4.1 CoAP重傳情況分析83
5.4.2 傳輸參數說明84
5.4.3 最大傳輸耗時(MAX_TRANSMIT_SPAN)85
5.4.4 最大等待時間(MAX_TRANSMIT_WAIT)86
5.5 CoAP方法87
5.5.1 GET87
5.5.2 POST87
5.5.3 PUT87
5.5.4 DELETE87
5.6 CoAP響應碼87
5.6.1 正確響應88
5.6.2 客戶端錯誤88
5.6.3 服務器錯誤89
5.7 CoAP選項90
5.7.1 選項格式90
5.7.2 URI相關選項91
5.7.3 Content-Format選項92
5.7.4 Accept選項92
5.7.5 Etag選項92
5.7.6 If-Match選項94
5.7.7 If-None-Match選項96
5.7.8 選項示例97
5.8 CoAP媒體類型99
5.8.1 link-format類型100
5.8.2 文本與二進制類型100
5.8.3 JSON類型101
5.9 本章小結102
第6章 CoAP擴展103
6.1 本章主要內容103
6.2 CoAP資源描述103
6.2.1 CoAP資源描述原理103
6.2.2 CoAP資源描述詳解105
6.3 CoAP觀察者模式106
6.3.1 觀察者模式原理106
6.3.2 CoAP觀察選項107
6.3.3 觀察者模式示例108
6.4 本章小結110
第7章 CoAP軟件實現111
7.1 本章主要內容111
7.2 libcoap112
7.2.1 libcoap安裝112
7.2.2 libcoap使用詳解114
7.2.3 libcoap入門示例117
7.3 aiocoap119
7.3.1 aiocoap安裝120
7.3.2 aiocoap入門示例120
7.3.3 aiocoap塊傳輸示例124
7.3.4 aiocoap樹莓派GPIO示例126
7.4 node-coap129
7.4.1 Node.js安裝130
7.4.2 node-coap入門示例132
7.4.3 node-coap媒體類型示例135
7.5 Californium137
7.5.1 準備工作137
7.5.2 Californium入門示例140
7.6 本章小結149
第8章 CoAP調試工具150
8.1 本章主要內容150
8.2 Copper調試工具150
8.2.1 Copper地址欄151
8.2.2 Copper工具欄152
8.2.3 Copper響應首部153
8.2.4 Copper負載內容154
8.2.5 Copper請求選項154
8.2.6 Copper使用示例155
8.3 Wireshark163
8.3.1 Wireshark安裝164
8.3.2 Wireshark使用164
8.3.3 Wireshark示例166
8.4 本章小結169
第9章 微型物聯網系統——服務器部分171
9.1 本章主要內容171
9.2 假想需求171
9.3 原型設計172
9.3.1 系統結構說明172
9.3.2 系統流程設計173
9.3.3 網頁原型設計174
9.4 詳細設計174
9.4.1 技術選型說明175
9.4.2 數據庫設計176
9.4.3 CoAP API設計176
9.4.4 HTTP API設計177
9.5 具體實現179
9.5.1 數據庫實現180
9.5.2 CoAP路由實現183
9.5.3 Web前端實現190
9.5.4 Web後端實現195
9.6 綜合測試199
9.6.1 啟動微型物聯網系統199
9.6.2 增加模擬數據200
9.6.3 訪問默認設備200
9.6.4 使用分頁功能200
9.6.5 訪問其他設備201
9.7 本章小結202
第10章 微型物聯網系統——設備部分203
10.1 本章主要內容203
10.2 設備與網絡結構說明203
10.2.1 設備說明203
10.2.2 網絡結構說明205
10.3 Contiki入門206
10.3.1 Contiki初步207
10.3.2 native入門示例211
10.3.3 安裝交叉工具鏈212
10.3.4 SensorTag入門示例213
10.4 搭建邊界路由218
10.4.1 創建Slip-Radio218
10.4.2 創建Native-Border-Router219
10.5 增加NAT64223
10.5.1 NAT64簡介223
10.5.2 安裝Jool224
10.5.3 UDP NAT64示例225
10.6 CoAP Client Sensor231
10.6.1 加入網絡並啟動任務232
10.6.2 獲取傳感器數據233
10.6.3 傳遞傳感器數據235
10.7 綜合測試238
10.7.1 啟動CoAP服務器238
10.7.2 啟動邊界路由和NAT64239
10.7.3 生成並下載固件239
10.7.4 查看運行結果239
10.8 本章小結242
參考文獻243
