內容簡介
本書及相關實驗系統針對目前發展迅速的智慧型硬體和移動物聯兩個主流方向,從低功耗藍牙無線SOC開始入手,再進階到低功耗
藍牙協定棧的開發、*後通過心率計、血壓計、溫濕度感測器和計步器等設備與手機互聯的熱門套用的實戰演練,讓開發者迅速熟悉和掌握低功耗藍牙開發的技能。實驗箱系統具備完整的教學資源和教學內容,包括:ARMCortexGM0微處理器基礎實驗,無線數據通信實驗,低功耗藍牙無線通信實驗,WSN低功耗藍牙無線感測器,低功耗藍牙血壓計,低功耗藍牙計步器,低功耗藍牙心率計,以及APP開發等內容。
本書可作為高等院校物聯網、計算機、電子、自動化、儀器儀表等專業嵌入式系統、微機接口、單片機、物聯網技術等課程的教材,也適合廣大從事物聯網、智慧型硬體套用系統開發的工程技術人員作為學習、參考用書。
圖書目錄
第1章 藍牙的發展歷程……………………………………………………………… 1
1.1 什麼是藍牙及藍牙聯盟? …………………………………………………… 1
1.2 低功耗
藍牙技術(BluetoothLowEnergy)的發展………………………… 2
1.2.1 低功耗藍牙的誕生……………………………………………………… 2
1.2.2 關於藍牙3.0 …………………………………………………………… 4
1.2.3 關於藍牙4.0 …………………………………………………………… 4
1.2.4 藍牙4.0的雙模式及單模式套用……………………………………… 5
1.2.5 關於藍牙4.1 …………………………………………………………… 7
1.2.6 關於藍牙4.2 …………………………………………………………… 7
第2章 低功耗藍牙基礎……………………………………………………………… 9
2.1 什麼是低功耗? ……………………………………………………………… 9
2.2 低功耗藍牙如何實現低功耗? ……………………………………………… 10
2.2.1 待機功耗的減少………………………………………………………… 10
2.2.2 快速連線的實現………………………………………………………… 10
2.2.3 峰值功耗的降低………………………………………………………… 11
2.2.4 以時間來換取能量……………………………………………………… 12
第3章 實驗平台硬體資源詳解…………………………………………………… 14
3.1 移動互聯綜合套用開發系統資源介紹……………………………………… 14
3.1.1 XT EDU AK介紹………………………………………………… 15
3.1.2 XT EDU HK介紹………………………………………………… 16
3.1.3 配套感測器模組和OLED屏介紹…………………………………… 16
3.1.4 Debug調試接口………………………………………………………… 18
3.2 部分硬體電路原理圖詳解…………………………………………………… 18
3.2.1 nRF51822藍牙模組電路……………………………………………… 18
3.2.2 XT EDU AK主機板………………………………………………… 19
3.3 歸納總結……………………………………………………………………… 21
第4章 開發環境的搭建…………………………………………………………… 22
4.1 綜合開發環境nRFgoStudio的使用……………………………………… 22
4.2 主機軟體MasterControlPannel的使用………………………………… 25
4.3 KeilMDK開發環境下的調試方法………………………………………… 29
4.4 學習資料文檔、工具介紹…………………………………………………… 32
4.5 nRF51Dongle的使用……………………………………………………… 32
4.5.1 與MasterControlPannel配合,作為主機進行使用………………… 32
4.5.2 與wireshark配合,更新為sniffer的固件,作為抓包工具使用……… 35
4.6 歸納總結……………………………………………………………………… 44
第5章 GPIO 的使用……………………………………………………………… 45
5.1 GPIO簡介…………………………………………………………………… 45
5.2 硬體設計……………………………………………………………………… 49
5.3 軟體設計……………………………………………………………………… 50
5.3.1 跑馬燈實驗……………………………………………………………… 50
5.3.2 按鍵輸入實驗…………………………………………………………… 51
5.4 歸納總結……………………………………………………………………… 53
第6章 GPIOTE的使用…………………………………………………………… 54
6.1 GPIOTE簡介……………………………………………………………… 54
6.2 硬體設計……………………………………………………………………… 56
6.3 軟體設計……………………………………………………………………… 57
6.4 歸納總結……………………………………………………………………… 59
第7章 玩轉SPI主從……………………………………………………………… 60
7.1 SPI簡介……………………………………………………………………… 60
7.2 硬體設計……………………………………………………………………… 62
7.3 軟體設計……………………………………………………………………… 63
7.4 歸納總結……………………………………………………………………… 69
第8章 有趣的UART ……………………………………………………………… 70
8.1 UART簡介………………………………………………………………… 70
8.2 硬體設計……………………………………………………………………… 74
8.3 軟體設計……………………………………………………………………… 75
8.4 歸納總結……………………………………………………………………… 77
第9章 TIMER 詳解………………………………………………………………… 78
9.1 TIMER簡介………………………………………………………………… 78
9.2 硬體設計……………………………………………………………………… 81
9.3 軟體設計……………………………………………………………………… 82
9.4 歸納總結……………………………………………………………………… 84
第10章 RTC實時時鐘定時器…………………………………………………… 85
10.1 RTC簡介…………………………………………………………………… 85
10.1.1 計數器COUNTER ………………………………………………… 86
10.1.2 分頻器PRESCALER ………………………………………………… 86
10.1.3 TICK事件發生器…………………………………………………… 86
10.2 硬體設計…………………………………………………………………… 87
10.3 軟體設計…………………………………………………………………… 88
10.3.1 LED燈初始化………………………………………………………… 89
10.3.2 LFCLK初始化……………………………………………………… 89
10.3.3 RTC初始化…………………………………………………………… 89
10.3.4 中斷處理函式………………………………………………………… 90
10.4 歸納總結…………………………………………………………………… 91
第11章 PPI的套用之PWM ……………………………………………………… 92
11.1 PWM 簡介………………………………………………………………… 92
11.2 硬體設計…………………………………………………………………… 94
11.3 軟體設計…………………………………………………………………… 95
11.4 歸納總結…………………………………………………………………… 98
第12章 ADC實驗與電壓檢測…………………………………………………… 99
12.1 ADC簡介…………………………………………………………………… 99
12.2 硬體設計…………………………………………………………………… 101
12.3 軟體設計…………………………………………………………………… 102
12.4 歸納總結…………………………………………………………………… 104
第13章 TWI的套用———溫濕度採集…………………………………………… 105
13.1 TWI簡介………………………………………………………………… 105
13.2 硬體設計…………………………………………………………………… 109
13.3 軟體設計…………………………………………………………………… 110
13.4 歸納總結…………………………………………………………………… 115
第14章
隨機數發生器RNG …………………………………………………… 117
14.1 RNG簡介………………………………………………………………… 117
14.2 硬體設計…………………………………………………………………… 118
14.3 軟體設計…………………………………………………………………… 118
14.4 歸納總結…………………………………………………………………… 119
第15章 AES加密的使用………………………………………………………… 120
15.1 AESECB簡介…………………………………………………………… 120
15.2 硬體設計…………………………………………………………………… 121
15.3 軟體設計…………………………………………………………………… 121
15.4 歸納總結…………………………………………………………………… 123
第16章 2.4G 無線通信實驗……………………………………………………… 124
16.1 2.4G射頻簡介…………………………………………………………… 124
16.2 硬體設計…………………………………………………………………… 133
16.3 軟體設計…………………………………………………………………… 133
16.4 歸納總結…………………………………………………………………… 136
第17章 HelloBLE ……………………………………………………………… 137
17.1 低功耗藍牙簡介…………………………………………………………… 137
17.2 硬體設計…………………………………………………………………… 140
17.3 軟體設計…………………………………………………………………… 140
17.4 歸納總結…………………………………………………………………… 143
第18章 低功耗處理……………………………………………………………… 144
18.1 BLE低功耗處理簡介…………………………………………………… 144
18.1.1
電源管理的特點……………………………………………………… 144
18.1.2 兩種不同的電源模式比較…………………………………………… 144
18.1.3 外設模組啟動後的功耗預估………………………………………… 145
18.1.4 低功耗在軟體中的設定……………………………………………… 146
18.2 硬體設計…………………………………………………………………… 151
18.3 軟體設計…………………………………………………………………… 151
18.4 歸納總結…………………………………………………………………… 152
第19章 低功耗
藍牙協定棧下的Flash操作…………………………………… 157
19.1 存儲管理器(PersistentStorageManager)簡介………………………… 157
19.1.1 API功能介紹………………………………………………………… 159
19.1.2 初始化………………………………………………………………… 160
19.1.3 註冊模組……………………………………………………………… 160
19.1.4 獲取指定Block的Handle ………………………………………… 161
19.1.5 讀取Flash中的數據………………………………………………… 161
19.1.6 存儲數據……………………………………………………………… 162
19.1.7 清除數據……………………………………………………………… 163
19.1.8 更新數據……………………………………………………………… 164
19.1.9 獲取對Flash操作掛起的任務數量………………………………… 165
19.2 硬體設計…………………………………………………………………… 166
19.3 軟體設計…………………………………………………………………… 166
19.4 歸納總結…………………………………………………………………… 170
第20章 OLED 顯示屏套用……………………………………………………… 172
20.1
OLED顯示屏簡介………………………………………………………… 172
20.2 硬體設計…………………………………………………………………… 173
20.3 軟體設計…………………………………………………………………… 174
20.4 歸納總結…………………………………………………………………… 180
第21章 DFU 固件空中升級……………………………………………………… 182
21.1 DFU 簡介………………………………………………………………… 182
21.2 硬體設計…………………………………………………………………… 186
21.3 軟體設計…………………………………………………………………… 187
21.4 歸納總結…………………………………………………………………… 188
21.4.1 燒錄固件到實驗板…………………………………………………… 188
21.4.2 將.axf生成.bin檔案……………………………………………… 189
21.4.3 使用
zip檔案在手機進行DFU …………………………………… 192
第22章 低功耗藍牙主機端套用………………………………………………… 194
22.1 低功耗藍牙主機簡介……………………………………………………… 194
22.2 硬體設計…………………………………………………………………… 196
22.3 軟體設計…………………………………………………………………… 197
22.4 歸納總結…………………………………………………………………… 202
第23章 低功耗藍牙血壓計……………………………………………………… 204
23.1 低功耗藍牙血壓計簡介…………………………………………………… 204
23.2 硬體設計…………………………………………………………………… 205
23.3 軟體設計…………………………………………………………………… 206
23.4 歸納總結…………………………………………………………………… 211
第24章 低功耗藍牙
溫濕度計…………………………………………………… 214
24.1 溫濕度計簡介……………………………………………………………… 214
24.2 硬體設計…………………………………………………………………… 215
24.3 軟體設計…………………………………………………………………… 216
24.4 歸納總結…………………………………………………………………… 220
第25章 低功耗藍牙計步器……………………………………………………… 221
25.1 計步器簡介………………………………………………………………… 221
25.2 硬體設計…………………………………………………………………… 222
25.3 軟體設計…………………………………………………………………… 223
25.4 歸納總結…………………………………………………………………… 230
第26章 低功耗藍牙心率計……………………………………………………… 231
26.1 心率計簡介………………………………………………………………… 231
26.2 硬體設計…………………………………………………………………… 231
26.3 軟體設計…………………………………………………………………… 234
26.4 歸納總結…………………………………………………………………… 238
參考文獻……………………………………………………………………………… 240