Python玩轉物聯網--《物聯網Python開發實戰》新書釋出

安翔發表於2018-03-20


購買連結:京東    天貓   噹噹


概述

物聯網專案通常包含感測器、微控制器、閘道器裝置、通訊模組、網路協議、後臺程式、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開發的細節。

相關文章