Rehber Linux üzerinde OctoPrint kurulumu

Linux Üzerinde OctoPrint Kurulumu​

Merhaba! Bu rehberde Debian üzerinde OctoPrint kurulumunu adım adım ele alacağız. Burada anlatılan yöntemler, ufak farklılıklar dışında diğer Linux dağıtımları için de geçerlidir. Süreç boyunca Debian üzerinde Python sanal ortamını (venv) hazırlayacak, OctoPrint sunucusunu ayağa kaldıracak ve kesintisiz çalışması için servis olarak sisteme tanıtacağız.

OctoPrint Nedir?​

3D yazıcı topluluğunun en güçlü açık kaynaklı araçlarından biri olan OctoPrint; yazıcınızı akıllı bir cihaza dönüştürerek uzaktan yönetmenize, canlı kamera takibi yapmanıza, mobil uygulamalar üzerinden baskı başlatıp anlık bildirimler almanıza ve zengin eklenti (plugin) ekosisteminden yararlanmanıza olanak tanır.

Düşük sistem kaynağı tüketimi sayesinde OctoPrint; eski dizüstü bilgisayarlardan Raspberry Pi gibi tek kartlı bilgisayarlara kadar neredeyse her donanımda son derece stabil bir şekilde çalışabilir.

Dikkat Edilmesi Gerekenler​

  • Bu rehber temel düzeyde Linux bilginiz olduğu varsayılarak hazırlanmıştır. Linux kurulumuna dair bir içerik içermemektedir.
  • Ayrıca rehberde belirtilen özellikleri kullanabilmeniz için kurulumu yapacağınız bilgisayarın Wi-Fi veya kablolu ağ bağlantısı ile bir ağa bağlı olması gerekmektedir.
  • Kurulumu yaptığınız bilgisayar ve yazıcınızın USB ile haberleşmesi gerekiyor, bu yüzden yazıcınızın bu şekilde çalışabildiğinden ve veri aktarımını yaptığınız kablonun çalıştığından emin olun.
  • Bu kurulum ile kendi yazıcım Ender 3 V3 SE'yi eski bir MacBook Air 2013 üzerinden başarıyla kontrol ediyorum. Ek olarak bir arkadaşımın Ender 3 V2 yazıcısı ve eski bir laptopu ile de kurulum yaptık ve sorunsuz çalışmakta.
  • Kurulum sırasındaki komutlarda kullanıcı adınız ile değiştirmeniz gereken yerler username şeklinde bırakılacak, bu alanları kendi Linux kullanıcı adınızla değiştirmeniz gerekiyor.
  • Kurulu Python sürümünüzün de 3.9, 3.10, 3.11, 3.12 ya da 3.13 olması gerekmektedir. Aksi takdirde hata alabilirsiniz. Yüklü Python sürümünü python --version veya python3 --version komutları ile kontrol edebilirsiniz. Herhangi bir Python sürümü kurulu değilse de rehberi takip ederken kurulumunu sağlayacaksınız.

Kurulum Adımları​

OctoPrint kurulumu sistem geneline değil bir Python sanal ortamı içerisine yapılmalıdır. Aksi takdirde dependency yani bağımlılıkların çakışmasıyla ilgili problemler yaşanabilir.

Öncelikle aşağıdaki komutları sırasıyla girerek gerekli paketleri kuruyor ve sanal ortama geçiş yapıyoruz:
Kod:
cd ~
sudo apt update
sudo apt install python3 python3-pip python3-dev python3-setuptools python3-venv git libyaml-dev build-essential libffi-dev libssl-dev
mkdir OctoPrint && cd OctoPrint
python3 -m venv venv
source venv/bin/activate

Daha sonrasında pip aracı kullanılarak OctoPrint ve bağımlı olduğu paketleri indiriyoruz:
Kod:
pip install --upgrade pip wheel
pip install octoprint

Daha sonrasında Linux kullanıcısının seri port erişimi için tty ve dialout gruplarına yetkilendirme yapıyoruz:
Kod:
sudo usermod -a -G tty username
sudo usermod -a -G dialout username

