發表於2024-12-23
IoT開發實戰 CoAP捲 物聯網與網絡協議核心技術開發教程書籍 REST MQTT協議 pdf epub mobi txt 電子書 下載
基本信息
作者: 徐凱
叢書名: 物聯網核心技術叢書
齣版社:機械工業齣版社
ISBN:9787111577805
上架時間:2017-9-27
齣版日期:2017 年9月
開本:16開
版次:1-1
所屬分類:計算機
目錄
前言
第1章 物聯網與網絡協議1
1.1 本章主要內容1
1.2 物聯網與IP2
1.2.1 IPv42
1.2.2 IPv62
1.2.3 6LoWPAN3
1.3 物聯網與 6
1.3.1 6
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
↓展開全部內容
前言
為何寫作本書
幾年前我作為一名嵌入式工程師參與瞭一個關於低功耗車載終端的研發項目,該低功耗車載終端中包含一個GPS模塊和一個GPRS(2G)模塊,工程師們希望通過少的能量消耗把終端的GPS坐標上傳至Web服務器中。雖然需求直截瞭當,但是在開發的過程中卻齣現瞭各種各樣的分歧。例如傳輸協議采用UDP還是TCP,有的工程師認為UDP沒有連接過程,傳輸時間更短,有的工程師認為TCP更加可靠而UDP也許會齣現“丟包”現象。經過多次爭論終選擇瞭UDP傳輸加自定義重傳的方式。所謂自定義重傳,就是車載終端把相同的數據包按照一定的時間間隔連續傳輸三次,每個數據包都包含一個遞增的子序號,服務器通過子序號來剔除重復內容。通過增加這種容錯機製似乎解決瞭UDP的“缺陷”,但是由於終端設備采用單嚮傳輸方式,並不要求服務器返迴響應,所以終端根本不知道它上傳的數據是否被正確處理。
在項目開發的過程中,工程師們在終端設備與Web平颱的銜接方式的選擇上也齣現瞭不少分歧。在定製應用層協議時嵌入式工程師更喜歡二進製協議,但對於Web開發工程師來說JSON和XML纔是他們所擅長的內容。因此,Web開發工程師單獨做瞭一個UDP套接字服務,使終端設備可以把二進製內容轉化為JSON格式的數據包,再把這個JSON數據包“POST”到一個服務器。此時對於Web開發工程師來說,設備其實是在提交錶單。
經過工程師們的不斷努力,這個低功耗車載終端如期完成。但是項目完成之後我不禁思考:這個項目是不是可以做得更好一點,是不是可以打破嵌入式工程師和Web開發工程師的技術鴻溝,是不是有更好的應用協議可以滿足項目需求,是不是低功耗終端也可以提交錶單?查閱瞭眾多資料之後,我找到瞭CoAP。
迴想碩士畢業之後我“執著”地成為一名專注於物聯網的軟件工程師,而我本科和碩士的專業都與機械工程相關。與其他計算機或電子專業不同,機械工程特彆強調規範和標準,所以設計過程必須嚴格遵守規範。雖然錶麵上這顯得異常死闆,但是這種規範卻大大提高瞭係統的互換性,節約瞭開發成本。在這種理念的指導下,我總是先尋找標準解決方案而不是隨時隨地準備“造輪子”。CoAP是一個由IETF(Inter Engineering Task Force,互聯網工程任務組)組織編寫的麵嚮低功耗設備的物聯網應用層協議,協議編號為RFC 7252。我非常高興找到瞭應用“標準”,而不是又找到瞭一組“輪子”。
CoAP有很多優點,而這些優點正好可以解決上文提到的低功耗車載終端所遇到的問題:
1)CoAP傳輸層協議采用UDP,對於終端來說UDP的確可以減少一部分能耗。
2)CoAP采用請求/響應工作模式,當終端設備發送CoAP請求之後,服務器將返迴響應碼,終端通過響應碼可以判斷服務器的處理結果。
3)CoAP包含重傳機製,不用再重新設計重傳方法。
4)CoAP參考瞭的大量成功經驗,如CoAP請求方法、CoAP選項定義和CoAP響應碼等,所以Web開發工程師也可以非常容易地掌握CoAP。
CoAP可以幫助低功耗智能終端接入網絡,通過這種標準協議也可以降低物聯網係統的開發難度,尤其可降低物聯網Web平颱的開發難度。對於應用CoAP的終端設備來說,同樣會遵守REST標準,使用類似的資源描述方法,使用相同的請求方法,應用相同的JSON數據包。對於物聯網Web平颱來說,處理一次終端設備的數據上傳和處理一次Ajax錶單提交同樣容易。
我個人喜歡閱讀技術圖書,通過閱讀圖書可以係統地掌握一門新技術,我也希望本書可以幫助讀者熟練掌握CoAP,並把它應用於物聯網係統中。
目標讀者
本書適閤物聯網愛好者、嵌入式工程師和Web開發工程師。
對於物聯網愛好者而言,本書的示例可以讓你更快地熟悉物聯網係統。本書包括很多與物聯網係統相關的基礎知識,通過這些基礎知識的學習可以加深你對物聯網係統的理解。通過本書中的多個動手示例,你可以掌握物聯網係統的調試方法。
對於嵌入式工程師而言,本書可以幫助你從不同角度瞭解低功耗設備如何連接網絡。通過CoAP的學習可以從另一個角度熟悉。CoAP和都是設備連接網絡的常見手段。
對於Web開發工程師而言,可以從另一個角度瞭解設備如何提交“錶單”,通過學習CoAP你會發現低功耗終端設備也可以很流暢地接入係統,而不需要做多餘的協議轉換。
如何閱讀本書
本書的主要內容大緻分為三部分:
部分:第1~3章。第1章介紹與物聯網應用直接相關的各種協議,這些協議包括IP、6LoWPAN協議、IEEE 802.15.4協議、、MQTT協議和CoAP等;第2章介紹與物聯網應用相關的開源硬件Arduino和樹莓派,無論是Arduino還是樹莓派都是開源硬件領域的“明星産品”,在這些硬件平颱上可以快速實現CoAP;第3章與前麵兩章不同,該章通過多個示例詳細介紹與CoAP息息相關的網絡協議—IP、UDP、TCP和,掌握這些協議是學習CoAP的基礎。
IoT開發實戰 CoAP捲 物聯網與網絡協議核心技術開發教程書籍 REST MQTT協議 pdf epub mobi txt 電子書 下載