Herkese merhabalar! Bu yazıcımızda OctoPrint ile 3 boyutlu yazıcınızı uzaktan nasıl kontrol edebileceğinizden bahsedeceğiz. OctoPrint nedir, ne amaçla kullanılır, yararları nelerdir, nasıl kurulur ve kullanılır sorularını cevaplayacağız.
OctoPrint nedir?
OctoPrint, 3D yazıcınızı uzaktan izlemek ve kontrol etmek için en iyi açık kaynaklı yazılımdır. Yazılım, kullanıcılara genellikle giriş seviyesi yazıcılarda bulunmayan çeşitli özelliklere erişim sağlar.
Kullanıcıların birden fazla yazıcıyı kontrol etmesine, bunları kolayca izlemesine, baskı işlerini planlamasına, modelleri bulutta dilimlemesine, g kodlarını okumasına, popüler ve kelimenin tam anlamıyla viral hızlandırılmış videolar (Octolapse olarak adlandırılır) oluşturmasına ve çok daha fazlasına olanak tanır.
Raspberry Pi kullanılarak yapılan bu sistem, 3D yazıcınıza USB üzerinden bağlanır. Daha sonra web ara yüzü, Waveshare ekran ile yapılabilecek dokunmatik ara yüz aracılığı ile ya da alternatif olarak geliştirilmiş mobil uygulamalar ile 3D yazıcınızı uzaktan kontrol edebilirsiniz. OctoPrint ile ister, Ender 3 Pro ister Ultimaker, tüm yazıcıları kontrol edebilir ve baskı alabilirsiniz. Bu yazımızda kurulum ayarlarını Ender Pro 3 modeline göre yapacağız.
OctoPrint’i daha da iyi yapan şey, tamamen ücretsiz olmasıdır. Sonuç olarak ister hobici ister meraklı veya öğrenci olun, 3D baskı yeteneklerinizi geliştirmek için yazılımı kolayca kullanabilir ve yararlanabilirsiniz.
OctoPrint Kullanmanın Yararları
Kablosuz Yazdırma
Evde olmadığınızda, eve döndüğünüzde bitmesi için bir baskı başlatmak ya da baskılarınızın ilerlemesini izlemek istemez misiniz? Bunların çözümleri ne yazık ki düşük maliyetli bir 3D yazıcıda mevcut değil. Ancak, OctoPrint buna harika bir çözüm sunuyor. Çoğu kullanıcı için önemli bir engeli kaldırabilen bir özellik olan kablosuz yazdırma, hiçbir giriş seviyesi 3D yazıcıda mevcut değildir.
OctoPrint, üç boyutlu yazıcıya bağlı cep boyutunda bir bilgisayar olan Raspberry Pi‘ye yüklenmiştir. Bu Raspberry Pi çipi, 3D yazıcınızın dosyaları kablosuz olarak almasını sağlamak için kullanabileceğiniz özelliklere sahiptir. Böylece 3D baskınızı kablosuz olarak hemen kontrol etmeye başlayabilirsiniz.
OctoPrint sayesinde sürekli, yazdırma işinizin mevcut ilerlemesiyle ilgili geri bildirim alırsınız ya da yazdırma işinizi başlatabilir, duraklatabilir ve durdurabilirsiniz. Yani bütün kontrol sizdedir. Yerleşik erişim denetimleriyle yazıcınızı kimin kontrol edebileceğini de kontrol edebilirsiniz.
Tahmin edebileceğiniz gibi, birden fazla üç boyutlu yazıcıyla çalışıyorsanız bu özellik bir harika! Hepsini ve ilgili web kameralarını tek bir Raspberry Pi’ye bağlayabilirsiniz.
Uzaktan Erişim
3D baskı sürecini herhangi bir cihazdan gerçek zamanlı olarak bile izleyebilirsiniz. Bir kamera (Raspberry Pi kamera, web kamerası veya DSLR) bağlayın ve canlı akışı her yerden izleyin. Buna herhangi bir bilgisayardan, tabletten veya akıllı telefondan erişebilirsiniz.
OctoPrint’i çalıştıran kullanıcılar, baskılarının ilerlemesini Raspberry Pi’lerine bağlı bir web kamerası aracılığıyla izler. Ancak, bir web kameranız yoksa veya yalnızca baskınızı kontrol etmenin başka bir yolunu istiyorsanız, yerleşik G kodu görüntüleyici, baskınızın mevcut durumundan haberdar olmanızı sağlayabilir. Baskınızın durumunu, yazıcıya gönderilen geçerli G kodu komutlarını gösteren görüntüleyicinin hemen altındaki pencerede de bulabilirsiniz.
Bu görünüm sizin için fazla sıkıcıysa, PrettyGCode’u da deneyebilirsiniz. Bu eklenti, Octoprint’te animasyonlu renkli bir üç boyutlu G kodu görselleştirici sekmesi ekler. Baskı işine senkronize olur ve size baskı sürecine çarpıcı bir görünüm verir.
%100 Açık Kaynak
OctoPrint, GNU Affero Genel Kamu Lisansı (AGPL) altında yayımlanan ücretsiz ve açık kaynaklı bir 3d printer yazılımıdır. Tüm kaynak kodu GitHub deposunda mevcuttur ve herkes bunu kendi ihtiyaçlarına göre değiştirebilir. Ücretsiz olmasının yanı sıra kurulumu basit ve hackleme saldırılarına karşı güvenli olan çeşitli eklentileri kullanarak 3D yazıcınızı kolayca kontrol edebilirsiniz.
OctoPrint Kurulumu
OctoPrint için öncelikle bir Raspberry Pi’ye ihtiyacımız var. Octoprint kullanmak için Raspberry modeli konusunda bir sınırlama olmamak ile birlikte en az Raspberry Pi 3B/3B+ modelleri önerilmektedir. Performans olarak kayıp yaşamamak için benim önerim Raspberry Pi 4 olacaktır.
Uyarı olarak Raspberry Pi Zero W modelinde kamera aracılığı ile izleme özelliği kullanıldığında baskı performansı ve kalitesinde sıkıntılar olduğu gözlemlenmiştir.
OctoPrint İmaj Dosyası
Kurulum için ilk olarak OctoPrint imaj dosyasına ihtiyacımız var. Güncel imaj dosyasına bu linkten ulaşabailirsiniz. Bu yazı yazılırken güncel sürüm olarak OctoPi 0.17.0 versiyonu bulunmaktadır. Download butonuna basarak güncel sürüm OctoPrint imaj dosyasını indirebilirsiniz.
İndirme işlemi bittikten sonra zip dosyasını arşivden çıkartmayı unutmayın. Daha sonra imaj dosyasını Raspberry de kullandığımız SD karta yazmamız gerekiyor. Bu işlem içinde balenaEtcher programını kullanabilirsiniz.
Etcher programını kurduktan sonra, karşınıza buna benzer bir arayüz gelmesi gerekmekte (mac osx işletim sistemi kullanmamdan dolayı sizin karşınıza gelen arayüzde farklılıklar bulunabilir). İmaj seçme kısmından zip dosyasından çıkarttığımız .img formatlı dosyayı seçiyoruz, ardından kullanacağımız SD kartı seçip Flash diyerek imaj dosyasının SD karta yazılmasını bekliyoruz. SD karta imaj yükleme tamamlandıktan sonra SD kartı bir kere çıkartıp tekrar takmayı unutmayın. Şimdi SD kart içindeki birkaç dosyada ayar yapmamız gerekiyor.
OctoPrint Ağ Ayarları
Ağ ayarlarını yaparken harici bir text editör programına ihtiyaç duymaktayız. Benim tercihim Atom adlı text editörü. Eğer sizde Atom kullanmak isterseniz bu linkten indirebilirsiniz. Bunun haricinde kendinizin kullandığı farklı bir text editör var ise onlarıda kullanabilirsiniz.
Uyarı : Ağ ayarı sırasında dosya düzenleme işleminde WordPad ya da TextEdit gibi işletim sisteminde dahili gelen editörleri kullanmayın. Bu programlar konfigürasyon ayarlarında sıkıntı çıkmasına neden olabilmektedir.
Ağ ayarları için ilk önce SD kartımıza yüklenen dosyalar arasından “octopi-wpa-supplicant” adlı dosyayı Atom ile açıyoruz.
Raspberry Pi cihazının boot edilirken otomatik olarak wifi ağına bağlanması için ağ ayarlarının doğru yapılması gerekmektedir. Öncelikle kullanacağımız wifi ağının WPA/WEP/Şifresiz gibi özelliklerini bilmeliyiz. WPA/WEP/şifresiz durumuna göre 3 farklı bölüm bulunmaktadır. Wifi ağınızın şifre durumuna göre ilgili kısımdaki wifi adı ve şifre kısımlarını düzenlemeniz gerekmektedir. Benim kullandığım wifi ağım WPA şifrelemesini kullanıyor. Ben ayarlarımı ona göre yapacağım. “put SSID here” yazan yere bağlanacağımız wifi adını, “put password here” kısmına da şifremizi giriyoruz. Daha sonra ilgili bölümün satır başlarındaki “#” işaretlerini siliyoruz. Bu “#” işareti o satırı yorum satırı yapmaktadır. Bu işareti kaldırmadan dosyayı kaydederken sistem başlatılırken o satırları okumayacaktır ve bu sebeple Raspberry cihazımız wifi ağına bağlanmayacaktır. Ayarlamaları yaptıktan sonra o satırlar aşağıdaki gibi görülmelidir.
Bu işlemden sonra alt satırlarda ülke isimlerinin ve kısaltmalarının bulunduğu bir bölüm olduğunu göreceksiniz. Çıkan listede Türkiye bulunmamaktadır. Bu yüzden oraya “country=TR” satırını ekleyebilirsiniz.
OctoPrint Kamera Ayarı (opsiyonel)
OctoPrint kullanmanın en yararlı özelliklerinden birisi de kamera kullanarak baskı durumunu 7/24 izleyebilmektir. Kamera sistemi için iki farklı seçenek bulunmaktadır. Bunlardan biri Raspberry Pi orijinal kamerasıdır. İkinci seçenek olarak da herhangi bir usb kamera kullanabilirsiniz. Kamera ayarları için ilk olarak ağ ayarları kısmında yaptığımız gibi “octopi.txt” adlı dosyayı atom ile açıyoruz.
İlk olarak ne tür kamera kullanacağımızı seçmeliyiz. Bunun için ilk olarak camera=”auto” yazan satırdaki “#” işaretini silerek aktif hale getiriyoruz. Daha sonra eğer usb kamera kullanacaksak auto yerine “usb”, raspberry pi kamerası kullanıyorsak “raspi” yazıyoruz.
OctoPrint sistemimizde eğer usb kamera kullanıyorsak camera_usb_options kısmını aktif hale getirerek, kamera çözünürlüğünü ve fps ayarlarını yapıyoruz. “-r” den sonra kamera çözünürlüğünü, “-f” den sonra kameranın desteklediği fps değerini yazmalısınız.
Not: OctoPrint sistemi bazı usb kamera modelleri ile sıkıntılar çıkartabilmektedir. Bu nedenle usb kamera almadan önce gerekli araştırmaları yaparak uyumluluk sıkıntısı çıkmayacağından emin olmayı unutmayın.
OctoPrint IP Tespit Etme ve İlk Ayarlar
Öncelikle SSH yöntemi ile Raspbery Pi cihazımıza bağlanmamız gerekiyor. Raspberry Pi cihazına uzaktan bağlantı için detaylı blog yazımıza ulaşabilirsiniz. Mac kullanıcı iseniz bu bağlantı için direk olarak terminal uygulamasını kullanabilirsiniz. Windows kullanıcıları için ise Putty programını kurup kullanabilirler. SSH bağlantısı için varsayılan kullanıcı adı “pi” , varsayılan şifre ise “raspberry” dir. Eğer bonjour destekleyen bir bilgisayar kullanıyorsanız ip adresi yazmak yerine “octopi.local” yazarak erişim sağlayabilirsiniz.
Eğer bonjour desteklemeyen bir bilgisayar kullanıyorsanız raspberry pi cihazının yerel ağda bağlı olduğu ip adresini öğrenmek için birkaç farklı yol bulunmaktadır.
Bunlardan ilki modem arayüzüne girerek wifi üzerinden bağlı cihazları görmekten geçer. Benim modemimde arayüze girince bağlı cihazlar sekmesinde octopi olarak cihazı görebilmekteyim.
İkinci yöntem olarak Angry Ip Scanner gibi ağdaki cihazları taramaya yarayan 3. Parti bir yazılım da kullanılabilir. Gördüğünüz gibi ağ taraması yaptığımda 192.168.1.3 yerel ip sinin octopi yüklü raspberry cihazına atandığını görüyoruz.
Raspberry Pi cihazının bağlandığı ip adresini öğrendikten sonra SSH protokolü ile Raspberry Pi cihazımıza bağlanıyoruz. Giriş yaptıktan sonra karşımıza OctoPrint’e web arayüzü ile giriş için kullanabileceğimiz ip ve adresi görebiliyoruz. Ayrıca yüklü olan OctoPrint versiyonu da görebilmekteyiz.
İlk olarak “sudo raspi-config” komutunu çalıştırıyoruz. Bizden şifre isteyecek, şifre olarak yine “raspberry” giriyoruz. Daha sonra açılan sayfada ayarlamalar yapacağız.
İlk olarak “Change User Password” seçerek yeni şifremizi belirliyoruz. Daha sonra Localization Options sekmesi altından Change Timezone ı seçip entera basıyoruz. Gelen ekranda ilk önce bölge olarak Europe, daha sonra da Istanbul seçerek Raspberry Pi saatini kendi saatimize göre ayarlamış oluyoruz. Bundan sonra eğer deneyimli bir kullanıcı değilseniz öteki ayarları karıştırmanızı önermiyorum, ama eğer ne yaptığını bilen bir kullanıcı iseniz diğer ayarları karıştırabilirsiniz. Çıkmak içinse Finish diyoruz, yeniden başlatmak istediğimizi sorucak buna da evet diyoruz ve terminal uygulamasından çıkıyoruz.
OctoPrint Web Arayüzüne Giriş
Web arayüzüne giriş yapmak için kullandığımız safari,chrome gibi tarayıcılardan birine raspberry cihazımızın bağlı olduğu ip adresini yazmamız yeterli. Ya da ssh bağlantısındaki gibi ”octopi.local” yazarak da erişebiliriz. Giriş yaptığımızda bizi OctoPrint yükleme sihirbazı karşılıyor.
Böylece octoprinti ayarlamaya başlıyoruz. Next dedikten sonra karşımıza uzaktan erişim için yani internet üzerinden giriş yapmak için kullanıcı adı ve şifre oluşturmamızı istiyor. Eğer internet üzerinden erişmek erişim yapmayacaksak “Disable Access Control” diyebiliriz ama bir kullanıcı adı ve şifre seçmenizi öneririm. Daha sonra çok kullanışlı olduğunu göreceksiniz. Kullanıcı adı ve şifre seçtikten sonra “Keep Access Control Enabled” tıklayarak ayarın kaydedilmesini sağlıyoruz. Ardından tekrar Next diyoruz.
Daha sonra bizi anonim data takibi hakkında bilgilendiren bir sayfa karşılıyor. Kendi isteğinize bağlı olarak bu özelliği aktif edebilir ya da kapatabilirsiniz. Tekrardan Next diyoruz.
Bu sayfada internet bağlantısının olup olmadığını kontrol etmekten bahsediliyor.Deneyimli bir kullanıcı değilseniz herhangi bir şeyi değiştirmeden “Enable Connectivity Check” tıklayarak geçmenizi tavsiye ederim. Daha sonra tekrar Next diyoruz.
OctoPrint’ in en güzel yanlarından biri ise işlevsel bir çok eklentiye sahip olmasıdır. Bu eklentiler sürekli güncellenmekte ve takibi yapılmaktadır. Eklentiler ile ilgili bilinen bir sıkıntısı olanlar, blacklist denilen listeye konulmaktadır. Bilinen sıkıntısı olan eklentiler tarafından bir zarar görmemek için bu özelliği aktif etmenizi öneririm.
3D Yazıcının Ayarlanması
Temel ayarlardan sonra yazıcı ile ilgili ayarlar yapmamız gerekmektedir. Bu kısımda ayarları ben Ender 3 Pro yazıcıma göre yapacağım. Siz kendi yazıcınızın özelliklerine göre ilgili yerleri değiştirmelisiniz. General sekmesinde yazıcımıza istediğimiz gibi bir isim veriyoruz. Daha sonra Print bed & build volume kısmına geçiyoruz.
Bu kısımda tablanın şeklini, 0,0,0 noktası (orijin) yerinin, tablanın ısıtmalı olup olmadığı ve X,Y,Z eksenlerinde baskı alanının ölçülerini giriyoruz. Axes sekmesi altındaki bilgileri biliyorsanız doldurmanızı, bilginiz yoksa olduğu gibi bırakmanızı tavsiye ederim. Hotend & Extruder sekmesinde ise kullandığınız nozzle çapını ve kaç adet extruder bulunduğunu girdikten sonra next diyerek devam ediyoruz.
Bu sayfayı gördüğümüzde artık OctoPrinti kullanmaktan bir adım uzaktayız. Bu noktada iki adet önemli uyarımız bulunmaktadır.
Birincisi 3D yazıcımız çalışır durumda iken asla tamamen başıboş bırakmamalıyız. OctoPrint kullanılsa bile yine de güvenlik riski doğabilmektedir. Belli aralıklarla 3d yazıcınızı kontrol etmekte fayda vardır.
İkinci uyarımız ise OctoPrint arayüzünü internet üzerinden direk olarak kullanılabilir bir şekilde bırakmayın. Kötü niyetli kişiler şifrenizi ele geçirerek yazıcınıza zarar verebilir. Gerekli önlemleri almayı unutmayın.
OctoPrint WEB Arayüzü
OctoPrint arayüzü açık kaynaklı olması nedeni ile eklentiler ile geliştirilebilmektedir. Aşağıda gördüğünüz arayüz çeşitli eklentiler ile geliştirilmiş arayüzdür. Kullandığım eklenti listesini yazının ilerleyen kısımlarında sizinle paylaşacağım. Öncesinde yazıcı ile bağlantı kurma ve temel arayüz ögelerinden bahsedeyim.
Yazıcı ile Bağlantı Kurma
Web arayüzümüzü açtığımızda bizi sol üst tarafta connection menüsü karşılamaktadır.Bu sekmede ilk olarak yazıcımızın bağlı olduğu serial port seçiyoruz. Daha sonra eğer biliyorsak baudrate değerini giriyoruz. Çoğu 3 boyutlu yazıcı için bu değer 115200’dür. Eğer bu değeri bilmiyorsak “Auto” olarak seçerek otomatik olarak tanımlanmasını isteyebiliriz. Save connection settings seçeneğini aktif ederek, bu ayarların sabit olarak kalmasını sağlayabilir, Auto-connect on server startup seçeneği ile Raspberry Pi açıldığında yazıcı ile otomatik olarak bağlantı yapılması sağlanabilir.
Gcode Dosyaları
Baskı almak için her zamanki gibi gcode dosyamızı Cura yardımı oluşturuyoruz. Daha sonra sol tarafta görünen Files kısmında upload diyerek yüklüyoruz. Bu kısımda dosyalar farklı renklerde görünebilmektedirler. Hiç baskı yapılmamış dosyalar renksiz haldedir. Kırmızı renkli görünen dosyalar baskı bitmeden durdurulmuş veya iptal edilmişlerdir. Eğer sorunsuz bir şekilde baskı alınmış ise yeşil renk ile görünür.
Gcode dosyalarının altında 6 tane icon bulunmaktadır. Bunlar sırası ile ayrıntıları görüntüle, gcode indir, düzenle (eklenti ile gelmektedir), sil, yükle (baskıya hazırla ama yazdırma), yazdır düğmesi ise yüklemeyi yapar ve yazdırır.
OctoPrint Gcode View Sekmesi
Gcode Viewer sekmesinde anlık olarak yazının hareketini her katmandaki izlediği yolu görebilmemiz mümkündür. Sağ taraftaki bar katman yüksekliğini, alt taraftaki bar ise o anda bulunan katmanın ne kadarının basıldığının göstergesidir.
OctoPrint Terminal Sekmesi
OctoPrint yazıcı ile anlık olarak haberleşerek dosyayı yazdırmaktadır. Gönderilen komutları bu terminal sayfasından görebilir, kendiniz extra komut yollayabilirsiniz.
OctoPrint Kullandığım Eklentiler
Octolapse
3D yazıcı ile baskı sırasında çekilen timelapse videolarını görmüşsünüzdür, belki bu videoların hayranı bile olabilirsiniz. Octolapse eklentisi timelapse videoları çekmeye yarayan, OctoPrint’in en popüler eklentilerindendir. Octolapse baskı sırasında çekilecek her karenin en uygun anda, baskıya negatif bir etkisi olmayacak anda çekilmesini sağlayan gelişmiş bir eklentidir. Octolapse ayrıca baskı bitiminden sonra otomatik olarak render alarak, size istediğiniz formatta timelapse videosunu verir.
OctoPrint Telegram Eklentisi
Telegram eklentisi evde bulunmadığım zamanlarda işime yarayan bir eklentidir. Telegram uygulaması ile yazıcının durumunu anlık olarak takip edebiliyorum. Yeni baskı verebiliyor, baskıda bir sıkıntı olduğunu görürsem baskıyı durdurabiliyorum. İşe yarar birçok komutu bulunmaktadır. Eğer kamera kullanıyorsak baskı sırasında belli aralıklarla bize resim veya gif göndermesini sağlayabiliyoruz.
Resource Monitor
Windowsa bulunan görev yöneticisindeki kaynak kullanımlarını gösteren grafik arayüzün octoprint için yapılmış versiyonu diyebiliriz. Yandaki gibi işlemci kullanımı, sıcaklık, ram kullanımı, diskteki hafıza, ağ kullanımı gibi verileri görmemizi sağlamaktadır.
Print Time Genius Plugin
Bu eklenti gcode dosyamızı analiz ederek, tahmini olarak baskı süresi hesaplayan bir eklentidir. Yazdırma işlemi yaptıkça, önceki baskıları da referans alarak zamanla daha doğru sonuç vermeye başlamaktadır. Zaman içinde basılan baskı sayısının artması ile tahmini baskı süresini çok yakın sürede tahmin edebilmektedir.
Gcode Editor
Yukarıda gcode dosyalarını ekledikten sonra altında çıkan ikonlardan bahsetmiştim. O kısımda bir düzenle ikonu vardı. Düzenle ikonu bu eklenti sayesinde gelmektedir. Gcode dosyalarında ufak değişiklikler yapmak için ideal bir eklentidir. Düzenle düğmesine bastığımızda karşımıza böyle bir arayüz ile gcode dosyası geliyor. Gerekli düzenlemeyi yaptıktan sonra save diyerek kaydedebiliyoruz.
Filament Manager
Bu eklenti, filament takibi yapmamıza yarayan bir eklentidir. Aşağıda gördüğünüz gibi kullandığımız filamentleri ekleyebiliyoruz. Baskı sırasında hangi filamenti kullandığınızı seçerseniz, baskı anında kaç gram filament kullanıldığını hesaplayarak, filament değerinden düşüyor. Daha sonra kaç gram filament kaldığını, ne kadarını kullandığımızı görebiliyoruz.
Dashboard Eklentisi
Bu eklenti yazıcı ile ilgili bir çok bilgiyi tek sayfa altında topluyor. Baskı sırasında baskı ile ilgili süre, baskının yüzde kaçının tamamlandığı, katman yüksekliği, nozzle ve tabla sıcaklığı, işlemci kullanımı vb. bir çok bilgiyi bulunduruyor. Ayrıca sistemimizde kamera da kullanıyorsak sayfanın en altına anlık kamera yayınını da eklemektedir.
Bed Levelling Plugin
Tabla kalibrasyonunu (tabla köşelerindeki tabla ayar vidaları) daha kolay şekilde yapmaya yarayan bir eklentidir. Bu eklentiyi yüklediğinizde Control sekmesi altına resimde görebileceğiniz gibi yeni bir bölüm gelmektedir. Apply Heat ile nozzle ve tablayı belirlediğiniz sıcaklığa tek düğme ile ısınmasını sağlayabilir, tabla kalibrasyonu için belirlenmiş noktalara nozzle hareketini sağlayabilirsiniz. Bu eklentiyi kullanmadan önce ayarlar bölümünden yazıcıya uygun şekilde ayarlama yapılması gerekmektedir.
UYARI : Bu eklentiyi kullanmadan önce eksenleri sıfırlama işlemi yapmayı unutmayın.