書籍信息
作者:毛劍飛 周雪 毛科技 竺超明 陳立建
印次:1-1
ISBN:9787302399773
出版日期:2015.09.01
內容簡介
本書全面介紹物聯網工程的藍牙4.0低功耗開發技術。全書分為4篇,共18章。其中,第1篇是實驗軟、硬體平台的搭建,一步一步地介紹如何構架簡單的藍牙軟硬實驗平台;第2篇是藍牙基礎實驗,講解最簡單的無作業系統的藍牙晶片實驗,讓讀者充分了解和熟悉藍牙晶片,為後續的藍牙通信開發打下基礎;第3篇是低功耗藍牙通信協定棧,主要介紹低功耗藍牙通信原理以及如何自定義硬體抽象層,本篇內容是後面的藍牙通信實驗的理論和實驗基礎;第4篇是低功耗藍牙通信實驗,先從學著改造簡單的藍牙協定棧範例項目開始,再定製一個我的藍牙感知器iSensor,在iSensor中一步步實踐藍牙協定棧的通信原理,然後結合USB模組綜合套用藍牙設備實現藍牙鍵鼠、藍牙CDC串口通信及網路處理機,最後講述了套用藍牙無線分析儀測試藍牙通信。
圖書目錄
第1篇概述及實驗平台
第1章低功耗藍牙3
1.1藍牙與物聯網3
1.2低功耗藍牙與“我的物聯網”5
1.3低功耗藍牙概述8
1.4低功耗藍牙的特點9
第2章藍牙4.0 BLE軟體開發平台搭建11
2.1選擇IAR 8051的理由11
2.2IAR 80518.3的下載、安裝和破解12
2.2.1下載IAR 80518.312
2.2.2安裝IAR 80518.313
2.2.3破解IAR 80518.317
2.3IAR 8051集成開發環境簡介21
2.4IAR 8051 C/C++22
2.5安裝相關支持軟體22
第3章藍牙4.0 BLE硬體開發平台搭建24
3.1選擇世嵌開發板的理由24
3.2世嵌最簡配置開發套件25
3.2.1核心板WB2540MVA26
3.2.2底板WX253028
3.2.3仿真器CCDBG33
3.3搭建實驗硬體環境35
3.4創建工程——點亮LED37
第2篇基 礎 實 驗
第4章GPIO實驗534.1LED實驗: 打開所有LED53
4.1.1任務要求及效果呈現53
物聯網技術實踐教程——基於藍牙4
目錄4.1.2實驗原理54
4.1.3實驗步驟56
4.1.4源碼清單59
4.2LED實驗: 讓LED一閃一閃59
4.2.1任務要求及效果呈現59
4.2.2實驗原理60
4.2.3源碼清單60
4.3LED實驗: 實現流水燈61
4.3.1任務要求及效果呈現61
4.3.2實驗原理61
4.3.3源碼清單62
4.4蜂鳴器實驗: 驅動蜂鳴器發聲63
4.4.1任務要求及效果呈現63
4.4.2實驗原理63
4.4.3源碼清單65
4.5按鍵實驗: 按鍵控制LED66
4.5.1任務要求及效果呈現66
4.5.2實驗原理66
4.5.3源碼清單69
4.6按鍵實驗: 按鍵控制LED (中斷方式)71
4.6.1任務要求及效果呈現71
4.6.2實驗原理71
4.6.3源碼清單74
第5章定時器實驗77
5.1定時器實驗: 流水燈(查詢方式)77
5.1.1任務要求及效果呈現77
5.1.2實驗原理77
5.1.3源碼清單81
5.2定時器實驗: 流水燈(中斷方式)83
5.2.1任務要求及效果呈現83
5.2.2實驗原理83
5.2.3源碼清單84
5.3定時器實驗: PWM控制蜂鳴器86
5.3.1任務要求及效果呈現86
5.3.2實驗原理87
5.3.3示波器與開發板連線90
5.3.4源碼清單91
第6章串口實驗97
6.1串口傳送實驗: 列印歡迎信息97
6.1.1任務要求及效果呈現97
6.1.2實驗原理97
6.1.3硬體連線102
6.1.4源碼清單103
6.2串口傳送: 用printf列印系統信息104
6.2.1任務要求及效果呈現104
6.2.2實驗原理104
6.2.3源碼清單106
6.3串口收發: 用C標準庫輸入/輸出函式107
6.3.1任務要求及效果呈現108
6.3.2實驗原理108
6.3.3源碼清單109
6.4串口收發: 中斷方式112
6.4.1任務要求及效果呈現113
6.4.2實驗原理113
6.4.3源碼清單116
第7章ADC實驗119
7.1測量晶片內部溫度和供電電壓119
7.1.1任務要求及效果呈現119
7.1.2實驗原理120
7.1.3源碼清單124
7.2測量光照強度126
7.2.1任務要求及效果呈現127
7.2.2實驗原理127
7.2.3源碼清單128
第8章睡眠與喚醒實驗130
8.1外部中斷喚醒130
8.1.1任務要求及效果呈現130
8.1.2實驗原理131
8.1.3源碼清單134
8.2定時器喚醒139
8.2.1任務要求及效果呈現139
8.2.2實驗原理140
8.2.3源碼清單142
第9章看門狗實驗、Flash讀寫實驗144
9.1看門狗實驗144
9.1.1任務要求及效果呈現144
9.1.2實驗原理145
9.1.3源碼清單146
9.2Flash讀寫實驗147
9.2.1任務要求及效果呈現148
9.2.2實驗原理148
9.2.3源碼清單150
第10章匯流排實驗153
10.1單匯流排實驗(DS18B20驅動)153
10.1.1任務要求及效果呈現153
10.1.2實驗原理154
10.1.3源碼清單157
10.2SPI匯流排實驗(諾基亞5110液晶屏驅動)161
10.2.1任務要求及效果呈現161
10.2.2實驗原理163
10.2.3源碼清單171
第3篇BLE協定棧
第11章藍牙4.0協定棧基礎19711.1BLE協定棧整體構架197
11.2物理層198
11.3鏈路層198
11.3.1鏈路層狀態機198
11.3.2鏈路層報文200
11.3.3設備發現200
11.3.4關於廣播202
11.3.5連線過程202
11.3.6數據傳送205
11.3.7管理連線205
11.4主機/控制器接口206
11.4.1物理接口與邏輯接口206
11.4.2控制器的配置206
11.4.3廣播與觀察207
11.4.4發起連線208
11.4.5連線管理210
11.5邏輯鏈路控制和適配協定210
11.6屬性協定層、通用屬性配置檔案層210
11.6.1伺服器與客戶端模型210
11.6.2屬性211
11.6.3屬性的訪問213
11.6.4服務213
11.6.5特性215
11.6.6屬性協定216
11.6.7通用屬性規範218
11.7安全管理層220
11.7.1安全概念220
11.7.2配對和綁定221
11.7.3數據簽名221
11.8通用訪問配置檔案層222
11.8.1GAP角色222
11.8.2模式和規程222
11.8.3廣播模式和觀察規程223
11.8.4可發現性223
11.8.5可連線性224
11.8.6綁定226
第12章TI藍牙協定棧開發平台227
12.1BLE協定棧開發平台配置227
12.2BLE協定棧軟體開發框架228
12.3協定棧應用程式運行機理229
12.3.1開始應用程式: main()230
12.3.2初始化系統: osal_init_system()231
12.3.3啟動系統: osal_start_system()233
12.3.4系統運行機理235
12.4OSAL作業系統抽象層236
12.4.1任務事件和事件處理236
12.4.2記憶體堆管理237
12.4.3OSAL訊息237
12.5HAL硬體抽象層238
12.6BLE協定棧238
12.6.1通用訪問配置檔案239
12.6.2通用屬性配置檔案240
12.6.3GATT伺服器應用程式241
12.7配置檔案242
12.7.1GAP外圍角色配置242
12.7.2GAP外圍/廣播多重角色配置243
12.7.3GAP Central Role Profile243
12.7.4GAP綁定管理器244
12.7.5簡單屬性配置檔案245
12.7.6簡單按鍵屬性配置檔案252
12.7.7設備信息服務253
12.7.8其他屬性配置檔案253