图书介绍
从芯片到云端 Python物联网全栈开发实践PDF|Epub|txt|kindle电子书版本网盘下载
![从芯片到云端 Python物联网全栈开发实践](https://www.shukui.net/cover/59/34575881.jpg)
- 刘凯著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121311277
- 出版时间:2018
- 标注页数:689页
- 文件大小:337MB
- 文件页数:727页
- 主题词:互联网络-应用-程序设计;智能技术-应用-程序设计
PDF下载
下载说明
从芯片到云端 Python物联网全栈开发实践PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第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 PyPI24
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 virtualenv141
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语言扩展Python151
3.8.2 ctypes访问Windows DLL153
3.8.3 Jython访问Java类154
3.8.4 IronPython访问.NET155
3.9 Python加速157
3.9.1 PyPy158
3.9.2 Cython159
3.9.3 PyCUDA159
3.9.4 PyOpenCL159
3.9.5 Theano159
3.9.6 Nuitka159
3.10 本章小结160
第4章 嵌入式系统开发161
4.1 嵌入式系统硬件分类162
4.1.1 MCU162
4.1.2 MPU163
4.1.3 DSP163
4.1.4 SMP164
4.1.5 异构大小核164
4.1.6 FPGA原型165
4.1.7 SoPC165
4.1.8 GPU167
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/Wiring180
4.3.3 ARM mbed181
4.3.4 设计专属架构和专属MCU182
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-ITX191
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 从汇编到嵌入式C197
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/OS219
4.10.4 Keil RTX219
4.10.5 mbed RTOS与mbed OS220
4.10.6 FreeRTOS221
4.10.7 Linux是开发复杂联网设备的现实选择222
4.11 物联网中间件227
4.11.1 WSN堆栈227
4.11.2 TCP/IP227
4.11.3 USB227
4.11.4 FAT/FS228
4.11.5 GUI228
4.11.6 Terminal228
4.11.7 MQTT228
4.11.8 CoAP229
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 GPIO274
5.4.4 Linux访问GPIO275
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 Endpoints297
5.6.2 USB Device/Host/OTG297
5.6.3 USB 3.0297
5.6.4 libUSB297
5.6.5 PyUSB298
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.11302
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 其他ASIC313
5.8.4 定制Python扩展313
5.8.5 Windows DLL314
5.9 本章小结314
第6章 嵌入式Python虚拟机315
6.1 嵌入式高级语言平台大荟萃315
6.1.1 高级语言与二次开发315
6.1.2 BASIC319
6.1.3 Java319
6.1.4 Lua322
6.1.5 JavaScript322
6.1.6 .NET323
6.2 前一代Python虚拟机323
6.2.1 Telit GPRS模块323
6.2.2 Symbian325
6.2.3 Windows CE325
6.2.4 OpenMoko325
6.3 深嵌入式Python平台326
6.3.1 LEGO EV3326
6.3.2 TinyPy326
6.3.3 嵌入式Python的局限327
6.4 PyMite328
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/Zerynth338
6.5.1 硬件平台339
6.5.2 Zerynth Studio340
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 MicroPython356
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 microbit396
6.7 Linux与Python398
6.7.1 Linux中Python的运行环境398
6.7.2 交叉编译CPython401
6.7.3 交叉编译MicroPython402
6.7.4 Jython运行环境404
6.7.5 Android SL4A406
6.8 本章小结407
第7章 Python应用APP408
7.1 基于字符的人机界面409
7.1.1 命令行参数409
7.1.2 字符终端开发410
7.1.3 ncurses411
7.2 桌面GUI开发412
7.2.1 Tkinter413
7.2.2 wxPython414
7.2.3 Boa Constructor415
7.2.4 wxGlade416
7.2.5 PyGTK417
7.2.6 PyQt419
7.2.7 PySide420
7.2.8 Enthought421
7.2.9 Cocoa+PyObjC423
7.2.10 Java AWT424
7.2.11 IronPython与WPF425
7.2.12 其他UI425
7.3 本地Web GUI426
7.3.1 与WebKit相关的Python包427
7.3.2 OneRing427
7.3.3 Pyjs427
7.3.4 Python Flexx428
7.4 本地可执行文件429
7.4.1 Linux可执行文件429
7.4.2 Mac OS X应用程序包430
7.4.3 Windows可执行文件430
7.4.4 pyinstaller430
7.4.5 py2exe430
7.4.6 py2app430
7.4.7 cx_Freeze431
7.4.8 Windows系统服务431
7.4.9 Windows定时任务432
7.4.10 Linux系统服务433
7.4.11 Linux定时任务435
7.5 移动APP开发436
7.5.1 响应式网页437
7.5.2 PhoneGAP应用开发437
7.5.3 SL4A437
7.5.4 QPython开发441
7.5.5 Kivy443
7.5.6 其他开发方式449
7.6 本章小结449
第8章 Python开发辅助支持451
8.1 物联网开发需要不断优化452
8.2 专属小工具452
8.2.1 单位转化器453
8.2.2 内码转换器454
8.2.3 其他编码转换455
8.3 原型验证458
8.4 代码生成器459
8.5 软件测试461
8.5.1 unittest单元测试462
8.5.2 socket压力测试462
8.5.3 urllib2远程记录463
8.5.4 PCBA测试466
8.6 文档生成器468
8.6.1 文档格式469
8.6.2 文档生成工具473
8.7 文档操纵477
8.7.1 Doc文档操纵477
8.7.2 Excel表格操纵478
8.8 国际化与本地化479
8.8.1 gettext479
8.8.2 Web多语种切换482
8.8.3 字库文件生成器482
8.8.4 GB2312点阵字库提取482
8.8.5 TTF字库提取483
8.9 配置管理484
8.9.1 软件配置管理484
8.9.2 软件配置管理自动化485
8.9.3 Git Bash485
8.9.4 Dulwich/Gittle包485
8.9.5 Python Subversion包486
8.9.6 watchdog系统监控486
8.10 数据与素材处理486
8.10.1 二维码显示486
8.10.2 多媒体相关软件包490
8.10.3 地理位置494
8.11 通信报文分析495
8.11.1 PyShark495
8.11.2 pypcapfile497
8.11.3 scapy和scapy3k497
8.11.4 pcap Web分析497
8.12 与Arduino/mbed相关的Python包497
8.12.1 Arduino Prototyping498
8.12.2 pyFirmata501
8.12.3 Py2B501
8.12.4 CmdMessager501
8.12.5 mbed504
8.12.6 mbed RPC504
8.12.7 mbed-ls505
8.12.8 Python-mbedtls507
8.12.9 Python-xbee508
8.13 虚拟仪器509
8.13.1 实时显示波形510
8.13.2 Instrumentino510
8.13.3 Vipy511
8.13.4 PyVISA511
8.13.5 Pythics512
8.14 3D/VR/AR512
8.14.1 PyOpenGL513
8.14.2 PySoy514
8.14.3 VPython514
8.14.4 Printrun 3D打印514
8.15 本章小结515
第9章 物联网服务器端设计516
9.1 物联网计算模型517
9.1.1 云计算517
9.1.2 Web PaaS与IoT PaaS518
9.1.3 IoT PaaS供应商518
9.1.4 PaaS/IaaS混合架构524
9.1.5 雾计算525
9.2 物联网与互联网设计异同526
9.2.1 基础架构526
9.2.2 标准化程度527
9.2.3 业务模式527
9.2.4 系统构成527
9.2.5 设备接入协议528
9.2.6 数据特性529
9.2.7 系统架构530
9.2.8 数据持久层532
9.2.9 大数据分析架构534
9.2.10 业务耦合与分离534
9.2.11 业务与数据融合535
9.2.12 认证授权与计费535
9.3 物联网网关与边缘服务器535
9.3.1 Python socket服务器536
9.3.2 pyserial RFC2217536
9.3.3 SubGHz网关panStamp537
9.3.4 Rascal micro538
9.3.5 Java IoT网关539
9.4 物联网设备接入协议540
9.4.1 异步通信框架Twisted541
9.4.2 Twisted套接字服务器设计544
9.4.3 物联网专用协议558
9.4.4 CoAP560
9.4.5 MQTT564
9.4.6 mosquitto/paho567
9.4.7 REST API572
9.4.8 服务器数据推送技术572
9.5 高可用性与高并发性575
9.5.1 并行与并发计算575
9.5.2 网络I/O模型分类575
9.5.3 架构优化的路径576
9.5.4 关系数据库系统576
9.5.5 SQL/NoSQL/NewSQL578
9.5.6 Redis579
9.5.7 MongoDB580
9.5.8 时序数据库581
9.5.9 消息队列583
9.6 业务与数据融合585
9.6.1 网站权限管理585
9.6.2 认证授权与计费586
9.6.3 OpenID587
9.6.4 OAUTH587
9.6.5 OpenID与OAUTH的异同588
9.6.6 社交化硬件588
9.7 Web开发框架589
9.7.1 MVC模型589
9.7.2 Web开发流程589
9.7.3 Python Web百花齐放590
9.7.4 Zope591
9.7.5 Django591
9.7.6 Flask592
9.7.7 gevent提升性能593
9.7.8 异步Web框架Tornado593
9.7.9 异步网络框架Twisted593
9.7.10 异步Web框架Cyclone594
9.7.11 静态网页594
9.7.12 TLS安全网页594
9.8 物联网安全597
9.8.1 物联网安全现状堪忧598
9.8.2 操作系统安全598
9.8.3 数据缓存与数据持久层安全599
9.8.4 Web框架与容器安全599
9.8.5 远程加载风险600
9.8.6 Web前端安全600
9.8.7 传输层安全601
9.9 服务器交付603
9.9.1 虚拟机交付603
9.9.2 Docker容器交付603
9.9.3 VirtualEnv交付605
9.10 服务器运维605
9.10.1 Linux定时任务606
9.10.2 常见的定时任务610
9.10.3 系统监控611
9.10.4 集成化运维软件613
9.11 物联网系统设计实践614
9.11.1 服务器端需求分析614
9.11.2 确定设备接入方式616
9.11.3 物联网的实时要求617
9.11.4 EPIC IoT设备服务器617
9.11.5 EPIC架构优化619
9.12 本章小结625
第10章 融合应用与数据分析626
10.1 物联网是可编程的626
10.1.1 Web API的“满汉全席”627
10.1.2 Web API技术演进628
10.1.3 IoT Web API的必要性628
10.1.4 Device as a Service629
10.2 数据统计、分析和挖掘630
10.2.1 名词解释630
10.2.2 术语小结631
10.2.3 大数据分析632
10.3 采集整理自有数据633
10.3.1 原始设备数据633
10.3.2 数据埋点633
10.3.3 服务器端数据634
10.3.4 需求确定分析方法637
10.4 采集第三方数据637
10.4.1 结构化数据638
10.4.2 半结构化数据638
10.4.3 非结构化数据639
10.4.4 数据录入644
10.4.5 数据融合644
10.4.6 数据规整646
10.4.7 数据交易646
10.5 数据分析647
10.5.1 常见编程语言647
10.5.2 数据分析分类647
10.5.3 科学计算数据分析工具651
10.5.4 统计学数据分析工具658
10.5.5 金融数据分析工具659
10.5.6 大数据平台与生态661
10.6 数据可视化663
10.6.1 数据可视化的发展趋势664
10.6.2 matplotlib665
10.6.3 seaborn665
10.6.4 mpld3666
10.6.5 Chaco667
10.6.6 Pygal668
10.6.7 Plotly670
10.6.8 TVTK671
10.6.9 VPython672
10.6.10 Folium673
10.6.11 NetworkX674
10.6.12 Bokeh675
10.6.13 Mayavi677
10.6.14 Vispy679
10.6.15 MoviePy680
10.6.16 其他新技术681
10.7 本章小结682
推荐书目与结束语683