商品描述
本書是「BMduino系列程式設計」的第三本書,主要教導開發者與學校研習學生要開發完整之產品專案之讀者,在學習第一本書籍:BMduino程式設計(基礎篇):BMduino Programming (Basic Concept & Tricks)與第二本書籍:BMduino進階程式開發(雲端連線篇):BMduino Advanced Programming (Access Clouding Platform Technology)、BMduino進階程式開發(常用模組篇):BMduino Advanced Programming (Popular Modules)後,希望可以針對校園之程式設計課程或畢業專題中,發想一個完整的系統專案、或是資電產業之物聯網工程師想開發完整的物聯網產品或系統。
本書搭配BMduino開發板與網路模組如何透過物聯網架構之網路通訊技術,以智慧門禁為開發目的之完整之門禁裝置端與雲端管理平台管理端之完整開發系統之整合範例,進行手把手一步一步教學範例。
接下來從所有硬體裝置之感測模組開始介紹,接下來產品設計概念、原理與相關技術介紹,最後整合雲端連線機制,可以將門禁進出資料傳輸到雲端管理平台,也可以透過平台門禁管理規格,透過雲端連線機制取得門禁管控規則進而透過硬體裝置控制電磁鎖開門或關門。
接下來進行雲端管理平台之建置、開發、與整合硬體與門禁系統設計概念、原理與相關技術需求,進行開發雲端管理平台之管理機制,並整合到雲端管理平台,上述所有的技術與所有感測模組,筆者會一步一步介紹使用這些模組與系統整合技術,逐步完整一個完整的物聯網產品與系統。
BMduino開發板最強大的不只是它的簡單易學的開發工具,最強大的是它網路功能與簡單易學的模組函式庫,幾乎Maker想到應用於物聯網開發的東西,只要透過眾多的周邊模組,都可以輕易的將想要完成的東西用堆積木的方式快速建立,而且BMduino開發板市售價格比原廠Arduino Yun或Arduino + Wifi Shield更具優勢,最強大的是BMduino開發板低廉的價格與Wifi與藍芽模組都可以透過外加方式擴充,更符合物聯網的基本需求,這是今年以來BMduino開發板為何這樣火熱的原因,希望透過這個系列書籍的分享,讓Maker不需要具有深厚的電子、電機與電路能力,就可以輕易駕御BMduino開發板與周邊模組。
筆者很早就開始使用BMduino開發板,也算是先驅使用者,感謝社團法人中華倍創STEAM教育發展協會與倍創科技的支持,本書才得以付梓出版,若沒有這些先進協助,本書無法付梓,所以筆者不勝感激,在本書創作過程,筆者也將所有的感測模組與技術核心教學,都透過Youtube直播與教學簡報書,讀者可以到網址:http://ncnu.arduino.org.tw/brucetsao/myteachingppt.php,使用這些筆者建立的知識分享的免費資源,更希望讀者可以得到更多的技術學習的機會,讓整個BMduino開發版系列的使用者與社群可以更加茁壯,最後希望筆者可以推出更多的入門書籍給更多想要進入「BMduino開發板」、「物聯網」、「健康醫療」、「AI科技」這個未來大趨勢,所有才有這個系列的產生。
<序>
推薦序
在科技日新月異的時代,微控制器不再只是工程師手中的專業工具,而是每一位創客、學生及開發者理解科技運作的起點。BMduino 開發板正是以此理念為基礎而誕生——秉持開放、易學、可實作的精神,讓更多人能以最直覺的方式,進入電子與程式設計的世界。
本書以「從原理到實作」為核心,引導讀者一步步理解 BMduino 的硬體架構、基本電路與驅動邏輯,並透過實際範例,逐步掌握感測、控制、通訊等應用。不同於單純的範例彙集,本教材更重視背後的機制與原理,讓學習不止於模仿,而能融會貫通、靈活創作。
本書內容涵蓋從基礎微控制器架構,數位與類比訊號處理,至輸入輸出介面設計,包括GPIO、PWM、ADC 及通訊協定(如I2C、SPI、UART)等核心技術。除此之外,書中還包含實務專案設計流程,協助讀者將理論運用於真實世界的應用,培養問題分析及系統整合能力。
學習微控制器實作不僅需要理解程式碼的撰寫,更要掌握硬體特性及其運作原理,這是許多初學者易忽略卻關鍵的環節。BMduino 專為教育及創新應用設計,其開放架構與豐富的周邊擴充性,為學習者提供了理想的平台,兼具實用與擴展潛力。
在當今物聯網與智慧自動化迅速發展的浪潮中,擁有扎實的微控制器知識與實作能力,將是每位科技從業者不可或缺的專業技能。期望透過本書,能幫助讀者培養紮實的基礎,激發持續學習的熱情,並啟發無限創意,成為未來科技革新的推動者。
本教材特別針對創客及高中職等中等學校學生設計,教學目標著重於培養學生獨立思考與動手實作能力。透過循序漸進的內容安排與豐富專案實例,激發學生對電子與程式設計的興趣,鼓勵他們將創意轉化為具體作品。教材同時兼顧理論基礎與實務操作,使學生能在理解微控制器原理的基礎上,勇於挑戰自我,完成從簡單應用到複雜系統整合的多樣專案,為未來升學和職涯發展奠定堅實基礎。
我們相信,透過不斷實作與探索,讀者將能在 BMduino 平台上發揮自身潛力,創造屬於自己的智慧應用。願本書成為你踏上創新之路的良師益友,陪你一起迎接未來科技挑戰,照亮探索電子與程式世界的每一步。
倍創科技股份有限公司總經理 徐人凱
<內容連載>
開發板介紹
BMduino 開發板是一系列低成本,低功耗的單晶片微控制器,BMduino-UNO BM53A367A 是 Holtek 32-bit MCU HT32F52367 的開發板,特別設計成與 Arduino UNO R3 開發板腳位兼容,可支援Arduino IDE 開發平台和 Keil IDE 開發平台,幫助初學者更容易地學習程式設計。
BM53A367A 採用 3.3V 系列 Arm® Cortex® -M0+內核的 HT32F52367 為主控 MCU,支援多種供電方式, 具備額外的 I2C、SPI、UART、USB 等常用通訊介面。
BMduinoUNO 開發板使用Arm® Cortex® -M0+ 內核的HT32F52367 為主控 MCU,其功能強大無比,特別介紹BMduino 開發板特色於下列所述:
BMduino 開發板特色:
⚫ MCU:HT32F52367 (64-pin LQFP 封裝)
- Cortex®-M0+,60MHz
- Flash 記憶體:256KB
- SRAM:32KB
⚫ 31 個數位 I/O 腳位 (其中 17 個可作為 PWM 輸出)
⚫ 7 個類比輸入,A/D 轉換器解析度為 12-bit
⚫ 14 個外部中斷
⚫ EEPROM:4KB
⚫ 通訊介面:UART、SPI、I2C、USB
⚫ 電源輸入:USB 介面 x 2,DC 介面,外部 Vin
- e-Link32 Lite USB:Type-C USB 介面
- Native USB:Type-C USB 介面,支援 BC 1.2 與快充 QC 2.0,快充預設升壓為 12V
- DC 介面:DC Jack (桶式插座),連接外部電源 (例如:變壓器),電壓範圍 DC 5V~24V
- 外部Vin:Vin 腳位,電壓範圍 DC 5V~24V
⚫ 除錯工具:e-Link32 Lite (ICE),透過開發板上的 e-Link32 Lite 電路進行程式除錯
⚫ 燒錄方式:
- ICP (In-Circuit Programing):透過開發板上的e-Link32 Lite 電路進行燒錄
- IAP (In Application Programming):透過 COM 埠進行燒錄 (與 Arduino UNO R3 相同)
⚫ 開發環境:支援 Arduino IDE、Keil IDE
⚫ 連接器:
- BMCOM1:腳距 2.54mm,可選 3.3V 或 5V
- BMCOM2:腳距 1.0mm,可選 3.3V 或 5V
- SPI1:腳距 2.54mm,可選 3.3V 或 5V
⚫ 與 Arduino UNO R3 開發板腳位相容
⚫ 尺寸:54 x 94 x 14 mm
⚫ 淨重:28.5g
⚫ 產品包含:1. BM53A367A x 1 | 2. 跳帽 x 1
BMduino UNO 開發板使用Arm® Cortex® -M0+ 內核的HT32F52367 為主控 MCU,特別設計成與 Arduino UNO R3 開發板腳位兼容,可支援 Arduino IDE 開發平台和 Keil IDE 開發平台,幫助初學者更容易地從原來Arduino 開發板使用者可以無痛轉換到BMduino UNO 開發板學習程式設計,特別介紹BMduino 開發板強大的競爭力於下列所述:
BMduino 開發板強大競爭力:
⚫ Arduino UNO R3 腳位相容
◼ BMduino-UNO BM53A367A 的腳位與 Arduino UNO R3 相容,電壓準位為 3.3V (Arduino UNO R3 則為 5V)。
◼ 除了標準的 Arduino UNO R3 腳位之外,BM53A367A 另提供BMCOM1 及 BMCOM2 兩個連接器,並貼心地設計用跳帽設定連接器的電壓準位為 3.3V 或 5V。
◼ 板上自帶有電壓轉換電路,讓您在外接使用 5V 電壓的模組
時,可以直接連接 BMCOM,不須擔心電壓轉換的問題。
⚫ 燒錄方式
◼ BM53A367A 開發板上自帶有 e-Link32 Lite 電路,可用來除錯及燒錄,因此 BM53A367A 燒錄程式時不須使用 TX 及 RX腳位 (Arduino UNO R3 則需使用)。
◼ Arduino UNO R3 上的 6-pin ICSP 連接器,在 BM53A367A 上則不需要有 ICSP 的功能,因此 BM53A367A 將此 6-pin 連接器設計成為另一組 SPI/UART 介面,其電壓準位也可用跳帽選擇 3.3V 或 5V,外接 5V 的模組時不需額外的電壓轉換電路。
⚫ 開發環境
◼ 除了在 Arduino IDE 開發環境下工作,BM53A367A 也可工作於 Keil IDE 開發環境,其使用方式與 ESK32-30510,HT32F52367 開發套件相同。
⚫ 原廠自創BMCOM 生態技術特色
◼ BMCOM 是一個由 I2C/UART 模組所組成的生態系統,其中包括感測器、執行器、顯示器和無線模組等,可以加速原型設計。
◼ BMCOM 連接器有兩種型式:BMCOM1 是 2.54mm 間距的 5 針接頭,而 BMCOM2 是 1mm 間距的 5 針 JST 連接器。
作者簡介
曹永忠 (Yung-Chung Tsao)
國立中央大學資訊管理學系博士,
目前在國立暨南國際大學電機工程學系擔任兼任助理教授與
國立高雄大學電機工程學系擔任兼任助理教授
與社團法人中華倍創STEAM教育發展協會擔任技術顧問,
專注於軟體工程、軟體開發與設計、物件導向程式設計、
物聯網系統開發、Arduino開發、嵌入式系統開發。
長期投入資訊系統設計與開發、企業應用系統開發、
軟體工程、物聯網系統開發、軟硬體技術整合等領域,
並持續發表作品及相關專業著作。
Email:mailto:prgbruce@gmail.com
Line ID:dr.brucetsao
WeChat:dr_brucetsao
作者網站:http://ncnu.arduino.org.tw/brucetsao/myprofile.php
影片中程式碼下載區:
https://github.com/BestModules-Libraries/BMduino_Books
臉書社群(Best Modules 倍創科技):
https://www.facebook.com/BestModulesCorp
Github網站:https://github.com/BestModules-Libraries
YouTube:https://www.youtube.com/@BestModules
蔡英德 (Yin-Te Tsai)
國立清華大學資訊科學系博士,目前是靜宜大學資訊傳播工程學系教授、靜宜大學國際學院院長,主要研究為演算法設計與分析、生物資訊、軟體開發、視障輔具設計與開發。
Email:mailto:yttsai@pu.edu.tw
作者網頁:http://www.csce.pu.edu.tw/people/bio.php?PID=6#personal_writing
許智誠 (Chih-Cheng Hsu)
美國加州大學洛杉磯分校(UCLA) 資訊工程系博士,曾任職於美國IBM等軟體公司多年,現任教於中央大學資訊管理學系專任副教授,主要研究為軟體工程、設計流程與自動化、數位教學、雲端裝置、多層式網頁系統、系統整合、金融資料探勘、Python建置(金融)資料探勘系統。
Email: mailto:khsu@mgt.ncu.edu.tw
作者網頁:http://www.mgt.ncu.edu.tw/~khsu/
目錄大綱
推薦序
自序
自序
自序
目錄
圖目錄
表目錄
BMduino系列
開發板介紹
BMduino開發板特色
BMduino開發板強大競爭力
BMduino開發板的外表尺寸介紹
BMduino開發板與Arduino-UNO R3開發板比較
BMduino開發板IO腳位介紹
BMduino開發者介紹
BMduino資源介紹
章節小結
NFC讀寫器擴充板介紹
NFC讀寫器擴充板產品特色
RFID基本介紹
Mifare卡片
MIFARE家族主要產品介紹
MIFARE家族工作原理要點
MIFARE家族常見應用場景
MIFARE家族安全性議題
MIFARE家族與手機NFC的相容性
NFC讀寫器擴充板產品說明
腳位說明
電路組立
NFC讀寫器官方系統文件
設定NFC讀寫器擴充板模組函式庫
進入開發環境
測試NFC讀寫器擴充板模組範例
正確設定監控視窗讓測試運行正常
測試NFC讀寫器擴充板模組函式庫是否正常
章節小結
感測器介紹
IIC擴展模組
IIC擴展模組產品說明
IIC擴展模組級聯功能說明
IIC擴展模組官方網站
IIC擴展模組腳位說明
UART擴展模組
UART擴展模組產品說明
UART擴展模組級聯功能說明
UART擴展模組官方網站
UART擴展模組腳位說明
OLED顯示器應用介紹
0.96吋OLED顯示模組產品特色
0.96吋OLED顯示模組基本介紹
0.96吋OLED顯示模組產品說明
腳位說明
電路組立
0.96吋OLED顯示模組官方系統文件
設定OLED顯示模組函式庫
進入開發環境
測試OLED顯示模組範例
正確設定監控視窗讓測試運行正常
測試OLED顯示模組是否正常
程式流程圖
按鈕型輸入感測模組:LED按鍵模組
LED按鍵模組產品說明
LED按鍵模組級聯功能說明
LED按鍵模組官方網站
LED按鍵模組腳位說明
基本模組電路圖
LED按鍵模組函式安裝
測試LED按鍵模組範例
程式流程圖
範例系統測試
測試硬體
16鍵電容式觸控感測擴充板模組
產品說明
產品特色
電路腳位說明
官方網站
產品規格
基本模組電路圖
模組函式安裝
測試範例
程式流程圖
範例系統測試
測試硬體
繼電器模組
產品說明
產品特色
產品功能說明
腳位說明
官方網站
產品規格
基本模組電路圖
函式安裝
測試範例
程式流程圖
範例系統測試
測試硬體
ESP-12F WiFi模組
產品特色
基本介紹
產品說明
腳位說明
電路組立
官方系統文件
設定WiFi模組函式庫
進入開發環境
測試官方範例
正確設定監控視窗讓測試運行正常
程式流程圖
測試函式庫是否正常
章節小結
門禁裝置登錄設計與開發
系統分析
門禁裝置註冊雲端架構
硬體電路設計
資料庫設計
門禁裝置端韌體開發
程式流程圖
雲端資料庫代理人開發設計
程式流程圖
章節小結
門禁卡號授權設計與開發
系統分析
雲端架構
硬體電路設計
資料庫設計
韌體開發
程式流程圖
雲端資料代理人程式開發
程式流程圖
章節小結
門禁卡號啟用設計與開發
系統分析
雲端架構
硬體電路設計
資料庫設計
韌體開發
程式流程圖
雲端資料代理人程式開發
程式流程圖
章節小結
門禁卡號授權停用設計與開發
系統分析
雲端架構
硬體電路設計
資料庫設計
韌體開發
程式流程圖
雲端資料代理人程式開發
程式流程圖
章節小結
門禁卡號授權失效設計與開發
系統分析
雲端架構
硬體電路設計
資料庫設計
韌體開發
程式流程圖
雲端資料代理人程式開發
程式流程圖
章節小結
門禁卡號授權開門設計與開發
系統分析
雲端架構
硬體電路設計
資料庫設計
韌體開發
程式流程圖
查詢開關門程式開發
程式流程圖
章節小結
基本網頁開發
網頁設計語言介紹
PHP網頁語言詳細介紹
PHP的運作原理
核心元件說明
標準網頁介紹
系統基本開發
主頁開發
雲端主頁面組成
HTML基本結構
主頁解析
抬頭副程式
頁尾副程式
頁面中間程式
產生菜單選項
使用AI輔助程式開發
修改菜單
完成標準菜單選項
章節小結
門禁裝置管理平台系統
網頁管理系統
資料庫設計
網站開發
管理主頁開發
程式流程圖
明細查詢開發
多裝置門禁授權輔助資料庫
程式流程圖
章節小結
授權卡號管理平台系統
RFID卡片查詢系統
RFID卡片資料庫
網站開發
查詢系統開發
程式流程圖
管理系統開發
程式流程圖
資料新增功能
程式流程圖
資料修改功能
程式流程圖
資料刪除功能
章節小結
門禁卡號進出管理平台
網頁管理系統
資料庫設計
網站開發
主頁開發
程式流程圖
明細查詢開發
程式流程圖
章節小結
門禁系統實體上課介紹
智慧門禁系統實體課程
課程內容
教材說明
章節小結
本書總結
作者介紹
附錄
BMduino-UNO腳位圖
BMduino-NANO腳位圖
智慧門禁整體電路組立圖
課程報名資訊
電子書借閱操作方式
參考文獻
