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開發的細節。相關文章
- 物聯網安全創新聯合實驗室:2019物聯網終端安全白皮書(附下載)
- 數字化轉型,物聯網先行|新華三攜手IDC重磅釋出物聯網驅動數字化轉型技術白皮書
- 如何玩轉Android物聯網開發,這些必須知道Android
- Eclipse釋出:2019年物聯網開發者調查Eclipse
- 小米物聯網戰略
- 物聯網開發技術棧
- 玩轉OneNET物聯網平臺之MQTT服務①MQQT
- 物聯網:助力新常態
- 工業物聯網網路的實施戰略
- 美陸軍白皮書提出“戰場物聯網”概念
- 【物聯大師】之物聯網養魚工程實踐
- 物聯網安全
- 物聯網概述
- 聯想開啟物聯網救贖
- 盤點物聯網常用開發板
- 克服物聯網部署的挑戰
- NB物聯網路卡與物聯網路卡的區別
- 使用Python來做物聯網,就是這麼easy!Python
- 物聯網變為現實:開啟獨特物聯網旅程的實用方法(附下載)
- 綠盟科技《2019物聯網安全年報》釋出
- 物聯網路卡助力智慧圖書館
- “物聯網”與“聯網物”,到底有什麼差異?
- 物聯網與工業物聯網:有什麼區別?
- 【無源物聯網】物聯網的下一個風口?
- 物聯網路卡、物聯網語音卡你能分清嗎?
- 物聯網是什麼意思?物聯網概念是什麼?
- 實現“物超人”,我國移動物聯網邁入發展新階段
- 開源工業物聯網閘道器 v2.1.1釋出
- PHP物聯網高階開發內推PHP
- 【M5Stack物聯網開發】序
- 物聯網軟體開發面臨的7種挑戰
- 物聯網CEO們,未來三年,物聯網將發生什麼?
- 物聯網測試
- 物聯網安全分析
- 物聯網sim卡
- 物聯網淺析
- 讀懂物聯網
- Navigate2017|新華三物聯網戰略解讀