物联网Python开发实战pdf下载pdf下载

物联网Python开发实战百度网盘pdf下载

作者:
简介:本篇主要提供物联网Python开发实战pdf下载
出版社:电子工业出版社
出版时间:2018-03
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介

本书在介绍物联网的组成、典型架构和应用的基础上,采用实例代码讲述python编程基础和应用实例,包括用micropython进行物联网单片机的开发、用python开发物联网网关的方法、python django框架开发物联网web后台和前端知识及物联网常用通信方案2G、lora、zigbee和物联网通信协议MQTT、COAP等,*重要的内容是通过一个完整的大型物联网项目实例讲解python开发物联网的细节。

作者简介

安翔 ,东北大学电子信息专业,曾就职于叠拓、GE、长虹从事多个领域的软件开发工作,擅长嵌入式Linux和Python开发,目前在中移物联网负责物联网操作系统的设计和研发。热爱开源、分享和技术写作,CSDN博客专家,著有《Micropython加速物联网开发》、《python Django web实战》、《树莓派体验》等专栏。

目录

第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1Python特性

142Python无处不在

143开发速度有时更重要

15美丽的相遇

151Python与终端

152Python与网关

153Python与云平台

154物联网Python全栈开发

第2章开启Python之旅

21Python版本的选择

22搭建开发环境

221安装VMware

222在VMware上安装Ubuntu

223安装VMware Tools工具

224虚拟机的网络配置

225Samba共享设置

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1if语句

252while循环

253forin循环

254跳出循环

255pass语句

26函数

261定义函数

262函数调用

263函数的参数

264内置函数

27变量进阶

271全局变量与局部变量

272global关键字

273nonlocal关键字

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1WIFI网络

512移动网络

513Zigbee

514BLE

515LoRa

516NB-IoT

52网络通信协议

521HTTP

522WebSocket

523XMPP

524CoAP

525MQTT

53硬件

54物联网云平台

541OneNet

542AWS IoT

543Waston IoT

第6章MicroPython开发物联网终端

61MicroPython简介

611MicroPython项目

612MicroPython特点

613MicroPython源码

62MicroPython开发板

621官方开发板PYBoard

622国内开发板TPYBoard

623OpenMV

624LoPy

63第一个MicroPython程序

64交互式解释器

65按键中断与回调

66定时器的使用

67串口测试

68SPI接口驱动液晶屏

681硬件连接

682LCD屏驱动

683字库说明

684主程序

69源码编译与固件升级

691准备编译环境

692源码下载与编译

693固件烧写

610MicroPython多线程

6101MicroPython线程简介

6102MicroPython线程使用

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3SSH访问树莓派

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2JSON解析

821JSON数据格式

822编码

823解码

83XML操作

831XML简介

832解析XML

833创建与修改

84二进制数据的读写

85Base64编解码

86正则表达式

861正则表达式简介

862re模块

863贪婪匹配

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

91多进程

911multiprocessing模块

912进程同步

913进程间通信

92多线程

921threading模块

922线程同步

923线程间通信

93多线程和多进程的思考

931多核CPU利用率实验

932GIL全局锁

933切换的开销

934多线程与多进程的选择

94异步IO

941协程

942协程与多线程对比

943asyncio

第10章网关数据持久化

101文件操作

1011读写文本数据

1012操作文件和目录

1013读写压缩文件

1014内存映射

1015临时文件与目录

1016序列化Python对象

102SQLite数据库

1021SQLite简介

1022命令行操作SQLite

1023创建数据库

1024创建表

1025SQL语句

1026SQLite的Python编程

第11章Python扩展

111Python扩展的原因

112连接硬件的纽带

113C语言扩展Python

1131简单的C语言Python扩展

1132传递整型参数

1133传递字符串参数

第12章网关网络编程

121网关网络通信方案

122Socket编程

123requests

1231上传文件

1232下载文件

124hbmqtt

1241安装

1242hbmqtt命令操作

1243hbmqtt API编程

125LoRa网络通信

1251LoRa模块初始化

1252数据监听与接收

1253数据缓存

第13章物联网后台Web开发

131Django简介

132创建一个网站

1321Django安装

1322创建项目

1323运行与访问

133网站首页

1331源码文件结构

1332视图与URL配置

134Django模板

1341Django模板系统

1342模板继承

135Django模型

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10LoRa通信

14211JSON消息

143网关程序开发

1431终端通信

1432数据库管理

1433文件备份

1434服务器通信

14352G模块的使用

145服务器端程序开发

1451与网关通信

1452环境数据可视化

1453滴灌控制

1454灯光控制

1455报警显示与设置

1456设备管理

1457备份文件管理


