超圖解 Python 物聯網實作入門 -- 使用 ESP8266 與 MicroPython

趙英傑

立即出貨 (庫存 > 10)

  • 9789863125235 b1
  • 9789863125235 b2
  • 9789863125235 b3
  • 9789863125235 b4
  • 9789863125235 b5
  • 9789863125235 b6
  • 9789863125235 b7
  • 9789863125235 b8
9789863125235 b1

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

商品描述

本書是創客教學經典《超圖解 Arduino 互動設計入門》的姊妹作, 是一本結合 Python 語言、電子電路、微電腦控制和物聯網相關技術的入門書。

Python 無疑是近年最受注目的通用型程式語言, 它的語法簡單易學, 不僅智慧型手機、個人電腦到網路雲端應用平台都支援 Python 程式, 應用領域更遍及系統工具、網路程式、數值分析到人工智慧。而開放原始碼的 MicroPython 專案, 更讓 Python 程式可以在拇指大小的微電腦控制器上執行, 直接控制硬體或開發物聯網專案, 就連歐洲太空總署也將 MicroPython 應用在控制太空載具上。MicroPython 支援多種 32 位元控制板, 本書採用的是內建 Wi-Fi 無線網路、創客一致公認價美物廉 C/P 值超高的 ESP8266 系列控制板。

本書的目標是讓沒有電子電路基礎, 對微電腦、電子 DIY 及物聯網有興趣的人士, 也能輕鬆閱讀、認識 Python 語言, 進而順利使用 Python 與 ESP8266 控制板完成互動應用。因此, 實驗用到的電子、電路組裝和 Python 程式觀念, 皆以手繪圖解的方式說明。為了方便讀者進行實驗, 書本裡的電路都採用現成的模組, 並搭配圖解說明, 讓讀者不單只會照著接線, 也能理解電子模組背後的原理, 進而能靈活改造應用並實踐自己的想法。

本書範例豐富多元, 包括自動吃錢幣存錢筒、雷射槍玩具標靶、電流急急棒遊戲、拍手聲音感應開關、GPS 軌跡追蹤、遠端手機遙控家電、遠端遙控電子調光器、物聯網雲端資訊儀表板、MQTT 即時氣象資訊推送系統等等, 既能學習各項技術, 又可創造實用有趣的成果。 
本書特色 : 
用最夯的 Python 語言學寫程式
用最超值的 ESP8266 控制板學物聯網
用最易懂的超圖解學電子電路
人人都能化身創客自造各種智慧應用 
 

目錄大綱

第 1 章 認識 MicroPython 與 ESP8266 控制板
1-1 認識 MicroPython、pyboard 和 ESP8266 控制板
1-2 認識程式語言
1-3 在個人電腦上安裝 Python 3.x 版本
1-4 WEMOS D1 mini 和 NodeMCU 控制板簡介
1-5 下載與燒錄 MicroPython 韌體
1-6 透過終端機操控 MicroPython 控制板
1-7 MicroPython 和 Arduino 的程式開發流程比較
動手做 1-1 用 Python 控制 LED 閃爍

第 2 章 認識電子零件、工具與基礎焊接
2-1 電壓、電流與接地
2-2 電阻
2-3 電容
2-4 二極體
2-5 發光二極體(LED)
2-6 看懂電路圖
2-7 微控制板和實驗電路的電源供應器
2-8 電子工作必備的量測工具:萬用電錶
動手做 2-1 測量電阻或電容
2-9 麵包板以及其他電子工具

第 3 章 MicroPython 基本操作
3-1 MicroPython 程式設計基礎
3-2 使用迴圈執行重複性質的工作
動手做 3-1 使用 while 執行已知次數或無限重複的工作
3-3 MicroPython 的互動解譯器模式(REPL)操作說明
3-4 上傳程式檔到 ESP8266 控制板
3-5 負載的接法:源流與潛流
動手做 3-2 自行連接 LED
3-6 用歐姆定律計算出限流電阻值

