物联网Python开发实战
读者评价
感觉非常的不细致,而且不但不细致反而最粗线条的东西都没有交待全。 1、第14章项目实战,这一章不想多说,比如,LED灯是几伏的工作电压,电池是要什么型号的... 2、答疑解惑的邮箱也没有,感觉完全没有为读者负责任的态度。 内容较为空洞,深度不够。基本可以百度到。
内容介绍
本书在介绍物联网的组成、典型架构和应用的基础上,采用实例代码讲述 Python 编程基础和应用实例,包括用 Micropython 进行物联网单片机的开发、用 Python 开发物联网网关的方法、Python django 框架开发物联网Web 后台和前端知识及物联网常用通信方案 2G、Lora、Zigbee和物联网通信协议 MQTT、COAP 等,最重要的内容是通过一个完整的大型物联网项目实例讲解 Python 开发物联网的细节。并提供了项目源代码以及硬件开发板。
目录
- 第1章 物联网邂逅Python
- 1.1 物联网组成架构
- 1.2 物联网发展现状
- 1.2.1 终端设备
- 1.2.2 物联网操作系统
- 1.2.3 通信手段
- 1.2.4 网络建设
- 1.2.5 应用协议
- 1.2.6 物联网云平台
- 1.3 物联网典型应用
- 1.3.1 共享单车
- 1.3.2 智能家居
- 1.3.3 智慧农业
- 1.4 使用Python的理由
- 1.4.1 Python特性
- 1.4.2 Python无处不在
- 1.4.3 开发速度有时更重要
- 1.5 美丽的相遇
- 1.5.1 Python与终端
- 1.5.2 Python与网关
- 1.5.3 Python与云平台
- 1.5.4 物联网Python全栈开发
- 第2章 开启Python之旅
- 2.1 Python版本的选择
- 2.2 搭建开发环境
- 2.2.1 安装VMware
- 2.2.2 在VMware上安装Ubuntu
- 2.2.3 安装VMware Tools工具
- 2.2.4 虚拟机的网络配置
- 2.2.5 Samba共享设置
- 2.2.6 修改Python版本
- 2.3 开始编写Python程序
- 2.3.1 交互式解释器
- 2.3.2 源代码执行
- 2.3.3 注释
- 2.3.4 代码块和缩进
- 2.3.5 继续和分隔
- 2.3.6 输入和输出
- 2.4 变量和数据类型
- 2.4.1 变量赋值
- 2.4.2 常量
- 2.4.3 数据类型
- 2.5 条件和循环
- 2.5.1 if语句
- 2.5.2 while循环
- 2.5.3 for in循环
- 2.5.4 跳出循环
- 2.5.5 pass语句
- 2.6 函数
- 2.6.1 定义函数
- 2.6.2 函数调用
- 2.6.3 函数的参数
- 2.6.4 内置函数
- 2.7 变量进阶
- 2.7.1 全局变量与局部变量
- 2.7.2 global关键字
- 2.7.3 nonlocal关键字
- 2.7.4 变量作用域
- 2.8 模块与包
- 2.8.1 使用模块
- 2.8.2 包
- 2.9 异常处理
- 第3章 Python数据结构
- 3.1 字符串
- 3.1.1 索引和切片
- 3.1.2 字符串运算符
- 3.1.3 字符串格式化
- 3.1.4 字符编码
- 3.2 列表
- 3.2.1 访问列表
- 3.2.2 更改列表
- 3.2.3 列表操作符
- 3.2.4 列表常用函数
- 3.3 元组
- 3.3.1 访问元组
- 3.3.2 元组操作符
- 3.3.3 元组内置函数
- 3.4 字典
- 3.4.1 访问字典
- 3.4.2 修改字典
- 3.4.3 字典键的特性
- 3.4.4 字典函数
- 3.5 集合
- 3.5.1 忽略重复元素
- 3.5.2 无序
- 3.5.3 常用操作
- 第4章 Python高级特性
- 4.1 生成器
- 4.1.1 列表推导式
- 4.1.2 生成器表达式
- 4.1.3 生成器函数
- 4.2 迭代器
- 4.3 函数式编程
- 4.3.1 高阶函数
- 4.3.2 内置高阶函数
- 4.3.3 闭包
- 4.3.4 装饰器
- 4.3.5 匿名函数
- 4.3.6 偏函数
- 4.4 面向对象编程
- 4.4.1 类与对象
- 4.4.2 访问限制
- 4.4.3 继承
- 4.4.4 多重继承
- 4.4.5 多态
- 4.4.6 运算符重载
- 第5章 物联网核心组件
- 5.1 网络通信方案
- 5.1.1 WIFI网络
- 5.1.2 移动网络
- 5.1.3 Zigbee
- 5.1.4 BLE
- 5.1.5 LoRa
- 5.1.6 NB-IoT
- 5.2 网络通信协议
- 5.2.1 HTTP
- 5.2.2 WebSocket
- 5.2.3 XMPP
- 5.2.4 CoAP
- 5.2.5 MQTT
- 5.3 硬件
- 5.4 物联网云平台
- 5.4.1 OneNet
- 5.4.2 AWS IoT
- 5.4.3 Waston IoT
- 第6章 MicroPython开发物联网终端
- 6.1 MicroPython简介
- 6.1.1 MicroPython项目
- 6.1.2 MicroPython特点
- 6.1.3 MicroPython源码
- 6.2 MicroPython开发板
- 6.2.1 官方开发板PYBoard
- 6.2.2 国内开发板TPYBoard
- 6.2.3 OpenMV
- 6.2.4 LoPy
- 6.3 第一个MicroPython程序
- 6.4 交互式解释器
- 6.5 按键中断与回调
- 6.6 定时器的使用
- 6.7 串口测试
- 6.8 SPI接口驱动液晶屏
- 6.8.1 硬件连接
- 6.8.2 LCD屏驱动
- 6.8.3 字库说明
- 6.8.4 主程序
- 6.9 源码编译与固件升级
- 6.9.1 准备编译环境
- 6.9.2 源码下载与编译
- 6.9.3 固件烧写
- 6.10 MicroPython多线程
- 6.10.1 MicroPython线程简介
- 6.10.2 MicroPython线程使用
- 6.10.3 多线程中的锁
- 6.11 安全模式及恢复出厂设置
- 6.11.1 安全模式
- 6.11.2 恢复出厂设置
- 第7章 构建物联网网关
- 7.1 网关概述
- 7.1.1 网关的构成
- 7.1.2 常用物联网网关
- 7.2 自主构建网关
- 7.2.1 交叉编译
- 7.2.2 编译引导程序
- 7.2.3 内核配置与编译
- 7.2.4 制作文件系统
- 7.2.5 分区与下载
- 7.2.6 系统启动流程简介
- 7.2.7 移植Python3
- 7.3 树莓派作网关
- 7.3.1 初次启动树莓派
- 7.3.2 串口登录树莓派
- 7.3.3 SSH访问树莓派
- 7.3.4 升级Python版本
- 7.3.5 必备工具安装
- 7.3.6 板载WIFI配置
- 7.3.7 串口通信
- 第8章 网关数据编码与处理
- 8.1 读写CSV文件
- 8.1.1 读取CSV文件
- 8.1.2 写入CSV文件
- 8.2 JSON解析
- 8.2.1 JSON数据格式
- 8.2.2 编码
- 8.2.3 解码
- 8.3 XML操作
- 8.3.1 XML简介
- 8.3.2 解析XML
- 8.3.3 创建与修改
- 8.4 二进制数据的读写
- 8.5 Base64编解码
- 8.6 正则表达式
- 8.6.1 正则表达式简介
- 8.6.2 re模块
- 8.6.3 贪婪匹配
- 第9章 网关多进程与多线程
- 9.1 多进程
- 9.1.1 multiprocessing模块
- 9.1.2 进程同步
- 9.1.3 进程间通信
- 9.2 多线程
- 9.2.1 threading模块
- 9.2.2 线程同步
- 9.2.3 线程间通信
- 9.3 多线程和多进程的思考
- 9.3.1 多核CPU利用率实验
- 9.3.2 GIL全局锁
- 9.3.3 切换的开销
- 9.3.4 多线程与多进程的选择
- 9.4 异步IO
- 9.4.1 协程
- 9.4.2 协程与多线程对比
- 9.4.3 asyncio
- 第10章 网关数据持久化
- 10.1 文件操作
- 10.1.1 读写文本数据
- 10.1.2 操作文件和目录
- 10.1.3 读写压缩文件
- 10.1.4 内存映射
- 10.1.5 临时文件与目录
- 10.1.6 序列化Python对象
- 10.2 SQLite数据库
- 10.2.1 SQLite简介
- 10.2.2 命令行操作SQLite
- 10.2.3 创建数据库
- 10.2.4 创建表
- 10.2.5 SQL语句
- 10.2.6 SQLite的Python编程
- 第11章 Python扩展
- 11.1 Python扩展的原因
- 11.2 连接硬件的纽带
- 11.3 C语言扩展Python
- 11.3.1 简单的C语言Python扩展
- 11.3.2 传递整型参数
- 11.3.3 传递字符串参数
- 第12章 网关网络编程
- 12.1 网关网络通信方案
- 12.2 Socket编程
- 12.3 requests
- 12.3.1 上传文件
- 12.3.2 下载文件
- 12.4 hbmqtt
- 12.4.1 安装
- 12.4.2 hbmqtt命令操作
- 12.4.3 hbmqtt API编程
- 12.5 LoRa网络通信
- 12.5.1 LoRa模块初始化
- 12.5.2 数据监听与接收
- 12.5.3 数据缓存
- 第13章 物联网后台Web开发
- 13.1 Django简介
- 13.2 创建一个网站
- 13.2.1 Django安装
- 13.2.2 创建项目
- 13.2.3 运行与访问
- 13.3 网站首页
- 13.3.1 源码文件结构
- 13.3.2 视图与URL配置
- 13.4 Django模板
- 13.4.1 Django模板系统
- 13.4.2 模板继承
- 13.5 Django模型
- 13.5.1 安装MySQL数据库
- 13.5.2 创建模型
- 13.5.3 必要的配置
- 13.6 用户注册
- 13.7 账号登录
- 第14章 物联网Python项目实战
- 14.1 项目简介
- 14.2 终端设备程序开发
- 14.2.1 采集空气温湿度
- 14.2.2 获取环境光强度
- 14.2.3 雨量检测
- 14.2.4 水位检测
- 14.2.5 土壤湿度检测
- 14.2.6 水泵的控制
- 14.2.7 入侵检测
- 14.2.8 灯光控制
- 14.2.9 电量检测
- 14.2.10 LoRa通信
- 14.2.11 JSON消息
- 14.3 网关程序开发
- 14.3.1 终端通信
- 14.3.2 数据库管理
- 14.3.3 文件备份
- 14.3.4 服务器通信
- 14.3.5 2G模块的使用
- 14.4 服务器端程序开发
- 14.4.1 与网关通信
- 14.4.2 环境数据可视化
- 14.4.3 滴灌控制
- 14.4.4 灯光控制
- 14.4.5 报警显示与设置
- 14.4.6 设备管理
- 14.4.7 备份文件管理