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

趙英傑

立即出貨 (庫存 > 10)

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

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

相關主題

20190219 keras google colab s

商品描述

本書是創客教學經典《超圖解 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 韌體