新一代信息技術(shù)是推動(dòng)國(guó)民經(jīng)濟(jì)智能化轉(zhuǎn)型、高端化升級(jí)、綠色化發(fā)展的重要力量。黨的二十大報(bào)告強(qiáng)調(diào): 必須堅(jiān)持科技是第一生產(chǎn)力、人才是第一資源、創(chuàng)新是第一動(dòng)力,深入實(shí)施科教興國(guó)戰(zhàn)略、人才強(qiáng)國(guó)戰(zhàn)略、創(chuàng)新驅(qū)動(dòng)發(fā)展戰(zhàn)略,開(kāi)辟發(fā)展新領(lǐng)域新賽道,不斷塑造發(fā)展新動(dòng)能新優(yōu)勢(shì)。
物聯(lián)網(wǎng)作為一項(xiàng)國(guó)家戰(zhàn)略性新興產(chǎn)業(yè),是我國(guó)新型基礎(chǔ)設(shè)施建設(shè)的重要組成部分,近年來(lái)獲得工業(yè)和信息化部等部門(mén)在政策、規(guī)劃、生態(tài)、人才等方面的支持。當(dāng)前,物聯(lián)網(wǎng)技術(shù)在智慧家居、智能制造等場(chǎng)景獲得廣泛應(yīng)用,在連接數(shù)量、經(jīng)濟(jì)產(chǎn)值等方面迎來(lái)高速增長(zhǎng)。萬(wàn)物互聯(lián)的時(shí)代已經(jīng)到來(lái)。
物聯(lián)網(wǎng)軟件的設(shè)計(jì)與開(kāi)發(fā),涉及通信、軟件、電子等多種學(xué)科,嵌入式技術(shù)、移動(dòng)端開(kāi)發(fā)、云平臺(tái)應(yīng)用等多門(mén)知識(shí),以及Arduino、樹(shù)莓派、小熊派等多類(lèi)國(guó)內(nèi)外產(chǎn)品。那些熟手們信手拈來(lái)的技術(shù)和產(chǎn)品,對(duì)于初學(xué)者往往眼花繚亂。因此,本書(shū)面向本科生、研究生和物聯(lián)網(wǎng)開(kāi)發(fā)愛(ài)好者,一方面在系統(tǒng)性上,以物聯(lián)網(wǎng)軟件開(kāi)發(fā)為引線(xiàn),將有關(guān)的網(wǎng)絡(luò)原理、軟件知識(shí)、新興技術(shù)等串聯(lián)講解,期望讀者不僅能從一本書(shū)中初窺物聯(lián)網(wǎng)系統(tǒng)的軟件概貌,還能在設(shè)計(jì)和開(kāi)發(fā)的實(shí)踐中隨時(shí)查詢(xún); 另一方面在前沿性上,以一套典型的物聯(lián)網(wǎng)系統(tǒng)軟件開(kāi)發(fā)案例為驅(qū)動(dòng),不僅介紹了傳統(tǒng)的嵌入式端和移動(dòng)端,還介紹了新興的物聯(lián)網(wǎng)云平臺(tái)以及物聯(lián)網(wǎng)關(guān)鍵技術(shù)的發(fā)展趨勢(shì),從而實(shí)現(xiàn)嵌入式、移動(dòng)端、云端內(nèi)容的融合和貫穿。本書(shū)以原理介紹案例分析項(xiàng)目實(shí)踐為線(xiàn)索組織內(nèi)容,同時(shí)覆蓋了理論學(xué)習(xí)和實(shí)踐應(yīng)用的需求。
本書(shū)共三個(gè)單元,分別介紹了物聯(lián)網(wǎng)和軟件的背景知識(shí)、物端中嵌入式和移動(dòng)端的開(kāi)發(fā)基礎(chǔ),以及云端開(kāi)發(fā)的主要概念。其中,第一單元從物聯(lián)網(wǎng)基礎(chǔ)、軟硬件選型兩方面展開(kāi),可供初學(xué)者根據(jù)專(zhuān)業(yè)類(lèi)別和先修課程進(jìn)行選擇性學(xué)習(xí); 第二單元從嵌入式、移動(dòng)端、網(wǎng)絡(luò)接入三點(diǎn)展開(kāi),是物聯(lián)網(wǎng)系統(tǒng)軟件開(kāi)發(fā)的主體部分,需要讀者具備一定的軟件開(kāi)發(fā)基礎(chǔ); 第三單元從平臺(tái)、系統(tǒng)、趨勢(shì)等角度介紹了物聯(lián)網(wǎng)云端,可供讀者在學(xué)有余力或課時(shí)充足時(shí)學(xué)習(xí)。
本書(shū)配套教學(xué)課件及程序源碼,讀者可從清華大學(xué)出版社官方網(wǎng)站下載。同時(shí),還出版了實(shí)驗(yàn)指導(dǎo)教材《物聯(lián)網(wǎng)技術(shù)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)》,可與本書(shū)配套使用。
本書(shū)得到軟件工程教學(xué)指導(dǎo)委員會(huì)、西北工業(yè)大學(xué)教材建設(shè)項(xiàng)目(W013121)、國(guó)家自然科學(xué)基金資助項(xiàng)目(61901388)的支持。感謝吳健、邢建民、王竹平、王麗芳等專(zhuān)家的指導(dǎo)和建議,感謝團(tuán)隊(duì)所有師生對(duì)本書(shū)編排和修訂的貢獻(xiàn),感謝所有為本書(shū)順利出版提供幫助的各界人士以及所有參閱材料的作者。作者水平有限,書(shū)中難免存在疏漏之處,敬請(qǐng)各位讀者、同仁批評(píng)指正,作者將不勝感激。
作者2023年8月
第一單元物聯(lián)網(wǎng)軟件開(kāi)發(fā)基礎(chǔ)
第1章物聯(lián)網(wǎng)基礎(chǔ)
1.1物聯(lián)網(wǎng)的體系架構(gòu)
1.1.1感知層
1.1.2網(wǎng)絡(luò)層
1.1.3應(yīng)用層
1.2物聯(lián)網(wǎng)的端系統(tǒng)
1.2.1物端
1.2.2移動(dòng)端
1.2.3云端
1.3本章小結(jié)
1.4課后習(xí)題
第2章設(shè)備選型和技術(shù)選型
2.1開(kāi)發(fā)板設(shè)備選型
2.1.1CC3200
2.1.2Arduino
2.1.3樹(shù)莓派
2.1.4開(kāi)發(fā)板小結(jié)與比較
2.2通信技術(shù)選型
2.2.1物聯(lián)網(wǎng)的典型通信技術(shù)
2.2.2有線(xiàn)通信
2.2.3無(wú)線(xiàn)短距離通信
2.2.4無(wú)線(xiàn)長(zhǎng)距離通信
2.3軟件開(kāi)發(fā)技術(shù)選型
2.3.1常見(jiàn)的軟件開(kāi)發(fā)模型
2.3.2一般開(kāi)發(fā)流程
2.4本章小結(jié)
2.5課后習(xí)題
第二單元物聯(lián)網(wǎng)設(shè)備端系統(tǒng)開(kāi)發(fā)與案例分析
第3章嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS原理
3.1FreeRTOS概述
3.2FreeRTOS體系結(jié)構(gòu)
3.2.1任務(wù)管理模塊
3.2.2時(shí)間管理模塊
3.2.3內(nèi)存管理模塊
3.2.4協(xié)同例程管理模塊
3.3FreeRTOS調(diào)度機(jī)制
3.3.1任務(wù)結(jié)構(gòu)
3.3.2任務(wù)調(diào)度原理
3.4本章小結(jié)
3.5課后習(xí)題
目錄
物聯(lián)網(wǎng)技術(shù)基礎(chǔ)
第4章移動(dòng)端Android應(yīng)用開(kāi)發(fā)基礎(chǔ)及高級(jí)編程
4.1Android系統(tǒng)概述
4.1.1Android的發(fā)展和簡(jiǎn)介
4.1.2Android平臺(tái)架構(gòu)及特性
4.2Android基本組件
4.2.1Activity
4.2.2Service
4.2.3ContentProvider
4.2.4BroadcastReceiver
4.3Android事件處理
4.3.1事件處理的基本概念
4.3.2基于監(jiān)聽(tīng)的事件處理
4.3.3基于回調(diào)的事件處理
4.3.4Handler消息傳遞機(jī)制
4.4Android應(yīng)用開(kāi)發(fā)基礎(chǔ)
4.4.1安裝Android Studio與SDK
4.4.2安裝過(guò)程中的常見(jiàn)問(wèn)題
4.4.3Android 項(xiàng)目組織結(jié)構(gòu)
4.4.4build.gradle文件簡(jiǎn)析
4.4.5開(kāi)始第一個(gè)Android應(yīng)用
4.5Android界面編程
4.5.1基礎(chǔ)控件
4.5.2自定義控件
4.5.3布局管理器
4.5.4案例: 通信軟件界面設(shè)計(jì)與實(shí)現(xiàn)
4.6Android網(wǎng)絡(luò)編程
4.6.1基于TCP的網(wǎng)絡(luò)通信
4.6.2使用HTTP訪(fǎng)問(wèn)網(wǎng)絡(luò)
4.6.3OkHttp網(wǎng)絡(luò)框架
4.7本章小結(jié)
4.8課后習(xí)題
第5章物聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議基礎(chǔ)
5.1物聯(lián)網(wǎng)網(wǎng)關(guān)
5.2HTTP
5.2.1HTTP介紹
5.2.2HTTP的原理
5.2.3HTTP請(qǐng)求及響應(yīng)
5.2.4示例
5.3MQTT協(xié)議
5.3.1MQTT協(xié)議介紹
5.3.2MQTT協(xié)議的原理
5.3.3示例
5.4LwM2M協(xié)議
5.4.1LwM2M協(xié)議介紹
5.4.2LwM2M協(xié)議的原理
5.4.3示例
5.5Modbus協(xié)議
5.5.1Modbus協(xié)議介紹
5.5.2Modbus協(xié)議的原理
5.5.3示例
5.6本章小結(jié)
5.7課后習(xí)題
第三單元物聯(lián)網(wǎng)云端系統(tǒng)開(kāi)發(fā)與案例分析
第6章物聯(lián)網(wǎng)云平臺(tái)基礎(chǔ)
6.1物聯(lián)網(wǎng)云平臺(tái)概述
6.1.1背景介紹
6.1.2物聯(lián)網(wǎng)云平臺(tái)的體系架構(gòu)與設(shè)計(jì)要點(diǎn)
6.1.3物聯(lián)網(wǎng)云平臺(tái)的主要功能與核心技術(shù)
6.2典型的物聯(lián)網(wǎng)云平臺(tái)
6.2.1阿里云物聯(lián)網(wǎng)平臺(tái)
6.2.2亞馬遜云物聯(lián)網(wǎng)平臺(tái)
6.2.3華為云物聯(lián)網(wǎng)平臺(tái)
6.2.4典型的物聯(lián)網(wǎng)云平臺(tái)對(duì)比
6.3物聯(lián)網(wǎng)云平臺(tái)的安全問(wèn)題
6.3.1物聯(lián)網(wǎng)層次安全問(wèn)題
6.3.2物聯(lián)網(wǎng)安全威脅
6.3.3物聯(lián)網(wǎng)安全展望
6.4基于云平臺(tái)的物聯(lián)網(wǎng)軟件開(kāi)發(fā)趨勢(shì)
6.4.1軟件開(kāi)發(fā)趨勢(shì)
6.4.2Kubernetes與物聯(lián)網(wǎng)云平臺(tái)
6.4.3Kubernetes的結(jié)構(gòu)與機(jī)理
6.5本章小結(jié)
6.6課后習(xí)題
第7章物聯(lián)網(wǎng)的操作系統(tǒng)
7.1物聯(lián)網(wǎng)操作系統(tǒng)簡(jiǎn)介
7.1.1操作系統(tǒng)設(shè)備管理
7.1.2操作系統(tǒng)存儲(chǔ)管理
7.1.3操作系統(tǒng)文件管理
7.2物聯(lián)網(wǎng)操作系統(tǒng)的安全技術(shù)
7.2.1操作系統(tǒng)的安全體系
7.2.2操作系統(tǒng)的權(quán)限管理
7.2.3操作系統(tǒng)的安全問(wèn)題
7.2.4操作系統(tǒng)的安全技術(shù)
7.3物聯(lián)網(wǎng)操作系統(tǒng)的數(shù)據(jù)存儲(chǔ)技術(shù)
7.3.1物聯(lián)網(wǎng)海量數(shù)據(jù)存儲(chǔ)需求
7.3.2數(shù)據(jù)存儲(chǔ)的體系結(jié)構(gòu)
7.3.3數(shù)據(jù)查詢(xún)的性能優(yōu)化
7.3.4數(shù)據(jù)存儲(chǔ)前沿技術(shù)
7.4物聯(lián)網(wǎng)操作系統(tǒng)的開(kāi)發(fā)技術(shù)
7.4.1負(fù)載均衡
7.4.2Java Web
7.5本章小結(jié)
7.6課后習(xí)題
第8章華為鴻蒙介紹
8.1鴻蒙的設(shè)計(jì)理念
8.1.1面向物聯(lián)網(wǎng)的操作系統(tǒng)
8.1.2全場(chǎng)景發(fā)展戰(zhàn)略
8.1.3超級(jí)終端
8.2鴻蒙的關(guān)鍵技術(shù)
8.2.1分布式架構(gòu)
8.2.2一次開(kāi)發(fā),多端部署
8.2.3微內(nèi)核
8.2.4系統(tǒng)流暢
8.3系統(tǒng)安全
8.3.1分布式多端協(xié)同身份認(rèn)證
8.3.2在分布式終端上構(gòu)筑可信運(yùn)行環(huán)境
8.3.3數(shù)據(jù)分類(lèi)分級(jí)管理
8.4系統(tǒng)架構(gòu)
8.4.1內(nèi)核層
8.4.2系統(tǒng)服務(wù)層
8.4.3框架層
8.4.4應(yīng)用層
8.5多設(shè)備虛擬網(wǎng)絡(luò)
8.5.1周邊設(shè)備自發(fā)現(xiàn)
8.5.2異構(gòu)網(wǎng)絡(luò)組網(wǎng)
8.5.3極簡(jiǎn)傳輸協(xié)議
8.6鴻蒙與Android對(duì)比
8.7本章小結(jié)
8.8課后習(xí)題
參考文獻(xiàn)
附錄A縮略詞