购买链接:京东    天猫   当当
项目源码: https://github/Python-IoT/Smart-IoT-Planting-System

概述

物联网项目通常包含传感器、单片机、网关设备、通信模块、网络协议、后台程序、Web端等多个部件,需要多种编程语言以及研发技能的支持。

在产品原型验证的初期,尤其对于小团队来说,整合众多的研发力量并非易事。本书通过一个完整的实战项目展示物联网从设备到云端开发的全貌。该项目(智能种植系统)涵盖了远程灯控、安防告警、环境监测、智能滴灌、设备管理等多个功能模块。项目所有代码在GitHub开源并配套了硬件开发板。

本项目基本使用Python一种语言实现了传感器、STM32单片机、嵌入式ARM-Linux网关、云端程序的开发。有了Python丰富的第三方库和模块的支撑,即便是欠缺硬件和嵌入式知识的开发者也可玩转物联网,快速实现物联网产品。

主要内容:

  • 物联网核心组件
  • Python编程基础及高级特性
  • MicroPython开发单片机
  • 构建嵌入式Linux网关
  • 多种传感器的接入
  • MySQL与SQLite数据库的使用
  • LoRa和GSM物联网通信模块
  • MQTT通信协议的应用
  • Django Web框架快速实现云端程序

大纲: 

第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开发实战》新书发布