AI + ESP32-CAM + AWS:物聯網與雲端運算的專題實作應用 (1版)
類似書籍推薦給您
【簡介】
整合最熱門的 AI、物聯網與雲端運算
以 AWS 整合 ESP32-CAM 為例,進行車牌辨識實作!
本書的內容主要結合了三大元素:人工智慧、物聯網設備與雲端運算。隨著人工智慧的爆發式成長,人工智慧的應用已經遍及影像、影片、聲音、對話、文章等領域,而公有雲已經將人工智慧的開發或是應用封裝成完善的服務,對於人工智慧的模型開發者或是應用開發者而言,只需要去熟悉、了解開發框架,就可以快速應用人工智慧的技術;不需要再花時間在購買GPU,安裝驅動、安裝開發框架等基礎環境搭建的無關事務上。
本書以 Python 為主要開發語言,ESP32-CAM 作為物聯網設備,接著介紹 AWS 雲端基礎建設與機器學習的相關服務,最後將 AWS 文字∕人臉辨識與 ESP32-CAM 進行整合,完成一個結合物聯網設備、雲端運算與人工智慧的應用系統。
本書可以學到哪些知識
。Python 基礎概念
。介紹單晶片 ESP32-CAM
。使用 MicroPython 開發 ESP32-CAM
。AWS 基礎設施服務
。Amazon API Gateway
。AWS Lambda
。Amazon DynamoDB
。Amazon S3
。Amazon Rekognition
。網際網路基礎
。HTTP Request/Response
本書適合的「讀者族群」
a.【自學者】適合用於自學 Python 程式語言。
b.【自學者】適合用於自學 AWS 雲端運算。
c.【自學者】適合用於自學 ESP32-CAM。
d.【自學者】適合用於在 AWS 雲端中探索職業生涯的人。
e.【自學者】適合用於在公司內部部署 IT 或雲端,但對 AWS 雲端不熟悉的人。
f.【自造者】適合想體驗自造精神或雲地與軟硬體結合。
g.【教育者】可以作為大專院校畢業專題的教學教材。
h.【教育者】可以作為大專院校雲端運算、物聯網與人工智慧實作的教學教材。
本書結合AI人工智慧、物聯網設備與雲端運算,以AWS整合ESP32-CAM為例,進行車牌辨識的應用實作。
【目錄】
CHAPTER 01 Python 基礎
1.1 Python 說明與開發環境
1.2 Python 基礎語法
1.3 Python 基本資料類型
CHAPTER 02 Python 流程控制
2.1 Python 分支控制
2.2 Python 函數與模組
CHAPTER 03 網路程式開發概念與實作
3.1 網際網路模型
3.2 HTTP 請求∕回應格式
3.3 HTTP 範例–使用 flask 與 telnet
CHAPTER 04 ESP32-CAM 開發
4.1 ESP32-CAM 簡介
4.2 使用 MicroPython 開發 ESP32-CAM–使用圖形化工具 Thonny(Windows)
CHAPTER 05 ESP32-CAM 基礎應用
5.1 使用 MicroPython 檔案存取–io
5.2 使用 MicroPython 控制燈號、撰寫 ISR–machine
CHAPTER 06 ESP32-CAM 進階應用
6.1 使用 MicroPython 連接 Wi-Fi、同步 NTP
6.2 使用 MicroPython 安裝新模組與使用
6.3 使用 MicroPython 拍照
CHAPTER 07 AWS 基礎概念
7.1 AWS 雲端基礎
7.2 AWS 雲端安全
7.3 申請 AWS 帳戶
CHAPTER 08 雲端儲存–Amazon S3
8.1 Amazon S3
8.2 實驗:使用 Amazon S3 建立靜態網站
CHAPTER 09 雲端接口–Amazon API Gateway
9.1 Amazon API Gateway
9.2 實驗:建立 API Gateway–using mock
CHAPTER 10 雲端運算–AWS Lambda
10.1 AWS Lambda
10.2 實驗:使用 GET 方法查詢資料–Lambda
10.3 實驗:使用 POST 方法上傳圖片–Lambda
CHAPTER 11 雲端資料庫–Amazon DynamoDB
11.1 Amazon DynamoDB
11.2 實驗:讀取 EXCEL 檔並存入資料庫中
11.3 實驗:查詢資料庫中的資料
CHAPTER 12 雲端視覺辨識AI–Amazon Rekognition
12.1 Amazon Rekognition
12.2 人臉辨識從 Amazon S3 讀取
12.3 實驗:文字辨識從 Amazon S3 讀取
CHAPTER 13 整合實驗:車牌辨識從定義規格開始
13.1 整合實驗:車牌辨識–定義功能
13.2 實驗:後端–API Gateway 上傳圖片並使用 POSTMAN 檢驗結果
CHAPTER 14 後端實作–整合API + 資料庫 + AI
14.1 實驗:後端–API Gateway 設定車牌辨識選項
14.2 實驗:後端–觸動 S3 事件進行文字辨識
14.3 實驗:後端–API Gateway 查詢辨識記錄
CHAPTER 15 前端實作–ESP32-CAM + 網頁
15.1 實驗:前端–使用 ESP32-CAM 呼叫上傳圖片的 REST API
15.2 實驗:前端–使用 Web 用戶端 呼叫 REST API
附錄 A 參考資料
立即查看
那些文件沒有告訴你的AWS EKS:解析Kubernetes背後的奧秘(iThome鐵人賽系列書)【軟精裝】 (1版)
類似書籍推薦給您
【簡介】
EKS 從不會到入門,從入門到精通
第一本完整探討 EKS 本土書籍
透過問題分析與討論讓你培養問題解決的脈絡
本書內容改編自第 14 屆 iThome 鐵人賽 DevOps 組的優選系列文章《那些文件沒告訴你的 AWS EKS》。
本書從建立 EKS cluster 開始,由「為什麼」為引言反思AWS是如何引用原生 Kubernetes 功能並設計,並溯源 Kubernetes 的原理,進而學習底層 Linux 及網路相關知識。此外,每章節提供逐步除錯驗證,照著步驟實作也能學習到除錯概念。
全書提供 18 個「為什麼」,使用「五個為什麼(Five whys)方法論一層層從 AWS、Kubernetes、容器,最終至作業系統,沿著因果關係順著網上探討釐清整體脈絡。這些「為什麼」們包含了數個 EKS 上實務常見問題,讀者除了能熟悉 AWS 環境及 Kubernetes 限制,也同時釐清作業系統與網路脈絡,提升問題排除的能力,進而持續精進「打破砂鍋問到底」的研究精神。
【目標讀者】
• 想要掌握 Kubernetes 概念和原理的工程師
• 想從 Junior 晉升到 Senior 的 DevOps/SRE 工程師
• 沒有使用過 AWS 雲端環境入門者
• 喜歡親自動手驗證的工程師
【目錄】
CHAPTER 0 為什麼寫這本書
0.1 誰適合本書
0.2 本書內容
0.2.1 會包括以下內容
0.2.2 你需要準備什麼?
0.3 如何使用這本書
0.4 「為什麼」這麼重要
0.5 實務操作
CHAPTER 1 建立 EKS 叢集環境
1.1 版本
1.2 建立環境
1.3 其它方便的設定
CHAPTER 2 CloudWatch Logs 及 CloudWatch Logs Insights 簡介
2.1 CloudWatch Logs 服務專有名詞
2.2 CloudWatch Logs Insights 查詢語法
2.2.1 CloudWatch 控制台
2.2.2 AWS CLI 命令
CHAPTER 3 為什麼 kubectl可以存取 EKS 叢集
3.1 叢集身分驗證
3.2 AWS IAM Authenticator for Kubernetes
3.3 驗證EKS 叢集預設使用AWS IAM Authenticator for Kubernetes
3.3.1 kubectl
3.3.2 驗證控制平面記錄檔
3.3.3 aws-iam-authenticator server 原始碼
3.4 流程
CHAPTER 4 為什麼 EKS 工作節點可以自動加入 EKS 叢集
4.1 EKS node group
4.2 Amazon EKS optimized Amazon Linux AMIs
4.3 kubelet 啟動程序(bootstrap) 初始化步驟
4.4 驗證 kubelet TLS bootstrapping 及自動化核准發證設定
4.4.1 kubelet 設定檔
4.4.2 kube-apiserver
4.4.3 kube-controller-manager
4.4.4 建立一個 EKS 節點
CHAPTER 5 為什麼 EKS 叢集可以識別預設 CNI plugin 為 Amazon VPC CNI plugin
5.1 工作節點 - kubelet 及 CNI
5.1.1 Kubernetes 1.22 版本
5.1.2 Kubernetes 1.27 版本
5.2 驗證EKS-optimized AMI 是否預設設定Amazon VPC CNI plugin 設定檔案
5.2.1 未加入 EKS 叢集 EC2
5.2.2 加入 EKS 叢集,執行 Amazon VPC CNI plugin 的EC2
5.3 Amazon VPC CNI plugin 的啟動流程
5.4 是誰安裝了 VPC CNI plugin
5.5 總結
CHAPTER 6 為什麼 CoreDNS 可以解析 VPC 內的域名及外部域名
6.1 kubelet 設定檔
6.2 Pod's DNS Policy
6.3 驗證 EKS 叢集內 DNS 解析流程
6.3.1 預設 Pod dnsPolicy 設定
6.3.2 從 Pod 內發送 DNS 請求
6.3.3 CoreDNS Pod 本身的 dnsPolicy 設定
6.4 EKS 叢集內 DNS 請求流程
6.5 結論
CHAPTER 7 為什麼 EKS add-on 可以管理 Kubernetes plugin
7.1 更新 Amazon VPC CNI plugin 為 EKS add-ons
7.2 Server-Side Apply
7.3 驗證 EKS 叢集 add-ons 使用 Server-Side Apply
7.3.1 第一次 eksctl create addon
7.3.2 第二次eksctl create addon 使用參數–force
7.4 managedFields
7.4.1 Fully managed:所有 Field Management 指定了 f: 但沒有 k:,則代表 Fully managed,任何修改都會造成衝突
7.4.2 Partially managed:如果 Field Management key 有指定值,修改 key 則會造成衝突
7.5 總結
CHAPTER 8 為什麼 EKS 叢集可以讓 Pod 部署至 Fargate
8.1 建立測試 Pod 於 Fargate 環境上
8.2 驗證部署至 EC2 工作節點與 Fargate 的 Pod 差異
8.3 驗證控制平面記錄檔(一)
8.4 什麼是 Mutate webhook
8.5 0500-amazon-eks-fargate-mutation.amazonaws.com 是怎麼來的
8.6 驗證控制平面記錄檔(二)
8.7 總結
CHAPTER 9 為什麼 EKS 能將 IAM roles 與 Kubernetes service accounts 整合(IAM roles for service accounts, IRSA)
9.1 建立使用 IRSA 的 Pod
9.2 IAM、OpenID Connect(OIDC)和 Kubernetes 關係
9.2.1 IAM 與 OpenID Connect(OIDC)
9.2.2 OpenID Connect(OIDC)與 Kubernetes
9.3 驗證 IRSA 流程
9.3.1 驗證EKS 叢集API server 設定IAM OIDC 作為identity provider
9.3.2 驗證Pod 經webhook mutate
9.3.3 Pod 掛載 OIDC JWT token
9.3.4 OIDC JWT 與 STS 驗證流程
9.4 總結
CHAPTER 10 為什麼 Managed node groups 可以保持應用程式可用性
10.1 實驗(一)
10.1.1 建立 Managed node groups 及 Self-managed node groups
10.1.2 比對 Label 的差異
10.1.3 比對 kubelet systemd unit 設定檔差異
10.1.4 比對 user-data 來源
10.1.5 為什麼兩種 node group 都可以自動加入 EKS 叢集
10.2 實驗(二)
10.2.1 建立Kubernetes Deployment object 並終止其中一Managed 節點
10.2.2 驗證 managed node group 行為
10.2.3 為什麼不是使用 eksctl 命令 scale in,而是使用ASG 命令與 managed node group 互通 ?
10.2.4 ASG lifecycle hook
CHAPTER 11 為什麼透過 CloudFormation template 建立的 self-managed node group 無法自動加入至叢集
11.1 CloudFormation template
CHAPTER 12 為什麼 CDK 部署 EKS 叢集會比較慢
12.1 建立環境 - 透過 CDK 建置 EKS 叢集
12.2 分析
12.3 總結
CHAPTER 13 為什麼 Fluent Bit/Fluentd 可以收集 EKS 叢集 Pod 以及節點記錄檔
13.1 常見 Kubernetes 記錄檔架構
13.1.1 節點層級
13.1.2 叢集層級記錄檔架構
13.1.3 直接從應用程式上傳記錄檔
13.2 以CloudWatch Agent for Container Insights Kubernetes Monitoring 為例
13.2.1 為什麼收集/var/log/containers/
13.2.2 CloudWatch Agent
13.3 建置環境
13.4 驗證
13.4.1 驗證 CloudWatch Agent 及指標
CHAPTER 14 為什麼 Container insight 指標 node_network_total_bytes 與 EC2 指標 NetworkIn/NetworkOut 不一致
14.1 建置環境
14.2 驗證
14.3 指標定義
14.4 網路封包流向
14.5 總結
CHAPTER 15 為什麼 EKS 工作節點容易佔用 IP 導致 subnets IP 位址不夠
15.1 檢視測試叢集環境
15.2 每個 Instance Type 能關聯的 ENI 數量及 IP 數量上限
15.3 預設Amazon VPC CNI plugin 的行為:多建一個ENI,關聯數個IP 位址
15.4 WARM_ENI_TARGET、WARM_IP_TARGET 及MINIMUM_ IP_TARGET 環境變數
15.5 監控
15.6 總結
CHAPTER 16 為什麼 security group 可以關聯至單獨的 EKS Pod - Security groups for pods
16.1 建置環境
16.2 SGFP 流程
16.2.1 VPC interface trunking
16.3 驗證 SGFP 流程
16.3.1 vpc-resource-mutating-webhook 是怎麼來的
16.3.2 驗證節點由 VPC resource controller 更新節點 label
16.3.3 驗證 Pod 經 webhook mutate
16.3.4 驗證節點使用 vlan 路由規則
16.3.5 驗證 branch ENI 及 trunk ENI 建立時間
16.4 總結
CHAPTER 17 為什麼使用 SGFP 使用 liveness/readiness probes 需要設定環境變數DISABLE_TCP_EARLY_DEMUX
17.1 環境變數 DISABLE_TCP_EARLY_DEMUX
17.2 TCP Early Demux 的行為
17.3 問題
17.4 總結
CHAPTER 18 為什麼 EKS 使用 NLB 作為 Kubernetes service 會遇到 connection timeout
18.1 建立測試環境
18.2 EKS 如何註冊Target Group 至Service
18.3 封包從 Pod 經由節點至 NLB 路徑
18.4 分析封包
18.5 NLB client 保留 IP 問題
18.6 替代方案
CHAPTER 19 為什麼 EKS 在更新 Kubernetes Deployment 時會有 HTTP 502 錯誤
19.1 建立環境
19.2 更新 image 流程中發生了什麼事
19.3 Kubernetes Service 與 Pod 流程
19.4 為什麼會有 HTTP 502 錯誤
19.5 如何避免問題
19.5.1 preStop hook
19.5.2 terminationGracePeriodSeconds
19.6 Pod Readiness Gates
19.7 總結
CHAPTER 20 為什麼 EKS 控制平面可以升級而無停機時間
20.1 建立環境
20.1.1 健康檢查 script
20.2 驗證
20.2.1 Pod aws-cli 記錄檔
20.2.2 控制平面記錄檔
20.2.3 CloudTrail 記錄
20.3 EKS 控制平面架構
20.4 流程
20.4.1 為什麼會有 connection timeout 錯誤
附件 參考文件
立即查看
AWS雲端運算基礎與實作 (1版)
類似書籍推薦給您
內容簡介
從零開始帶你了解雲端運算的組成!
本書主要是針對雲端運算的從業人員所編寫的入門教材。內容以 AWS Academy 所提供的 AWS Academy Cloud Foundations 教材為主,並提供額外的練習實驗;主要的程式語言會以 Python 來示範,使用者可以在自己的帳號下完成,或是利用 AWS Learner Lab 學習帳號下完成。本書將內容規劃成5個部分,從零開始帶你了解雲端運算的組成,透過每個單元的實作讓你一步一步完成這份專案。
● AWS 學習地圖:說明 AWS 專業證照的學習路徑。
● 雲端運算概念:包含雲端運算簡介、成本、AWS 基礎設施與雲端安全責任共擔模型。
● AWS 核心服務:介紹雲端網路配置、運算服務、儲存種類與資料庫等。
● 雲端運算架構與監控:雲端運算架構設計原則,如何進行自動擴縮與監控。
● AWS 認證與勳章:如何透過 AWS Academy 取得半價優惠券,準備考試練習與如何結合社群網路讓公司看到學習成效。
本書適合的「讀者族群」
☑ 大專院校內雲端運算相關課程的學生
☑ 擔任公司內部部署 IT 或雲端,但對 AWS 雲端不熟悉的人
☑ 想在 AWS 雲端中探索職業生涯的人
☑ 想考 AWS 雲從業人員認證(AWS Certified Cloud Practitioner)的人
◇筆者 Github 專案網址◇
|github.com/yehchitsai/AWS_ACF|
目錄
CHAPTER 01 認識 AWS 學習資源與認證
1.1 AWS 學習資源
1.2 AWS 教育與就業計畫
1.3 AWS 認證路徑
CHAPTER 02 AWS Academy LMS 學習平台
2.1 教師登錄
2.2 申請開課
2.3 新增學生
2.4 使用教材
2.5 考勤
CHAPTER 03 申請 AWS 帳戶
3.1 申請 AWS 一般帳戶
3.2 申請 AWS Academy 會員
3.3 申請 Learner Lab 帳戶
CHAPTER 04 雲端概念
4.1 雲端運算簡介
4.2 雲端運算的優勢
4.3 Amazon Web Services(AWS) 簡介
CHAPTER 05 雲端經濟學
5.1 雲端定價
5.2 總擁有成本
5.3 AWS Organizations 簡介
5.4 AWS 帳單和成本管理
5.5 AWS 技術支持計畫
CHAPTER 06 AWS 全球基礎設施
6.1 AWS 全球基礎設施
6.2 AWS 服務和服務類別簡介
CHAPTER 07 AWS 雲端安全
7.1 AWS 責任共擔模式
7.2 AWS Identity and Access Management(IAM)
7.3 確保新 AWS 帳戶的安全性
7.4 確保帳戶的安全性
7.5 確保 AWS 上資料的安全性
7.6 確保合規性
7.7 其他安全服務和資源
CHAPTER 08 網路和內容分發
8.1 網路基礎知識
8.2 Amazon VPC
8.3 連線 VPC
8.4 VPC 安全性
8.5 Amazon Route 53
8.6 Amazon CloudFront
8.7 實驗 1:構建 VPC 並啟動 Web 伺服器
CHAPTER 09 雲端運算
9.1 雲端運算服務概論
9.2 Amazon EC2
9.3 Amazon EC2 成本優化
9.4 容器服務
9.5 AWS Lambda 簡介
9.6 AWS Elastic Beanstalk 簡介
9.7 實驗 2:Amazon EC2
CHAPTER 10 雲端儲存
10.1 Amazon Simple Storage Service(Amazon S3)
10.2 Amazon Elastic File System (Amazon EFS)
10.3 Amazon S3 Glacier
10.4 實驗 3:使用 EBS
CHAPTER 11 雲端資料庫
11.1 Amazon Relational Database Service(Amazon RDS)
11.2 Amazon DynamoDB
11.3 Amazon Redshift
11.4 Amazon Aurora
11.5 實驗 4:構建資料庫伺服器
CHAPTER 12 雲端架構設計
12.1 AWS 架構完善的框架
12.2 可靠性和高可用性
12.3 AWS Trusted Advisor
CHAPTER 13 自動擴展與監控
13.1 Elastic Load Balancing
13.2 Amazon CloudWatch
13.3 Amazon EC2 Auto Scaling
13.4 實驗 5:對架構進行擴縮和負載平衡
CHAPTER 14 報考 AWS ACF 認證
14.1 教師申請 ACF 半價代金券(Voucher)
14.2 學生報名 ACF 考證
14.3 準備 ACF 認證 - Skill Builder
CHAPTER 15 取得數位徽章
15-1 Credly 數位徽章
15-2 數位徽章轉成二維碼
立即查看
AWS Certified Database Study Guide: Specialty (Dbs-C01) Exam
類似書籍推薦給您
立即查看
內容簡介
書中收錄商業場景相關的用語集
先理解技術的細節,才有辦法熟練使用
‧簡單易懂的說明佐以一看就懂的圖解,為使用者打好基礎
‧不僅是AWS的概念說明,對於技術方面也有著墨
‧介紹AWS服務的特色,並分析其與自行開發系統的差異,以及需要注意的事項
‧由IT、系統趨勢與概念說明,輕鬆理解箇中機制!
現今在各種場景都可聽到人們討論雲端。
雖然AWS是針對企業組織的雲端服務,但其實個人也可多加利用,本書以簡單易懂的方式,詳細解說核心服務,幫助初學者了解AWS與雲端的概要。
除了AWS雲端服務的輕便性、簡易性、稍微艱澀但需要注意的重點,本書也會稍微提及技術方面的知識,內容肯定會比市面上的入門書籍更貼近現實。
讀者可依序有系統地學習知識,也可直接跳到想要了解的主題、關鍵字,請各位根據情況選擇不同的閱讀方式。
本書適合
‧想了解AWS整體概要的人
‧參與AWS實務運作的人
‧不了解AWS相關技術而感到困擾的人
‧想掌握AWS運用、管理技巧的人
‧想了解最新動向的人
目錄
第1章 開始使用AWS ∼世界一流的雲端服務
第2章 雲端運用的基礎知識 ∼事前應該準備的事情
第3章 使用Amazon EC2 ∼活用雲端的虛擬伺服器
第4章 使用Amazon S3 ∼具有雲端特色的儲存服務
第5章 雲端的相關技術 ∼從雲端業者的角度出發
第6章 建立Amazon VPC ∼簡單建立的虛擬網路
第7章 使用RDS 與DynamoBD ∼各種資料庫與分析服務
第8章 AWS 的先進服務 ∼先進技術與熱門服務
第9章 安全與監控 ∼使用者、成本、安全、監控等的管理
用語集
立即查看