本書循序漸進地介紹了典型物聯網項目開發的整個過程,理論與實踐相結合,側重于典型物聯網系統各個階段的開發過程,是作者多年的物聯網專業一線教學經驗的總結和積累。
本書從物聯網的基礎知識講起,讓讀者了解物聯網的基本概念、相關技術、基本的開發方法; 然后以一個典型的物聯網系統為例,講述系統的架構、需求、設計到實現,讓讀者能夠清晰地了解物聯網系統開發的整個流程。
本書可作為高等院校應用型本科專業物聯網系統開發、物聯網工程實訓項目開發等課程的教材,也可作為一般工程技術人員開發物聯網相關項目的參考用書。
(1) 以一個典型的物聯網系統作為案例貫穿
(2) 理論與實踐相結合
(3) 大量的案例代碼供讀者參考學習
(4) 基于主流的軟硬件平臺
(5) 600分鐘視頻講解
前言
近年來,物聯網發展迅猛,已經成為中國軟件產業新的市場增長點。全球物聯網支出呈現積極增長態勢,各行業對物聯網的應用不斷加深。市場對物聯網人才的需求也隨之急速增長,而相關人才的培養無疑在高校占很大的比重,如何循序漸進地引導學生學習物聯網系統的開發和應用,作為體現教學內容和教學方式的教材載體,其重要性不言而喻。
本書從物聯網的基礎知識講起,讓讀者了解物聯網的基本概念、相關技術、基本的開發方法; 再以一個典型的物聯網系統為例,講述系統的架構、需求、設計到實現,讓讀者能夠清晰地了解物聯網系統開發的整個流程。
本書第1~4章介紹物聯網相關的基礎知識。
第1章介紹物聯網的基本概念、組成、特點、應用及發展前景,讓讀者能夠了解物聯網的起源及發展,對物聯網有個基本的認識。
第2章介紹物聯網相關技術: RFID技術、傳感器技術、ZigBee短距離無線通信技術及ARM微處理器,可使讀者掌握物聯網系統中常用技術的特點和應用。
第3章介紹基于Linux物聯網網關系統的構建,主要包括基于硬件平臺的介紹、交叉編譯環境的搭建、Linux下GCC編輯器的使用、Make工具的使用、Linux下多線程編程、串口編程、嵌入式數據庫SQLite的應用。
第4章介紹基于Android的物聯網網關的接口應用,包括宿主機Android環境的搭建、ADB調試工具的使用、平臺板載LED的應用。
本書第5~8章以一個典型的物聯網系統智能教室管理系統作為案例貫穿,從系統的需求、設計到實現,為讀者清晰展示物聯網系統開發的全過程。
第5章對智能教室管理系統進行體系結構的分析、需求功能的確定,完成了數據庫的設計和各個子系統之間通信接口的設計。
第6章介紹智能教室管理系統的Web服務器子系統的環境配置、數據庫的搭建過程及Web服務器提供給客戶端的接口實現。
第7章介紹智能教室管理系統的網關子系統的主要功能的實現,如基于Android的串口的操作、多線程的應用、Volley框架的使用、ZigBee數據的獲取及解析等。
第8章介紹智能教室管理系統的移動終端子系統的主要功能的實現,如移動終端對Web服務器數據庫的訪問、遠程控制執行設備、利用高德地圖API實現定位及利用Echarts實現對傳感器信息的圖表顯示等。
本書的特點有:
以一個典型的物聯網系統作為案例貫穿;
理論與實踐相結合;
大量的案例代碼供讀者參考學習;
基于主流的軟硬件平臺。
本書由大連科技學院教師孫建梅編寫第3、5、6、7章,大連東軟信息學院教師劉丹編寫第1、2章,大連科技學院教師樊曉勇編寫第4章,大連交通大學教師周大勇編寫第8章,全書由孫建梅統稿。
本書定位于作為高等院校應用型本科專業的物聯網系統開發、物聯網工程實訓項目開發等課程的教材,也可作為一般工程技術人員開發物聯網相關項目的參考書。
由于物聯網發展迅速,涉及的技術領域很多,加之作者能力、水平有限,書中難免存在疏漏和不妥之處,懇請廣大讀者批評指正。
本書在編寫過程中得到了清華大學出版社的大力支持,在此表示誠摯的謝意。
編者
2018年5月
目錄
CONTENTS
目錄
第1章物聯網系統概述
1.1物聯網的概念
1.2物聯網的發展概況
1.3物聯網的體系架構
1.3.1感知層
1.3.2網絡層
1.3.3應用層
1.4物聯網的主要特點
1.5物聯網的應用
1.6物聯網的發展前景
習題1
第2章物聯網相關技術
2.1RFID技術
2.1.1RFID概述
2.1.2RFID系統構成
2.1.3RFID基本工作原理
2.1.4RFID技術分類
2.1.5RFID技術標準
2.1.6RFID技術在物聯網中的應用
2.2傳感器技術
2.2.1傳感器概述
2.2.2傳感器組成
2.2.3傳感器分類
2.2.4典型傳感器原理簡介
2.2.5傳感器的選用原則
2.2.6多傳感器信息融合技術
2.2.7傳感器在物聯網中的應用
2.3短距離無線通信技術
2.3.1典型短距離無線通信網絡技術
2.3.2ZigBee標準概述
2.3.3ZigBee技術的特點
2.3.4ZigBee協議框架
2.3.5ZigBee在物聯網中的應用
2.4ARM微處理器
2.4.1ARM技術簡介
2.4.2ARM微處理器的應用領域及特點
2.4.3ARM微處理器系列
2.4.4ARM微處理器結構
2.4.5ARM微處理器的應用選型
習題2
第3章基于Linux物聯網網關系統構建及開發
3.1網關平臺介紹
3.1.1平臺硬件資源
3.1.2平臺軟件資源
3.2網關交叉編譯環境
3.2.1交叉編譯的概念
3.2.2交叉編譯環境的搭建
3.3GCC編譯器
3.4Make工具
3.4.1Makefile文件基本結構
3.4.2Makefile實例
3.5Linux多線程編程
3.5.1多線程概述
3.5.2Linux多線程API
3.5.3Linux多線程例程
3.6Linux串口編程
3.6.1串口簡介
3.6.2Linux串口操作流程
3.6.3Linux串口操作實例
3.7嵌入式數據庫
3.7.1嵌入式數據庫的特點
3.7.2SQLite數據庫
3.7.3SQLite3的數據類型
3.7.4SQLite3的API函數
3.7.5SQLite3的應用
習題3
第4章基于Android物聯網網關接口應用
4.1開發環境準備
4.1.1JDK安裝
4.1.2Android Studio軟件環境配置
4.1.3實驗平臺驅動安裝
4.2基于Android ADB調試
4.2.1ADB環境配置及測試
4.2.2ADB安裝軟件
4.2.3ADB傳輸文件
4.3板載LED的應用
習題4
第5章典型物聯網系統項目實施方案
5.1智能教室管理系統體系結構
5.2信息感知端
5.3物聯網網關
5.4Web服務器
5.5移動終端
5.6數據庫設計
5.7通信接口設計
習題5
第6章Web服務器子系統
6.1Web服務器軟件環境配置
6.1.1Tomcat安裝配置
6.1.2Eclipse安裝配置
6.2數據庫搭建
6.2.1MySQL安裝配置
6.2.2Navicat安裝配置
6.2.3Navicat連接MySQL
6.2.4數據庫表的建立
6.3Web服務器連接數據庫
6.4Web服務器接口
6.4.1登錄驗證接口
6.4.2網關上傳數據接口
6.4.3查詢數據接口
6.4.4設置執行器狀態接口
6.4.5查詢執行器狀態接口
習題6
第7章物聯網網關子系統
7.1串口操作接口
7.2線程
7.2.1繼承Thread類創建多線程
7.2.2實現Runnable接口創建多線程
7.2.3實現Runnable接口使線程間的資源共享
7.3Volley框架
7.3.1Volley的特點
7.3.2Volley中的RequestQueue和Request
7.3.3Volley的基本使用
7.4登錄功能
7.4.1用戶名密碼驗證
7.4.2RFID卡號驗證
7.5ZigBee數據獲取及處理
7.5.1ZigBee數據的解析
7.5.2執行器控制
7.6定位功能
7.6.1GPS北斗雙模技術
7.6.2定位實例
7.7GPRS模塊
習題7
第8章移動終端子系統
8.1訪問Web數據庫數據
8.2遠程控制
8.3利用高德地圖API定位
8.4數據圖表顯示
習題8
參考文獻