精彩书摘

  《物联网Python开发实战》:
  物联网应用的一大特征就是包含大量的硬件设备,如传感器、处理器、存储器、通信模块等。这些硬件的设计必须满足物联网的应用特征,如体积小、功耗低、价格便宜等。
  总结起来,《物联网Python开发实战》内容介绍中所涉及的硬件如下:
  ·传感器:包含空气温湿度传感器、土壤湿度传感器、光照强度传感器、人体红外传感器、雨滴传感器、水位传感器。
  ·单片机:《物联网Python开发实战》实战项目中使用STM32单片机的TPYBoard作为终端设备的核心板。
  ·树莓派:实战项目采用树莓派作为网关,用到树莓派上的ARM处理器、TF卡存储、WIFI通信模块。
  ·LoRa通信模块:在实战项目中使用,网关与终端之间采用LoRa模块通信。
  ·2G模块:网关上搭载2G模块通过移动网络与后台服务器通信,通过2C模块打电话与发短信的功能实现报警。
  ·其他硬件外设:包括舵机、水泵、LED灯等。
  虽然这些硬件只是真实世界中非常小的一部分,但是从种类上来讲还是比较丰富的。读者通过对这些硬件的熟悉可以对物联网硬件有一定的了解。
  ……

前言/序言

本书内容写作安排:

第1章——物联网邂逅Python

本章大致介绍物联网的组成、架构、发展现状及当前市面上典型的物联网应用方案,阐述Python这门编程语言的特性和优点,讲述用Python语言开发物联网终端设备、网关设备、Web后台程序的具体方法及优势。

第2章——开启Python之旅

本章从零开始讲解如何使用Python语言进行编程,通过大量的实例代码带领Python初学者掌握基本的Python编程技巧。

第3章——Python数据结构

Python除了拥有比较通用的字符串、列表等数据结构外,还有元组、字典、集合等特有的数据结构。熟练掌握和运用Python的各种数据结构是编写高质量Python程序的基础。

第4章——Python高级特性

Python作为一门高级编程语言,拥有众多自身特有的高级特性,如生成器、迭代器、装饰器等。同时,Python也可面向对象编程,只有掌握Python高级特性的使用方法,才能抓住Python编程的精髓。

第5章——物联网核心组件

本章介绍物联网的核心组成部分及关键技术点,首先介绍WIFI、移动网络、Zigbee通信、BLE、LoRa、NB-IoT等网络通信方案,以及HTTP、Websocket、XMPP、CoAP、MQTT等网络通信协议;其次介绍常用的硬件设备种类,包括处理器、传感器、通信模块等;最后介绍几种市面上常用的物联网云平台,如中国移动的OneNet平台、AWS IoT平台、IBM的Waston IoT平台。

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

终端是物联网连接真实世界的第一层,是物联网产品中数量最为庞大的部件。本章重点讲解目前非常火爆的MicroPython,可用于开发单片机程序,单片机是物联网终端设备的核心,除了介绍MicroPython的基本使用外,还会用MicroPython构建一个液晶屏显示程序实例。

第7章——构建物联网网关

网关是连接终端设备和后台的枢纽,同时还负责局域网的组建和维护、本地数据存储、通信规则制定、业务逻辑管理等。在实际项目中,网关通常是一个运行Linux操作系统并搭载物联网通信模块及其他外设的嵌入式设备。本章将介绍网关上嵌入式Linux的相关知识及Python环境的构建方法,为后续讲解网关Python的开发提供基本的软、硬件环境。

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

网关作为物联网应用中的通信枢纽,在通信过程中有多种格式的数据需要处理。其方式包括转发、编解码、解析等。本章讲述网关如何通过Python语言处理各种格式的数据,包括CSV、JSON、XML、二进制数据、Base64格式的数据。

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

物联网网关往往需要管理大量的终端设备,还要承担通信、运算、IO操作等多种任务。本章介绍Python编程时实现多任务的方式及多进程、多线程、协程、异步IO等多种Python程序模型,并对它们做出对比,针对CPU密集型和IO密集型不同应用场景下方案的选择,使网关程序性能更优。

第10章——网关数据持久化

网关是运算中心与通信枢纽,也是局域网数据存储中心。数据持久化是一个系统稳定运行的必要条件。所有数据存放在内存中时,一旦设备发生软、硬件故障,将发生数据丢失。为了避免这种情况,某些关键数据需要固化到磁盘上。本章介绍两种数据固化到磁盘上的两种方式——普通文件和数据库,并介绍Python程序对这两种数据存储方式的实际运用。

第11章——Python扩展

Python在物联网行业的应用与其他行业的应用有很大不同:物联网涉及硬件操作且物联网设备的CPU处理能力通常非常有限。因此,在某些特殊场景,需要使用C语言编写操作硬件的程序从而提供Python调用接口以实现Python对硬件的操作,而且在某些效率要求非常高的场景,使用运行效率更高的C语言编写程序,再编译成Python扩展库,可提高程序执行效率。本章主要讲解使用C语言扩展Python的方法。

第12章——网关网络编程

网关负责局域网的组建和维护,同时需要与后台通信以完成数据、指令的传输。本章首先介绍使用Python进行基本的Socket编程,接着以实战项目为例,分别讲解基于requests模块的文件传输及基于MQTT协议实现的hbmqtt编程。

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

本章介绍基于Python的 Django Web框架基础知识,包括视图与URL配置、模板、模型、表单、静态文件处理、用户注册与登录,主要介绍Django框架Web编程的基础知识储备,以便能够理解实战项目中的Web程序。

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

本章介绍一个基于物联网的智能种植项目,从项目架构、功能及项目所包含的终端设备、网关、后台程序等方面全面展示开发过程。该项目在GitHub提供了完整的源码,读者通过该实战项目能够了解一个完整物联网项目的全貌,掌握物联网Python开发的细节。