Python中文网

物联网Python开发实战

cnpython833

物联网Python开发实战这本书,是由电子工业出版社在2018-03-01月出版的,本书著作者是 安翔 著,此次本版是第1次印刷发行, 国际标准书号(ISBN):9787121337512,品牌为电子工业出版社, 这本书的包装是16开平装,所用纸张为胶版纸,全书共有324页字数51万8000字, 是一本非常不错的Python编程书籍。

此书内容摘要

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

关于此书作者

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

编辑们的推荐

暂无.

物联网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��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�豹豹眎n循环

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备份文件管理


部分内容试读

本书内容写作安排:

第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开发的细节。


关于此书评价

暂无.

书摘内容

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

物联网Python开发实战最新最全的试读、书评、目录、简介信息由Python中文网整理提供。