從芯片到雲端:Python物聯網全棧開發實踐 PDF


https://download.csdn.net/download/kxjrzyk/10914923  下載PDF

Python全棧是降低物聯網開發復雜度的必由之路 物聯網應用系統的快速開發和系統擴展可以兼顧 物聯網系統設計比互聯網系統設計更受限更復雜 全覆蓋應用、產品、生態的全局視角與選型思路。本書對於嵌入式開發領域的開發者尤具學習價值,利用Python可加快開發迭代速度、降低開發成本,並可以基於嵌入式Python建立完整的物聯網軟硬件生態。

作者:劉凱
出版社:電子工業出版社
出版時間:2017-10-01 
書籍價格:93.90元




java電子書目錄:
第1章 物聯網簡介        1
1.1 物聯網定義        1
1.2 物聯網發展趨勢        1
1.3 物聯網應用與技術        2
1.3.1 物聯網核心價值        2
1.3.2 物聯網發展階段        3
1.3.3 物聯網分層        5
1.3.4 物聯網數據傳輸與網絡拓撲        5
1.3.5 物聯網實施所需技術棧        8
1.3.6 標准、現狀與未來        10
1.4 本章小結        16
第2章 Python語言基礎        17
2.1 Python的由來與特征        19
2.1.1 概述        19
2.1.2 設計定位與哲學        19
2.1.3 優點與缺點        20
2.2 Python與物聯網開發        22
2.3 獲取Python資源        24
2.3.1 Python主程序        24
2.3.2 Python文檔        24
2.3.3 Python PyPI        24
2.4 Python解釋器運行環境        26
2.4.1 REPL交互模式        26
2.4.2 直接運行與模塊運行        26
2.4.3 腳本文件直接運行        27
2.4.4 源程序文字編碼與結束符        28
2.5 Python類型與語法        29
2.5.1 動態類型        29
2.5.2 傳值與傳引用        30
2.5.3 數據類型        31
2.5.4 內置類型        32
2.5.5 內置類型的普適操作        34
2.5.6 數值類型        35
2.5.7 布爾類型        37
2.5.8 迭代器類型        37
2.5.9 生成器類型        38
2.5.10 yield表達式        39
2.5.11 序列類型        39
2.5.12 set集合類型        54
2.5.13 映射類型        55
2.5.14 其他類型        56
2.5.15 控制流        59
2.5.16 內置函數        61
2.5.17 用戶自定義函數        62
2.5.18 模塊        65
2.5.19 輸入/輸出        68
2.5.20 面向對象編程        74
2.5.21 進程和線程        82
2.5.22 錯誤和異常        90
2.6 Python標准庫概覽        93
2.7 本章小結        94
第3章 Python語言進階        95
3.1 HOWTO:常見任務和解決方案        95
3.1.1 數據類型轉換        96
3.1.2 數據的調試打印        100
3.1.3 數據類型資源優化        102
3.1.4 數據結構與算法        102
3.1.5 數據緩存        103
3.1.6 數據多路復用和解復用        104
3.1.7 數據序列化和反序列化        107
3.1.8 數據壓縮和解壓縮        119
3.1.9 數據加密        120
3.1.10 數據傳輸        121
3.1.11 數據后處理        121
3.1.12 數據持久化        121
3.1.13 數據交換        122
3.2 HOWTO:函數式編程        123
3.2.1 高階函數        123
3.2.2 map函數        124
3.2.3 reduce函數        124
3.2.4 filter函數        124
3.2.5 sorted函數        125
3.2.6 返回函數        125
3.2.7 閉包        126
3.2.8 匿名函數        126
3.2.9 裝飾器        127
3.3 HOWTO:並發運行模型        131
3.3.1 協程        131
3.3.2 I/O模型        134
3.4 HOWTO:日期與時間        136
3.4.1 類型轉換        136
3.4.2 時區的處理        138
3.5 Python版本遷移        139
3.5.1 Python 2與Python 3的區別        140
3.5.2 Python 2到Python 3的流程        140
3.5.3 多個Python版本共存        140
3.5.4 virtualenv        141
3.5.5 Windows多個版本共存        141
3.5.6 Linux多個版本共存        142
3.6 其他常見技巧        143
3.6.1 常數類型的模擬        143
3.6.2 枚舉類型的模擬        143
3.6.3 開發自定義模塊        144
3.7 Python與其他語言        145
3.8 Python語言擴展        151
3.8.1 C語言擴展Python        151
3.8.2 ctypes訪問Windows DLL        153
3.8.3 Jython訪問Java類        154
3.8.4 IronPython訪問.NET        155
3.9 Python加速        157
3.9.1 PyPy        158
3.9.2 Cython        159
3.9.3 PyCUDA        159
3.9.4 PyOpenCL        159
3.9.5 Theano        159
3.9.6 Nuitka        159
3.10 本章小結        160
第4章 嵌入式系統開發        161
4.1 嵌入式系統硬件分類        162
4.1.1 MCU        162
4.1.2 MPU        163
4.1.3 DSP        163
4.1.4 SMP        164
4.1.5 異構大小核        164
4.1.6 FPGA原型        165
4.1.7 SoPC        165
4.1.8 GPU        167
4.1.9 哈佛結構和馮?諾依曼結構        168
4.2 電路原型設計        168
4.2.1 集成電路設計流程        170
4.2.2 模擬電路原型設計        170
4.2.3 數字電路原型設計        175
4.3 常見嵌入式微控制器(MCU)        179
4.3.1 MCU市場狀況        179
4.3.2 Arduino/Wiring        180
4.3.3 ARM mbed        181
4.3.4 設計專屬架構和專屬MCU        182
4.3.5 ARM MCU差異化競爭        182
4.4 常見嵌入式處理器和主板        184
4.4.1 ARM架構        185
4.4.2 其余的ARM Linux主板        188
4.4.3 MIPS開發板        190
4.4.4 x86 mini-ITX        191
4.5 常見傳感器和執行器        192
4.5.1 虛擬傳感器        193
4.5.2 智能傳感器        193
4.5.3 專用傳感器        194
4.5.4 執行器        195
4.6 物聯網通信集成電路        196
4.7 嵌入式系統開發語言演進        197
4.7.1 從匯編到嵌入式C        197
4.7.2 從C到C 199
4.7.3 壓縮C 的系統消耗        199
4.7.4 C 適合物聯網開發        200
4.8 C/C 的編程模式和技巧        204
4.8.1 C/C 設計模式        205
4.8.2 回調函數        206
4.8.3 有限狀態機模型        209
4.8.4 善用結構體        211
4.8.5 C/C 協程        214
4.9 開發生態選擇        215
4.9.1 工業標准與廠家私有指令集架構        215
4.9.2 硬件與軟件平台選擇        215
4.9.3 編譯器選擇        216
4.10 常見操作系統        217
4.10.1 無操作系統        217
4.10.2 RTOS的優勢        218
4.10.3 uC/OS        219
4.10.4 Keil RTX        219
4.10.5 mbed RTOS與mbed OS        220
4.10.6 FreeRTOS        221
4.10.7 Linux是開發復雜聯網設備的現實選擇        222
4.11 物聯網中間件        227
4.11.1 WSN堆棧        227
4.11.2 TCP/IP        227
4.11.3 USB        227
4.11.4 FAT/FS        228
4.11.5 GUI        228
4.11.6 Terminal        228
4.11.7 MQTT        228
4.11.8 CoAP        229
4.12 物聯網安全性        230
4.12.1 安全相關芯片        230
4.12.2 安全中間件        231
4.12.3 Python安全算法        232
4.13 設備固件更新        232
4.13.1 固件更新技術發展史        232
4.13.2 本地固件更新        234
4.13.3 遠程固件更新        234
4.13.4 固件升級定制        234
4.14 各類串口實現聯網        235
4.14.1 串口協議的選擇        235
4.14.2 模擬串口設備        236
4.14.3 其他類型虛擬設備        238
4.14.4 ISP編程器        238
4.14.5 串口設備監控器        239
4.15 本章小結        239
第5章 設備連接和編程接口        240
5.1 設備連接概述        240
5.1.1 嵌入式系統連接層次        240
5.1.2 選擇正確的連接方案        241
5.1.3 具體落實連接設計        241
5.1.4 本章內容安排        242
5.2 連接能力匯總        242
5.2.1 連接由芯片開始        243
5.2.2 芯片內部系統總線        245
5.2.3 芯片間連接技術        246
5.2.4 設備間連接        249
5.2.5 設備組網        250
5.2.6 設備組網與聯網的無線技術        253
5.2.7 連接性回顧        266
5.3 Linux文件系統        266
5.3.1 設備即文件        266
5.3.2 設備文件系統        267
5.3.3 Linux設備文件的演變        268
5.3.4 文件I/O操作        271
5.3.5 Linux硬件編程        272
5.4 並行接口        273
5.4.1 老舊的PC並行接口        274
5.4.2 高速總線        274
5.4.3 GPIO        274
5.4.4 Linux訪問GPIO        275
5.4.5 GPIO的Python包        276
5.5 串行接口        277
5.5.1 異步通信串行口        277
5.5.2 I2C總線        284
5.5.3 SPI總線        290
5.5.4 與其他硬件平台相關的Python包        294
5.6 USB總線        296
5.6.1 USB Endpoints        297
5.6.2 USB Device/Host/OTG        297
5.6.3 USB 3.0        297
5.6.4 libUSB        297
5.6.5 PyUSB        298
5.6.6 標准化USB橋接        299
5.6.7 與USB相關的其他設計        301
5.7 Linux網絡設備驅動        301
5.7.1 TCP/IP套接字編程        301
5.7.2 IEEE 802.3到IEEE 802.11        302
5.7.3 網絡通信實現方案        302
5.7.4 私有通信協議棧        305
5.7.5 短距離無線連接        307
5.8 工業總線        310
5.8.1 CAN總線        310
5.8.2 LIN總線        312
5.8.3 其他ASIC        313
5.8.4 定制Python擴展        313
5.8.5 Windows DLL        314
5.9 本章小結        314
第6章 嵌入式Python虛擬機        315
6.1 嵌入式高級語言平台大薈萃        315
6.1.1 高級語言與二次開發        315
6.1.2 BASIC        319
6.1.3 Java        319
6.1.4 Lua        322
6.1.5 JavaScript        322
6.1.6 .NET        323
6.2 前一代Python虛擬機        323
6.2.1 Telit GPRS模塊        323
6.2.2 Symbian        325
6.2.3 Windows CE        325
6.2.4 OpenMoko        325
6.3 深嵌入式Python平台        326
6.3.1 LEGO EV3        326
6.3.2 TinyPy        326
6.3.3 嵌入式Python的局限        327
6.4 PyMite        328
6.4.1 硬件平台        328
6.4.2 維護者        329
6.4.3 pymbed分支        329
6.4.4 開發現狀        331
6.4.5 文檔        332
6.4.6 源碼樹        333
6.4.7 使用流程        335
6.4.8 實踐        336
6.4.9 工程小結        337
6.4.10 網絡資源        338
6.5 VIPER/Zerynth        338
6.5.1 硬件平台        339
6.5.2 Zerynth Studio        340
6.5.3 與標准Python的區別        341
6.5.4 快速啟動        342
6.5.5 坎坷的使用過程        342
6.5.6 Zerynth目錄結構        343
6.5.7 硬件相關庫        344
6.5.8 其他特性        355
6.6 MicroPython        356
6.6.1 工程背景知識        356
6.6.2 在線評估網頁        358
6.6.3 官方硬件平台分支        358
6.6.4 衍生項目        359
6.6.5 UNIX版本        360
6.6.6 MicroPython庫        363
6.6.7 STM32HAL分支        365
6.6.8 NUCLEO-F401RE適配        367
6.6.9 pyboard評估        372
6.6.10 異步處理和中斷處理        389
6.6.11 中斷處理的普遍問題        392
6.6.12 使用心得        395
6.6.13 商品化與知識產權        396
6.6.14 BBC microbit        396
6.7 Linux與Python        398
6.7.1 Linux中Python的運行環境        398
6.7.2 交叉編譯CPython        401
6.7.3 交叉編譯MicroPython        402
6.7.4 Jython運行環境        404
6.7.5 Android SL4A        406
6.8 本章小結        407
第7章 Python應用APP        408


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM