物聯網程式設計:基於微軟的物聯網解決方案

物聯網程式設計:基於微軟的物聯網解決方案

《物聯網程式設計:基於微軟的物聯網解決方案》是2019年5月1日機械工業出版社出版的圖書,作者是[美] 大衛·克勞斯( Dawid Borycki) 。

基本介紹

  • 中文名:物聯網程式設計:基於微軟的物聯網解決方案
  • 作者:[美] 大衛·克勞斯( Dawid Borycki)
  • 出版社:機械工業出版社
  • ISBN:9787111626428
內容簡介,圖書目錄,

內容簡介

本書涵蓋了三個主要的物聯網程式設計部分,可幫助我們快速實施物聯網解決方案。具體內容包括:如何準備開發環境、從感測器讀取數據、與其他配件通信、構建人工視覺、構建電機、構建聽力系統,以及如何將機器學習和人工智慧融入設備。書中還展示了如何設定遠程遙測和預測性維護,如Azure IoT解決方案,以及如何從頭開始構建自定義IoT解決方案。

圖書目錄

譯者序
前言
第一部分 基礎知識
第1章 嵌入式設備編程 2
1.1 什麼是嵌入式設備 2
1.1.1 專用固件 2
1.1.2 微控制器的存儲器 3
1.2 嵌入式設備無處不在 4
1.3 連線嵌入式設備:物聯網 5
1.4 嵌入式設備的基礎 7
1.5 嵌入式設備編程與桌面、Web和移動編程 9
1.5.1 相似之處及用戶互動 9
1.5.2 硬體抽象層 10
1.5.3 魯棒性 10
1.5.4 資源 10
1.5.5 安全 11
1.6 Windows 10 IoT Core和通用Windows平台的優勢 11
1.7 總結 12
第2章 嵌入式設備上的UWP 13
2.1 什麼是Windows 10 IoT Core 13
2.2 UWP的功能 14
2.3 工具的安裝和配置 15
2.3.1 Windows 10 15
2.3.2 Visual Studio 2015或更高版本 16
2.3.3 Windows IoT Core項目模板 17
2.3.4 Windows 10 IoT Core Dashboard 18
2.4 配置設備 19
2.4.1 用於RPi2和RPi3的Windows 10 IoT核心入門套件 19
2.4.2 安裝Windows 10 IoT Core 21
2.4.3 配置開發板 22
2.5 “Hello,World!”Windows IoT 24
2.5.1 電路連線 24
2.5.2 使用C#和C++打開和關閉LED 30
2.6 實用工具和程式 40
2.6.1 Device Portal 40
2.6.2 Windows IoT遠程客戶端 41
2.6.3 SSH 43
2.6.4 FTP 44
2.7 總結 46
第3章 Windows IoT編程精粹 47
3.1 將RPi2連線到外部顯示器並進行引導配置 47
3.2 有界面和無界面模式 48
3.3 無界面套用 50
3.3.1 C# 50
3.3.2 C++ 52
3.3.3 小結 58
3.4 有界面應用程式的入口點 58
3.5 異步編程 63
3.5.1 工作執行緒和執行緒池 63
3.5.2 計時器 66
3.5.3 工作執行緒與UI同步 71
3.6 使用DispatcherTimer閃爍LED 75
3.7 總結 79
第4章 有界面設備的用戶界面設計 80
4.1 UWP應用程式的UI設計 80
4.2 可視化編輯器 81
4.3 XAML命名空間 83
4.4 控制項的聲明、屬性和特性 85
4.5 Style類 87
4.5.1 樣式聲明 87
4.5.2 樣式定義 88
4.5.3 StaticResource和ThemeResource標記擴展 92
4.5.4 視覺狀態和VisualStateManager 95
4.5.5 自適應和狀態觸發器 100
4.5.6 資源集合 103
4.5.7 默認樣式和主題資源 109
4.6 布局 109
4.6.1 StackPanel 109
4.6.2 Grid 111
4.6.3 RelativePanel 114
4.7 事件 116
4.7.1 事件處理 116
4.7.2 事件處理函式和視覺設計器 120
4.7.3 事件傳播 121
4.7.4 聲明和觸發自定義事件 123
4.8 數據綁定 126
4.8.1 綁定控制項屬性 126
4.8.2 轉換器 128
4.8.3 綁定到欄位 129
4.8.4 綁定到方法 134
4.9 總結 136
第二部分 設備編程
第5章 從感測器讀取數據 139
5.1 位、位元組和數據類型 140
5.2 解碼和編碼二進制數據 141
5.2.1 按位運算符 141
5.2.2 移位運算符、位掩碼和二進制表示 141
5.2.3 位元組編碼和位元組順序 150
5.2.4 BitConverter 151
5.2.5 BitArray 153
5.3 Sense HAT擴展板 156
5.4 用戶界面 156
5.5 溫度和氣壓 158
5.6 相對濕度 169
5.7 加速度計和陀螺儀 173
5.8 磁力計 177
5.9 感測器校準 183
5.10 單例模式 184
5.11 總結 185
第6章 輸入和輸出 187
6.1 觸覺按鈕 188
6.2 操縱桿 190
6.2.1 中間件層 191
6.2.2 控制桿狀態可視化 196
6.3 LED陣列 199
6.4 操縱桿和LED陣列集成 206
6.5 LED陣列與感測器讀數集成 209
6.6 觸控螢幕和手勢處理 210
6.7 總結 215
第7章 音頻處理 216
7.1 語音合成 216
7.2 語音識別 220
7.2.1 背景 220
7.2.2 應用程式功能和系統配置 220
7.2.3 UI更改 221
7.2.4 一次性識別 222
7.2.5 連續識別 225
7.3 使用語音命令進行設備控制 227
7.3.1 設定硬體 227
7.3.2 編碼 228
7.4 波的時域和頻域 231
7.4.1 快速傅立葉變換 232
7.4.2 採樣率和頻率範圍 238
7.4.3 分貝 239
7.5 波形譜分析器 240
7.5.1 讀取檔案 240
7.5.2 波形音頻檔案格式閱讀器 241
7.5.3 信號視窗和短時傅立葉變換 244
7.5.4 譜直方圖 245
7.5.5 頻譜顯示:整合 247
7.5.6 在LED陣列上顯示頻譜 250
7.6 總結 254
第8章 圖像處理 255
8.1 使用USB攝像頭獲取圖像 256
8.2 人臉檢測 261
8.3 面部追蹤 265
8.3.1 在UI中顯示面部位置 268
8.3.2 在LED陣列上顯示面部位置 269
8.4 OpenCV與原生代碼接口 272
8.4.1 解決方案配置和OpenCV安裝 272
8.4.2 圖像閾值 274
8.4.3 處理結果的可視化 278
8.4.4 對象檢測 283
8.4.5 用於物體識別的機器視覺 286
8.5 總結 294
第9章 連線設備 295
9.1 串列通信 295
9.1.1 UART環回模式 296
9.1.2 項目輪廓 296
9.1.3 串列設備配置 297
9.1.4 寫數據和讀數據 300
9.2 為設備內部通信寫應用程式 303
9.2.1 連線轉換器 304
9.2.2 遠程控制物聯網設備 305
9.3 藍牙 318
9.3.1 設定連線 319
9.3.2 藍牙綁定和配對 321
9.3.3 LED顏色命令 323
9.3.4 Windows Runtime組件對LedArray類的要求 324
9.3.5 有界面客戶端應用程式 329
9.4 Wi-Fi 331
9.5 AllJoyn 335
9.5.1 內省XML檔案 336
9.5.2 AllJoyn Studio 338
9.5.3 生產者 340
9.5.4 IoT Explorer for AllJoyn 343
9.5.5 自定義消費者 345
9.6 Windows Remote Arduino 350
9.7 總結 350
第10章 電機 351
10.1 電機和設備控制基礎 351
10.2 電機HAT 352
10.3 脈衝寬度調製 353
10.4 直流電機 359
10.4.1 用PWM信號實現電機控制 360
10.4.2 有界面應用程式 363
10.5 步進電機 365
10.5.1 全步模式控制 367
10.5.2 有界面應用程式 372
10.5.3 自動調節速度 373
10.5.4 微步進 376
10.6 伺服電機 381
10.6.1 硬體組裝 382
10.6.2 有界面應用程式 383
10.7 提供者模型 385
10.7.1 Lightning提供者 386
10.7.2 PCA9685控制器提供者 387
10.7.3 直流電機控制 390
10.8 總結 391
第11章 設備學習 392
11.1 微軟認知服務 393
11.1.1 情緒檢測 393
11.1.2 使用LED陣列指示情緒 402
11.1.3 計算機視覺API 404
11.2 定製人工智慧 406
11.2.1 動機和概念 406
11.2.2 Microsoft Azure Machine Learning Studio 408
11.3 異常檢測 416
11.3.1 訓練數據集採集 416
11.3.2 使用一類支持向量機進行異常檢測 421
11.3.3 準備和發布Web服務 424
11.3.4 實現Web服務客戶端 427
11.3.5 組合所有的內容 432
11.4 總結 435
第三部分 Azure IoT Suite
第12章 遠程監控 438
12.1 設定預先配置的解決方案 439
12.2 預配設備 441
12.2.1 註冊新設備 441
12.2.2 傳送設備信息 442
12.3 傳送遙測數據 448
12.4 接收和處理遠程命令 452
12.4.1 更新設備信息 452
12.4.2 回響遠程命令 454
12.5 Azure IoT服務 456
12.6 總結 457
第13章 預測性維護 458
13.1 預配置解決方案 459
13.1.1 解決方案儀錶板 460
13.1.2 機器學習工作區 461
13.1.3 Cortana Analytics Gallery 465
13.2 Azure資源 465
13.3 Azure Storage 467
13.3.1 預測性維護存儲 467
13.3.2 遙測和預測結果存儲 468
13.3.3 設備列表 469
13.4 Azure Stream Analytics 470
13.5 解決方案原始碼 472
13.6 Event Hub和機器學習事件處理器 473
13.6.1 機器學習數據處理器 477
13.6.2 Azure Table存儲 480
13.7 WebJob模擬器 484
13.8 預測性維護Web應用程式 487
13.8.1 模擬服務 487
13.8.2 遙測服務 488
13.9 總結 490
第14章 自定義解決方案 491
14.1 IoT Hub 492
14.1.1 客戶端套用 493
14.1.2 設備註冊表 496
14.1.3 傳送遙測數據 500
14.2 流分析 501
14.2.1 存儲賬戶 501
14.2.2 Azure Table 503
14.2.3 Event Hub 503
14.2.4 Stream Analytics Job 504
14.3 事件處理器 510
14.4 使用Microsoft Power BI進行數據可視化 517
14.5 Notification Hub 521
14.5.1 關聯Windows Store 522
14.5.2 通知客戶端套用 522
14.5.3 Notification Hub的創建和配置 527
14.5.4 使用事件處理器傳送Toast通知 529
14.6 將Event Hub處理器部署到雲端 532
14.7 總結 535

相關詞條

熱門詞條

聯絡我們