物聯網Python開發實戰(第2版)

安翔

  • 出版商: 電子工業
  • 出版日期: 2024-07-01
  • 售價: $419
  • 貴賓價: 9.5$398
  • 語言: 簡體中文
  • 頁數: 316
  • ISBN: 7121479958
  • ISBN-13: 9787121479953
  • 相關分類: 物聯網 IoT
  • 立即出貨

買這商品的人也買了...

相關主題

商品描述

開發物聯網項目往往涉及傳感器、單片機、網關設備、通信模塊、網絡協議、後台程序、Web端等多個組件,同時需要運用多種編程語言和研發技能。在產品原型驗證的初期階段,特別是對小團隊而言,整合多方研發資源是一項不小的挑戰。本書通過介紹一個完整的實戰項目,全面展示了物聯網開發從設備到雲端的整體流程。該項目(智能種植系統)包含了遠程燈控、安防報警、環境監測、智能滴灌、設備管理等諸多功能模塊,並且僅採用Python一種編程語言,便實現了傳感器、STM32單片機、嵌入式ARM-Linux網關、雲端程序的開發工作。得益於Python豐富的第三方庫和模塊的支持,即使是對硬件和嵌入式知識瞭解不多的開發者,也能輕松駕馭物聯網開發。

目錄大綱

第1章 物聯網邂逅Python
1.1 物聯網組成架構
1.2 物聯網發展現狀
1.2.1 終端設備
1.2.2 操作系統
1.2.3 通信手段
1.2.4 網絡建設
1.2.5 應用協議
1.2.6 雲平臺
1.3 物聯網典型應用
1.3.1 共享自行車
1.3.2 智能家居
1.3.3 智慧農業
1.4 使用Python的理由
1.4.1 Python特性
1.4.2 Python無處不在
1.4.3 開發速度有時更重要
1.5 美麗的相遇
1.5.1 Python與終端
1.5.2 Python與網關
1.5.3 Python與雲平臺
1.5.4 物聯網Python全棧開發
第2章 開啟Python之旅
2.1 Python版本的選擇
2.2 搭建開發環境
2.2.1 安裝VMware
2.2.2 在VMware上安裝Ubuntu
2.2.3 安裝VMware Tools工具
2.2.4 虛擬機的網絡配置
2.2.5 Samba共享設置
2.2.6 修改Python版本
2.3 開始編寫Python程序
2.3.1 交互式解釋器
2.3.2 源代碼執行
2.3.3 註釋
2.3.4 縮進
2.3.5 分隔
2.3.6 輸入和輸出
2.4 變量和數據類型
2.4.1 變量賦值
2.4.2 常量
2.4.3 數據類型
2.5 條件和循環
2.5.1 if語句
2.5.2 while循環
2.5.3 for...in循環
2.5.4 跳出循環
2.5.5 pass語句
2.6 函數
2.6.1 定義函數
2.6.2 函數調用
2.6.3 函數參數
2.6.4 內置函數
2.7 變量進階
2.7.1 全局變量和局部變量
2.7.2 global關鍵字
2.7.3 nonlocal關鍵字
2.7.4 變量作用域
2.8 模塊與包
2.8.1 使用模塊
2.8.2 包
2.9 異常處理
第3章 Python數據結構
3.1 字符串
3.1.1 索引和切片
3.1.2 字符串中的運算符
3.1.3 字符串格式化
3.1.4 字符編碼
3.2 列表
3.2.1 訪問列表
3.2.2 更改列表
3.2.3 列表中的運算符
3.2.4 列表中的常用函數
3.3 元組
3.3.1 訪問元組
3.3.2 元組中的運算符
3.3.3 元組中的內置函數
3.4 字典
3.4.1 訪問字典
3.4.2 修改字典
3.4.3 字典中鍵的特性
3.4.4 字典中的函數
3.5 集合
3.5.1 忽略重復元素
3.5.2 無序
3.5.3 常用操作
第4章 Python高級特性
4.1 生成器
4.1.1 列表推導式
4.1.2 生成器表達式
4.1.3 生成器函數
4.2 迭代器
4.3 函數式編程
4.3.1 高階函數
4.3.2 內置高階函數
4.3.3 閉包
4.3.4 裝飾器
4.3.5 匿名函數
4.3.6 偏函數
4.4 面向對象編程
4.4.1 類與對象
4.4.2 訪問限制
4.4.3 繼承
4.4.4 多重繼承
4.4.5 多態
4.4.6 運算符重載
第5章 物聯網核心組件
5.1 網絡通信方案
5.1.1 Wi-Fi網絡
5.1.2 移動網絡
5.1.3 ZigBee
5.1.4 BLE
5.1.5 LoRa
5.1.6 NB-IoT
5.2 網絡通信協議
5.2.1 HTTP
5.2.2 WebSocket
5.2.3 XMPP
5.2.4 CoAP
5.2.5 MQTT
5.3 硬件
5.4 物聯網雲平臺
5.4.1 OneNet
5.4.2 AWS IoT
5.4.3 Waston IoT
第6章 MicroPython開發物聯網終端
6.1 MicroPython簡介
6.1.1 MicroPython項目
6.1.2 MicroPython特點
6.1.3 MicroPython源代碼
6.2 MicroPython開發板
6.2.1 PYBoard開發板
6.2.2 TPYBoard開發板
6.2.3 OpenMV開發板
6.2.4 LoPy開發板
6.3 第一個MicroPython程序
6.4 交互式解釋器
6.5 按鍵中斷與回調
6.6 定時器的使用
6.7 串口測試
6.8 SPI接口驅動顯示屏
6.8.1 硬件連接
6.8.2 顯示屏驅動
6.8.3 字庫說明
6.8.4 主程序
6.9 源代碼編譯與固件升級
6.9.1 準備編譯環境
6.9.2 源代碼下載與編譯
6.9.3 固件下載
6.10 MicroPython多線程
6.10.1 MicroPython線程簡介
6.10.2 MicroPython線程使用
6.10.3 多線程中的鎖
6.11 安全模式和恢復出廠設置
6.11.1 安全模式
6.11.2 恢復出廠設置
第7章 構建物聯網網關
7.1 網關概述
7.1.1 網關的構成
7.1.2 常用網關
7.2 自主構建網關
7.2.1 交叉編譯
7.2.2 編譯引導程序
7.2.3 內核配置與編譯
7.2.4 製作文件系統
7.2.5 分區與下載
7.2.6 系統啟動流程
7.2.7 移植Python
7.3 樹莓派作為網關
7.3.1 初次啟動樹莓派
7.3.2 串口登錄樹莓派
7.3.3 SSH訪問樹莓派
7.3.4 升級Python版本
7.3.5 必備工具安裝
7.3.6 板載Wi-Fi配置
7.3.7 串口通信
第8章 網關數據編碼與處理
8.1 讀寫CSV文件
8.1.1 讀取CSV文件
8.1.2 寫入CSV文件
8.2 JSON格式
8.2.1 書寫格式
8.2.2 編碼
8.2.3 解碼
8.3 XML文件
8.3.1 XML文件簡介
8.3.2 解析XML文件
8.3.3 創建與修改
8.4 二進制數據的讀寫
8.5 Base64編解碼
8.6 正則表達式
8.6.1 語法
8.6.2 re模塊
8.6.3 貪婪匹配
第9章 網關多進程與多線程
9.1 多進程
9.1.1 multiprocessing模塊
9.1.2 進程同步
9.1.3 進程間通信
9.2 多線程
9.2.1 threading模塊
9.2.2 線程同步
9.2.3 線程間通信
9.3 多線程和多進程的思考
9.3.1 多核CPU利用率實驗
9.3.2 GIL全局鎖
9.3.3 切換的開銷
9.3.4 多線程與多進程的選擇
9.4 異步IO
9.4.1 協程
9.4.2 協程與多線程對比
9.4.3 asyncio
第10章 網關數據持久化
10.1 文件操作
10.1.1 讀寫文本數據
10.1.2 操作文件和目錄
10.1.3 讀寫壓縮文件
10.1.4 內存映射
10.1.5 臨時文件與目錄
10.1.6 序列化Python對象
10.2 SQLite數據庫
10.2.1 SQLite簡介
10.2.2 命令行操作SQLite
10.2.3 創建數據庫
10.2.4 創建表
10.2.5 SQL語句
10.2.6 SQLite的Python編程
第11章 Python擴展
11.1 Python擴展的原因
11.2 連接硬件的紐帶
11.3C 語言擴展Python
11.3.1 簡單的C語言Python擴展
11.3.2 傳遞整型參數
11.3.3 傳遞字符串參數
第12章 網關網絡編程
12.1 網關網絡通信方案
12.2 Socket編程
12.3 requests
12.3.1 上傳文件
12.3.2 下載文件
12.4 hbmqtt
12.4.1 安裝
12.4.2 hbmqtt命令操作
12.4.3 hbmqtt API編程
12.5 LoRa網絡通信
12.5.1 LoRa模塊初始化
12.5.2 數據監聽與接收
12.5.3 數據緩存
第13章 物聯網後台Web開發
13.1 Django簡介
13.2 創建一個網站
13.2.1 Django安裝
13.2.2 創建項目
13.2.3 運行與訪問
13.3 網站首頁
13.3.1 源代碼文件結構
13.3.2 視圖與URL配置
13.4 Django模板系統
13.4.1 文本格式
13.4.2 模板繼承
13.5 Django模型
13.5.1 安裝MySQL數據庫
13.5.2 創建模型
13.5.3 必要的配置
13.6 用戶註冊
13.7 賬號登錄
第14章 物聯網Python項目實戰
14.1 項目簡介
14.2 終端設備程序開發
14.2.1 採集空氣溫濕度
14.2.2 獲取環境光照強度
14.2.3 雨量檢測
14.2.4 水位檢測
14.2.5 土壤濕度檢測
14.2.6 水泵控制
14.2.7 入侵檢測
14.2.8 燈光控制
14.2.9 電量檢測
14.2.10 LoRa通信模塊
14.2.11 JSON消息
14.3 網關程序開發
14.3.1 終端通信
14.3.2 數據庫管理
14.3.3 文件備份
14.3.4 服務器通信
14.3.5 2G模塊
14.4 服務器端程序開發
14.4.1 與網關通信
14.4.2 環境數據可視化
14.4.3 滴灌控制
14.4.4 燈光控制
14.4.5 報警顯示與設置
14.4.6 設備管理
14.4.7 備份文件管理