Raspberry Pi 筆記(83):安裝OctoPi監控3D印表機

用了很長一段時間的3D印表機,最近因為幾個部件脆化,雖有備品可以替換,可是有時會讀不到 SD 卡這個問題比較困擾,現在還不確定是Reprap控制卡還是 LCD 2004顯示卡的問題,還有噴頭的問題,等採購的物品到了,再一次汰換。有關 3D 印表機,我加入了兩個群組,群裡面有幾位高手都已安裝 OctoPi。利用這幾天一點點空檔的時間,安裝 OctoPi 到樹莓派上,直接從瀏覽器中控制和監視 3D 印表的狀態及列印作業。我手邊有三片樹莓派,一代覺得可能效能不佳,Pi2 沒有支援無線網路,要外接 USB 無線網卡比較麻煩,Pi4設定最容易,以下就紀錄一下如何在 Pi4 設定 OctoPi以及如何使用 Pi2 修改網路設定,讓 TP-Link 的USB無線網卡可以正常運作。
OctoPi系統的特色如下:
  • 將 3D印表機和個人電腦分開,利用有線或無線網路進行列印,並使用瀏覽器操作。
  • 遠端列印控制,可自由調配的控制方式。
  • 監控列印作業和溫度。
  • 可加裝攝影機拍照或進行縮時攝影,掌控列印作業進度。
  • G-code視覺化(甚至適用於列印中)以及文件管理功能。
  • 可與各種品牌列印機相容,如Marlin、Sprinter、Smoothie等不同韌體。
  • 可以不用一直插拔 SD 卡片,用於複製 gcode。

[下載安裝OctoPi]

安裝 OctoPi 很簡單,只要到 OctoPi官方網站Download頁面 下載映像檔,燒錄到SD卡,如以下畫面:


燒錄映像檔到 SD 卡的方法,可參考這篇文章:Raspberry Pi 筆記(67):樹莓派官方SD卡燒錄程式Imager及格式化軟體SDFormatter

OctoPi 的映像檔使用 Raspbian 作業系統,如需遠端登入,可使用預設的帳號 pi,密碼:raspberry。建議初次安裝後,登入將此帳密改成自己設定的密碼。

[Pi3/4設定OctoPi無線網路]

在 Pi3/4 設定無線網路很簡單,只要在燒錄 SD 卡完成時,開啟 SD 卡的根目錄,開啟 octopi-wpa-supplicant.txt 這個檔案進行編輯修改,找到以下這段文字,將前面的註解#刪掉,並修改成要連線的無線基地台SSID及密碼:
# WPA/WPA2 secured
network={
  ssid="your_ssid"
  psk="your_password"
}
再往下找到一行 country=xx 的地方,將其他國家加上#註解,增加以下這一行設定國碼為台灣 TW:
country=TW  # Taiwan
修改完成後存檔,重新開機,就可以透過無線網路存取 OctoPi。這裡會有個困擾是:我怎麼知道樹莓派取得的 IP?,我用一個小小的工具稱做「AngryIP Scanner」,你可以到 這裡 下載安裝。執行時輸入掃描的起迄IP範圍,再按下「開始」進行檢測。下圖是我的有線網路IP網段檢測的結果畫面:

[Pi2安裝TP-Link無線網卡]

Pi2開機前,我先用有線網路連接樹莓派,找到樹莓派IP後,透過 SSH 連線登入系統,再繼續設定無線網路。設定的方法是在 /etc/network/interfaces.d/ 目錄內增加一個 wlan0 檔案,使用 nano 進行編輯,指令如下:
$ sudo nano /etc/network/interfaces.d/wlan0
在 wlan0 檔案內,填入以下內容。其中 your_ssid 及 your_password 需更換成你的基地台 SSID 跟密碼:
auto wlan_home
iface wlan_home inet dhcp
    wpa-ssid "your_ssid"
    wpa-psk "your_password"

auto wlan_hotspot
iface wlan_hotspot inet dhcp
    wpa-ssid "your_ssid"
    wpa-psk "your_password"
