Thonny最初由愛沙尼亞塔爾圖大學(University of Tartu)的計算機科學研究所開發,後來陸續收到許多在電子Maker圈赫赫有名的機構和公司的支援,包括樹莓派基金會(Raspberry Pi Foundation)、Micro:bit教育基金會、Adafruit、M5Stack…等等。
MQTT教學(十):設定Mosquitto 2.x版的mosquitto.conf設置檔
允許外部裝置連入本機Mosquitto伺服器的辦法是修改mosquitto.conf設置檔,在裡面加入幾個參數,你可以直接修改C:\Program File\mosquitto路徑裡的mosquitto.conf設置檔,筆者是將它命名成mosquitto.conf.bak備份,然後新增一個mosquitto.conf。
重新燒錄Arduino Bootloader(開機啟動程式):以Leonardo板為例
Arduino Leonardo板上傳搖桿程式之後,開發板的晶片(Atmega32u4)內建的USB介面,將變成人機介面通訊埠,而非燒錄程式用的UART序列介面,所以無法再透過Arduino IDE上傳新程式。解決辦法是替Leonardo板重新燒錄Bootloader(開機啟動程式)。Arduino開發板的bootloader是透過SPI介面燒錄,而非序列埠。
YouTube影片下載(六):改用PyTube程式庫解決執行錯誤
最近透過PyTube3程式庫下載YouTube影片,會出現KeyError: ‘assets’錯誤:
把PyTube3更新到目前最新的3.7.4.1版,仍舊會出現相同錯誤。到pypi.org網站搜尋pytube關鍵字,可找到21個相關專案,其中包含10月31日才更新的pytube 9.7.0版。另外還可以看到一個新的下載YouTube影片的專案程式“mhyt”,還有PyTubeX和PyTube4。
YouTube影片下載(五):PyTube3程式庫更新說明
前幾天我把下載YouTube影片的PyTube3程式庫更新到最新版:
pip install pytube3 --upgrade
結果之前寫的YouTube影片下載程式出現錯誤,不能用了。經修改幾個地方,程式即可正常運作,而且測試下載幾個影片,原本無法下載的音樂影片都能正常下載了。
YouTube影片下載(四):透過subprocess.run()執行外部命令
Python的subprocess程式庫在Python 3.5版新增了run()方法,它能擷取外部命令的輸出(stdout)或錯誤訊息(stderr),可替代原本的call()以及Popen()方法。run()其實是把Popen()重新包裝、簡化的方法。以擷取ping命令的輸出為例,跟Popen()方法一樣,外部命令預設採用字串列表格式,並透過stdout參數把外部命令的輸出導入Python程式。
YouTube影片下載(三):執行外部命令的subprocess.call()以及subprocess.Popen()方法
本文將補充說明YouTube影片下載(一)的原始碼當中的subprocess程式庫的call()及Popen()方法;介紹subprocess程式庫之前,首先要知道什麼是process和thread。以瀏覽「視訊直播」網頁為例,目前開啟的瀏覽器視窗是一個Process(程序),網頁中的文字、影像和視訊,則是由程序裡的不同Thread(執行緒)同時連結到網站伺服器擷取而來的。
YouTube影片下載(二):透過FFmpeg取得影片資訊、轉檔輸出、合併視訊和聲音
上一篇文章的下載YouTube影片程式裡面的「檢測影片是否有聲音」與「合併視訊和聲音」,以及《超圖解Python程式設計入門》第5章的批次轉換多媒體檔案格式和MP3聲音檔的功能,全都仰賴FFmpeg工具程式完成。本文將補充說明上一篇文章使用到的ffmpeg命令和操作。
YouTube影片下載(一):合併視訊和音軌的Python程式
本文旨在補充《超圖解Python程式設計入門》第5章的YouTube影片下載單元,採用新版PyTube程式庫,修正部份影片無法下載的問題,並且新增合併視訊和音軌的功能。
使用ESP32控制板(三):MicroPython的類比輸入、UART序列埠以及觸控開關
ESP8266只有1.5個博士學位UART序列埠,所以《超圖解Python物聯網實作入門:使用ESP8266與MicroPython》第七章的GPS模組連接實驗,需要搭配WebREPL操作。ESP32也可以透過WebREPL操作,設定方式和ESP8266板相同;LOLIN32控制板有兩個UART硬體介面,把GPS模組接在第2個UART序列埠的示範如下:
使用ESP32控制板(二):燒錄MicroPython韌體
MicroPython的ESP32韌體分成支援Wi-Fi(但不支援藍牙)以及支援藍牙(但不支援Wi-Fi)兩大版本,每個版本各有三個系列:
- 通用(GENERIC):適合所有一般ESP32系列控制板。
- 通用外部RAM(GENERIC-SPIRAM):適合內建外部RAM(PSRAM)的ESP32控制板。
- TinyPICO:用於世界最小(18x32mm)的ESP32微控制板TinyPICO。
使用ESP32控制板(一):WEMOS LOLIN32簡介
ESP32是結合Wi-Fi和藍牙的32位元系統單晶片(S0C)與外接快閃記憶體的模組,有許多廠商生產採用ESP32模組的控制板,它們的多半大同小異,最基本的ESP控制板就是ESP32模組加上直流電壓轉換器以及USB序列通訊介面IC。這是一款稱為WEMOS LOLIN32的ESP32控制板,具備3.7V鋰電池插座: