新建了虛擬機,相當於出租房間的基礎設施已經準備妥善,就等租客自行裝修入住。新建立的虛擬機列在UTM視窗的左側,點選它將能顯示這個虛擬機的簡介,最底下的虛擬光碟機設備顯示它已經載入Ubuntu開機系統。請點擊畫面上的三角形按鈕啟動它。
新建了虛擬機,相當於出租房間的基礎設施已經準備妥善,就等租客自行裝修入住。新建立的虛擬機列在UTM視窗的左側,點選它將能顯示這個虛擬機的簡介,最底下的虛擬光碟機設備顯示它已經載入Ubuntu開機系統。請點擊畫面上的三角形按鈕啟動它。
如果把電腦硬體比喻成建築物,虛擬機相當於房東,規劃並管理閒置的空間租給房客。一棟建築可出租多個空間,每個空間的大小和資源可以不同,但每個空間都能共用這個建築物的基礎設施,也就是寄宿電腦的記憶體、硬碟空間、網路、影音介面…等。
本文將介紹觸發ESP32-CAM開發板拍照之後,把影像附加在e-mail中傳遞的程式寫法。程式透過message(SMTP訊息)物件addAttachment()方法,把影像檔附加在信件末尾,或者addInlineImage()方法,把拍攝到的影像直接顯示在訊息內文。
泰國Suwatchai K.先生寫了一個收發e-mail的Arduino程式庫,ESP Mail Client(ESP郵件用戶端),支援ESP8266, ESP32以及採用SAMD21微控制器的Arduino開發板。
《使用Python Flask建置影像圖檔上傳網站服務(五)》的Flask網站程式是將用戶透過網頁表單上傳的檔案存入網站伺服器的uploads資料夾,這個版本改成把檔案暫存在主記憶體,再交由MediaIoBaseUpload()建立上傳檔物件,轉傳到Google雲端硬碟。
第7章的存取Google試算表的範例程式,採用oauth2client(OAuth驗證前端)模組處理金鑰憑證檔案,本文改用Google自家的API Python用戶端程式庫(Google API Python Client)。
平常在操作Google Drive雲端硬碟的時候,我們大多是透過瀏覽器登入Google帳號,手動進行操作。而第7章提到,雲端平台提供了「API應用程式介面」,能讓程式自動化登入與操作平台內容,例如,結合ESP32-CAM微電腦板,在觸發照相的時候,登入Google Drive並上傳影像到雲端硬碟的特定資料夾,不需要仰賴人力介入。
HTTP POST上傳檔案的標頭可大致分成兩個部分,首先,Content-Type欄位後面要附帶boundary(分界)參數,其值為自訂的識別名稱。緊接著的HTTP標頭第二部分,是夾帶上傳檔案的分界內容,這個部分的位元組大小要附加在上面的Content-Length欄位。
本文將改寫Python Flask網站伺服器檔案上傳程式,設置一個新路由“/esp32cam”,接收ESP32CAM微電腦控制板上傳的影像檔,為了避免檔名重複,接收上傳檔案的伺服器端程式會將每個上傳檔名用當前的日期和時間重新命名儲存。
使用ESP32-CAM開發板製作一個縮時攝影裝置,每隔一段時間拍攝一張照片存入microSD記憶卡。ESP32-CAM開發板的OV2640攝像頭透過esp32-camera程式庫驅動;microSD介面連接ESP32內建的SD/MMC控制器,所以程式庫使用SD_MMC而非SD。
驗證使用者上傳的檔案,不能只檢查副檔名。本文採用Python的filetype程式庫,實際讀取檔案內容來鑑別檔案的真實類型。filetype模組可辨識多種影像、視訊、聲音和壓縮檔案格式,包括JPEG, PNG, GIF, MP4, MP3,… 等等。
有些使用者會在網頁表單輸入程式碼,令網站伺服器在接收表單資料時觸發執行,藉以駭入網站竊取資料;使用者上傳的檔案也可能包含惡意程式碼。為了避免這種情況,可透過werkzeug程式庫的secure_filename()函式(直譯為「安全檔名」)檢查並轉換上傳檔案的名稱。
Begin typing your search term above and press enter to search. Press ESC to cancel.