《 Cypress WICED物聯網開發指南:從感測器、無線接入到雲端》是2019年電子工業出版社出版的圖書,作者是何賓。
基本介紹
- 中文名:Cypress WICED物聯網開發指南:從感測器、無線接入到雲端
- 作者:何賓
- 出版時間:2019年1月
- 出版社:電子工業出版社
- 頁數:320 頁
- ISBN:9787121359040
- 定價:79 元
- 裝幀:平裝
- 千 字 數:512
- 版次:01-01
內容簡介,圖書目錄,
內容簡介
本書以Cypress公司的WICED Studio軟體集成開發工具、Wi-Fi和藍牙單晶片,以及PSoC6 MCU為基礎,詳細介紹了物聯網中實現基於Wi-Fi和藍牙技術的無線接入與套用方法。本書分為3篇,共12章,主要內容包括物聯網基礎、WICED Studio集成開發環境、驅動和控制外設的設計與實現、實時作業系統原理及套用、使用WICED-SDK庫檔案、Wi-Fi接入原理及實現、TCP/IP套接字原理及實現方法、HTTP1.1協定的分析及套用、亞馬遜雲端連線和套用實現、藍牙接入技術原理、藍牙連線的實現和基本套用,以及藍牙連線的實現和高級套用。 本書反映了基於Cypress公司軟體和硬體產品開發物聯網套用的新成果,系統化、模組化地介紹了在WICED Studio集成開發環境下將設備通過Wi-Fi和藍牙技術接入物聯網的實現方法。 本書在介紹這些內容時,注意理論和實踐相結合,同時給出了大量的設計實例,使讀者能夠掌握這一新的設計技術,以便推動新物聯網開發技術在國內的普及與推廣。
圖書目錄
第 1 篇
WICED集成開發環境介紹和基本套用
第1章 物聯網基礎 3
1.1 物聯網的定義 3
1.2 物聯網中的技術 5
1.3 物聯網架構 6
1.3.1 高級視圖 7
1.3.2 功能結構 7
1.3.3 分層模型 8
1.4 物聯網面臨的挑戰 8
1.5 Cypress提供的IoT開發平台 9
第2章 WICED Studio集成開發環境 11
2.1 WICED Studio的下載和安裝 11
2.1.1 WICED Studio的下載 11
2.1.2 WICED Studio的安裝 13
2.1.3 WICED SDK架構 14
2.2 WICED Studio軟體主設計界面 16
2.2.1 “Project Explorer”視窗 18
2.2.2 文檔系統 20
2.3 WICED Studio支持的Wi-Fi晶片 22
2.4 運行第一個WICED設計 23
2.4.1 查找演示設計案例 23
2.4.2 項目的命名規則 24
2.4.3 生成新的Make Target 24
2.4.4 運行新生成的Make Target 26
第3章 驅動和控制外設的設計與實現 29
3.1 設計所使用硬體平台的特性與功能 29
3.2 設計並實現第一個WICED套用 30
3.2.1 複製設計模板 31
3.2.2 修改control_gpio.c檔案 33
3.2.3 修改control_gpio.mk檔案 36
3.2.4 生成新的Make Target 37
3.2.5 運行新生成的Make Target 37
3.3 中斷程式的設計與實現 37
3.3.1 複製設計檔案 37
3.3.2 生成新的Make Target 40
3.3.3 運行新生成的Make Target 40
3.4 脈衝寬度程式的設計與實現 41
3.4.1 複製設計檔案 41
3.4.2 生成新的Make Target 42
3.4.3 運行新生成的Make Target 42
3.5 串口傳送程式的設計與實現 43
3.5.1 複製設計檔案 43
3.5.2 生成新的Make Target 46
3.5.3 運行新生成的Make Target 46
3.6 串口接收程式的設計與實現 47
3.6.1 複製設計檔案 48
3.6.2 生成新的Make Target 50
3.6.3 運行新生成的Make Target 50
3.7 模擬-數字轉換程式的設計與實現 51
3.7.1 複製設計檔案 51
3.7.2 生成新的Make Target 52
3.7.3 運行新生成的Make Target 53
第4章 實時作業系統原理及套用 54
4.1 實時作業系統的功能 54
4.2 WICED RTOS抽象層 55
4.3 執行緒的原理及實現 55
4.3.1 執行緒的原理 56
4.3.2 執行緒的實現 57
4.4 信號量的原理及套用 60
4.4.1 信號量的原理 60
4.4.2 信號量的套用 61
4.5 互斥的原理及套用 65
4.5.1 互斥的原理 65
4.5.2 互斥的套用 65
4.6 佇列的原理及套用 69
4.6.1 佇列的原理 69
4.6.2 佇列的套用 70
4.7 定時器的原理及套用 73
4.7.1 定時器的基本原理 73
4.7.2 定時器的套用 74
第5章 使用WICED-SDK庫檔案 77
5.1 WICED-SDK庫檔案架構 77
5.2 WICED-SDK庫檔案套用實例-網路測試 78
5.2.1 生成新的Make Target 78
5.2.2 運行新生成的Make Target 78
5.2.3 運行Iperf工具 80
5.3 WICED-SDK庫檔案套用實例-TFT顯示 81
5.3.1 TFT顯示模組硬體設計原理 81
5.3.2 複製設計檔案 82
5.3.3 生成新的Make Target 83
5.3.4 運行新生成的Make Target 83
第 2 篇
Wi-Fi接入技術和物聯網套用
第6章 Wi-Fi接入原理及實現 87
6.1 TCP/IP網路協定棧 87
6.2 Wi-Fi接入技術中的基本術語 89
6.3 Wi-Fi/BT模組結構和功能 92
6.3.1 硬體連線原理 92
6.3.2 CYW4343W支持的標準和協定 93
6.3.3 CYW4343W WLAN MAC特性 93
6.3.4 CYW4343W WLAN PHY特性 95
6.3.5 CYW4343W WLAN射頻子系統 96
6.4 WICED中提供的接入資源 96
6.4.1 設備配置表 97
6.4.2 WICED Wi-Fi SDK 100
6.4.3 返回值狀態 101
6.4.4 文檔 102
6.4.5 導引器 103
6.5 WICED設備連線到網路的實現 104
6.5.1 複製設計檔案 104
6.5.2 生成新的Make Target 106
6.5.3 運行新生成的Make Target 107
6.6 列印WICED設備網路信息的實現 108
6.6.1 複製設計檔案 108
6.6.2 生成新的Make Target 110
6.6.3 運行新生成的Make Target 111
6.7 在兩個SSID之間切換的套用實現 112
6.7.1 複製設計檔案 112
6.7.2 生成新的Make Target 115
6.7.3 運行新生成的Make Target 115
第7章 TCP/IP套接字原理及實現方法 117
7.1 使用TCP/IP套接字建立通信 117
7.1.1 TCP通信基本原理——套接字 117
7.1.2 使用套接字的WICED TCP伺服器和客戶端 118
7.1.3 使用流傳送和接收數據 120
7.1.4 使用WICED以TCP客戶端形式用數據包傳輸數據 121
7.1.5 使用WICED以TCP伺服器形式接收數據包 123
7.2 WICED套接字文檔-非安全連線 124
7.3 安全性 124
7.4 X.509證書 128
7.4.1 基礎知識 128
7.4.2 下載證書 129
7.4.3 創建自己的證書 133
7.4.4 在WICED中使用證書 133
7.5 帶有TLS的TCP/IP套接字 135
第8章 HTTP1.1協定的分析及套用 139
8.1 雲的基本概念 139
8.2 套用層協定 139
8.2.1 超文本傳輸協定 140
8.2.2 訊息佇列遙測傳輸協定 141
8.2.3 約束套用協定 142
8.2.4 高級訊息佇列協定 142
8.2.5 JS對象標記 143
8.3 HTTP1.1協定詳解 143
8.3.1 客戶端請求 144
8.3.2 伺服器回響 147
8.3.3 CURL工具 148
8.3.4 REST和RESTful API 153
8.3.5 WCIED HTTP1.1客服端庫 154
8.3.6 Httpbin.org 156
8.4 非安全的HTTP連線 157
8.4.1 複製設計檔案 157
8.4.2 生成新的Make Target 163
8.4.3 運行新生成的Make Target 163
8.5 安全的HTTP連線 164
8.5.1 複製設計檔案 165
8.5.2 生成新的Make Target 170
8.5.3 運行新生成的Make Target 170
8.6 向網站提交數據-非安全連線 171
8.6.1 複製設計檔案 171
8.6.2 生成新的Make Target 175
8.6.3 運行新生成的Make Target 175
8.7 向網站提交數據-安全連線 176
8.7.1 複製設計檔案 176
8.7.2 生成新的Make Target 181
8.7.3 運行新生成的Make Target 182
8.8 使用Web API驗證電話信息 183
8.8.1 通過瀏覽器訪問該網站 183
8.8.2 複製設計檔案 185
8.8.3 生成新的Make Target 191
8.8.4 運行新生成的Make Target 191
8.9 使用文本串傳送請求的實現 193
8.9.1 複製設計檔案 193
8.9.2 生成新的Make Target 195
8.9.3 運行新生成的Make Target 195
第9章 亞馬遜雲端連線和套用實現 197
9.1 亞馬遜AWS物聯網雲服務概述 197
9.2 亞馬遜AWS IoT雲服務的資源 198
9.3 亞馬遜AWS MQTT基本操作 199
9.3.1 註冊賬戶 199
9.3.2 登錄賬戶 203
9.3.3 AWS IoT教程 204
9.3.4 配置AWS IoT Thing的流程 205
9.3.5 主題 211
9.3.6 設備影子主題 212
9.3.7 將MQTT與AWS配合使用 212
9.3.8 將HTTPS與AWS配合使用 213
9.3.9 使用AWS MQTT測試客戶端 213
9.4 在AWS雲端發布訊息的實現 215
9.4.1 複製和重命名證書檔案 215
9.4.2 複製和修改設計檔案 216
9.4.3 生成新的Make Target 224
9.4.4 運行新生成的Make Target 225
9.5 AWS雲端訂閱信息控制外設的實現 227
9.5.1 複製和修改設計檔案 227
9.5.2 生成新的Make Target 234
9.5.3 運行新生成的Make Target 234
9.6 AWS雲端訂閱和發布訊息的綜合實現 236
9.6.1 設計目標 236
9.6.2 複製設計檔案 236
9.7 AWS雲端事物影子的操作實現 237
9.7.1 設計目標 237
9.7.2 複製設計檔案 237
第 3 篇
藍牙接入技術和物聯網套用
第10章 藍牙接入技術原理 241
10.1 藍牙技術的起源 241
10.2 藍牙技術的發展歷程 241
10.3 藍牙版本的演進 242
10.4 低功耗藍牙模式 246
10.5 低功耗藍牙協定 246
10.5.1 物理層 247
10.5.2 鏈路層 248
10.5.3 主機控制接口層 250
10.5.4 邏輯鏈路控制和自適應協定層 251
10.5.5 屬性協定層 251
10.5.6 安全管理協定層 251
10.5.7 通用接入規範層 251
10.5.8 通用屬性配置檔案層 252
10.5.9 用戶應用程式層 253
10.6 CYW4343W藍牙子系統特性及功能 253
10.6.1 主要特性 253
10.6.2 藍牙射頻 254
10.6.3 藍牙基帶核 256
10.6.4 用於藍牙的微處理器和存儲器單元 257
10.6.5 藍牙外圍傳輸單元-PCM接口 258
10.6.6 藍牙外圍傳輸單元-UART接口 259
10.6.7 藍牙外圍傳輸單元-I2S接口 259
第11章 藍牙連線的實現和基本套用 260
11.1 WICED BLE系統實現的任務 260
11.1.1 打開WICED藍牙協定棧 260
11.1.2 開始廣播 261
11.1.3 進行連線 262
11.1.4 交換數據 262
11.2 廣播包 263
11.3 屬性、GAP和GATT資料庫 265
11.3.1 屬性 265
11.3.2 配置檔案-服務-特徵 265
11.3.3 在GATT資料庫中的服務聲明 266
11.3.4 GATT資料庫中特徵的聲明 266
11.4 WICED藍牙協定棧事件 268
11.4.1 重要的藍牙管理事件 268
11.4.2 重要的GATT事件 268
11.4.3 重要的GATT子事件 268
11.5 WICED藍牙固件架構 269
11.5.1 打開協定棧 269
11.5.2 開始廣播 270
11.5.3 進行連線 271
11.5.4 交換數據——讀(從中心) 271
11.5.5 交換數據——寫(從中心) 272
11.6 WICED GATT資料庫實現 272
11.6.1 gatt_database[]273
11.6.2 gatt_db_ext_attr_tbl 274
11.6.3 用於值的uint8_t數組 275
11.6.4 應用程式接口 275
11.7 使用CySmart控制LED燈的設計與實現 276
11.7.1 安裝CySmart軟體工具 276
11.7.2 複製設計檔案 276
11.7.3 生成新的Make Target 277
11.7.4 運行新生成的Make Target 277
第12章 藍牙連線的實現和高級套用 284
12.1 通知和指示 284
12.2 其他特徵描述符 285
12.3 安全性 286
12.3.1 配對 286
12.3.2 綁定 287
12.3.3 配對和綁定過程總結 287
12.3.4 身份驗證、授權和GATT資料庫 288
12.3.5 隱私 288
12.4 WICED配置 288
12.4.1 wiced_bt_cfg.c檔案 288
12.4.2 緩衝池 289
12.5 廣播包 290
12.5.1 使用廣播包獲得連線 290
12.5.2 iBeacon 291
12.5.3 Eddystone 291
12.6 GATT服務發現 292
12.7 WICED藍牙固件結構 292
12.8 WICED晶片和HCI架構 297
12.8.1 HCI 297
12.8.2 BTSPY 298
12.9 分析iBeacon數據格式的實現 298
12.9.1 生成新的Make Target 298
12.9.2 運行新生成的Make Target 298
12.10 傳送通知訊息的實現 300
12.10.1 複製設計檔案 300
12.10.2 生成新的Make Target 302
12.10.3 運行新生成的Make Target 302
12.11 配對的實現 304
12.11.1 複製設計檔案 305
12.11.2 生成新的Make Target 305
12.11.3 運行新生成的Make Target 306