致敬
| MicroPython
| ESP32
PaoyungJun 29, 2022
ℳ𝒾𝒸𝓇ℴ𝒫𝓎𝓉𝒽ℴ𝓃 隨手記Image Not Showing Possible ReasonsLearn More →
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
相關文章 👉 MicroPython 真動態圖
這是一篇致敬文。目的是用 MicroPython 以更為簡捷的方式達成與 Arduino IDE 相同的程式效果。
先看一段影片:(前段為静態圖的說明,動態的部份請從 03:55 開始觀賞)
Learn More →
動態圖片在顯示上比單一圖片來得活潑且具有較佳的互動感,在各類顯示螢幕上已是必備的元素了。而 GIF 格式的圖檔裡包含了多張相關且連續的圖片,依續播放則能達成動態的效果,其在網頁上已被大量的運用,因此是取得容易的素材之一,若能成為小型裝置上的動態圖片來源,即可先看到呈現的效果,且能降低製作和取材的難度。但從以上的影片中可以得知要將 GIF 在 Arduino IDE 架構中置於小型如 SSD1306 OLED 的設備上來顯示,仍需經過以下幾個步驟:
從上述的程序中可以發現需要切換使用不同的工具或軟體來達成各個階段性目標,才能再往再下一步驟進行。若換成 MicroPython 的生態又該怎麼做呢? 如同之前運用字庫的處理方式,會先以 Python 處理前段,後續再由 MicroPython 接手。在 Python 中有個強大的影像處理函式庫 PIL,只要調用它就可以把上述的步驟 2~4 簡化成單一步驟,且個人認為轉出來的圖檔細緻度頗佳。簡化後如下:
Python 這個方便的影像處理函式庫叫做 PIL,即 Python Imaging Library,但它不再支援新版的 Python,而 Pillow 是 PIL 的分支且持續更新中,它已完全的取代了 PIL,且在程式中仍以 PIL 的名稱來調用,所以可以延用原本的方法和參數。若您不曾安裝 Pillow 函式庫,操作前請先使用以下指令安裝。
pip install pillow
參考: Pillow 的 github
步驟 2 的程式如下:
SSD1306設定請參考: my_util.py 說明
若您已觀賞完以 Arduino IDE 來完成 GIF 的影片並瞭解其過程,會發現在 Python 與 MicroPython 的聯手配搭下,整個過程變得相對簡單且快速許多,而本篇提供的程式可直接取用執行即可生成 frames 檔,也可做為參考並修改成更適合自己的版本。以下即為程式執行的輸出結果。
Learn More →
Paoyung ChangSat, Jul 2, 2022 3:55 PM
別走開,續集來囉! MicroPython 真動態圖Image Not Showing Possible ReasonsLearn More →
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported