从芯片到云端:Python物联网全栈开发实践

  • 本店售价:RM101.15
  • 市场价格:RM119.00
  • 商品点击数:15
  • 购买此商品可使用:0 消费积分

购买数量:

商品总价:101.15

购买 快速订购

加入收藏夹

商品描述

编辑推荐

√ Python全栈是降低物联网开发复杂度的必由之路
√ 物联网应用系统的快速开发和系统扩展可以兼顾
√ 物联网系统设计比互联网系统设计更受限更复杂
√ 全覆盖应用、产品、生态的全局视角与选型思路

媒体评论

前几年国内引进了Chris Anderson的《创客:新工业革命》。打那时候开始,国内流行起“创客”风潮。“创客”这个词果真是一个洋气的舶来品,很多国人姑且把它看成硬件创业的预备役。但是大洋彼岸原产地的人们倒是朴实得可爱:织个毛衣,搞个室内大棚蔬菜。当然高科技类的自然少不了捣鼓一下机床,焊一块板子,这更像是一种DIY的怀旧文化:更加纯粹和快乐。做一名纯粹的创客并不容易,毕竟要抽出一定的时间和精力。直到现在我依然惦记着自己那台完成了一半的 3D 粉末打印机,而它就静静地躺在储物箱里。那时候的我已经开始为创业做前期准备,但商业项目和自己在创客空间玩的东西没啥关系,终究自娱自乐和商业有差别。
遇见 Allan 的时候,他也在努力从创客转变成创业者。我很惊诧于他虽然技术娴熟,也曾负责NXP产品技术与市场,却依然对技术保持着孩童般的初心,真的不多见啊。离开NXP后,Allan决定成为一名自由职业者。靠着自己扎实的技术,从前端到后台,从硬件到软件,他一个人搞起了物联网的项目和产品。我们时不时在线上谈论可行的产品和市场策略。虽然我对硬件不熟悉,但是由于自己当时就职于PTC,拥有些许物联网后台软件的认知,就这样我们相互参照着学习,并努力将其付诸实践。
2015年5月,我离开了PTC并投身于机器视觉领域的创业,但依然保有对物联网的热情,尤其关注工业物联。而 Allan 在这几年的实践中积累了全栈开发的经验。终于有一天,他觉得是时候将他独自一人的全栈开发经验记录下来,并传播给这个领域的开发者了。我自然非常支持他,但是独自写一本技术类的书,这是多么考验人呀。之后和 Allan 的交流变少了,我想象得出他独自在房间码格子的情形。半年后,这本书的初稿终于扎扎实实地完成了。
创业者和分析师们总爱重复地问一个问题:物联网的风口有没有来?我们很难精准地去预判某个时间节点,但假如物联网是一个不远不近的方向的话,我们当下*能够做的便是顺着产业的脉搏而跳动。类比一下 PC 和移动互联网,我们依然处于物联网大规模商业化的早期。但是*终我们会迎来万物互联。让我激动的是万物互联的基础架构成熟后,在各个行业以及各个利基市场将会涌现出各种“新物种”,推动着商业和产业进一步提高效率,进一步打破边界。而对于希望投身于这个行业的技术人员来说,应该尽量抛弃这些华丽的时髦术语,回归技术本身。这本书平实地记录了读者需要了解和掌控的基础知识;与此同时,它从单一语言全栈开发的概念出发梳理了一个完整的流程,而全局观的梳理能够更好地帮助技术人员去理解技术的本质。
技术总是在飞速地发展,书本记载的技能需要不断地升级更新。但是我能感受到 Allan 更希望传达的创客精神。创客愿意从零开始建一栋楼,他们或许不能建成一座摩天大厦,但至少也会筑成一幢别具一格的小楼房。这种纯粹的乐趣只有从动手实践中才体会得出来。但人们的生活节奏总是很匆忙,有这么一本类似于“宝典”的书,可以加快看官您动手的速度和效率。但愿您能享受从零开始搭建一个物联网项目或者产品的过程。
张成 上海叠层科技联合创始人

目录

第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.

内容介绍

物联网开发重新定义了“全栈开发”的范围。Python作为一门快速发展的语言,已经成为系统集成领域的优选语言之一,其可覆盖从电路逻辑设计到大数据分析的物联网端到端开发。各领域开发者可以利用Python交叉涉足物联网设备、边缘计算、云计算、数据分析的工程设计。本书尝试让读者建立物联网设计的整体概念,从基础概念开始,到相关技术选型、开源工程、参考设计与经验分享。无论是物联网领域的创业者,还是系统架构师,都可从本书中获得灵感。本书对于嵌入式开发领域的开发者尤具学习价值,利用Python可加快开发迭代速度、降低开发成本,并可以基于嵌入式Python建立完整的物联网软硬件生态。

作者介绍

刘凯,服务于微电子行业二十余载的资深工程师。曾在飞利浦半导体(即NXP恩智浦半导体前身)任资深工程师,从事软、硬件开发与产品设计等工作,有用汇编/C/C 开发嵌入式系统固件、用Perl/Python脚本做开发支持工具、用PHP/Java/Python做设备云和Web应用的丰富经验。现作为独立系统集成开发商,专业从事物联网相关项目设计和咨询服务,主攻嵌入式、RFID、微控制器、物联网、WSN、Linux、Python、开源等领域。
基本信息
商品名称: 从芯片到云端:Python物联网全栈开发实践 开本: 16开
作者: 刘凯 著 定价: 119.00
ISBN号: 9787121311277 出版时间: 2017-10-01
出版社: 电子工业出版社 印刷时间: 2017-10-01
版次: 1 印次: 1

商品属性

属性名称
属性值
是否是套装
定价
119.00元
书名
芯片
ISBN编号
9787121311277

购买记录

近期成交数量0

还没有人购买过此商品

商品评论

已有0人评论

暂时还没有任何用户评论

请在这里发表你的评论

用户名: 匿名用户

评价等级:

购买记录

近期成交数量0

还没有人购买过此商品

商品评论

已有0人评论

暂时还没有任何用户评论

请在这里发表你的评论

用户名: 匿名用户

评价等级: