使用ESP32-CAM開發板製作一個縮時攝影裝置,每隔一段時間拍攝一張照片存入microSD記憶卡。ESP32-CAM開發板的OV2640攝像頭透過esp32-camera程式庫驅動;microSD介面連接ESP32內建的SD/MMC控制器,所以程式庫使用SD_MMC而非SD。
使用Python Flask建置影像圖檔上傳網站服務(四):使用filetype檢測上傳檔類型
驗證使用者上傳的檔案,不能只檢查副檔名。本文採用Python的filetype程式庫,實際讀取檔案內容來鑑別檔案的真實類型。filetype模組可辨識多種影像、視訊、聲音和壓縮檔案格式,包括JPEG, PNG, GIF, MP4, MP3,… 等等。
使用Python Flask建置影像圖檔上傳網站服務(三)
有些使用者會在網頁表單輸入程式碼,令網站伺服器在接收表單資料時觸發執行,藉以駭入網站竊取資料;使用者上傳的檔案也可能包含惡意程式碼。為了避免這種情況,可透過werkzeug程式庫的secure_filename()函式(直譯為「安全檔名」)檢查並轉換上傳檔案的名稱。
使用Python Flask建置影像圖檔上傳網站服務(二)
介紹HTML表單的上傳檔案欄位的參數,建立一個必填、僅接受影像圖檔的上傳檔案欄位,以及在Python虛擬環境中,建立接收和儲存上傳檔的Python Flask網站伺服器程式。
使用Python Flask建置影像圖檔上傳網站服務(一):認識Flask框架的區域變數和flash快閃訊息功能
本文旨在補充《超圖解Python程式設計入門》第九章「使用Flask建置網站服務」單元,建立儲存使用者上傳影像圖檔的Python伺服器端程式,在此之前,先介紹Flask框架提供的一個「把Python程式的字串資料傳遞給HTML網頁樣版」的flash message快閃訊息功能。
ESP32-CAM開發板(一):簡介與燒錄程式
ESP32-CAM是安信可科技研發的ESP32開發板,搭載200萬像素的攝影鏡頭,具備拍照、串流視訊以及人臉辨識功能。ESP32-CAM開發板沒有內建USB轉TTL序列訊號的IC,也沒有USB介面,所以燒錄程式碼需要外接USB轉TTL序列訊號模組。
YouTube影片下載(八):透過Termux在Android手機執行Python
本文將示範在Android手機執行Python下載YouTube影片。Termux是Android系統上的開放原始碼終端機模擬器,提供豐富的Linux工具軟體,例如:Python, Node.js, PHP, FFmpeg,…等。 Termux官方維基網頁提到,最新版本,請到開放原始碼應用商店F-Droid下載。
YouTube影片下載(七):下載播放清單中的全部影片
下載YouTube影片的Pytube程式庫有個下載播放清單影片的Playlist類別,本文將修改之前的YouTube影音下載程式碼,讓它下載播放清單中的全部影片。筆者將下載播放清單影片的Python程式檔命名成tube_list.py,它支援之前的所有命令行參數,如:-a(僅下載聲音)和-fhd(高畫質格式),並新增一個指定下載影片數量的-end參數。
SerialPlot(序列埠繪圖家)工具軟體(二):安裝與執行SerialPlot
如果有其他軟體透過序列埠與ESP8266開發板連線,例如,Thonny IDE的互動環境(Shell),請先關閉該軟體,因為序列埠同時間只能和一個裝置連線。執行SerialPlot,切換到Data Format(資料格式)設置頁,把資料格式從預設的Simple Binary(簡單二進位)改成ASCII(文字),資料分隔字元選擇“comma”(逗號)。
SerialPlot(序列埠繪圖家)工具軟體(一):讀取MPU-6050加速度計與電子陀螺儀角度的MicroPython程式
Arduino IDE有內建用線條圖呈現序列資料的「序列繪圖家」,但是功能稍嫌陽春;支援MicroPython的Thonny和Mu沒有內建序列資料繪圖功能。SerialChart和SerialPlot是兩個知名的開放原始碼序列繪圖工具軟體,可以跟任何序列埠通訊程式搭配使用。SerialPlot的功能比較強大,這是它的運作畫面:
Python Flask SQLAlchemy網站資料庫分頁程式與介面製作(二)
本文的Flask留言板分頁程式透過網址路徑參數(也就是REST風格)取得分頁的頁碼。若首頁路徑沒有附加任何參數,則預設為1,代表第1頁;點擊分頁導覽列的頁碼,或者直接在網址後面輸入頁碼數字,都能瀏覽到指定的分頁。
Python Flask SQLAlchemy網站資料庫分頁程式與介面製作(一)
本文旨在補充《超圖解Python程式設計入門》第12章的留言板網站應用程式,原本的程式是在首頁顯示資料庫裡的全部留言紀錄,本文將改成多重分頁,每一頁僅顯示5則留言,並且讓使用者透過頁面底下的「分頁導覽列」瀏覽不同分頁的留言,如下圖所示: