LearningSky.io

學習是一輩子的事情,中間所經歷過的每一段時光都會在某一刻化為成長的養分

【 Cloud 】使用 Azure Machine Learning SDK 來建立及執行機器學習管線 - 以 TensorFlow Iris 為例
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】使用 Azure Machine Learning SDK 來建立及執行機器學習管線 - 以 TensorFlow Iris 為例

內容 學習目標 前置準備作業 流程 上傳 Dataset 到 Azure Blob 建立 Microsoft Azure Machine Learning Studio 建立 AzureML Pipeline 學習目標 將訓練與評估的 CSV 檔案從本地端傳送至 Azure Blob。 將 AzureML Datastore 連接至 Azure Blob。 從 AzureML Datastore 讀取 CSV 檔案並建立對應的 Dataset 物件。 建立 Azure ML PipelineData 物件,以存儲在管道的訓練和評估步驟中產生的中間資料。 通過 Azure ML Pipeline 建立訓練和評估 2

【 Edge 】Windows 使用 MobaXterm 透過 Serial Port 進行連接
AIoT & Cloud & Edge & Machine Learning

【 Edge 】Windows 使用 MobaXterm 透過 Serial Port 進行連接

內容 學習目標 前置準備作業 透過 Serial Port 進行連接 學習目標 如何在 Windows 使用 MobaXterm 透過 Serial Port 連接 Edge。 前置準備作業 已有一台擁有 Serial Port 的 Edge。 已有一台 Windows 電腦。 已將 Windows 電腦透過 Serial Port 對裝置進行串接。 透過 Serial Port 進行連接 Step 1. 安裝 MobaXterm 下載網址如下: https://mobaxterm.mobatek.net/download.html Step 2. 啟動

【 Edge 】Windows 使用 Putty 透過 Serial Port 進行連接
AIoT & Cloud & Edge & Machine Learning

【 Edge 】Windows 使用 Putty 透過 Serial Port 進行連接

內容 學習目標 前置準備作業 透過 Serial Port 進行連接 學習目標 如何在 Windows 使用 Putty 透過 Serial Port 連接 Edge。 前置準備作業 已有一台擁有 Serial Port 的 Edge。 已有一台 Windows 電腦。 已將 Windows 電腦透過 Serial Port 對裝置進行串接。 透過 Serial Port 進行連接 Step 1. 查看 Windows 電腦上的 Serial Port 號 Step 2. 安裝 Putty 下載網址如下: https:

【 Edge 】macOS 使用 Terminal 透過 Serial Port 進行連接
AIoT & Cloud & Edge & Machine Learning

【 Edge 】macOS 使用 Terminal 透過 Serial Port 進行連接

內容 學習目標 前置準備作業 透過 Serial Port 進行連接 學習目標 如何在 macOS 透過 Serial Port 連接 Edge。 前置準備作業 已有一台擁有 Serial Port 的 Edge。 已有一台 macOS 電腦。 已將 macOS 電腦透過 Serial Port 對裝置進行串接。 透過 Serial Port 進行連接 Step 1. 查詢 COM Port 資訊 請於終端機輸入下方指令 ls -al /dev/tty.usbserial* Step 2. 安裝 screen

【 Edge 】Ubuntu 透過 Serial Port 進行連接
AIoT & Cloud & Edge & Machine Learning

【 Edge 】Ubuntu 透過 Serial Port 進行連接

內容 學習目標 前置準備作業 透過 Serial Port 進行連接 學習目標 如何在 Ubuntu 透過 Serial Port 連接 Edge。 前置準備作業 已有一台擁有 Serial Port 的 Edge。 已有一台 Ubuntu 電腦。 已將 Ubuntu 電腦透過 Serial Port 對裝置進行串接。 透過 Serial Port 進行連接 Step 1. 查詢 COM Port 資訊 請於終端機輸入下方指令 sudo dmesg | grep tty Step 2. 安裝 screen 套件

【 Cloud 】設定 Azure 費用警示通知
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】設定 Azure 費用警示通知

內容 學習目標 前置準備作業 設定 Azure 費用警示通知 費用超過所設定的警戒值所收到的 Email 內容 學習目標 如何在設定 Azure 費用警示通知 前置準備作業 已建立 Azure 帳號並能正常登入 https://portal.azure.com/ 設定 Azure 費用警示通知 Step 1. 登入 Azure Step 2. 開啟警示設定頁面 點選左上角的 ≡ > 再點選 Cost Management + Billing 點選左側的 Cost Management 點選上方的 Scope 選擇所要設定的 訂閱 點選上方的 Add 填寫相關資訊 Name 欄位請填寫唯一且可識別的名稱,本範例使用

【 Container】使用 Buildx 建構多重系統架構的 Docker 映像檔
AIoT & Cloud & Edge & Machine Learning

【 Container】使用 Buildx 建構多重系統架構的 Docker 映像檔

內容 學習目標 前置準備作業 流程 於 ARM CPU 的電腦來建立 Docker Image 並上傳 Image 到 Docker Hub 於 x86 CPU 的 Ubuntu 電腦執行 Docker Image 學習目標 如何使用 Buildx 建構多重系統架構的 Docker 映像檔 前置準備作業 已建立 Docker Hub 帳號並能正常登入 https://hub.docker.com/ 準備一台 ARM CPU 的電腦來建立 Docker Image,本範例使用 Apple MacBook ( M1 Max ) 為例並完成

【 Container 】設定 Docker 時區
AIoT & Cloud & Edge & Machine Learning

【 Container 】設定 Docker 時區

內容 學習目標 前置準備作業 alpine Docker Image 設定時區 Ubuntu Docker Image 設定時區 學習目標 如何設定 Docker 時區,以 alpine 與 Ubuntu 為例 前置準備作業 已於電腦端安裝 Docker Engine 已於電腦端安裝 IDE,本範例使用 Visual Studio Code alpine Docker Image 設定時區 Step 1. 請建立 Dockerfile 檔案,其內容如下: Step 2. Build Image 於終端機輸入下方指令: sudo docker build -t alpine-set-timezone:

【 Cloud 】於 Azure Ubuntu VM 安裝 mlflow 與 Jupyter
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】於 Azure Ubuntu VM 安裝 mlflow 與 Jupyter

內容 學習目標 前置準備作業 開啟 Azure Ubuntu VM 的 Port 安裝 mlflow 安裝 PostgreSQL 與設定 安裝 Jupyter 與設定 測試與驗證 學習目標 如何在 Azure Ubuntu VM 安裝 mlflow 與 Jupyter 前置準備作業 已建立 Azure 帳號並能正常登入 已建立 Azure Ubuntu VM 開啟 Azure Ubuntu VM 的 Port Step 1. 開啟 mlflow 所使用的 5000 埠 點選左側的 Networking

【 Cloud 】掛載 Storage account Blob 於 Azure Ubuntu VM
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】掛載 Storage account Blob 於 Azure Ubuntu VM

內容 學習目標 前置準備作業 取得 Storage accounts 授權資訊 掛載 Blob 到 Azure Ubuntu VM 驗證 學習目標 如何掛載 Storage account Blob 於 Azure Ubuntu VM 前置準備作業 已建立 Azure 帳號並能正常登入 如何在 Azure Ubuntu VM 掛載 Storage accounts Blob 已建立 Storage account 並已存在檔案在此 Blob 中 取得 Storage accounts 授權資訊 Step 1. 取得 Storage account

【 Cloud 】部署 Ghost Blog App 到 Fly.io 雲端平台
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】部署 Ghost Blog App 到 Fly.io 雲端平台

