本書系統地介紹了Linux操作系統基礎知識以及在物聯網、云計算和人工智能領域的實戰應用。全書共分為8章,內容包括物聯網應用開發基礎及項目實戰、Linux操作系統基礎及項目實戰、Linux編程基礎及項目實戰、Linux Java 編程基礎及項目實戰,Linux云服務器開發基礎及實戰、嵌入式Linux基礎及項目實戰、嵌入式Linux應用開發實戰、Linux物聯網云服務應用開發實戰。全書每一章節都圍繞于Linux相關的真實項目開發實戰,注重項目化和實戰技能,與新技術動態接軌,以提升學生就業核心競爭力為目標展開項目化和模塊化教學。
本書既可以作為物聯網相關專業的教材,也可以作為廣大物聯網愛好者自學傳感網的教材,還可以作為物聯網應用開發者的參考用書及相關機構培訓教材。
1.使用Linux操作系統是物聯網應用開發是很重要的方式。
2.本書的配套資源豐富,包括PPT、軟件工具、教案、教學大綱等。
3.作者具備20年的Linux開發經驗和8年的嵌入式Linux教學經驗,同時是物聯網應用技術專業的負責人。
羅德安,工學博士,曾任中國科學院深圳先進技術研究院碩士生導師,南京師范大學語言科技研究所客座副研究員,深圳信息職業技術學院電子與通信學院物聯網應用技術專業主任,現任深圳信息職業技術學院信息與通信學院副院長。華為云計算HCIE認證專家,教育部1+X《物聯網工程試視與運維職業技能等級證書》教材編寫委員會專家,1+X傳感網應用開發全國師資培訓基地負責人,《華為1+X移動應用開發(中級)》官方教材主編。長期從事語音識別及機器學習相關研究,在INTERSPEECH等語音識別領域高級別的國際學術會議和期刊中發表論文50余篇,英文學術專著1篇。
第 1章 物聯網應用開發基礎及項目實戰 5
1.1物聯網工程技術概述 6
1.1.1 物聯網工程技術特點 6
1.1.2 物聯網系統功能分層 7
1.1.3 物聯網系統云管端架構 8
1.1.4 物聯網工程的主流技術 9
1.2 操作系統基礎 12
1.2.1操作系統原理簡介 12
1.2.2 主流操作系統特點 13
1.2.3 物聯網操作系統 15
1.3 項目實施 17
1.3.1 華為物聯網云服務器搭建 18
1.3.2 物聯網云服務器與虛擬設備的通信 22
【項目小結】 25
【知識鞏固】 25
【拓展任務】 26
第 2章 Linux操作系統基礎及項目實戰 27
2.1 Linux操作系統基礎 28
2.1.1 Linux操作系統介紹 28
2.1.2 Linux的發行版本及特點 29
2.1.3 Linux在物聯網、云計算及人工智能中的應用 31
2.2 Linux操作系統的安裝與配置 32
2.2.1 安裝Virtualbox 33
2.2.2 Ubuntu操作系統的安裝與環境配置 42
2.2.3 Ubuntu系統管理 45
2.3 項目實施 49
2.3.1 EulerOS系統安裝 49
2.3.2 華為歐拉Linux系統管理 53
2.3.3 物聯網開發環境搭建 55
【項目小結】 57
【知識鞏固】 58
【拓展任務】 58
第3章 Linux編程基礎及項目實戰 59
3.1 shell編程基礎 60
3.1.1 Shell環境基礎 60
3.1.2 Shell命令基礎 61
3.1.3 Shell腳本語法基礎 64
3.2 基于Linux的C語言編程基礎 70
3.2.1 GCC編譯器基礎 70
3.2.2 GDB調試器 72
3.2.3 Makefile項目管理 73
3.3 項目實施 76
3.3.1 項目需要掌握的C語言編程技術 76
3.3.2 功能模塊分析 81
3.3.3 編寫項目代碼 83
【知識總結】 86
【知識鞏固】 87
【拓展任務】 88
第4章 Linux Java 編程基礎及項目實戰 89
4.1 Linux Java編程基礎 90
4.1.1 JDK的安裝配置 90
4.1.2 Java的基本語法 91
4.2 Linux Java Web開發基礎 100
4.2.1 Java Web開發環境搭建 101
4.2.2 網頁html基礎 107
4.2.3 JavaScript基礎 112
4.2.4 JSP基礎 117
4.3 SQL數據庫基礎 124
4.3.1安裝mariadb 125
4.3.2 SQL語言基礎 126
4.4 項目實施 127
4.4.1 項目開發前期工作 127
4.4.2 項目代碼 129
【知識總結】 140
【知識鞏固】 140
【拓展任務】 141
第5章Linux云服務器開發基礎及實戰 142
5.1云計算技術基礎 143
5.1.1虛擬化技術 143
5.1.2云操作系統 146
5.2 華為ECS云服務器Linux開發項目實戰 150
5.2.1 Linux云服務器的購買及設置 150
5.2.2 云服務器編程環境配置 155
5.2.3 云硬盤掛載及格式化 156
5.2.4 Linux云服務器備份 161
5.3 項目實施 164
5.3.1 EulerOS 上Web服務器的搭建 164
5.4 云服務器上Web服務器的搭建 166
【知識總結】 174
【知識鞏固】 174
【拓展任務】 175
第6章 嵌入式Linux基礎及項目實戰 176
6.1 嵌入式Linux基礎 177
6.1.1 嵌入式系統基礎 177
6.1.2 嵌入式操作系統簡介 178
6.1.3 嵌入系統開發模式 179
6.2 嵌入式Linux基礎實踐 179
6.2.1 搭建嵌入式Linux開發環境 179
6.2.2 安裝配置交叉編譯工具 184
6.2.3 使用Git管理源代碼 185
6.2.4 Uboot移植 187
6.2.5 Linux內核裁剪與燒錄 189
6.3 項目實施 190
6.3.1 OpenWrt編譯配置 191
6.3.2 OpenWrt系統配置 198
【知識總結】 202
【知識鞏固】 203
【拓展任務】 203
第7章 嵌入式Linux應用開發實戰 204
7.1 Linux系統編程基礎 205
7.1.1 Linux系統VFS文件編程接口 205
7.1.2 Linux多線程編程 209
7.1.3 Linux網絡編程 212
7.2 嵌入式Linux系統應用開發 219
7.2.1 使用OpenWrt自生成的交叉編譯器 219
7.2.2 SSH上傳測試程序 220
7.2.3 Linux GPIO的調用 220
7.2.4 Linux I2C接口的調用 229
7.3 項目實施 235
7.3.1 項目開發前期工作 235
7.3.2 項目代碼 237
【知識總結】 255
【知識鞏固】 256
【拓展任務】 257
第8章 Linux物聯網云服務應用開發實戰 258
8.1華為物聯網云服務器搭建 259
8.1.1 創建產品 259
8.1.2 創建設備 261
8.2 Linux物聯網設備聯網測試 262
8.2.1編譯openssl庫源碼 262
8.2.2編譯mqtt庫源碼 263
8.2.3編譯物聯網設備測試程序 264
8.3 嵌入式Linux物聯網設備測試 266
8.3.1交叉編譯openssl庫源碼 266
8.3.2交叉編譯mqtt庫源碼 267
8.3.3交叉編譯物聯網設備測試程序 267
8.4 項目實施 269
8.4.1 項目開發前期工作 269
8.4.2 項目開發 273
【知識總結】 276
【知識鞏固】 277
【拓展任務】 277