允許外部裝置連入本機Mosquitto伺服器的辦法是修改mosquitto.conf設置檔,在裡面加入幾個參數,你可以直接修改C:\Program File\mosquitto路徑裡的mosquitto.conf設置檔,筆者是將它命名成mosquitto.conf.bak備份,然後新增一個mosquitto.conf。
書本的補充內容
允許外部裝置連入本機Mosquitto伺服器的辦法是修改mosquitto.conf設置檔,在裡面加入幾個參數,你可以直接修改C:\Program File\mosquitto路徑裡的mosquitto.conf設置檔,筆者是將它命名成mosquitto.conf.bak備份,然後新增一個mosquitto.conf。
Arduino Leonardo板上傳搖桿程式之後,開發板的晶片(Atmega32u4)內建的USB介面,將變成人機介面通訊埠,而非燒錄程式用的UART序列介面,所以無法再透過Arduino IDE上傳新程式。解決辦法是替Leonardo板重新燒錄Bootloader(開機啟動程式)。Arduino開發板的bootloader是透過SPI介面燒錄,而非序列埠。
最近透過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程式庫更新到最新版:
pip install pytube3 --upgrade
結果之前寫的YouTube影片下載程式出現錯誤,不能用了。經修改幾個地方,程式即可正常運作,而且測試下載幾個影片,原本無法下載的音樂影片都能正常下載了。
Python的subprocess程式庫在Python 3.5版新增了run()方法,它能擷取外部命令的輸出(stdout)或錯誤訊息(stderr),可替代原本的call()以及Popen()方法。run()其實是把Popen()重新包裝、簡化的方法。以擷取ping命令的輸出為例,跟Popen()方法一樣,外部命令預設採用字串列表格式,並透過stdout參數把外部命令的輸出導入Python程式。
本文將補充說明YouTube影片下載(一)的原始碼當中的subprocess程式庫的call()及Popen()方法;介紹subprocess程式庫之前,首先要知道什麼是process和thread。以瀏覽「視訊直播」網頁為例,目前開啟的瀏覽器視窗是一個Process(程序),網頁中的文字、影像和視訊,則是由程序裡的不同Thread(執行緒)同時連結到網站伺服器擷取而來的。
上一篇文章的下載YouTube影片程式裡面的「檢測影片是否有聲音」與「合併視訊和聲音」,以及《超圖解Python程式設計入門》第5章的批次轉換多媒體檔案格式和MP3聲音檔的功能,全都仰賴FFmpeg工具程式完成。本文將補充說明上一篇文章使用到的ffmpeg命令和操作。
本文旨在補充《超圖解Python程式設計入門》第5章的YouTube影片下載單元,採用新版PyTube程式庫,修正部份影片無法下載的問題,並且新增合併視訊和音軌的功能。
ESP8266只有1.5個博士學位UART序列埠,所以《超圖解Python物聯網實作入門:使用ESP8266與MicroPython》第七章的GPS模組連接實驗,需要搭配WebREPL操作。ESP32也可以透過WebREPL操作,設定方式和ESP8266板相同;LOLIN32控制板有兩個UART硬體介面,把GPS模組接在第2個UART序列埠的示範如下:
MicroPython的ESP32韌體分成支援Wi-Fi(但不支援藍牙)以及支援藍牙(但不支援Wi-Fi)兩大版本,每個版本各有三個系列:
ESP32是結合Wi-Fi和藍牙的32位元系統單晶片(S0C)與外接快閃記憶體的模組,有許多廠商生產採用ESP32模組的控制板,它們的多半大同小異,最基本的ESP控制板就是ESP32模組加上直流電壓轉換器以及USB序列通訊介面IC。這是一款稱為WEMOS LOLIN32的ESP32控制板,具備3.7V鋰電池插座:
本文將示範如何把《超圖解Python程式設計入門》第12章的留言板資料庫網站佈署到Heroku。Heroku網站提供的資料庫系統是開放原始碼的PostgreSQL(簡稱Postgres),啟用此資料庫系統的步驟如下:
Begin typing your search term above and press enter to search. Press ESC to cancel.