內容 學習目標 前置準備作業 專案最終目錄結構 部署 Ghost Blog App 到 Fly.io 學習目標 如何部署 Ghost Blog App 到 Fly.io 雲端平台 前置準備作業 已建立 Fly.io 帳號並能正常登入 Fly.io 的網址為 https://fly.io/ 已於電腦端安裝 flyctl https://fly.io/docs/hands-on/install-flyctl/ 專案最終目錄結構 └── ghost-blog-sample └── fly.toml → 執行完 flyctl 指令後會產生 部署 Ghost Blog App

【 Cloud 】部署 React App 到 Fly.io 雲端平台
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】部署 React App 到 Fly.io 雲端平台

前言 因 Heroku 雲端平台將終止部分服務的免費使用額度,故轉移 App 到目前提供免費額度的 Fly.io 雲端平台。 內容 學習目標 前置準備作業 專案最終目錄結構 編譯 App 撰寫 Dockerfile 檔 部署 App 到 Fly.io 學習目標 如何部署 React App 到 Fly.io 雲端平台 前置準備作業 已建立 Fly.io 帳號並能正常登入 Fly.io 的網址為 https://fly.io/ 電腦端存在可正常執行的 React App 已於電腦端安裝 IDE,本範例使用 Visual

【 Cloud 】部署 Vue App 到 Fly.io 雲端平台
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】部署 Vue App 到 Fly.io 雲端平台

前言 因 Heroku 雲端平台將終止部分服務的免費使用額度,故轉移 App 到目前提供免費額度的 Fly.io 雲端平台。 內容 學習目標 前置準備作業 專案最終目錄結構 編譯 App 撰寫 Dockerfile 檔 部署 App 到 Fly.io 學習目標 如何部署 Vue App 到 Fly.io 雲端平台 前置準備作業 已建立 Fly.io 帳號並能正常登入 Fly.io 的網址為 https://fly.io/ 電腦端存在可正常執行的 Vue App 已於電腦端安裝 IDE,本範例使用 Visual

【 Cloud 】部署 Node.js Express App 到 Fly.io 雲端平台
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】部署 Node.js Express App 到 Fly.io 雲端平台

前言 因 Heroku 雲端平台將終止部分服務的免費使用額度,故轉移 App 到目前提供免費額度的 Fly.io 雲端平台。 內容 學習目標 前置準備作業 專案最終目錄結構 撰寫程式與設定檔 部署 App 到 Fly.io 學習目標 如何部署 Node.js Express App 到 Fly.io 雲端平台 前置準備作業 已建立 Fly.io 帳號並能正常登入 Fly.io 的網址為 https://fly.io/ 已於電腦端安裝 Node.js 已於電腦端安裝 IDE,本範例使用 Visual Studio Code

【 Cloud 】部署 Python Flask App 到 Fly.io 雲端平台
AIoT & Cloud & Edge & Machine Learning

【 Cloud 】部署 Python Flask App 到 Fly.io 雲端平台

前言 因 Heroku 雲端平台將終止部分服務的免費使用額度,故轉移 App 到目前提供免費額度的 Fly.io 雲端平台。 內容 學習目標 前置準備作業 專案最終目錄結構 撰寫程式與設定檔 部署 App 到 Fly.io 學習目標 如何部署 Python Flask App 到 Fly.io 雲端平台 前置準備作業 已建立 Fly.io 帳號並能正常登入 Fly.io 的網址為 https://fly.io/ 已於電腦端安裝 Python 已於電腦端安裝 IDE,本範例使用 Visual Studio Code 已於電腦端安裝 flyctl

【 Tools 】透過 Python 建立 AES-128 ECB 加解密
AIoT & Cloud & Edge & Machine Learning

【 Tools 】透過 Python 建立 AES-128 ECB 加解密

內容 學習目標 前置準備作業 安裝套件 Encrypt 加密 Decrypt 解密 學習目標 如何透過 Python 建立 AES-128 ECB 加解密 前置準備作業 已於電腦端安裝 Python 已於電腦端安裝 IDE,本範例使用 Visual Studio Code 安裝套件 請在終端機輸入下方指令pip install pycryptodome Encrypt 加密 Step 1. 建立名為 doEncrypt.py 的程式,其內容如下 Step 2. 執行程式 請在終端機輸入下方指令 python doEncrypt.py Step 3. 在相對路徑下會產生 sample-encrypt-Python.txt 開啟

【 Container 】將 Vue 在執行階段注入環境變數並透過 Docker Hub 部署到 Azure Container App
AIoT & Cloud & Edge & Machine Learning

【 Container 】將 Vue 在執行階段注入環境變數並透過 Docker Hub 部署到 Azure Container App

內容 學習目標 前置準備作業 專案目錄結構 建立 Vue 建立 .env 建立 nginx.conf 建立 entrypoint.sh 建立 Dockerfile 建立 Docker Image 於本地端執行 Docker Image 測試與驗證一 上傳 Docker Image 到 Docker Hub 建立與部署 Azure Container App 測試與驗證二 修改 env 測試與驗證三 學習目標 如何將 Vue 在執行階段注入環境變數並透過 Docker Hub 部署到 Azure Container App 前置準備作業 已建立 Azure

【 Edge 】於 Raspberry Pi 安裝與設定 Mosquitto MQTT Message Broker 並進行 Publish 與 Subscription 測試
AIoT & Cloud & Edge & Machine Learning

【 Edge 】於 Raspberry Pi 安裝與設定 Mosquitto MQTT Message Broker 並進行 Publish 與 Subscription 測試

內容 學習目標 前置準備作業 安裝 Mosquitto 設定 Mosquitto 透過指令來測試 透過 Python 來測試 學習目標 如何在 Raspberry Pi 安裝與設定 Mosquitto MQTT Message Broker 並進行 Publish 與 Subscription 測試 前置準備作業 準備一台可上網的 Raspberry Pi 安裝 Mosquitto Step 1. 取得遠端更新伺服器的套件檔案清單 請於終端機輸入下方指令 sudo apt-get update Step 2. 安裝 mosquitto 請於終端機輸入下方指令 sudo apt-get install -y mosquitto mosquitto-clients 設定

【 Edge 】於 Raspberry Pi OS 設定停止螢幕休眠
AIoT & Cloud & Edge & Machine Learning

【 Edge 】於 Raspberry Pi OS 設定停止螢幕休眠

內容 學習目標 前置準備作業 設定停止螢幕休眠 學習目標 如何在 Raspberry Pi OS 設定停止螢幕休眠 前置準備作業 準備一台可上網的 Raspberry Pi 設定停止螢幕休眠 Step 1. 取得遠端更新伺服器的套件檔案清單 請於終端機輸入下方指令 sudo apt-get update Step 2. 安裝 xscreensaver 請於終端機輸入下方指令 sudo apt-get install -y xscreensaver Step 3. 重開機 請於終端機輸入下方指令sudo reboot Step 4. 開啟設定 Raspberry Pi 圖示 > 偏好設定 > 螢幕保護程式 點選 Display Modes

【 Edge 】於 Raspberry Pi OS 安裝 AnyDesk
AIoT & Cloud & Edge & Machine Learning

【 Edge 】於 Raspberry Pi OS 安裝 AnyDesk

內容 學習目標 前置準備作業 安裝 AnyDesk 測試與驗證 學習目標 如何在 Raspberry Pi OS 安裝 AnyDesk 前置準備作業 準備一台可上網的 Raspberry Pi 安裝 AnyDesk Step 1. 取得遠端更新伺服器的套件檔案清單 請於終端機輸入下方指令 sudo apt update Step 2. 系統更新 請於終端機輸入下方指令 sudo apt -y full-upgrade Step 3. 下載 AnyDesk 請於終端機輸入下方指令 wget https://download.anydesk.com/rpi/anydesk_6.1.1-1_armhf.

【 Edge 】於 NVIDIA® Jetson Nano 安裝 Google MediaPipe 0.8.9 版本
AIoT & Cloud & Edge & Machine Learning

