购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

本书内容写作安排:

第1章——物联网邂逅Python

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

第2章——开启Python之旅

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

第3章——Python数据结构

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

第4章——Python高级特性

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

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

本章介绍物联网的核心组成部分和关键技术点,首先介绍Wi-Fi、移动、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操作等多种任务。本章介绍实现多种任务的方式及多进程、多线程、协程、异步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配置、模板、模型、表单、静态文件处理、用户注册与登录等。

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

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

点击中间区域
呼出菜单
上一章
目录
下一章
×