本书在介绍物联网的组成、典型架构和应用的基础上,采用实例代码讲述python编程基础和应用实例,包括用micropython进行物联网单片机的开发、用python开发物联网网关的方法、python django框架开发物联网web后台和前端知识及物联网常用通信方案2G、lora、zigbee和物联网通信协议MQTT、COAP等,*重要的内容是通过一个完整的大型物联网项目实例讲解python开发物联网的细节。
第1章物联网邂逅Python
11物联网组成架构
12物联网发展现状
121终端设备
122物联网操作系统
123通信手段
124网络建设
125应用协议
126物联网云平台
13物联网典型应用
131共享单车
132智能家居
133智慧农业
14使用Python的理由
141Python特性
142Python无处不在
143开发速度有时更重要
15美丽的相遇
151Python与终端
152Python与网关
153Python与云平台
154物联网Python全栈开发
第2章开启Python之旅
21Python版本的选择
22搭建开发环境
221安装VMware
222在VMware上安装Ubuntu
223安装VMware Tools工具
224虚拟机的网络配置
225Samba共享设置
226修改Python版本
23开始编写Python程序
231交互式解释器
232源代码执行
233注释
234代码块和缩进
235继续和分隔
236输入和输出
24变量和数据类型
241变量赋值
242常量
243数据类型
25条件和循环
251if语句
252while循环
253forin循环
254跳出循环
255pass语句
26函数
261定义函数
262函数调用
263函数的参数
264内置函数
27变量进阶
271全局变量与局部变量
272global关键字
273nonlocal关键字
274变量作用域
28模块与包
281使用模块
282包
29异常处理
第3章Python数据结构
31字符串
311索引和切片
312字符串运算符
313字符串格式化
314字符编码
32列表
321访问列表
322更改列表
323列表操作符
324列表常用函数
33元组
331访问元组
332元组操作符
333元组内置函数
34字典
341访问字典
342修改字典
343字典键的特性
344字典函数
35集合
351忽略重复元素
352无序
353常用操作
第4章Python高级特性
41生成器
411列表推导式
412生成器表达式
413生成器函数
42迭代器
43函数式编程
431高阶函数
432内置高阶函数
433闭包
434装饰器
435匿名函数
436偏函数
44面向对象编程
441类与对象
442访问限制
443继承
444多重继承
445多态
446运算符重载
第5章物联网核心组件
51网络通信方案
511WIFI网络
512移动网络
513Zigbee
514BLE
515LoRa
516NB-IoT
52网络通信协议
521HTTP
522WebSocket
523XMPP
524CoAP
525MQTT
53硬件
54物联网云平台
541OneNet
542AWS IoT
543Waston IoT
第6章MicroPython开发物联网终端
61MicroPython简介
611MicroPython项目
612MicroPython特点
613MicroPython源码
62MicroPython开发板
621官方开发板PYBoard
622国内开发板TPYBoard
623OpenMV
624LoPy
63第一个MicroPython程序
64交互式解释器
65按键中断与回调
66定时器的使用
67串口测试
68SPI接口驱动液晶屏
681硬件连接
682LCD屏驱动
683字库说明
684主程序
69源码编译与固件升级
691准备编译环境
692源码下载与编译
693固件烧写
610MicroPython多线程
6101MicroPython线程简介
6102MicroPython线程使用
6103多线程中的锁
611安全模式及恢复出厂设置
6111安全模式
6112恢复出厂设置
第7章构建物联网网关
71网关概述
711网关的构成
712常用物联网网关
72自主构建网关
721交叉编译
722编译引导程序
723内核配置与编译
724制作文件系统
725分区与下载
726系统启动流程简介
727移植Python3
73树莓派作网关
731初次启动树莓派
732串口登录树莓派
733SSH访问树莓派
734升级Python版本
735必备工具安装
736板载WIFI配置
737串口通信
第8章网关数据编码与处理
81读写CSV文件
811读取CSV文件
812写入CSV文件
82JSON解析
821JSON数据格式
822编码
823解码
83XML操作
831XML简介
832解析XML
833创建与修改
84二进制数据的读写
85Base64编解码
86正则表达式
861正则表达式简介
862re模块
863贪婪匹配
第9章网关多进程与多线程
91多进程
911multiprocessing模块
912进程同步
913进程间通信
92多线程
921threading模块
922线程同步
923线程间通信
93多线程和多进程的思考
931多核CPU利用率实验
932GIL全局锁
933切换的开销
934多线程与多进程的选择
94异步IO
941协程
942协程与多线程对比
943asyncio
第10章网关数据持久化
101文件操作
1011读写文本数据
1012操作文件和目录
1013读写压缩文件
1014内存映射
1015临时文件与目录
1016序列化Python对象
102SQLite数据库
1021SQLite简介
1022命令行操作SQLite
1023创建数据库
1024创建表
1025SQL语句
1026SQLite的Python编程
第11章Python扩展
111Python扩展的原因
112连接硬件的纽带
113C语言扩展Python
1131简单的C语言Python扩展
1132传递整型参数
1133传递字符串参数
第12章网关网络编程
121网关网络通信方案
122Socket编程
123requests
1231上传文件
1232下载文件
124hbmqtt
1241安装
1242hbmqtt命令操作
1243hbmqtt API编程
125LoRa网络通信
1251LoRa模块初始化
1252数据监听与接收
1253数据缓存
第13章物联网后台Web开发
131Django简介
132创建一个网站
1321Django安装
1322创建项目
1323运行与访问
133网站首页
1331源码文件结构
1332视图与URL配置
134Django模板
1341Django模板系统
1342模板继承
135Django模型
1351安装MySQL数据库
1352创建模型
1353必要的配置
136用户注册
137账号登录
第14章物联网Python项目实战
141项目简介
142终端设备程序开发
1421采集空气温湿度
1422获取环境光强度
1423雨量检测
1424水位检测
1425土壤湿度检测
1426水泵的控制
1427入侵检测
1428灯光控制
1429电量检测
14210LoRa通信
14211JSON消息
143网关程序开发
1431终端通信
1432数据库管理
1433文件备份
1434服务器通信
14352G模块的使用
145服务器端程序开发
1451与网关通信
1452环境数据可视化
1453滴灌控制
1454灯光控制
1455报警显示与设置
1456设备管理
1457备份文件管理