《物联网Python开发实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:安翔编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121337512
  • 页数:308 页
图书介绍:本书在介绍物联网的组成、典型架构和应用的基础上,采用实例代码讲述python编程基础和应用实例,包括用micropython进行物联网单片机的开发、用python开发物联网网关的方法、python django框架开发物联网web后台和前端知识及物联网常用通信方案2G、lora、zigbee和物联网通信协议MQTT、COAP等,最重要的内容是通过一个完整的大型物联网项目实例讲解python开发物联网的细节。

第1章 物联网邂逅Python 1

1.1物联网组成架构 1

1.2物联网发展现状 3

1.2.1终端设备 3

1.2.2物联网操作系统 4

1.2.3通信手段 4

1.2.4网络建设 5

1.2.5应用协议 5

1.2.6物联网云平台 5

1.3物联网典型应用 6

1.3.1共享单车 6

1.3.2智能家居 7

1.3.3智慧农业 7

1.4使用Python的理由 8

1.4.1 Python特性 8

1.4.2 Python无处不在 9

1.4.3开发速度有时更重要 10

1.5美丽的相遇 12

1.5.1 Python与终端 12

1.5.2 Python与网关 13

1.5.3 Python与云平台 14

1.5.4物联网Python全栈开发 14

第2章 开启Python之旅 16

2.1 Python版本的选择 16

2.2搭建开发环境 16

2.2.1安装VMware 17

2.2.2在VMware上安装Ubuntu 17

2.2.3安装VMware Tools工具 18

2.2.4虚拟机的网络配置 19

2.2.5 Samba共享设置 22

2.2.6修改Python版本 23

2.3开始编写Python程序 24

2.3.1交互式解释器 24

2.3.2源代码执行 24

2.3.3注释 24

2.3.4代码块和缩进 25

2.3.5继续和分隔 25

2.3.6输入和输出 25

2.4变量和数据类型 26

2.4.1变量赋值 26

2.4.2常量 27

2.4.3数据类型 27

2.5条件和循环 32

2.5.1 if语句 32

2.5.2 while循环 33

2.5.3 for………in循环 34

2.5.4跳出循环 35

2.5.5 pass语句 36

2.6函数 37

2.6.1定义函数 37

2.6.2函数调用 37

2.6.3函数的参数 38

2.6.4内置函数 41

2.7变量进阶 42

2.7.1全局变量与局部变量 42

2.7.2 global关键字 42

2.7.3 nonlocal关键字 42

2.7.4变量作用域 43

2.8模块与包 44

2.8.1使用模块 44

2.8.2包 45

2.9异常处理 46

第3章 Python数据结构 48

3.1字符串 48

3.1.1索引和切片 48

3.1.2字符串运算符 49

3.1.3字符串格式化 49

3.1.4字符编码 50

3.2列表 51

3.2.1访问列表 51

3.2.2更改列表 51

3.2.3列表操作符 52

3.2.4列表常用函数 53

3.3元组 54

3.3.1访问元组 55

3.3.2元组操作符 55

3.3.3元组内置函数 55

3.4字典 56

3.4.1访问字典 57

3.4.2修改字典 57

3.4.3字典键的特性 58

3.4.4字典函数 58

3.5集合 59

3.5.1忽略重复元素 59

3.5.2无序 59

3.5.3常用操作 60

第4章 Python高级特性 61

4.1生成器 61

4.1.1列表推导式 62

4.1.2生成器表达式 62

4.1.3生成器函数 63

4.2迭代器 65

4.3函数式编程 66

4.3.1高阶函数 67

4.3.2内置高阶函数 68

4.3.3闭包 72

4.3.4装饰器 73

4.3.5匿名函数 78

4.3.6偏函数 78

4.4面向对象编程 79

4.4.1类与对象 80

4.4.2访问限制 81

4.4.3继承 82

4.4.4多重继承 83

4.4.5多态 85

4.4.6运算符重载 86

第5章 物联网核心组件 89

5.1网络通信方案 89

5.1.1 WIFI网络 89

5.1.2移动网络 89

5.1.3 Zigbee 90

5.1.4 BLE 90

5.1.5 LoRa 90

5.1.6 NB-IoT 92

5.2网络通信协议 92

5.2.1 HTTP 92

5.2.2 WebSocket 93

5.2.3 XMPP 93

5.2.4 CoAP 94

5.2.5 MQTT 95

5.3硬件 96

5.4物联网云平台 96

5.4.1 OneNet 96

5.4.2 AWS IoT 98

5.4.3 Waston IoT 98

第6章 MicroPython开发物联网终端 100

6.1 MicroPython简介 101

6.1.1 MicroPython项目 101

6.1.2 MicroPython特点 101

6.1.3 MicroPython源码 102

6.2 MicroPython开发板 103

6.2.1官方开发板PYBoard 103

6.2.2国内开发板TPYBoard 104

6.2.3 OpenMV 108

6.2.4 LoPy 109

6.3第一个MicroPython程序 110

6.4交互式解释器 112

6.5按键中断与回调 114

6.6定时器的使用 115

6.7串口测试 118

6.8 SPI接口驱动液晶屏 120

6.8.1硬件连接 120

6.8.2 LCD屏驱动 120

