舉報

會員
21天入門低功耗藍牙5.x開發
最新章節:
封底
本書主要介紹低功耗藍牙5.x的開發技術,主要內容包括開發環境的搭建、最小硬件系統、廣播的實現、雙向通信的實現、電池電量服務的添加、私有服務的添加、配對和綁定功能的實現、主機掃描、主機連接、主從一體的實現、多主多從的實現、高速率通信的實現、長距離通信的實現、擴展廣播數據包的實現、基于QSPI驅動LCD、基于FreeRTOS的復雜應用、FDS的實現、OTA的實現、基于串口的DFU實現、PTR9818模塊的開發等內容。通過本書的學習,讀者不僅可以掌握低功耗藍牙5.x的開發技術,也可以學習物聯網的知識、培養物聯網的思維,還可以提高自身的動手能力和創新能力。
- 封底 更新時間:2022-08-16 18:15:03
- 后記
- 參考文獻
- 21.4 實驗小結
- 21.3.3 UART的配置
- 21.3.2 外設的配置
- 21.3.1 低頻時鐘源的配置
- 21.3 實驗配置
- 21.2 實驗背景
- 21.1 實驗目標
- 第21章 實驗20:基于低功耗藍牙模塊PTR9818的開發
- 20.6 實驗小結
- 20.5 實驗要點
- 20.4 實驗步驟
- 20.3 背景知識
- 20.2 實驗準備
- 20.1 實驗目標
- 第20章 實驗19:基于串口的DFU實現
- 19.6 實驗小結
- 19.5.3 實驗要點
- 19.5.2 Bootloader程序的關鍵代碼
- 19.5.1 ble_app_buttonless_dfu服務的關鍵代碼
- 19.5 實驗關鍵代碼與實驗要點
- 19.4 實驗步驟
- 19.3.3 基于Nordic的SDK實現DFU的原理
- 19.3.2 OTA簡介
- 19.3.1 DFU簡介
- 19.3 背景知識
- 19.2 實驗準備
- 19.1 實驗目標
- 第19章 實驗18:固件空中升級(OTA)的實現
- 18.5 實驗小結
- 18.4.2 FDS存儲功能的實現
- 18.4.1 FDS模塊的移植
- 18.4 實驗步驟
- 18.3.6 使用FDS的注意事項
- 18.3.5 FDS的常用API函數簡介
- 18.3.4 FDS的操作類型
- 18.3.3 FDS區域
- 18.3.2 FDS的實現原理
- 18.3.1 FDS簡介
- 18.3 背景知識
- 18.2 實驗準備
- 18.1 實驗目標
- 第18章 實驗17:FDS的實現
- 17.5 實驗小結
- 17.4 實驗步驟
- 17.3.3 RTOS的移植
- 17.3.2 在RTOS中自定義線程
- 17.3.1 FreeRTOS簡介
- 17.3 背景知識
- 17.2 實驗準備
- 17.1 實驗目標
- 第17章 實驗16:基于FreeRTOS實現復雜應用
- 16.5 實驗小結
- 16.4 實驗步驟
- 16.3.3 QSPI接口與LCD模塊的連接
- 16.3.2 LCD模塊簡介
- 16.3.1 QSPI簡介
- 16.3 背景知識
- 16.2 實驗準備
- 16.1 實驗目標
- 第16章 實驗15:基于QSPI驅動LCD
- 15.5 實驗小結
- 15.4 實驗步驟
- 15.3.3 OLED簡介
- 15.3.2 SPI的工作方式
- 15.3.1 SPI簡介
- 15.3 背景知識
- 15.2 實驗準備
- 15.1 實驗目標
- 第15章 實驗14:基于SPI驅動OLED
- 14.5 實驗小結
- 14.4 實驗步驟
- 14.3.2 低功耗藍牙5.x擴展廣播數據包的應用場景
- 14.3.1 低功耗藍牙5.x擴展廣播數據包的格式
- 14.3 背景知識
- 14.2 實驗準備
- 14.1 實驗目標
- 第14章 實驗13:低功耗藍牙擴展廣播數據包的實現
- 13.5 實驗小結
- 13.4.3 長距離通信的測試
- 13.4.2 低功耗藍牙5.x長距離通信的實現
- 13.4.1 長距離通信的PHY配置和數據吞吐率測試
- 13.4 實驗步驟
- 13.3.4 長距離通信的應用創新
- 13.3.3 長距離通信的傳輸速率
- 13.3.2 長距離通信的編碼
- 13.3.1 鏈路預算和無線電波傳播損耗
- 13.3 背景知識
- 13.2 實驗準備
- 13.1 實驗目標
- 第13章 實驗12:低功耗藍牙長距離通信的實現
- 12.5 實驗小結
- 12.4.2 LE 2M PHY高速率通信的實現
- 12.4.1 SDK例程測試
- 12.4 實驗步驟
- 12.3.5 低功耗藍牙LE 2M PHY高速率通信的應用
- 12.3.4 低功耗藍牙的數據吞吐率
- 12.3.3 低功耗藍牙數據包的完整傳輸周期
- 12.3.2 低功耗藍牙數據包的組成
- 12.3.1 低功耗藍牙LE 2M PHY高速率通信
- 12.3 背景知識
- 12.2 實驗準備
- 12.1 實驗目標
- 第12章 實驗11:LE 2M PHY高速率通信的實現
- 11.5 實驗小結
- 11.4.2 低功耗藍牙多主多從功能的演示
- 11.4.1 低功耗藍牙多主多從功能的實現
- 11.4 實驗步驟
- 11.3 背景知識
- 11.2 實驗準備
- 11.1 實驗目標
- 第11章 實驗10:低功耗藍牙多主多從的實現
- 10.5 實驗小結
- 10.4.2 低功耗藍牙主從一體功能的演示
- 10.4.1 低功耗藍牙主從一體功能的實現
- 10.4 實驗步驟
- 10.3 背景知識
- 10.2 實驗準備
- 10.1 實驗目標
- 第10章 實驗9:低功耗藍牙主從一體的實現
- 9.5 實驗小結
- 9.4 實驗步驟
- 9.3.5 iOS對連接參數的要求
- 9.3.4 連接參數的優化
- 9.3.3 連接的重要參數
- 9.3.2 連接的過程
- 9.3.1 連接的概念
- 9.3 背景知識
- 9.2 實驗準備
- 9.1 實驗目標
- 第9章 實驗8:低功耗藍牙的主機連接
- 8.5 實驗小結
- 8.4.3 篩選廣播數據包中的數據
- 8.4.2 掃描附近所有設備
- 8.4.1 掃描例程講解
- 8.4 實驗步驟
- 8.3.4 主動掃描和被動掃描
- 8.3.3 主機掃描的原理
- 8.3.2 掃描的概念
- 8.3.1 廣播的概念
- 8.3 背景知識
- 8.2 實驗準備
- 8.1 實驗目標
- 第8章 實驗7:低功耗藍牙的主機掃描
- 7.6 實驗小結
- 7.5 實驗拓展
- 7.4.4 數字比較的實現
- 7.4.3 Passkey配對模式的實現
- 7.4.2 在例程ble_app_hrs中添加NUS
- 7.4.1 綁定模塊移植
- 7.4 實驗步驟
- 7.3.6 與綁定功能相關的常用API函數
- 7.3.5 例程講解
- 7.3.4 綁定的方式(等級)
- 7.3.3 綁定的流程
- 7.3.2 相關概念知識
- 7.3.1 配對和綁定的定義
- 7.3 背景知識
- 7.2 實驗準備
- 7.1 實驗目標
- 第7章 實驗6:添加配對、綁定功能
- 6.6 實驗小結
- 6.5.2 實驗觀察
- 6.5.1 應用固件的燒寫與測試
- 6.5 應用的實驗與測試
- 6.4.5 修改按鍵的邏輯
- 6.4.4 修改LBS中LED的特性
- 6.4.3 初始化LBS
- 6.4.2 修改sdk_config.h中相應的宏
- 6.4.1 移植庫文件
- 6.4 實驗步驟
- 6.3 背景知識
- 6.2 實驗準備
- 6.1 實驗目標
- 第6章 實驗5:添加私有服務
- 5.6 實驗小結
- 5.5.4 實驗觀察
- 5.5.3 添加電池電量服務的注意事項
- 5.5.2 查看電池電量服務數據
- 5.5.1 編譯和燒寫
- 5.5 應用固件的燒寫和調試
- 5.4 實驗步驟
- 5.3 背景知識
- 5.2 實驗準備
- 5.1 實驗目標
- 第5章 實驗4:添加電池電量服務
- 4.8 實驗小結
- 4.7 資料學習
- 4.6.2 RTT打印Log
- 4.6.1 nrfjprog命令行工具
- 4.6 開發調試工具
- 4.5.5 實驗分析
- 4.5.4 實際測試
- 4.5.3 代碼實例測試
- 4.5.2 影響傳輸速率的主要因素
- 4.5.1 傳輸速率的理論值
- 4.5 低功耗藍牙5.x的傳輸速率
- 4.4.3 協議棧初始化分析
- 4.4.2 main函數的解析
- 4.4.1 低功耗藍牙5.x串口通信服務的實現
- 4.4 實驗步驟
- 4.3.2 低功耗藍牙5.x雙向通信的連接建立過程
- 4.3.1 低功耗藍牙5.x雙向通信的基本概念
- 4.3 背景知識
- 4.2 實驗準備
- 4.1 實驗目標
- 第4章 實驗3:低功耗藍牙5.x雙向通信的實現
- 3.5 實驗小結
- 3.4.4 代碼實戰
- 3.4.3 廣播內容和廣播參數的修改
- 3.4.2 低功耗藍牙5.x廣播名稱的修改
- 3.4.1 低功耗藍牙5.x廣播的初始化
- 3.4 實驗步驟
- 3.3.4 廣播數據包的類型
- 3.3.3 常見的廣播內容
- 3.3.2 廣播數據包的格式
- 3.3.1 廣播
- 3.3 背景知識
- 3.2 實驗準備
- 3.1 實驗目標
- 第3章 實驗2:低功耗藍牙5.x廣播的實現
- 2.4 實驗小結
- 2.3 nRF52840硬件設計的注意事項
- 2.2.7 NFC電路
- 2.2.6 USB電路
- 2.2.5 去耦電容
- 2.2.4 匹配電路
- 2.2.3 時鐘電路
- 2.2.2 內部電源穩壓方式
- 2.2.1 供電方式
- 2.2 nRF52840最小硬件系統電路
- 2.1 實驗目標
- 第2章 實驗1:低功耗藍牙5.x SoC之nRF52840最小硬件系統
- 1.5.4 芯片選型表
- 1.5.3 Log打印功能
- 1.5.2 Softdevice協議棧介紹
- 1.5.1 在SES中將nRF52832的工程移植到nRF52840
- 1.5 如何將工程移植到不同的芯片
- 1.4 SES集成開發環境的使用
- 1.3 nRF5 SDK介紹和目錄結構解讀
- 1.2.6 APTR-xxxx-EVB低功耗藍牙模塊評估板
- 1.2.5 PTR9818模塊的固件燒寫方式
- 1.2.4 PTR9818介紹
- 1.2.3 nRF52840 DK開發板的燒寫方式
- 1.2.2 nRF52840 DK開發板簡介
- 1.2.1 簡介
- 1.2 nRF52840 DK開發板上的燒寫器介紹
- 1.1.3 其他工具的安裝
- 1.1.2 Keil MDK的搭建
- 1.1.1 SES的搭建
- 1.1 基于Nordic nRF52840 DK開發環境之搭建
- 第1章 低功耗藍牙5.x開發環境之搭建
- 前言
- 序言2
- 序言1
- 內容簡介
- 版權信息
- 封面
- 封面
- 版權信息
- 內容簡介
- 序言1
- 序言2
- 前言
- 第1章 低功耗藍牙5.x開發環境之搭建
- 1.1 基于Nordic nRF52840 DK開發環境之搭建
- 1.1.1 SES的搭建
- 1.1.2 Keil MDK的搭建
- 1.1.3 其他工具的安裝
- 1.2 nRF52840 DK開發板上的燒寫器介紹
- 1.2.1 簡介
- 1.2.2 nRF52840 DK開發板簡介
- 1.2.3 nRF52840 DK開發板的燒寫方式
- 1.2.4 PTR9818介紹
- 1.2.5 PTR9818模塊的固件燒寫方式
- 1.2.6 APTR-xxxx-EVB低功耗藍牙模塊評估板
- 1.3 nRF5 SDK介紹和目錄結構解讀
- 1.4 SES集成開發環境的使用
- 1.5 如何將工程移植到不同的芯片
- 1.5.1 在SES中將nRF52832的工程移植到nRF52840
- 1.5.2 Softdevice協議棧介紹
- 1.5.3 Log打印功能
- 1.5.4 芯片選型表
- 第2章 實驗1:低功耗藍牙5.x SoC之nRF52840最小硬件系統
- 2.1 實驗目標
- 2.2 nRF52840最小硬件系統電路
- 2.2.1 供電方式
- 2.2.2 內部電源穩壓方式
- 2.2.3 時鐘電路
- 2.2.4 匹配電路
- 2.2.5 去耦電容
- 2.2.6 USB電路
- 2.2.7 NFC電路
- 2.3 nRF52840硬件設計的注意事項
- 2.4 實驗小結
- 第3章 實驗2:低功耗藍牙5.x廣播的實現
- 3.1 實驗目標
- 3.2 實驗準備
- 3.3 背景知識
- 3.3.1 廣播
- 3.3.2 廣播數據包的格式
- 3.3.3 常見的廣播內容
- 3.3.4 廣播數據包的類型
- 3.4 實驗步驟
- 3.4.1 低功耗藍牙5.x廣播的初始化
- 3.4.2 低功耗藍牙5.x廣播名稱的修改
- 3.4.3 廣播內容和廣播參數的修改
- 3.4.4 代碼實戰
- 3.5 實驗小結
- 第4章 實驗3:低功耗藍牙5.x雙向通信的實現
- 4.1 實驗目標
- 4.2 實驗準備
- 4.3 背景知識
- 4.3.1 低功耗藍牙5.x雙向通信的基本概念
- 4.3.2 低功耗藍牙5.x雙向通信的連接建立過程
- 4.4 實驗步驟
- 4.4.1 低功耗藍牙5.x串口通信服務的實現
- 4.4.2 main函數的解析
- 4.4.3 協議棧初始化分析
- 4.5 低功耗藍牙5.x的傳輸速率
- 4.5.1 傳輸速率的理論值
- 4.5.2 影響傳輸速率的主要因素
- 4.5.3 代碼實例測試
- 4.5.4 實際測試
- 4.5.5 實驗分析
- 4.6 開發調試工具
- 4.6.1 nrfjprog命令行工具
- 4.6.2 RTT打印Log
- 4.7 資料學習
- 4.8 實驗小結
- 第5章 實驗4:添加電池電量服務
- 5.1 實驗目標
- 5.2 實驗準備
- 5.3 背景知識
- 5.4 實驗步驟
- 5.5 應用固件的燒寫和調試
- 5.5.1 編譯和燒寫
- 5.5.2 查看電池電量服務數據
- 5.5.3 添加電池電量服務的注意事項
- 5.5.4 實驗觀察
- 5.6 實驗小結
- 第6章 實驗5:添加私有服務
- 6.1 實驗目標
- 6.2 實驗準備
- 6.3 背景知識
- 6.4 實驗步驟
- 6.4.1 移植庫文件
- 6.4.2 修改sdk_config.h中相應的宏
- 6.4.3 初始化LBS
- 6.4.4 修改LBS中LED的特性
- 6.4.5 修改按鍵的邏輯
- 6.5 應用的實驗與測試
- 6.5.1 應用固件的燒寫與測試
- 6.5.2 實驗觀察
- 6.6 實驗小結
- 第7章 實驗6:添加配對、綁定功能
- 7.1 實驗目標
- 7.2 實驗準備
- 7.3 背景知識
- 7.3.1 配對和綁定的定義
- 7.3.2 相關概念知識
- 7.3.3 綁定的流程
- 7.3.4 綁定的方式(等級)
- 7.3.5 例程講解
- 7.3.6 與綁定功能相關的常用API函數
- 7.4 實驗步驟
- 7.4.1 綁定模塊移植
- 7.4.2 在例程ble_app_hrs中添加NUS
- 7.4.3 Passkey配對模式的實現
- 7.4.4 數字比較的實現
- 7.5 實驗拓展
- 7.6 實驗小結
- 第8章 實驗7:低功耗藍牙的主機掃描
- 8.1 實驗目標
- 8.2 實驗準備
- 8.3 背景知識
- 8.3.1 廣播的概念
- 8.3.2 掃描的概念
- 8.3.3 主機掃描的原理
- 8.3.4 主動掃描和被動掃描
- 8.4 實驗步驟
- 8.4.1 掃描例程講解
- 8.4.2 掃描附近所有設備
- 8.4.3 篩選廣播數據包中的數據
- 8.5 實驗小結
- 第9章 實驗8:低功耗藍牙的主機連接
- 9.1 實驗目標
- 9.2 實驗準備
- 9.3 背景知識
- 9.3.1 連接的概念
- 9.3.2 連接的過程
- 9.3.3 連接的重要參數
- 9.3.4 連接參數的優化
- 9.3.5 iOS對連接參數的要求
- 9.4 實驗步驟
- 9.5 實驗小結
- 第10章 實驗9:低功耗藍牙主從一體的實現
- 10.1 實驗目標
- 10.2 實驗準備
- 10.3 背景知識
- 10.4 實驗步驟
- 10.4.1 低功耗藍牙主從一體功能的實現
- 10.4.2 低功耗藍牙主從一體功能的演示
- 10.5 實驗小結
- 第11章 實驗10:低功耗藍牙多主多從的實現
- 11.1 實驗目標
- 11.2 實驗準備
- 11.3 背景知識
- 11.4 實驗步驟
- 11.4.1 低功耗藍牙多主多從功能的實現
- 11.4.2 低功耗藍牙多主多從功能的演示
- 11.5 實驗小結
- 第12章 實驗11:LE 2M PHY高速率通信的實現
- 12.1 實驗目標
- 12.2 實驗準備
- 12.3 背景知識
- 12.3.1 低功耗藍牙LE 2M PHY高速率通信
- 12.3.2 低功耗藍牙數據包的組成
- 12.3.3 低功耗藍牙數據包的完整傳輸周期
- 12.3.4 低功耗藍牙的數據吞吐率
- 12.3.5 低功耗藍牙LE 2M PHY高速率通信的應用
- 12.4 實驗步驟
- 12.4.1 SDK例程測試
- 12.4.2 LE 2M PHY高速率通信的實現
- 12.5 實驗小結
- 第13章 實驗12:低功耗藍牙長距離通信的實現
- 13.1 實驗目標
- 13.2 實驗準備
- 13.3 背景知識
- 13.3.1 鏈路預算和無線電波傳播損耗
- 13.3.2 長距離通信的編碼
- 13.3.3 長距離通信的傳輸速率
- 13.3.4 長距離通信的應用創新
- 13.4 實驗步驟
- 13.4.1 長距離通信的PHY配置和數據吞吐率測試
- 13.4.2 低功耗藍牙5.x長距離通信的實現
- 13.4.3 長距離通信的測試
- 13.5 實驗小結
- 第14章 實驗13:低功耗藍牙擴展廣播數據包的實現
- 14.1 實驗目標
- 14.2 實驗準備
- 14.3 背景知識
- 14.3.1 低功耗藍牙5.x擴展廣播數據包的格式
- 14.3.2 低功耗藍牙5.x擴展廣播數據包的應用場景
- 14.4 實驗步驟
- 14.5 實驗小結
- 第15章 實驗14:基于SPI驅動OLED
- 15.1 實驗目標
- 15.2 實驗準備
- 15.3 背景知識
- 15.3.1 SPI簡介
- 15.3.2 SPI的工作方式
- 15.3.3 OLED簡介
- 15.4 實驗步驟
- 15.5 實驗小結
- 第16章 實驗15:基于QSPI驅動LCD
- 16.1 實驗目標
- 16.2 實驗準備
- 16.3 背景知識
- 16.3.1 QSPI簡介
- 16.3.2 LCD模塊簡介
- 16.3.3 QSPI接口與LCD模塊的連接
- 16.4 實驗步驟
- 16.5 實驗小結
- 第17章 實驗16:基于FreeRTOS實現復雜應用
- 17.1 實驗目標
- 17.2 實驗準備
- 17.3 背景知識
- 17.3.1 FreeRTOS簡介
- 17.3.2 在RTOS中自定義線程
- 17.3.3 RTOS的移植
- 17.4 實驗步驟
- 17.5 實驗小結
- 第18章 實驗17:FDS的實現
- 18.1 實驗目標
- 18.2 實驗準備
- 18.3 背景知識
- 18.3.1 FDS簡介
- 18.3.2 FDS的實現原理
- 18.3.3 FDS區域
- 18.3.4 FDS的操作類型
- 18.3.5 FDS的常用API函數簡介
- 18.3.6 使用FDS的注意事項
- 18.4 實驗步驟
- 18.4.1 FDS模塊的移植
- 18.4.2 FDS存儲功能的實現
- 18.5 實驗小結
- 第19章 實驗18:固件空中升級(OTA)的實現
- 19.1 實驗目標
- 19.2 實驗準備
- 19.3 背景知識
- 19.3.1 DFU簡介
- 19.3.2 OTA簡介
- 19.3.3 基于Nordic的SDK實現DFU的原理
- 19.4 實驗步驟
- 19.5 實驗關鍵代碼與實驗要點
- 19.5.1 ble_app_buttonless_dfu服務的關鍵代碼
- 19.5.2 Bootloader程序的關鍵代碼
- 19.5.3 實驗要點
- 19.6 實驗小結
- 第20章 實驗19:基于串口的DFU實現
- 20.1 實驗目標
- 20.2 實驗準備
- 20.3 背景知識
- 20.4 實驗步驟
- 20.5 實驗要點
- 20.6 實驗小結
- 第21章 實驗20:基于低功耗藍牙模塊PTR9818的開發
- 21.1 實驗目標
- 21.2 實驗背景
- 21.3 實驗配置
- 21.3.1 低頻時鐘源的配置
- 21.3.2 外設的配置
- 21.3.3 UART的配置
- 21.4 實驗小結
- 參考文獻
- 后記
- 封底 更新時間:2022-08-16 18:15:03