第 4 章 開關電路
4-1 認識開關
4-2 開關電路與上/下拉電阻
動手做 4-1 用麵包板組裝開關電路
4-3 改變程式流程的 if 條件式
動手做 4-2 LED 切換開關
動手做 4-3 用 RC 電路消除開關彈跳訊號
4-4 電容式觸控開關
動手做 4-4 使用觸控開關模組製作 LED 開關

第 5 章 Python 程式設計基礎
5-1 變數與資料類型
5-2 建立自訂函式
5-3 自訂程式庫與常數定義
5-4 處理文字訊息:認識字元與字串資料類型
5-5 列表(List)類型
5-6 元組(Tuple)與其他循序型資料操作指令
5-7 字典(Dictionary)類型
5-8 認識數字系統

第 6 章 Wi-Fi 無線網路
6-1 認識無線區域網路與 Wi-Fi
6-2 從網頁瀏覽器操作 MicroPython 控制板
6-3 設定 ESP8266 以 STA(基站)模式連接無線網路
6-4 修改 boot.py 檔、開機自動連線
6-5 其他網路相關指令
6-6 bytes(位元組)類型與字元編碼

第 7 章 序列埠通信
7-1 並列與序列通訊簡介
7-2 DHT11 數位溫濕度感測器
動手做 7-1 製作數位溫濕度計
7-3 認識 UART 序列埠
7-4 建立 UART 序列通訊程式物件
動手做 7-2 連接 GPS 模組
7-5 認識 NMEA 標準格式與獲取 GPS 的經緯度值

第 8 章 數位調節電壓強弱與全彩 LED 控制
8-1 使用 Timer(計時器)定時執行程式
動手做 8-1 使用定時器閃爍 LED
8-2 使用 try...except 捕捉例外狀況
8-3 用匿名函式(lambda)改寫閃爍 LED 程式
8-4 數位調節電壓變化
動手做 8-2 呼吸燈效果
8-5 控制全彩 LED
動手做 8-3 控制 RGB 全彩 LED
8-6 旋轉編碼器
動手做 8-4 連接旋轉編碼器與 ESP8266 控制板
動手做 8-5 使用旋轉編碼器調整 LED 色彩
8-7 WS2812 彩色 LED 模組與燈條
動手做 8-6 調控 WS2812 的色彩
動手做 8-7 跑馬燈效果

第 9 章 電晶體與蜂鳴器和直流馬達控制
9-1 認識電晶體元件
9-2 發音體和聲音
動手做 9-1 發出警報聲響
動手做 9-2 電流急急棒
9-3 彈奏音樂
動手做 9-3 演奏一段瑪莉歐旋律
9-4 認識直流馬達
動手做 9-4 電晶體馬達控制與調速器

第 10 章 控制伺服馬達
10-1 認識伺服馬達
動手做 10-1 伺服馬達的控制程式
10-2 自訂類別:遠離義大利麵條
動手做 10-2 編寫控制伺服馬達的自訂類別

動手做 10-3 吃錢幣存錢筒
10-3 繼承:建立子類別
動手做 10-4 隨機轉動標靶

第 11 章 類比信號處理
11-1 讀取類比值
動手做 11-1 讀取類比值並調控 LED 亮度
11-2 認識光敏電阻與分壓電路
動手做 11-2 使用光敏電阻製作小夜燈
11-3 壓力感測器與彎曲感測器
11-4 熱敏電阻
動手做 11-3 使用熱敏電阻測量溫度
動手做 11-4 雷射槍玩具標靶
11-5 電容式麥克風元件與聲音放大模組
動手做 11-5 拍手控制開關
動手做 11-6 拍手控制開關改良版

第 12 章 I2C 介面:連接週邊與擴充 ESP8266 的類比輸入埠
12-1 認識 I2C 介面
12-2 類比轉數位(ADC)的專用 IC 介紹
動手做 12-1 連接 PCF8591 類比轉數位模組和 I2C 介面
動手做 12-2 自製二軸雲台(機械手臂)
12-3 使用 OLED 顯示器顯示文字訊息
動手做 12-3 使用 ssd1306 程式庫操控 OLED 模組
12-4 自訂顯示圖像
動手做 12-4 在 OLED 上顯示自訂符號
12-5 使用 LCD Assistant 軟體轉換圖像
動手做 12-5 在 OLED 顯示動態溫濕度值