6.8.3字库说明 122

6.8.4主程序 123

6.9源码编译与固件升级 124

6.9.1准备编译环境 124

6.9.2源码下载与编译 125

6.9.3固件烧写 127

6.10 MicroPython多线程 128

6.10.1 MicroPython线程简介 128

6.10.2 MicroPython线程使用 128

6.10.3多线程中的锁 129

6.11安全模式及恢复出厂设置 130

6.11.1安全模式 131

6.11.2恢复出厂设置 131

第7章 构建物联网网关 132

7.1网关概述 132

7.1.1网关的构成 132

7.1.2常用物联网网关 133

7.2自主构建网关 136

7.2.1交叉编译 136

7.2.2编译引导程序 138

7.2.3内核配置与编译 140

7.2.4制作文件系统 142

7.2.5分区与下载 144

7.2.6系统启动流程简介 146

7.2.7移植Python3 146

7.3树莓派作网关 148

7.3.1初次启动树莓派 148

7.3.2串口登录树莓派 150

7.3.3 SSH访问树莓派 153

7.3.4升级Python版本 155

7.3.5必备工具安装 157

7.3.6板载WIFI配置 158

7.3.7串口通信 161

第8章 网关数据编码与处理 164

8.1读写CSV文件 164

8.1.1读取CSV文件 164

8.1.2写入CSV文件 167

8.2 JSON解析 168

8.2.1 JSON数据格式 168

8.2.2编码 168

8.2.3解码 170

8.3 XML操作 171

8.3.1 XML简介 171

8.3.2解析XML 172

8.3.3创建与修改 174

8.4二进制数据的读写 178

8.5 Base64编解码 179

8.6正则表达式 181

8.6.1正则表达式简介 181

8.6.2 re模块 182

8.6.3贪婪匹配 187

第9章 网关多进程与多线程 188

9.1多进程 188

9.1.1 multiprocessing模块 189

9.1.2进程同步 191

9.1.3进程间通信 194

9.2多线程 195

9.2.1 threading模块 195

9.2.2线程同步 196

9.2.3线程间通信 198

9.3多线程和多进程的思考 200

9.3.1多核CPU利用率实验 200

9.3.2 GIL全局锁 202

9.3.3切换的开销 203

9.3.4多线程与多进程的选择 203

9.4异步IO 204

9.4.1协程 204

9.4.2协程与多线程对比 205

9.4.3 asyncio 208

第10章 网关数据持久化 211

10.1文件操作 211

10.1.1读写文本数据 211

10.1.2操作文件和目录 213

10.1.3读写压缩文件 217

10.1.4内存映射 219

10.1.5临时文件与目录 220

10.1.6序列化Python对象 221

10.2 SQLite数据库 222

10.2.1 SQLite简介 222

10.2.2命令行操作SQLite 223

10.2.3创建数据库 224

10.2.4创建表 225

10.2.5 SQL语句 227

10.2.6 SQLite的Python编程 230

第11章 Python扩展 235

11.1 Python扩展的原因 235

11.2连接硬件的纽带 235

11.3 C语言扩展Python 236

11.3.1简单的C语言Python扩展 236

11.3.2传递整型参数 238

11.3.3传递字符串参数 239

第12章 网关网络编程 242

12.1网关网络通信方案 242

12.2 Socket编程 243

12.3 requests 246

12.3.1上传文件 246

12.3.2下载文件 246

12.4 hbmqtt 246

12.4.1安装 247

12.4.2 hbmqtt命令操作 247

12.4.3 hbmqtt API编程 250

12.5 LoRa网络通信 252

12.5.1 LoRa模块初始化 252

12.5.2数据监听与接收 253

12.5.3数据缓存 253

第13章 物联网后台Web开发 255

13.1 Django简介 255

13.2创建一个网站 256

13.2.1 Django安装 256

13.2.2创建项目 256

13.2.3运行与访问 257

13.3网站首页 258

13.3.1源码文件结构 259

13.3.2视图与URL配置 260

13.4 Django模板 261

13.4.1 Django模板系统 262

13.4.2模板继承 263

13.5 Django模型 266

13.5.1安装MySQL数据库 266

13.5.2创建模型 267

13.5.3必要的配置 269

13.6用户注册 270

13.7账号登录 274

第14章 物联网Python项目实战 278

14.1项目简介 278

14.2终端设备程序开发 279

14.2.1采集空气温湿度 281

14.2.2获取环境光强度 286

14.2.3雨量检测 288

14.2.4水位检测 290

14.2.5土壤湿度检测 291

14.2.6水泵的控制 293

14.2.7入侵检测 295

14.2.8灯光控制 296

14.2.9电量检测 297

14.2.10 LoRa通信 297

14.2.11 JSON消息 300

14.3网关程序开发 301

14.3.1终端通信 302

14.3.2数据库管理 302

14.3.3文件备份 303

14.3.4服务器通信 303

14.3.5 2G模块的使用 303

14.4服务器端程序开发 304

14.4.1与网关通信 305

14.4.2环境数据可视化 305

14.4.3滴灌控制 306

14.4.4灯光控制 306

14.4.5报警显示与设置 306

14.4.6设备管理 307

14.4.7备份文件管理 307