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


購買鏈接:京東    天貓   噹噹


概述

物聯網項目通常包含傳感器、單片機、網關設備、通信模塊、網絡協議、後臺程序、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開發的細節。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章