【 Edge 】於 NVIDIA® Jetson Nano 安裝 Google MediaPipe 0.8.9 版本

內容 學習目標 前置準備作業 實驗環境 安裝所需套件 安裝 MediaPipe 0.8.9 確認版本 Illegal instruction (core dumped) 錯誤解法 學習目標 如何在 NVIDIA Jetson Nano 安裝 Google MediaPipe 0.8.9 版本 https://google.github.io/mediapipe/ https://github.com/google/mediapipe/ 前置準備作業 可上網的 NVIDIA Jetson Nano 實驗環境 Python version: 3.6.9 nvcc

【 Edge 】於 NVIDIA® Jetson AGX Xavier™ 安裝 OpenCV 4.5.5
AIoT & Cloud & Edge & Machine Learning

【 Edge 】於 NVIDIA® Jetson AGX Xavier™ 安裝 OpenCV 4.5.5

內容 學習目標 前置準備作業 原始 OpenCV 版本 安裝 OpenCV 4.5.5 版本 版本確認 學習目標 如何在 NVIDIA® Jetson AGX Xavier™ 安裝 OpenCV 4.5.5 前置準備作業 可上網的 NVIDIA ® Jetson AGX Xavier™ 原始 OpenCV 版本 安裝 OpenCV 4.5.5 版本 Step 1. 安装 pip 請於終端機輸入下方指令 sudo apt-get install python3-pip Step 2.

【 Edge 】透過 NVIDIA® Jetson AGX Xavier™ 編譯 MediaPipe 0.8.9
AIoT & Cloud & Edge & Machine Learning

【 Edge 】透過 NVIDIA® Jetson AGX Xavier™ 編譯 MediaPipe 0.8.9

內容 學習目標 前置準備作業 實驗環境 安裝 Bazel 4.2.2 安裝相依套件 修改相關資訊 避免 any.proto 錯誤 升級 gcc 與 g++ 編譯 MediaPipe 0.8.9 學習目標 如何在 NVIDIA® Jetson AGX Xavier™ 編譯 MediaPipe 0.8.9 https://google.github.io/mediapipe/ https://github.com/google/mediapipe/ 前置準備作業 可上網的 NVIDIA ® Jetson AGX

【 Edge 】於 NVIDIA® Jetson AGX Xavier™ 安裝 Google MediaPipe 0.8.9 與 TensorFlow 2.5.0 版本
AIoT & Cloud & Edge & Machine Learning

【 Edge 】於 NVIDIA® Jetson AGX Xavier™ 安裝 Google MediaPipe 0.8.9 與 TensorFlow 2.5.0 版本

內容 學習目標 前置準備作業 實驗環境 安裝所需套件 安裝 Python 相依套件 安裝 TensorFlow 2.5.0 安裝 MediaPipe 0.8.9 確認版本 學習目標 如何在 NVIDIA ® Jetson AGX Xavier™ 安裝 Google MediaPipe 0.8.9 與 TensorFlow 2.5.0 版本 https://google.github.io/mediapipe/ https://github.com/google/mediapipe/ 前置準備作業 可上網的 NVIDIA

【 Edge 】備份與還原 NVIDIA® Jetson AGX Xavier™
AIoT & Cloud & Edge & Machine Learning

【 Edge 】備份與還原 NVIDIA® Jetson AGX Xavier™

內容 學習目標 前置準備作業 備份 - Backup Image 還原 - Restore Image 學習目標 如何備份與還原 NVIDIA® Jetson AGX Xavier™ 前置準備作業 已準備一台 Host Ubuntu 電腦 已準備一台要備份的 NVIDIA® Jetson AGX Xavier™ 已準備一台要還原的 NVIDIA® Jetson AGX Xavier™ 備份 - Backup Image Step 1. 切換路徑 在 Host Ubuntu 電腦的終端機輸入下方指令 cd ~/nvidia/nvidia_sdk/JetPack_4.6_