完成後,存檔離開。此時再執行啟動無線網卡的指令:
$ sudo ifup wlan0=wlan_home
到這裡已經可以透過無線網路,存取 OctoPi。但是每次開機後,就要登入 OCtoPi 再執行一次上列指令,有點麻煩。若要設定成開機時自動啟動 wlan0,可以修改 /etc/network/interfaces 這個檔案,使用 nano 進行編輯,指令如下:
$ sudo nano /etc/network/interfaces
將以下內容全部貼到 interfaces 檔案最後一行下方,這段是使用 DHCP 配發IP。
#auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
以下這段是使用固定 IP:
#auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.90
netmask 255.255.255.0
gateway 192.168.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
這時重新啟動樹莓派,就可以取得 IP,開始透過無線網路進行連線及存取 OctoPi。

[開始使用OctoPi]

網路設定完成後,可以使用瀏覽器操作 OctoPi,在 URL 列輸入你的 OctoPi IP,以我的環境為例:
http://192.168.0.106
可以看到以下初次設定的畫面,就表示連線成功:
接著按下  Next  繼續設定,如先前有備份設定檔,可在這個步驟還原設定:
繼續按下  Next  使用此設置連線存取控制的安全用戶名和密碼。即使無法從外部網絡存取列印機,還是建議進行設置。可輸入帳號及兩次密碼後,按下  Create Account 建立帳號。

接著繼續按下  Next  設定匿名使用情況跟踪,OctoPi可定期每15分鐘回報 3D印表機狀況、每24小時回報系統及套件版本、伺服器啟動等資訊,以確保 Pi處於聯機的狀態。如想瞭解詳細內容,可到 這裡 取得更多資訊 。按下  Anonymous Usage Tracking  繼續:
接著按下  Next  進行網路設定連線檢查,設定好 OctoPi 主機的名稱後,按  Enable Connectivity Check   繼續。
按下  Next  繼續進行插件黑名單設定,此設定可防止在 Pi 上安裝未簽名或潛在惡意的插件。從1.3.6版本開始,OctoPrint支援這項功能,避免因為插件功能而影響 OctoPi 的正常運作。按下 Enable Plugin Blacklist Processing   繼續:
繼續按下  Next  進行印表機的基本設定,如你的 3D印表機型號、可列印的長度和寬度等資訊:
輸入印表機基本設定後,接著按下 Next  整個啟動的程序就完成了。

[重新起動OctoPi服務]

如要重新起動OctoPi服務,可以執行以下指令:
$ sudo service octoprint restart

[結果]

我的 3D 印表機的主機板使用 Arduino Mega,上面插著 Reprap 1.4的控制卡,需要有一條線 USB 連接樹莓派與 Arduino Mega,一頭是 Type-A,另一頭是 Type-B。
在瀏覽器連線 OctoPi 的畫面左方,樹莓派使用 Auto方式與 Arduino Mega 連接,右方是要達到的噴頭及熱床溫度折線圖,左下方是 SD卡的檔案及目錄,

在安裝過程中,我沒有將攝影鏡頭裝上去,隨時觀察印表機列印的狀況,一方面是需要列印攝影鏡頭支架,我還沒找到適合的,等下次更換印表機部分零件時再繼續安裝。另外我發現 OctoPi 的外掛(Plug-in)模組,包括 AstroPrint,這是什麼?先賣個關子,下一篇再繼續介紹 AstroPrint 的使用及如何安裝在 OctoPi 上。

[後記]

這幾天啟動 3D印表機時,也會使用 OctoPi,狀況非常不穩定,歸類幾點問題:
  1. 有時就突然進入「Safe Mode」,無法啟動AstroPrint
  2. 安裝相機鏡頭後,如果在鏡頭前頻繁移動,就會出現「Webcam stream loading」,可能是資源不足造成。
  3. 無預警當機,這點是在安裝 OctoPi 前沒發生過的。
  4. 透過 OctoPi上傳檔案列印時,速度較慢,一個約 2.5MB 的檔案要傳輸 2-3分鐘。

建議各位要安裝 OctoPi 的朋友,還是聽從官方的建議使用 Pi3 或 Pi4 。

[參考資料]

Post a Comment

較新的 較舊