本書是「ESP系列程式設計」的第二本書,主要教導新手與初階使用者之讀者熟悉使用ESP32開發板使用最基礎的數位輸出、數位輸入、類比輸出、類比輸入、網際網路連接、網際網路基礎應用等等。
ESP 32開發板最強大的不只是它的簡單易學的開發工具,最強大的是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,只要透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且ESP32開發板市售價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是這些周邊模組對應的函式庫,瑞昱科技有專職的研發人員不斷的支持,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御這些模組。
筆者很早就開始使用ESP 32開發板,也算是先驅使用者,希望筆者可以推出更多的入門書籍給更多想要進入「ESP 32開發板」、「物聯網」這個未來大趨勢,所有才有這個系列的產生。
作者簡介:
曹永忠 (Yung-Chung Tsao) ,國立中央大學資訊管理學系博士,目前在國立暨南國際大學電機工程學系兼任助理教授、國立高雄大學電機工程學系兼任助理教授,專注於軟體工程、軟體開發與設計、物件導向程式設計、物聯網系統開發、Arduino開發、嵌入式系統開發。長期投入資訊系統設計與開發、企業應用系統開發、軟體工程、物聯網系統開發、軟硬體技術整合等領域,並持續發表作品及相關專業著作。
並通過台灣圖霸的專家認證。
目前也透過Youtube在直播平臺https://www.youtube.com/@dr.ultima/streams,不定期分享系統設計開發的經驗、技術與資訊工具、技術使用的經驗
Email:prgbruce@gmail.com
Line ID:dr.brucetsao
WeChat:dr_brucetsao
作者網站:http://ncnu.arduino.org.tw/brucetsao/myprofile.php
臉書社群(Arduino.Taiwan):https://www.facebook.com/groups/Arduino.Taiwan/
Github網站:https://github.com/brucetsao/
原始碼網址:https://github.com/brucetsao/CloudingDesign
直播平檯https://www.youtube.com/@dr.ultima/streams:
蔡英德 (Yin-Te Tsai),國立清華大學資訊科學系博士,目前是靜宜大學資訊傳播工程學系教授、靜宜大學資訊學院院長,主要研究為演算法設計與分析、生物資訊、軟體開發、視障輔具設計與開發。
Email:yttsai@pu.edu.tw
作者網頁:http://www.csce.pu.edu.tw/people/bio.php?PID=6#personal_writing
許智誠 (Chih-Cheng Hsu),美國加州大學洛杉磯分校(UCLA) 資訊工程系博士,曾任職於美國IBM等軟體公司多年,現任教於中央大學資訊管理學系專任副教授,主要研究為軟體工程、設計流程與自動化、數位教學、雲端裝置、多層式網頁系統、系統整合、金融資料探勘、Python建置(金融)資料探勘系統。
Email: khsu@mgt.ncu.edu.tw
作者網頁:http://www.mgt.ncu.edu.tw/~khsu/
推薦序
自序
ESP32系列的書是我出版至今十年多,出書量也破一百七十多本大關,專為ESP32S開發板(NodeMCU-32S) 學習用白色終極板出版的MicroPython的第一本教學書籍,當初出版電子書是希望能夠在教育界開一門Maker自造者相關的課程,沒想到一寫就已過十年多,繁簡體加起來的出版數也已也破一百七十多的量,這些書都是我學習當一個Maker累積下來的成果。
這本書可以說是我的另一個里程碑,之前都是以專案為主,將別人設計的產品進行逆向工程展開之後,將該產品重新實作,但是筆者發現,很多學子的程度對一個產品專案開發,仍是心有餘、力不足,所以筆者鑑於如此,回頭再寫基礎感測器系列與程式設計系列,希望透過這些基礎能力的書籍,來培養學子基礎程式開發的能力,等基礎紮穩之後,面對更難的產品開發或物聯網系統開發,有能遊刃有餘。
目前許多學子在學習程式設計之時,恐怕最不能瞭解的問題是,我為何要寫九九乘法表、為何要寫遞迴程式,為何要寫成函式型式…等等疑問,只因為在學校的學子,學習程式是為了可以瞭解『撰寫程式』的邏輯,並訓練且建立如何運用程式邏輯的能力,解譯現實中面對的問題。然而現實中的問題往往太過於複雜,授課的老師無法有多餘的時間與資源去解釋現實中複雜問題,期望能將現實中複雜問題淬鍊成邏輯上的思路,加以訓練學生其解題思路,但是眾多學子宥於現實問題的困惑,無法單純用純粹的解題思路來進行學習與訓練,反而以現實中的複雜來反駁老師教學太過學理,沒有實務上的應用為由,拒絕深入學習,這樣的情形,反而自己造成了學習上的障礙。
本系列的書籍,針對目前學習上的盲點,希望讀者從感測器元件認識、、使用、應用到產品開發,一步一步漸進學習,並透過程式技巧的模仿學習,來降低系統龐大產生大量程式與複雜程式所需要瞭解的時間與成本,透過固定需求對應的程式攥寫技巧模仿學習,可以更快學習單晶片開發與C語言程式設計,進而有能力開發出原有產品,進而改進、加強、創新其原有產品固有思維與架構。如此一來,因為學子們進行『重新開發產品』過程之中,可以很有把握的瞭解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。
這四年多以來的經驗分享,逐漸在這群學子身上看到發芽,開始成長,覺得Maker的教育方式,極有可能在未來成為教育的主流,相信我每日、每月、每年不斷的努力之下,未來Maker的教育、推廣、普及、成熟將指日可待。
最後,請大家可以加入Maker的Open Knowledge的行列。
自序
ESP32系列的書是我出版至今十年多,出書量也破一百七十多本大關,專為ESP32S開發板(NodeMCU-32S) 學習用白色終極板出版的MicroPython的第一本教學書籍,當初出版電子書是希望能夠在教育界開一門Maker自造者相關的課程,沒想到一寫就已過十年多,繁簡體加起來的出版數也已也破一百七十多的量,這些書都是我學習當一個Maker累積下來的成果。
這本書可以說是我的另一個里程碑,之前都是以專案為主,將別人設計的產品進行逆向工程展開之後,將該產品重新實作,但是筆者發現,很多學子的程度對一個產品專案開發,仍是心有餘、力...
目錄
自序
自序
自序
目 錄
圖目錄
表目錄
物聯網系列
開發板介紹
ESP32 WROOM
NodeMCU-32S 物聯網開發板
安裝ESP開發板的CP210X 晶片USB驅動程式
章節小結
開發環境介紹
MicroPython介紹
Thonny開發IDE安裝
連接ESP32開發板
燒錄MicroPython於ESP32開發板
下載MicroPython韌體版本
開啟Thonny開發工具進行燒錄MicroPython for ESP32
使用線上韌體進入燒錄模式
上下傳程式與副程式
上傳程式
下載程式
安裝套件
搭配硬體
安裝對應硬體的韌體套件
下載函式庫
下載裝置端函式庫到開發端
章節小結
擴充板介紹
彩色0.96吋OLED顯示螢幕
外部GPIO腳位
外部串列周邊介面SPI腳位
外部I²C腳位
外部I²C電壓控制跳線帽
I²C感測元件直插線I²C腳位
透過XH2.54轉接版連接I²C腳位
透過XH2.54轉杜邦母頭連接I²C腳位
外部通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter,通常稱為UART)腳位
透過XH2.54轉接版連接UART腳位
透過XH2.54轉杜邦母頭連接UART腳位
輸出外部電源腳位
外接嗡鳴器
外接電源腳位
外接開關腳位
ESP32S開發板(NodeMCU-32S)插座
ESP32S 學習用白色終極板銅柱螺絲孔
重置按鈕(Reset Button)
章節小結
基礎元件與GPIO控制介紹
板載預設LED之GPIO腳位
硬體組立
預設LED之GPIO腳位程式
程式結果畫面
顯示連接任一GPIO腳位之 Led燈明滅
硬體組立
LED之GPIO5腳位程式
程式結果畫面
透過GPIO腳位讀取按鈕之數位訊號
硬體組立
按鈕控制Led燈明滅程式
程式結果畫面
透過按鈕控制繼電器模組開啟與關閉
硬體組立
按鈕控制繼電器模組開啟與關閉程式
程式結果畫面
透過類比輸出控制LED漸亮與漸滅
硬體組立
透過類比輸出控制LED漸亮與漸滅程式
程式結果畫面
章節小結
I²C元件基本控制介紹
I²C 的基本特性
I²C 與感測器的關係
I²C 在感測器應用中的優勢
典型應用
I²C 通訊協定細節
地址分配
數據傳輸
時鐘速度
I²C 在感測器中的應用實例
顯示模組(Display Module)
使用指南
溫度感測器(Temperature & Humidity Sensor)
加速度計(Accelerometer)
光學感測器
氣壓計
I²C 系統設計考慮
溫溼度模組電路組立
準備實驗材料
驅動OLED 12832測試程式
HTU21D溫溼度感測測試程式
整合OLED 12832之HTU21D溫溼度感測測試程式
傳送溫溼度資料到雲端開發測試程式
HTTP GET程式原理介紹
章節小結
網路基礎篇
開發版硬體介紹
取得自身網路卡編號
硬體組立
電路組立
程式開發
取得環境可連接之無線基地台
硬體組立
程式開發
連接網際網路
硬體組立
程式開發
建立網站來控制GPIO
硬體組立
程式開發
建立網站來控制多組GPIO
硬體組立
程式開發
建立溫溼度感測網站
準備實驗材料
程式開發
章節小結
本書總結
作者介紹
附錄
本書教學用PCB
本書教學用電路板(成品)
NodeMCU 32S腳位圖
ESP32-DOIT-DEVKIT腳位圖
HTU21D函數程式
參考文獻
自序
自序
自序
目 錄
圖目錄
表目錄
物聯網系列
開發板介紹
ESP32 WROOM
NodeMCU-32S 物聯網開發板
安裝ESP開發板的CP210X 晶片USB驅動程式
章節小結
開發環境介紹
MicroPython介紹
Thonny開發IDE安裝
連接ESP32開發板
燒錄MicroPython於ESP32開發板
下載MicroPython韌體版本
開啟Thonny開發工具進行燒錄MicroPython for ESP32
使用線上韌體進入燒錄模式
上下傳程式與副程式
上傳程式
下載程式
安裝套件
搭配硬體...