第 13 章 超音波距離感測器與 I2C 直流馬達驅動控制板實驗
13-1 認識超音波
動手做 13-1 使用超音波感測器製作數位量尺
13-2 建立超音波自訂類別與發出自訂例外錯誤
動手做 13-2 超音波距離控制燈光亮度
13-3 控制馬達正反轉的 H 橋式馬達控制電路
13-4 WEMOS 馬達擴展板
動手做 13-3 自動迴避障礙物的自走車
13-5 用 MicroPython 改寫 WEMOS 原廠的 Arduino 馬達驅動程式庫 
13-6 位移和邏輯運算子

第 14 章 製作 GPS 軌跡記錄器
14-1 讀取與設定本機時間
動手做 14-1 在 OLED 螢幕顯示 GPS 定位的台北時間
14-2 使用 os 程式庫操作檔案
14-3 建立與寫入檔案
14-4 輪詢 VS 中斷
動手做 14-2 使用中斷要求開、關 LED
動手做 14-3 建立儲存 GPS 紀錄的 CSV 格式檔案
14-5 在谷歌地圖呈現 GPS 移動軌跡

第 15 章 SPI 介面控制:LED 矩陣和 MicroSD 記憶卡
15-1 LED 矩陣元件
15-2 認識 SPI 介面與 MAX7219 IC
動手做 15-1 組裝 LED 矩陣電路
15-3 顯示單一矩陣圖像
動手做 15-2 在 LED 矩陣上顯示音符圖像
動手做 15-3 在終端機顯示矩形排列的星號
動手做 15-4 LED 矩陣動畫與多維序列資料程式設計
動手做 15-5 連接 MicroSD/SD 記憶卡

第 16 章 網路程式基礎入門
16-1 認識網路與 IP 位址
16-2 網域名稱、URL 網址和傳輸協定
16-3 網路的連線標準與封包
16-4 使用 Socket 建立網路通訊程式
動手做 16-1 使用 Socket 建立一對一通訊程式
16-5 認識網頁與 HTML
16-6 認識 HTTP 通訊協定
動手做 16-2 連結網站的用戶端程式
16-7 認識 HTTPS 加密連線

第 17 章 物聯網應用初步
17-1 建立網站
動手做 17-1 建立網站伺服器
動手做 17-2 動態顯示溫濕度資料
動手做 17-3 讀取並顯示 HTML 網頁和圖像
17-2 認識 ThingSpeak 物聯網雲端平台
17-3 透過查詢字串傳遞資料
動手做 17-4 用 urequest 程式庫上傳資料到 ThingSpeak 平台
17-4 使用 POST 方法傳遞資料
17-5 解析查詢字串
動手做 17-5 搭配互動網頁介面的燈光調控器
17-6 控制家電開關
動手做 17-6 使用繼電器控制家電開關

第 18 章 物聯網應用
18-1 網路應用程式訊息交換格式:XML 與 JSON
動手做 18-1 讀取 JSON 格式的世界各地天氣資料
動手做 18-2 在 OLED 螢幕顯示氣象資訊
18-2 認識 MQTT
動手做 18-3 使用 ESP8266 發布資料到 ThingSpeak MQTT 伺服器
動手做 18-4 訂閱 ThingSpeak MQTT 訊息
18-3 ESP8266 微控器的即時鐘(RTC)
動手做 18-5 透過網際網路更新時間
18-4 超低功耗的深度睡眠模式
動手做 18-6 進入深度睡眠與喚醒微控器
動手做 18-7 自動睡眠、喚醒並上傳資料到 ThingSpeak 平台

附錄 A uPyCraft 與 Tera Term 使用說明
A-1 uPyCraft 整合開發工具使用說明
A-2 使用 Tera Term 終端機軟體

附錄 B 編譯客製化的 MicroPython 韌體
B-1 在 Windows 10 系統中安裝與執行 Linux 工具軟體
B-2 交叉編譯 MicroPython 韌體
B-3 從 Linux 環境複製檔案到 Windows 環境
B-4 建立客製化的 MicroPython 韌體