實戰物聯網|運用 ESP32 製作厲害又有趣的專題 (Internet of Things Projects with ESP32)
內容描述
本書可以幫助你運用ESP32晶片來製作並執行各種物聯網專案
ESP32是一款整合了Wi-Fi與藍牙的平價微控制器,市面上可以找到許多以ESP32為基礎的模組與開發板,可以用來快速打造各種物聯網(IoT)應用。本書將告訴你如何運用ESP32開發各種物聯網專案,先從GPIO這類會用到感測器的小程式開始,然後逐漸增加複雜度,藉由製作氣象站、感測器監控器、智慧居家裝置、Wi-Fi照相機以及可攜式Wi-Fi訊號探測器等物聯網專案深入探索ESP32的各種開發應用可能性。最後,還會介紹如何讓ESP32與手機應用程式以及Amazon AWS進行整合應用。
看完本書,你將可以學到:
.了解如何建立一個感測器監測記錄器。
.使用ESP32建立一個可以記錄溫度和濕度的氣象站
.讓ESP32透過藍牙與Android裝置連線
.了解如何打造ESP32與行動app的整合應用
.了解如何打造ESP32與雲端服務的整合應用
<序>
本書可以幫助你運用ESP32晶片來製作並執行各種物聯網專案
ESP32是一款整合了Wi-Fi與BLE藍牙的平價微控制器。你可採用許多以ESP32為基礎的模組與開發板來快速打造各種物聯網(Internet-of-Things, IoT)應用。Wi-Fi與BLE是物聯網應用中常見的網路通訊方式。這類網路模組應能提供相當不錯的成本效應來滿足你的商務與專案需求。
本書目標是作為ESP32開發的基礎指引,先從GPIO這類會用到感測器的小程式開始。然後製作氣象站、感測器監控器、智慧居家裝置、Wi-Fi照相機以及Wi-Fi駕駛攻擊等物聯網專案來深入ESP32開發。最後,我們要讓ESP32與行動app以及Amazon AWS這類的雲端伺服器來互動。
本書內容
第1章|認識ESP32
簡介了ESP32開發板,另外也告訴你如何設定用於ESP32的開發環境。
第2章|在LCD上視覺化呈現資料與動畫
可視為氣象系統的出發點。本章將帶你製作一支簡單的ESP32程式,透過DHT22感測器模組來感測溫度與濕度。接著,會在ESP32板子上加裝LCD小螢幕,並介紹如何控制它。
第3章|使用嵌入式ESP32開發板製作簡易小遊戲
討論了如何操作類比搖桿,以及使用蜂鳴器來製作簡易的發聲裝置,最後完成一個小遊戲。
第4章|感測器監測記錄器
本章的內容是關於如何讓ESP32板子得以存取SD/micro SD這類的外部儲存裝置。我們要把感測器資料存在這類外部儲存裝置中,並在偵測與寫入感測器資料之後進入休眠模式來完成一個感測器監控記錄器。
第5章|透過網際網路來控制物聯網裝置
介紹了如何讓ESP32開發板連上Wi-Fi無線網路,並接續連上網際網路並與網路伺服器互動。另外也會讓ESP32板子變成一個小型的網路伺服器。最後則是完成一個簡易的智慧家庭裝置,能透過網路來控制其中的LED。
第6章|物聯網氣象站
使用了ESP32板子搭配DHT22感測器製作了一個氣象站,可以取得感測器讀數。另外也加入了Node.js來升級氣象站,讓它可以處理更大規模的網路請求。
第7章|自製Wi-Fi駕駛攻擊
示範如何透過ESP32板子來操作GPS模組。在此會製作一個簡易的駕駛攻擊專案,可針對GPS位置進行Wi-Fi剖析。內容會涵蓋如何同時讀取Wi-Fi SSID與GPS資料。
第8章|打造專屬Wi-Fi相機
本章的內容是關於如何透過ESP32板子來操作照相機模組,在此會用到OV7670照相機模組來拍攝影像。另外也會開發相關的Wi-Fi功能來透過網路來拍照。
第9章|製作與手機應用程式互動的IoT裝置
聚焦於如何讓ESP32程式與Android手機app兩者以Wi-Fi通訊協定作為媒介來互動。藉由這個方式,你就能透過Android app控制ESP32板子上的某些感測器與致動裝置。另外還會學到如何在ESP32板子上啟動BLE藍牙服務,並讓Android app透過BLE藍牙通訊來與ESP板子互動。
第10章|使用雲端技術實作物聯網監控系統
本章的內容是關於AWS IoT雲端服務。我們要寫一個ESP32程式把溫溼度感測器資料發送到AWS IoT,並透過MQTT通訊協定在兩者之間建立一個通訊管道。這項技術也可以應用在其他物聯網裝置上。
目錄大綱
第1章|認識ESP32
1.1 技術要求
1.2 ESP32簡介
1.3 採用ESP32的開發板
1.4 範例1|第一個ESP32程式
1.5 使用Arduino來編寫ESP32程式
1.6 範例2|使用Arduino IDE編寫ESP32程式
第2章|在LCD上視覺化呈現資料與動畫
2.1 技術要求
2.2 認識ESP32 GPIO
2.3 用於監控天氣的IoT系統
2.4 讀取感測器裝置的溫度與濕度
2.5 使用LCD來顯示資訊
2.6 製作天氣監控系統
第3章|使用嵌入式ESP32開發板製作簡易小遊戲
3.1 技術要求
3.2 簡介嵌入式遊戲系統
3.3 認識搖桿感測器模組
3.4 操作搖桿感測器模組
3.5 操作發聲蜂鳴器
3.6 範例|製作簡易嵌入式遊戲
第4章|感測器監控紀錄器
4.1 技術需求
4.2 簡介感測器監控紀錄器
4.3 用ESP32讀寫microSD卡
4.4 範例|ESP32讀寫microSD卡
4.5 儲存感測器資料於microSD卡
4.6 專案|製作感測器監控紀錄器
第5章|透過網際網路來控制物聯網裝置
5.1 技術要求
5.2 簡介ESP32 Wi-Fi開發
5.3 掃描Wi-Fi熱點
5.4 連接到現有的Wi-Fi網路
5.5 存取網路伺服器資料
5.6 使用ESP32製作網路伺服器
5.7 智慧家庭專案
第6章|物聯網氣象站
6.1 技術需求
6.2 氣象站簡介
6.3 操作DHT感測器
6.4 製作物聯網氣象站
6.5 自動更新的氣象站程式
6.6 讓氣象站可以處理大量資料請求
第7章|自製Wi-Fi駕駛攻擊(可攜式Wifi訊號探測器)
7.1 技術需求
7.2 簡介Wi-Fi駕駛攻擊
7.3 認識GPS模組
7.4 透過GPS模組取得自身位置
7.5 解析GPS資料
7.6 使用ESP32實作Wi-Fi駕駛攻擊
7.7 將Wi-Fi熱點放上Google Maps
7.8 隱私問題
第8章|打造專屬Wi-Fi相機
8.1 技術要求
8.2 Wi-Fi相機之簡介
8.3 觀察相機模組
8.4 透過ESP32存取相機
8.5 範例|打造Wi-Fi相機
第9章|製作與手機應用程式互動的物聯網裝置
9.1 技術要求
9.2 智慧型手機應用程式之簡介
9.3 手機應用程式與ESP32開發板互動
9.4 透過行動應用程式控制ESP32開發板
第10章|使用雲端技術實作物聯網監控系統
10.1 技術要求
10.2 簡介雲端科技
10.3 連接ESP32與雲端平台
10.4 使用ESP32和AWS建立物聯網監控
作者介紹
Agus Kurniawan
獨立技術顧問、作者與講師,擁有18年的軟體專案開發經歷,包括培訓課程、工作坊以及技術寫作等等。另外,也在多所大學完成了許多研究,包含無線網路、軟體工程與資訊安全等。目前正在德國攻讀電腦科學博士學位。