Not: Değişikliklerin uygulanması için çıkış yapıp tekrar giriş yapmanız gerekebilir.

Daha sonrasında da octoprint serve komutu ile OctoPrint sunucusunu başlatabiliriz.
OctoPrint başarıyla başlatıldı ise http://<cihazın ip adresi>:5000 adresinden OctoPrint arayüzüne ulaşabilirsiniz.

Sistem Açıldığında Otomatik Başlatma

Sistem açılışında OctoPrint sunucusunu otomatik başlatmak için öncelikle /etc/systemd/system/octoprint.service yolunda bir belge açıyoruz.
Kod:
sudo nano /etc/systemd/system/octoprint.service

Daha sonrasında aşağıdaki kodları olduğu gibi yapıştırıp User= karşısındaki username değerini ve ExecStart= içerisindeki username alanını kendi kullanıcı adımızla değiştiriyoruz:
Kod:
[Unit]
Description=The snappy web interface for your 3D printer
After=network-online.target
Wants=network-online.target


[Service]
Environment="LC_ALL=C.UTF-8"
Environment="LANG=C.UTF-8"
Type=exec
User=username
ExecStart=/home/username/OctoPrint/venv/bin/octoprint serve


[Install]
WantedBy=multi-user.target

Not: Eğer OctoPrint'i başka bir yere kurduysanız ExecStart= karşısındaki yolu düzenleyin. Bu rehberdeki şekilde ilerlediyseniz zaten /home/username/OctoPrint/venv/bin/ içerisinde olmalı.

Belgeyi kaydettikten sonra da başlangıçta otomatik başlaması için servisi sisteme tanıtıp sonrasında enable ediyoruz:
Kod:
sudo systemctl daemon-reload
sudo systemctl enable octoprint.service

Bu ayrıca aşağıdaki komut ile OctoPrint sunucunuzu başlatmaya, durdurmaya ve yeniden başlatmaya olanak sağlayacak.
Kod:
sudo service octoprint {start|stop|restart}


Bu aşamada OctoPrint arayüzü üzerinden gerekli ayarlamalarınızı yapıp Connect diyerek yazıcınıza bağlanabilirsiniz.
Eğer OrcaSlicer kullanıyorsanız aşağıdaki görselde işaretli Connection butonuna (Wi-Fi simgesi olan) tıklayıp OctoPrint sunucusunun bilgilerini girerek doğrudan Slicer üzerindeki Device sekmesinden erişebilir ve baskı gönderebilirsiniz.



Slicer üzerinden bağlantı için OctoPrint arayüzünden Settings menüsündeki Application Keys sekmesinden bir API kodu oluşturmanız ve API Key alanına girmeniz gerekiyor.



Bu rehber OctoPrint topluluk forumundaki "Setting up OctoPrint on a Raspberry Pi running Raspberry Pi OS (Debian)" konusundan çevirilip düzenlenerek hazırlanmıştır. Bu rehber ile kendime ve arkadaşıma yaptığım kurulumdan sonra forumda bahsinin geçmediğini gördüm ve Türkçeye çevirerek bir rehber hazırlamak istedim.

Kurulum sırasında herhangi bir hata veya sorun ile karşılaşırsanız memnuniyetle yardımcı olurum.
 
Son düzenleme:
Ek olarak bazı cihazlarda üretici kaynaklı Debian gibi distro'ların eski sürümleri olabiliyor ve python 3.8+ desteklemeyebiliyor. Özellikle neptune 4 serisinde bayağı baş ağrıtan bir durum bu. Eğer böyle bir sorunla karşılaşırsanız ve daha yüksek bir sürüm bulamazsanız Python'u kaynağından derleyip /opt altına kurup symlink oluşturursanız sistemin eski Python'una dokunmadan daha yeni sürümleri de kullanabilirsiniz. Tabii kullanacağınız programa göre path de oluşturmanız gerekir.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…