編輯推薦
本書是一本由淺入深對物聯網係統進行開發的書籍,全書采用任務式開發的學習方法,共積纍瞭近70生動有趣、貼近生活的案例,案例均有每個案例均有完整的開發過程。
內容簡介
本書介紹瞭基於Cortex�睲3和IPv6的物聯網開發技術與應用,由淺入深地對物聯網係統的開發進行介紹。全書采用任務式開發的學習方法,共積纍瞭70個趣味盎然、貼近生活的案例,每個案例均有完整的開發過程,分彆是明確的學習目標、清晰的環境開發要求、深入淺齣的原理學習、詳細的開發內容和完整的開發步驟,最後進行總結和拓展,引導讀者輕鬆完成理論學習,並將理論與開發實踐有機地結閤起來。
本書按照知識點分類,將嵌入式係統和物聯網係統的開發技術、Cortex�睲3接口技術、傳感器驅動、無綫傳感網絡技術、Contiki操作係統基本知識和網絡技術、IPv6綜閤開發技術、物聯網平颱開發技術、Android移動互聯網開發結閤在一起,實現瞭各種領域的物聯網的數據采集、傳輸和控製,並提供案例及其源代碼,讀者可以快速上手。
本書既可作為高等院校相關專業的教材或教學參考書,也可供相關領域的工程技術人員查閱,且適閤微處理器和物聯網係統開發愛好者使用。
目錄
第1章物聯網開發硬件與軟件
1.1任務1認識物聯網
1.1.1物聯網的含義與基本特徵
1.1.2中國物聯網産業發展現狀
1.1.3中國物聯網技術發展存在的問題
1.1.4IPv6和物聯網發展
1.1.5IPv6技術簡介
1.2任務2認識物聯網開發套件
1.2.1學習目標
1.2.2STM32W108
1.2.3ZXBee無綫節點
1.2.4硬件連接和調試
1.2.5ZXBee無綫節點硬件資源
1.3任務3搭建物聯網開發環境
1.3.1學習目標
1.3.2開發環境
1.3.3原理學習
1.3.4開發步驟
1.4任務4IAR項目開發
1.4.1工程目錄創建
1.4.2工程設置
1.4.3程序下載和調試
1.4.4下載hex文件
第2章STM32外圍接口開發
2.1任務5GPIO驅動
2.1.1學習目標
2.1.2開發環境
2.1.3原理學習
2.1.4開發內容
2.1.5開發步驟
2.1.6總結與擴展
2.2任務6外部中斷
2.2.1學習目標
2.2.2開發環境
2.2.3原理學習
2.2.4開發內容
2.2.5開發步驟
2.2.6總結與擴展
2.3任務7串口通信
2.3.1學習目標
2.3.2開發環境
2.3.3原理學習
2.3.4開發內容
2.3.5開發步驟
2.3.6總結與擴展
2.4任務8SYSTICK定時器
2.4.1學習目標
2.4.2開發環境
2.4.3原理學習
2.4.4開發內容
2.4.5開發步驟
2.4.6總結與擴展
2.5任務9LCD
2.5.1學習目標
2.5.2開發環境
2.5.3原理學習
2.5.4開發內容
2.5.5開發步驟
2.5.6總結與擴展
2.6任務10實時時鍾
2.6.1學習目標
2.6.2開發環境
2.6.3原理學習
2.6.4開發內容
2.6.5開發步驟
2.6.6總結與擴展
2.7任務11獨立看門狗
2.7.1學習目標
2.7.2開發環境
2.7.3原理學習
2.7.4開發內容
2.7.5開發步驟
2.7.6總結與擴展
2.8任務12窗口看門狗
2.8.1學習目標
2.8.2開發環境
2.8.3原理學習
2.8.4開發內容
2.8.5開發步驟
2.8.6總結與擴展
2.9任務13定時器中斷
2.9.1學習目標
2.9.2開發環境
2.9.3原理學習
2.9.4開發內容
2.9.5開發步驟
2.9.6總結與擴展
2.10任務14內部溫度傳感器
2.10.1學習目標
2.10.2開發環境
2.10.3原理學習
2.10.4開發內容
2.10.5開發步驟
2.10.6總結與擴展
2.11任務15DMA
2.11.1學習目標
2.11.2開發環境
2.11.3原理學習
2.11.4開發內容
2.11.5開發步驟
2.11.6總結與擴展
第3章傳感器驅動開發
3.1任務16光敏傳感器
3.1.1學習目標
3.1.2開發環境
3.1.3原理學習
3.1.4開發內容
3.1.5開發步驟
3.1.6總結與擴展
3.2任務17溫濕度傳感器
3.2.1學習目標
3.2.2開發環境
3.2.3原理學習
3.2.4開發內容
3.2.5開發步驟
3.2.6總結與擴展
3.3任務18雨滴/凝露傳感器
3.3.1學習目標
3.3.2開發環境
3.3.3原理學習
3.3.4開發內容
3.3.5開發步驟
3.3.6總結與擴展
3.4任務19火焰傳感器
3.4.1學習目標
3.4.2開發環境
3.4.3原理學習
3.4.4開發內容
3.4.5開發步驟
3.4.6總結與擴展
3.5任務20繼電器
3.5.1學習目標
3.5.2開發環境
3.5.3原理學習
3.5.4開發內容
3.5.5開發步驟
3.5.6總結與擴展
3.6任務21霍爾傳感器
3.6.1學習目標
3.6.2開發環境
3.6.3原理學習
3.6.4開發內容
3.6.5開發步驟
3.6.6總結與擴展
3.7任務22超聲波測距傳感器
3.7.1學習目標
3.7.2開發環境
3.7.3原理學習
3.7.4開發內容
3.7.5開發步驟
3.7.6總結與擴展
3.8任務23人體紅外傳感器
3.8.1學習目標
3.8.2開發環境
3.8.3原理學習
3.8.4開發內容
3.8.5開發步驟
3.8.6總結與擴展
3.9任務24可燃氣體/煙霧傳感器
3.9.1學習目標
3.9.2開發環境
3.9.3原理學習
3.9.4開發內容
3.9.5開發步驟
3.9.6總結與擴展
3.10任務25酒精傳感器
3.10.1學習目標
3.10.2開發環境
3.10.3原理學習
3.10.4開發內容
3.10.5開發步驟
3.10.6總結與擴展
3.11任務26空氣質量傳感器
3.11.1學習目標
3.11.2開發環境
3.11.3原理學習
3.11.4開發內容
3.11.5開發步驟
3.11.6總結與擴展
3.12任務27三軸加速度傳感器
3.12.1學習目標
3.12.2開發環境
3.12.3原理學習
3.12.4開發內容
3.12.5開發步驟
3.12.6總結與擴展
3.13任務28壓力傳感器
3.13.1學習目標
3.13.2開發環境
3.13.3原理學習
3.13.4開發內容
3.13.5開發步驟
3.13.6總結與擴展
3.14任務29RFID讀寫
3.14.1學習目標
3.14.2開發環境
3.14.3原理學習
3.14.4開發內容
3.14.5開發步驟
3.14.6總結與擴展
3.15任務30步進電機控製
3.15.1學習目標
3.15.2開發環境
3.15.3原理學習
3.15.4開發內容
3.15.5開發步驟
3.15.6總結與擴展
第4章無綫傳感網絡技術開發
4.1任務31IEEE 802.15.4無綫網絡驅動開發
4.1.1學習目標
4.1.2開發環境
4.1.3原理學習
4.1.4開發內容
4.1.5開發步驟
4.2任務32IEEE 802.15.4點對點通信開發
4.2.1學習目標
4.2.2開發環境
4.2.3原理學習
4.2.4開發內容
4.2.5開發步驟
4.3任務33藍牙無綫網絡開發
4.3.1學習目標
4.3.2開發環境
4.3.3原理學習
4.3.4開發內容
4.3.5開發步驟
4.4任務34WiFi無綫網絡開發
4.4.1學習目標
4.4.2開發環境
4.4.3原理學習
4.4.4開發內容
4.4.5開發步驟
第5章基於Contiki操作係統的基礎項目開發
5.1任務35認識Contiki操作係統
5.1.1學習目標
5.1.2原理學習
5.2任務36認識Contiki操作係統的數據結構
5.2.1學習目標
5.2.2原理學習
5.3任務37Contiki操作係統移植
5.3.1學習目標
5.3.2開發環境
5.3.3原理學習
5.3.4開發內容
5.3.5開發步驟
5.3.6總結與擴展
5.4任務38Contiki操作係統的進程開發
5.4.1學習目標
5.4.2開發環境
5.4.3原理學習
5.4.4開發步驟
5.4.5總結與擴展
5.5任務39Contiki多進程開發
5.5.1學習目標
5.5.2開發環境
5.5.3原理學習
5.5.4開發步驟
5.5.5總結與擴展
5.6任務40Contiki進程通信基礎開發
5.6.1學習目標
5.6.2開發環境
5.6.3原理學習
5.6.4開發步驟
5.6.5總結與擴展
5.7任務41Contiki進程通信高級開發
5.7.1學習目標
5.7.2開發環境
5.7.3開發內容
5.7.4開發步驟
5.7.5總結與擴展
5.8任務42定時器驅動開發
5.8.1學習目標
5.8.2開發環境
5.8.3原理學習
5.8.4開發步驟
5.8.5總結與擴展
5.9任務43基於Contiki的LCD驅動開發
5.9.1學習目標
5.9.2開發環境
5.9.3原理學習
5.9.4開發步驟
5.9.5總結與擴展
第6章基於Contiki操作係統的無綫網絡項目開發
6.1任務44Contiki網絡工程開發
6.1.1學習目標
6.1.2開發環境
6.1.3開發內容
6.1.4開發步驟
6.1.5總結與擴展
6.2任務45IPv6網關實現
6.2.1學習目標
6.2.2開發環境
6.2.3原理學習
6.2.4開發內容
6.2.5開發步驟
6.3任務46IEEE 802.15.4節點RPL組網開發
6.3.1學習目標
6.3.2開發環境
6.3.3原理學習
6.3.4開發內容
6.3.5開發步驟
6.4任務47藍牙節點IPv6組網開發
6.4.1學習目標
6.4.2開發環境
6.4.3原理學習
6.4.4開發內容
6.4.5開發步驟
6.5任務48WiFi節點IPv6組網開發
6.5.1學習目標
6.5.2開發環境
6.5.3原理學習
6.5.4開發內容
6.5.5開發步驟
6.6任務49節點間UDP通信開發
6.6.1學習目標
6.6.2開發環境
6.6.3原理學習
6.6.4開發內容
6.6.5開發步驟
6.7任務50節點間TCP通信開發
6.7.1學習目標
6.7.2開發環境
6.7.3原理學習
6.7.4開發內容
6.7.5開發步驟
6.8任務51PC與節點間UDP通信開發
6.8.1學習目標
6.8.2開發環境
6.8.3原理學習
6.8.4開發內容
6.8.5開發步驟
6.9任務52PC與節點間TCP通信
6.9.1學習目標
6.9.2開發環境
6.9.3原理學習
6.9.4開發內容
6.9.5開發步驟
6.10任務53Protosocket編程開發
6.10.1學習目標
6.10.2開發環境
6.10.3原理學習
6.10.4開發內容
6.10.5開發步驟
第7章基於IPv6的物聯網綜閤項目開發
7.1任務54基於IPv6的多無綫網絡融閤框架
7.1.1學習目標
7.1.2開發環境
7.1.3原理學習
7.1.4開發內容
7.1.5開發步驟
7.2任務55節點數據通信協議
7.2.1學習目標
7.2.2原理學習
7.3任務56信息采集及控製(UDP)
7.3.1學習目標
7.3.2開發環境
7.3.3原理學習
7.3.4開發內容
7.3.5開發步驟
7.3.6總結與擴展
7.4任務57信息采集及控製(CoAP)
7.4.1學習目標
7.4.2開發環境
7.4.3原理學習
7.4.4開發內容
7.4.5開發步驟
7.4.6總結與擴展
7.5任務58傳感器綜閤應用
7.5.1學習目標
7.5.2開發環境
7.5.3開發內容
7.5.4開發步驟
7.6任務59傳感器的自定義開發
7.6.1學習目標
7.6.2開發環境
7.6.3開發內容
7.6.4開發步驟
第8章物聯網平颱綜閤項目開發
8.1任務60智雲物聯開發基礎
8.1.1學習目標
8.1.2智雲物聯平颱介紹
8.1.3智雲物聯基本框架
8.1.4智雲物聯常用硬件
8.1.5智雲物聯優秀項目
8.1.6開發前準備工作
8.2任務61智雲平颱基本開發
8.2.1學習目標
8.2.2開發環境
8.2.3原理學習
8.2.4開發內容
8.2.5開發步驟
8.2.6總結與擴展
8.3任務62物聯網通信協議
8.3.1學習目標
8.3.2開發環境
8.3.3原理學習
8.3.4開發內容
8.3.5開發步驟
8.3.6總結與擴展
8.4任務63IPv6的節點硬件驅動開發
8.4.1學習目標
8.4.2開發環境
8.4.3原理學習
8.4.4開發內容
8.4.5開發步驟
8.4.6總結與擴展
8.5任務64Android API開發
8.5.1學習目標
8.5.2開發環境
8.5.3原理學習
8.5.4開發內容
8.5.5開發步驟
8.5.6總結與擴展
8.6任務65Web API開發
8.6.1學習目標
8.6.2開發環境
8.6.3原理學習
8.6.4開發內容
8.6.5開發步驟
8.6.6總結與擴展
8.7任務66開發調試工具
8.7.1學習目標
8.7.2開發環境
8.7.3原理學習
8.7.4開發內容
8.7.5開發步驟
8.7.6總結與擴展
第9章物聯網雲平颱高級項目開發
9.1任務67可燃氣體檢測係統開發
9.1.1學習目標
9.1.2開發環境
9.1.3原理學習
9.1.4開始內容
9.1.5開發步驟
9.1.6總結與擴展
9.2任務68自動澆花係統開發
9.2.1學習目標
9.2.2開發環境
9.2.3原理學習
9.2.4開發內容
9.2.5開發步驟
9.2.6總結與擴展
9.3任務69智能傢居監控係統開發
9.3.1學習目標
9.3.2開發環境
9.3.3原理學習
9.3.4開發內容
9.3.5開發步驟
9.3.6總結與擴展
9.4任務70農業環境自動監控係統開發
9.4.1學習目標
9.4.2開發環境
9.4.3原理學習
9.4.4開發內容
9.4.5開發步驟
9.4.6總結與擴展
附錄A常見硬件及問題
A.1無綫節點讀取IEEE地址
A.2傳感器
A.3STM32W108 IPv6 radio鏡像固化
A.4藍牙無綫節點設置
A.5瀏覽器采集和控製節點
參考文獻
精彩書摘
本章介紹Contiki操作係統的基本知識,先分析Contiki操作係統的特點和源代碼結構,介紹操作係統的主要數據結構,有進程、事件和etimer機製,並分析三者之間的關係,然後將操作係統通過移植到STM32,並通過任務式開完成瞭對GPIO控製、多綫程、進程間通信、定時器的驅動,最後實現瞭對LCD的驅動。
5.1任務35認識Contiki操作係統
5.1.1學習目標
初步瞭解Contiki操作係統基本特點;
理解Contiki事件驅動和protothread機製。
5.1.2原理學習
5.1.2.1Contiki操作係統
Contiki是一個開源的、高度可移植的多任務操作係統,適用於聯網嵌入式係統和無綫傳感器網絡,由瑞典計算機科學學院(Swedish Institute of Computer Science)的Adam Dunkels和他的團隊開發。Contiki完全采用C語言開發,可移植性非常好,對硬件的要求極低,能夠運行在各種類型的微處理器及計算機上。
Contiki適用於存儲器資源十分受限的嵌入式單片機係統,是一種開源的操作係統,適用於BSD協議,即可以任意修改和發布,已經應用在許多項目中。 Contiki操作係統是基於事件驅動(Event�瞕riven)內核的操作係統,在此內核上,應用程序可以在運行時動態加載,非常靈活。在事件驅動內核基礎上,Contiki實現瞭一種輕量級的名為protothread的綫程模型,實現綫性的、類似於綫程的編程風格。該模型類似於Linux和Windows中綫程的概念,多個綫程共享同一個任務棧,從而減少RAM占用。
Contiki係統內部集成瞭兩種類型的無綫傳感器網絡協議棧: uIP和Rime。uIP是一個小型的符閤RFC規範的TCP/IP協議棧,可以直接與Internet通信,uIP包含瞭IPv4和IPv6兩種協議棧,支持TCP、UDP、ICMP等協議; Rime是一個輕量級、為低功耗無綫傳感器網絡設計的協議棧,提供瞭大量的通信原語,能夠實現從簡單的一跳廣播通信,到復雜的可靠多跳數據傳輸等通信功能。
5.1.2.2Contiki的特點
Contiki操作係統也是一種嵌入式的多任務操作係統,是專為內存資源嚴重受限的嵌入式設備開發設計的。通常一個典型的Contiki係統隻需占用2KB RAM和40KB ROM。Contiki有如下突齣的特點:
(1) Contiki係統開發使用純C語言,采用C編譯器,如GCC、IA
基於Cortex-M3 和IPv6的物聯網技術開發與應用 下載 mobi epub pdf txt 電子書