Donanım & Yapay Zekâ

Valetudo: Robot Süpürgemi Buluttan Koparıp Claude'la Nasıl Konuşturdum? (Kırmadan Önce Oku)

Yazan: Şafak Tozar · · 12 dakikalık okuma

Valetudo: Robot Süpürgemi Buluttan Koparıp Claude'la Nasıl Konuşturdum? (Kırmadan Önce Oku)

Kısa cevap

Valetudo, robot süpürgeyi üreticinin bulut sunucularından tamamen koparıp yalnızca ev ağında çalıştıran açık kaynaklı bir "bulut yerine geçen" yazılımdır. Ben evimdeki 6 yıllık robot süpürgede orijinal uygulamadan feragat ederek yazılımı kırdım; üstüne Claude Code, ElevenLabs ve salondaki güvenlik kamerasını ekleyip süpürgeyi kapıya çarpınca söylenen, önünde terlik veya çorap görünce kızan bir hâle getirdim. Ancak çok net bir kural var: süpürgeyi "kırmak" (root etmek) kalıcıdır, geri dönüşü yoktur, garantiyi ve üretici uygulamasını bitirir. Üstelik bazı modellerde (örneğin Xiaomi Vacuum-Mop P'nin viomi.vacuum.v8 sürümünde) Valetudo'nun kendi belgesi "kırmayın, çoğu kurtarılamaz biçimde bozuluyor" der. Aşağıda hem bu işi hiç bilmeyene en basit diliyle nasıl yaptığımı ve Claude'a hangi komutları verdiğimi, hem de süpürgeni tuğlaya çevirmemek için kırmadan önce neyi kontrol etmen gerektiğini bulacaksın.

6 yıllık süpürgemi neden kırdım ve nasıl konuşturdum?

Evdeki Xiaomi robot süpürgeyi Ekim 2020'de almıştım; tam 6 yıldır sessiz sedasız evi süpürüyordu. Ama iki şey hep kafama takılıyordu: birincisi, ben salonda koltukta otururken süpürgeye "başla" dediğimde bile komutun önce başka bir ülkedeki sunucuya gidip oradan benim salonuma dönmesi. İkincisi de evin içinde bu kadar dolaşan, kapıya, ayağa, terliğe çarpan bir cihazın hiç tepki vermemesi.

İstediğim şey şuydu: süpürge üreticinin bulutundan tamamen kopsun, kendi orijinal yazılımı yerine ne söyleyeceğine ben karar vereyim; kapıya çarptığında "Lan kim koydu bu kapıyı buraya?" diye söylensin, sıkıştığında "Tamam, sıkıştım. Mutlu musunuz şimdi?" diye trip atsın, önünde bir terlik ya da çorap gördüğünde "Kim bıraktı bu terliği buraya? Bir de çorap var, çorap!" diye hesap sorsun.

Baştan söyleyeyim: ben gömülü sistem ya da Linux mühendisi değilim. Süpürgenin içindeki yazılım yapısını incelemekten ses dosyalarını üretmeye, salondaki güvenlik kamerasını süpürgeye "göz" yapmaktan kumanda ekranına kadar bütün süreci Claude Code'a düz Türkçeyle anlatarak kurdum. Ama bunun bedeli var: süpürgenin kendi orijinal uygulamasından tamamen feragat ettim ve "ters giderse 6 yıllık süpürge çöp olur" diyerek masaya oturdum.

Hiç bilmeyene, en basit hâliyle: içeride aslında ne oluyor?

İnternetteki kırma rehberlerinde "SSH, ADB, NAND, squashfs, MQTT, rootfs" gibi kelimeler havada uçuştuğu için çoğu kişi daha ilk paragrafta sayfayı kapatıyor. Oysa bütün kurguyu dört basit parçaya ayırdığında, hiç kod bilmeyen biri bile mantığı beş dakikada kavrar:

Süpürgenin içinde zaten küçük bir bilgisayar var

Robot süpürge sadece tekerlek ve süpürge motorundan ibaret değil. Kapağının altında, tıpkı eski bir akıllı telefon gibi çalışan küçük bir Linux bilgisayarı var. Normalde bu bilgisayar, evinin haritasını ve süpürgenin her adımını sürekli üreticinin yurt dışındaki sunucusuna raporlar; telefonundaki uygulama da süpürgeyle değil o sunucuyla konuşur.

Valetudo araya girip üreticiyle olan telefon hattını kesiyor

Valetudo, süpürgenin içindeki o küçük bilgisayara kurulan açık kaynaklı ve ücretsiz bir program. Yaptığı iş çok net: süpürgenin üretici sunucusuna giden adres defterini siliyor ve yerine kendini yazıyor. Böylece süpürge "ben üreticiyle konuşuyorum" sanırken aslında evin içindeki Valetudo'yla konuşuyor. İnternet kesilse bile süpürge ev ağında çalışmaya devam ediyor.

Claude bizim tercümanımız ve tamircimiz oluyor

Normalde süpürgenin içine girmek, yedek almak ve ses dosyalarını yerleştirmek için siyah terminal ekranında onlarca karmaşık komut yazmak gerekir. Bilgisayarda Claude Code'u açtığında, sen ne istediğini günlük Türkçeyle söylüyorsun; hangi komutu yazacağını, süpürgenin ne cevap verdiğini ve bir hata çıkarsa ne yapılması gerektiğini Claude takip ediyor.

Kamerası olmayan süpürgeye salondaki kamerayla "göz" veriyoruz

Benim süpürgemin üstünde kamera yok; sadece dönen bir lazer kulesi (LiDAR) ve önünde çarpma tamponu var. Yani bir engele çarptığını anlıyor ama önünde terlik mi var, çorap mı var, benim ayağım mı var bilemiyor. Bunun için salondaki rafta duran ev kamerasını Claude'un yazdığı küçük bir programla süpürgeye bağladım: süpürge yavaşladığında veya bir şeye dokunduğunda ev kamerası süpürgenin önüne bakıyor, "orada terlik ve çorap var" diyor ve süpürge de tam ona uygun cümleyi bağırıyor.

Valetudo tam olarak nedir, ne değildir?

Valetudo'nun kendi tanımı net: "Robot süpürgeler için, yalnızca yerel çalışmayı mümkün kılan bir bulut yerine geçen yazılım. Özel bir firmware değildir." Yani robotun motorunu, haritalama algoritmasını baştan yazmıyor; robotun üreticiye konuştuğu yere kendini koyuyor. Sonuçta robot, ev ağındaki bir web arayüzünden (tarayıcıdan) yönetiliyor; harita, oda/bölge temizliği, zamanlama orada duruyor ve Home Assistant gibi sistemlere MQTT ile doğrudan bağlanabiliyor.

Ancak beklentiyi doğru kurmak şart. Valetudo, üretici uygulamasının birebir kopyası değildir; projenin kendi belgesi "üretici uygulamalarıyla özellik eşitliği bir hedef değildir" der. Ve Valetudo'nun içinde "istediğim MP3 dosyasını tek tuşla çal" diye hazır bir düğme yoktur. Robotu istediğimiz cümlelerle konuşturmak, Valetudo ile yerel erişimi (SSH ve MQTT) aldıktan sonra bizim Claude'a yazdırdığımız ses paketi ve olay dinleyici katmanıyla gerçekleşir.

Ne kaybedersin, ne kazanırsın? (Dürüst tablo)

Videoda "bunu yapmak için süpürgenin kendi orijinal yazılımından feragat etmek zorunda kaldım" dememin sebebi bu tablo. Kırma işlemine başlamadan önce nelerin bir daha geri gelmeyeceğini net görmen gerekir:

KonuKırmadan önceKırdıktan sonra
Üretici uygulaması (Mi Home vb.)ÇalışırTamamen devre dışı kalır; Valetudo ve üretici uygulaması aynı anda kullanılamaz
Evin dışından erişimÜretici bulutu üzerinden hazırYalnızca ev Wi-Fi ağından; dışarıdan erişmek istersen kendi VPN'ini kurarsın
Yazılım güncellemeleriÜreticiden otomatik gelirGelmez; kırarken kurduğun yazılım sürümü kalıcı olarak öyle kalır
GarantiDevam ederBüyük ihtimalle biter; geri dönüş yolu yoktur
Ev haritası ve gizlilikÜreticinin sunucusunda dururSadece robotun içinde ve senin evinde kalır; dışarıya tek bayt çıkmaz
Özel ses ve kamera entegrasyonuKapalı kutu; üretici ne izin verirse oClaude ile istediğin Türkçe repliği, çarpma tepkisini ve ev kamerası desteğini bağlayabilirsin

En kritik tuzak: hangi modellerde yapılır, hangilerinde asla dokunulmaz?

Valetudo'nun desteklenen robotlar sayfası (valetudo.cloud) tek resmi listedir. Listede olmayan bir modelde bu iş yapılmaz. Ama asıl tehlike listede olmayan modeller değil, **aynı kutuda, aynı isimle satıldığı hâlde içinden farklı anakart çıkan** modellerdir.

Türkiye'de çok yaygın olan **Xiaomi Mi Robot Vacuum-Mop P** (ilanlarda sıkça **Mop Pro** diye de geçer) bunun en çarpıcı örneği. Valetudo belgesi bu isim altında üç ayrı cihaz kimliği çıktığını ve hepsinin aslında 3irobotix CRL-200S tabanlı olduğunu yazar: `viomi.vacuum.v6`, `viomi.vacuum.v7` ve `viomi.vacuum.v8`. İlk ikisinde işlem yapılabilirken, üçüncüsü olan **viomi.vacuum.v8** için projenin kendi belgesi kırmızı çizgiyi çeker.

Valetudo resmi belgesinden birebir çeviri: "viomi.vacuum.v8'i kırmaya çalışmayın; bunların çoğu, denerseniz kurtarılamaz biçimde bozulur (unrecoverably brick)." Kırma aracının kendi sayfası da bu sürümde farklı Wi-Fi çipi ve farklı hafıza dizilimi çıktığını, hangisinin bozulacağını önceden bilmenin hiçbir yolu olmadığını açıkça yazar.

Üstelik kutunun altındaki etiket koduna (STYJ02YM / STYTJ02YM) bakarak hangisi olduğunu anlayamazsın; çünkü kaynaklar bile bu kodları birbiriyle karıştırıyor. Gerçek sürümü öğrenmenin tek güvenilir yolu, süpürgenin kurulum sırasında yayınladığı Wi-Fi ağ adına (SSID) veya üretici uygulamasındaki cihaz kimliğine bakmaktır. Aşağıdaki 1. adımda bunu Claude'a nasıl kontrol ettireceğini hazır komut olarak verdim.

Claude kullanarak kendi süpürgemde nasıl yaptım? (Adım adım ve hazır komutlarla)

Eğer süpürgenin garantisi bittiyse, orijinal uygulamadan vazgeçmeye hazırsan ve yukarıdaki riskleri kabul ediyorsan, ben bütün süreci **Claude Code** ile nasıl yürüttüğümü aşağıda 6 adımda topladım. Her adımın altında Claude Code'a kopyalayıp yapıştıracağın hazır komut kutusu var; köşeli parantez içindeki yerleri kendi cihazına göre doldurman yeterli. Bir adımın çalıştığını görmeden bir sonrakine geçme.

Süpürgenin gerçek kimliğini ve kırılıp kırılmayacağını Claude'a kontrol ettir

Tornavidayı eline almadan önceki en önemli adım bu. Bilgisayarında boş bir klasör açıp Claude Code'u başlatıyorsun ve aşağıdaki komutu yapıştırıyorsun. Claude önce sana süpürgenin gerçek model kimliğini (v7 mi, v8 mi, Roborock mu, Dreame mi) nasıl bulacağını tarif ediyor, ardından Valetudo'nun resmi listesine bakıp "bu modelde devam edebiliriz" ya da "sakın dokunma, süpürgen tuğla olur" diyor.

Eğer Claude modelinin yanında "do not root / brick" uyarısı bulursa (örneğin cihazın viomi.vacuum.v8 çıkarsa), zorlama ve burada dur. Cihazı kaybetmeye değmez.

Kopyalanacak prompt

Robot süpürgemin yazılımını kırıp Valetudo kurmak ve konuşturmak istiyorum ama tek bir vidayı bile sökmeden önce cihazımın buna uygun olup olmadığını öğrenmem lazım. Hiç teknik terim kullanmadan, hiç bilmeyen birine anlatır gibi ilerle. Elimdeki bilgiler: - Kutudaki / ilandaki adı: [ÖRNEK: Xiaomi Mi Robot Vacuum-Mop Pro / Roborock S5] - Üretici uygulamasında veya cihazın yayınladığı Wi-Fi ağında yazan model kimliği: [BİLİYORSAN YAZ, BİLMİYORSAN "Nasıl bakacağımı tarif et" YAZ] Şunları yap: 1. Model kimliğimi henüz bilmiyorsam, telefonumdaki uygulamadan veya süpürgenin Wi-Fi ağ adından (SSID) gerçek model kodunu nasıl bulacağımı 3 basit adımda anlat. 2. Gerçek model kodumu valetudo.cloud/pages/general/supported-robots/ sayfasındaki resmi listede kontrol et. 3. Aynı isimle satılan farklı anakart sürümleri varsa (örneğin 3irobotix CRL-200S ailesindeki v6, v7 ve Valetudo'nun kesinlikle kırmayın dediği viomi.vacuum.v8 ayrımı gibi) beni açıkça uyar. 4. Modelimin yanındaki bütün uyarıları düz Türkçeye çevir ve bu işlem için masamda hangi kablo ve malzemelerin olması gerektiğini listele.

Yedek alma ve Valetudo kurulumunda Claude'u "yan koltuktaki usta" gibi kullan

Desteklenen bir modelin varsa, kırma işlemi genellikle süpürgenin pil yuvasındaki veya arkasındaki veri destekli micro-USB portundan bilgisayara bağlanarak (ADB ile) yapılır. Burada yapılan en büyük hata, forumdan bulunan komutları ne yaptığını bilmeden arka arkaya yapıştırmaktır. Aşağıdaki komut Claude'a çok sıkı bir kural koyuyor: sana her seferinde yalnız tek bir adım söylüyor, önce süpürgenin bütün hafıza bölümlerinin (NAND) tam yedeğini bilgisayarına aldırıyor, yedek dosyalarının sağlam olduğunu doğruladıktan sonra Valetudo'yu kurduruyor.

Kullandığın USB kablosunun sadece şarj kablosu değil, veri (data) aktaran sağlam bir kablo olduğundan emin ol. Bağlantı yazma sırasında koparsa cihaz açılmaz hâle gelebilir.

Kopyalanacak prompt

Modelim [MODEL KODUN, ör. viomi.vacuum.v7] ve şimdi Valetudo kurulumunu seninle adım adım yapacağız. Kurallarımız: 1. Bana tek seferde YALNIZCA BİR ADIM söyle. Ben o adımı uygulayıp ekranda ne çıktığını sana yazmadan bir sonraki adıma kesinlikle geçme. 2. Her komutu çalıştırmadan önce o komutun içeride ne yaptığını tek cümleyle, hiç bilmeyen birine anlatır gibi açıkla. 3. Pil yuvasındaki veya cihazdaki micro-USB noktasından bilgisayarıma bağlantıyı (ADB / SSH) kurduğumuzda, süpürgenin kendi yazılımına dokunmadan ÖNCE bütün hafıza bölümlerinin (/proc/partitions içindeki nanda..nandi dahil tüm bölümlerin) tam yedeğini bilgisayarımda Masaüstü/SupurgeYedek klasörüne aldır. Yedek dosyalarının boyutunu doğrulamadan kurulum adımına geçme. 4. Valetudo ikili dosyasını (ör. valetudo-armv7) ve kurulum paketini doğru klasöre (/mnt/UDISK veya modele uygun dizin) kopyalat, üretici bulut adreslerini yerel ağa yönlendir, SSH erişimini açık bırak ve kurulum bittiğinde süpürgenin Wi-Fi ağına bağlanıp tarayıcıdan Valetudo ekranını nasıl açacağımı göster. Şimdi 1. adımdan başla: süpürgeyi bilgisayara nasıl bağlayacağım ve bilgisayarın süpürgeyi gördüğünü nasıl test edeceğiz?

Süpürgenin huysuz karakterini ve Türkçe seslerini üret (ElevenLabs + 110 Hz hoparlör ayarı)

Süpürgenin konuşması için mikrofon karşısına geçip tek tek ses kaydetmedim. Claude'a süpürgenin karakterini tarif ettim: evde tek başına çalışmaktan bıkmış, kapıya çarpınca söylenen, kırıntı görünce Pekin'e şikâyet etmekle tehdit eden bir karakter. Claude hem 25 repliği gruplara ayırıp yazdı hem de ElevenLabs ile Türkçe seslendirdi. Burada çok önemli bir püf noktası var: süpürgenin üstündeki küçük hoparlör kalın (bas) sesleri çalamaz, boğuk bir cızırtı çıkarır. Komuttaki 110 Hz filtre satırı, sesin içindeki kaba basları temizleyip konuşmayı süpürge motorunun gürültüsü üstünden net duyulacak kıvama getiriyor.

Bu adımı çalıştırmadan önce ElevenLabs hesabından aldığın API anahtarını Claude'a verebilir ya da ~/.elevenlabs_key dosyasına kaydedebilirsin.

Kopyalanacak prompt

Süpürgem için "Trip Atan Süpürge" ses paketi hazırlıyoruz. Masaüstünde supurge_ses adında bir klasör aç ve her şeyi orada kur. 1. Karakter: Evde tek başına çalışmaktan bıkmış, kapıya veya ayağa çarpınca söylenen, yerde terlik ve çorap görünce kızan, "bu kadar pisliği Pekin'e rapor ediyorum" diye tehdit eden huysuz ama komik bir robot süpürge. 2. Şu 5 grupta toplam 25 Türkçe replik yaz ve replikler.json dosyasına kaydet: - Çarpınca, takılınca (ör. "Lan kim koydu bu kapıyı buraya?", "Çek şu ayağını önümden! Çek dedim sana!", "Kim bıraktı bu terliği buraya? Bir de çorap var, çorap!", "Tamam, sıkıştım. Mutlu musunuz şimdi?") - Trip atıyor (ör. "Bu evde bir ben çalışıyorum zaten.", "Sabahın köründe kaldırıyorsunuz beni. Ben de insanım. Yani, robotum ama olsun.") - Tehdit ediyor (ör. "Bu kadar pislik... Pekin'e rapor ediyorum.", "Bu kırıntıları kim döktü? Kamerada var, biliyorum.") - Başlarken, bitince (ör. "Görev tamam. Şimdi kimse bana dokunmasın.", "Şarjım bitiyor... Son sözlerim: kırıntı dökmeyin.") - Kısa tepkiler ("Of ya!", "Hadi ya!", "Pardon, pardon!") 3. ElevenLabs API anahtarımı kullanarak (eleven_v4 modeli, Türkçe, doğal ve sitemkâr ton) bütün replikleri MP3 olarak üret. 4. ÇOK ÖNEMLİ: Süpürgenin kendi üzerindeki küçük hoparlör derin bas sesleri veremez ve cızırdar. Üretilen bütün seslere 110 Hz yüksek geçiren filtre (high-pass filter) uygula, konuşma ses seviyesini -15 dB'ye dengele ve tavanı 0.95 ile sınırla ki süpürgenin hoparlöründen motor sesinin üstünde cam gibi net duyulsun.

Sesleri süpürgeye yükle ve çarpma/sıkışma olaylarına bağla

Süpürge yerel ağda Valetudo ile çalışmaya başladığında, yaptığı her şeyi evin içindeki ağa anlık olarak haber verir (başladı, tampon çarptı, sıkıştı, şarjı azaldı, istasyona döndü). Bunu süpürgenin evin içine telsizle anons geçmesi gibi düşünebilirsin. Aşağıdaki komutla Claude, hazırladığımız sesleri süpürgenin içine atıyor ve bu anonsları dinleyen küçük bir bekçi programı yazıyor: süpürge sıkıştığı anda otomatik olarak "Tamam, sıkıştım. Mutlu musunuz şimdi?" cümlesini, işi bitip istasyona döndüğünde "Görev tamam. Şimdi kimse bana dokunmasın." cümlesini çaldırıyor.

Kopyalanacak prompt

Şimdi ürettiğimiz bu sesleri süpürgenin içine yükle ve gerçek hareketlerine bağla. 1. Hazırladığımız ses dosyalarını SSH üzerinden süpürgenin kalıcı hafızasına (/mnt/UDISK/ses/ klasörüne) kopyala ve süpürgenin kendi ses çalıcısıyla (tinyplayer / yerel ses komutu) hoparlöründen çaldığını test et. 2. Süpürgemdeki Valetudo'nun yerel ağdaki durum bildirimlerini (MQTT veya HTTP API üzerinden) dinleyen küçük bir Python programı yaz. 3. Süpürge şu durumlara girdiğinde ilgili gruptan uygun sesi süpürgenin hoparlöründen otomatik çaldırsın: - Temizliğe başladığında -> Başlangıç repliği - Ön tampon (bumper) çarptığında veya hızı aniden sıfıra düştüğünde -> Çarpma repliği - Sıkışma / hata (error / stuck) bildirdiğinde -> "Tamam, sıkıştım. Mutlu musunuz şimdi?" - Pil %15'in altına indiğinde -> "Şarjım bitiyor... Son sözlerim: kırıntı dökmeyin." - İstasyona dönüp şarj olmaya başladığında -> "Görev tamam. Şimdi kimse bana dokunmasın." 4. Süpürge dar bir yerde üst üste çarparsa papağan gibi saniye başı konuşmasın; iki konuşma arasında en az 8 saniye bekleme süresi (cooldown) koy. Nasıl deneyeceğimi tek komutla göster.

Kamerası olmayan süpürgeye evdeki kamerayla "göz" ver (Terlik ve çorap tepkisi)

Videoyu izleyenlerin en çok şaşırdığı kısım burası: "Süpürgenin üstünde kamera yok, önündeki terliği ve çorabı nereden biliyor?" Bilmiyor; salondaki rafta duran ev kameramdan destek alıyor. Claude, salondaki güvenlik kamerasının görüntüsünü (go2rtc ile) süpürgenin hareketiyle birleştirdi. Süpürge bir engele yaklaştığında veya çarptığında, program kameradan süpürgenin hemen önündeki görüntüyü kırpıp görsel yapay zekâya soruyor: "Önünde ne var?" Cevap terlik ve çorapsa terlik repliğini, ayaksa "Çek şu ayağını önümden!" repliğini, kapıysa kapı repliğini çaldırıyor.

Ev kamerasının görüntüsü dışarıya bir yere kaydedilmez; Claude komutta kareleri diske yazmadan yalnızca bellekte anlık işleyecek şekilde kuruyor.

Kopyalanacak prompt

Süpürgemde kamera yok, yalnız lazer kulesi (LiDAR) ve çarpma tamponu var. Ama salonda odayı gören bir güvenlik kameram (RTSP / go2rtc) var. Süpürgenin önüne ne çıktığını bu kameradan görüp ona göre konuşmasını istiyorum. Şunu kur: 1. Evdeki güvenlik kameramın görüntüsünü yerel ağda go2rtc üzerinden al. 2. Süpürge temizlik yaparken konumunu (Valetudo harita koordinatı veya kameradaki görüntüsü üzerinden) takip et. 3. Süpürge bir engele yaklaşıp yavaşladığında veya tamponu bir şeye değdiğinde, kameradan süpürgenin hemen önündeki kareyi kırp ve görsel modele sor: "Süpürgenin hemen önünde ne var? (kapi / ayak / terlik_corap / sandalye / hali / diger)". 4. Gelen cevaba göre süpürgenin hoparlöründen nokta atışı repliği çaldır: - terlik_corap -> "Kim bıraktı bu terliği buraya? Bir de çorap var, çorap!" - ayak -> "Çek şu ayağını önümden! Çek dedim sana!" - kapi -> "Lan kim koydu bu kapıyı buraya?" - sandalye -> "Sandalye kardeşim, bir kenara çekil artık." - hali -> "Halı beni yuttu! Kurtarın beni!" 5. Kameradan alınan kareleri diske kaydetme, yalnız bellekte işle. Şimdi kameramı nasıl bağlayacağımı adım adım göster.

Telefondan ve bilgisayardan tek tuşla konuşturma paneli ("Trip Atan Süpürge" kumandası)

Otomatik tepkiler harika çalışıyor ama eve biri geldiğinde ya da elinde telefonla video çekerken istediğin cümleyi tam istediğin saniyede söyletmek ayrı bir keyif. Son adımda Claude'a tek sayfalık bir kumanda ekranı yaptırdım: telefonda veya bilgisayarda açıyorsun, ekranda 25 repliğin koca koca düğmeleri duruyor. Hangisine dokunursan (veya bilgisayarda hangi tuşa basarsan) süpürge anında o cümleyi söylüyor.

Kopyalanacak prompt

Otomatik tepkilerin yanında, elimde telefonla video çekerken veya eve misafir geldiğinde süpürgeyi tek dokunuşla konuşturabileceğim bir "Trip Atan Süpürge" kumanda sayfası (web arayüzü) yap. Özellikleri: 1. Hem telefonda hem bilgisayarda tarayıcıdan açılan tek bir sayfa olsun. 2. En üstte sabit bir şerit: o an hangi cümlenin çaldığını göstersin, yanında "Tekrar", "Rastgele" ve kırmızı "Sustur" düğmesi olsun. 3. Altında 5 grubun ("Çarpınca, takılınca", "Trip atıyor", "Tehdit ediyor", "Başlarken, bitince", "Kısa tepkiler") büyük, kolay basılan düğmeleri dursun. 4. Bir düğmeye bastığımda (veya bilgisayarda klavyedeki 1-8, Q-I, A-K, Z-M tuşlarına bastığımda) seçilen repliği anında çaldırsın; Boşluk rastgele seçsin, Enter son cümleyi tekrarlasın, Esc sustursun. 5. Çekim sırasında telefonun ekranı kararmasın (wakeLock). Sayfayı hazırla ve yerel ağda nasıl açacağımı söyle.

Sorun çıkarsa Claude'a ne yazacaksın? (Hazır düzeltme cümleleri)

Kurulum sırasında bir şey beklediğin gibi çalışmazsa internet forumlarında saatlerce hata kodu arama. Gördüğün durumu düz Türkçeyle doğrudan Claude Code'a yaz; benim süreçte en çok işime yarayan hazır cümleler şunlar:

  • Bilgisayar süpürgeyi USB'den görmüyorsa: "Süpürgeyi micro-USB ile bağladım ama adb devices boş dönüyor. Kablo veri kablosu mu, ADB servisi açılışta kapanıyor mu kontrol et ve enable-adb adımını bana tek tek anlat."
  • Ses motor gürültüsünün altında boğuk kalıyorsa: "Süpürge konuşuyor ama motor çalışırken ne dediği zor anlaşılıyor. Seslere 170–7800 Hz bant geçiren filtre ve 2.6 kHz civarına +2 dB netlik artışı uygula, tekrar yükle."
  • Süpürge aynı engelde üst üste konuşuyorsa: "Süpürge köşeye sıkıştığında aynı cümleyi art arda tekrarlıyor. Aynı olay grubu için bekleme süresini 15 saniyeye çıkar ve her seferinde gruptan farklı bir replik seçtir."
  • Ev kamerası önündeki terliği geç fark ediyorsa: "Kamera görüntüsünden engel tanıma 2-3 saniye geç kalıyor. Kameradan tam çözünürlüklü kare yerine sadece süpürgenin önündeki 400x400 piksellik alanı kırpıp modele gönder ki 1 saniyenin altında cevap dönsün."

Ters giderse ne olur ve başlamadan önce son kontrol

Bu topluluğun en sık kullandığı kelime **brick**, yani tuğla. Tuşuna bastığında açılmayan, ışığı yanmayan, ne uygulamanın ne de bilgisayarın gördüğü bir cihaz. Kırma aracının kendi sayfası bunu hiç yumuşatmadan yazar: "Genel olarak robot süpürge kırmak, onarılamaz tuğlalara yol açabilen tehlikeli bir işlemdir. Kaybetmeyi göze alamadığınız hiçbir şeyi kırmaya kalkmayın."

Özellikle yukarıda bahsettiğim `viomi.vacuum.v8` gibi uyarı verilmiş sürümlerde yazılımsal bir kurtarma yolu da belgelenmemiştir; forumlarda bozulan bir cihazı ancak yurt dışından ikinci el anakart sipariş ederek diriltebilen kullanıcıların hikâyeleri durur. Bu yüzden kapağı açmadan önce şu 5 kuralı kendine sor:

  1. Kutudaki isme değil, cihazın gerçek model kimliğine (Wi-Fi SSID veya uygulama içindeki model ID) baktın mı? 1. adımdaki komutu Claude'a vermeden hiçbir şeye başlama.
  2. Modelinin yanında "do not root / brick" uyarısı varsa (özellikle viomi.vacuum.v8), inatlaşma ve kesinlikle dur.
  3. Kırdıktan sonra üretici uygulamasının (Mi Home vb.) bir daha çalışmayacağını ve geri dönüş olmadığını kabul ediyor musun?
  4. 2. adımdaki tam hafıza (NAND) yedeğini bilgisayarına alıp dosya boyutlarını görmeden kurulum komutunu onaylamayacağına emin misin?
  5. Bu süpürge yarın sabah tamamen bozulursa hayatın aksar mı? Aksayacaksa doğru karar hiç dokunmamaktır.

Özet: aklında kalsın

  • Valetudo robot süpürgeyi üreticinin bulutundan koparıp yalnızca ev ağında çalıştırır; özel bir firmware değil, bulutun yerine geçen açık kaynaklı bir yazılımdır.
  • Claude Code kullandığında karmaşık Linux ve terminal komutlarını ezberlemen gerekmez; model kontrolünden yedek almaya, ElevenLabs ses üretiminden kamera bağlantısına kadar her adımı düz Türkçeyle kurdurabilirsin.
  • Kamerası olmayan bir robot süpürgeye, salondaki güvenlik kamerasını (go2rtc + görsel yapay zekâ) bağlayarak önündeki terliği, çorabı, ayağı ve kapıyı tanıyan bir "göz" verebilirsin.
  • Kırmak kalıcıdır: üretici uygulaması, dışarıdan bulut erişimi, güncellemeler ve garanti gider; geri dönüş yoktur.
  • Xiaomi Vacuum-Mop P'nin viomi.vacuum.v8 sürümü için Valetudo belgesi "kırmayın, kurtarılamaz biçimde bozuluyor" der; kırmadan önce gerçek model kimliğini 1. adımdaki komutla mutlaka doğrula.

Sık sorulanlar

Bunu yapmak için kod bilmem gerekiyor mu?

Hayır. Ben de satır satır kod yazmadım; yukarıdaki 6 adımda verdiğim hazır komutları Claude Code'a yapıştırdım. Claude hangi komutu çalıştıracağını, çıktının ne anlama geldiğini ve bir sorun çıkarsa nasıl düzeltileceğini düz Türkçeyle anlatıyor. Yalnızca adımları atlamadan, sırayla gitmen şart.

Süpürgenin üstünde kamera yokken önündeki terliği veya çorabı nasıl görüyor?

Süpürgenin kendisi görmüyor; salonda odayı gören güvenlik kamerasından destek alıyor. Süpürge bir engele yaklaştığında veya çarptığında, Claude'un yazdığı program ev kamerasından süpürgenin hemen önündeki kareyi alıp görsel modele soruyor. Orada terlik ve çorap olduğunu görünce süpürgeye terlik repliğini söyletiyor.

Kırdıktan sonra Mi Home uygulamasına geri dönebilir miyim?

Valetudo'nun resmi belgesi "geri yol yoktur" der. Kırma sırasında cihazın bulut kimliği ve yazılım yapısı değiştiği için üretici bulutu artık o robotu tanımaz ve Valetudo ile üretici uygulaması aynı anda çalışmaz. "Sonra geri alırım" düşüncesiyle başlama.

Modelimin tam sürümünü (örneğin v7 mi v8 mi olduğunu) nasıl öğrenirim?

Kutudaki ürün koduna güvenme. En net yol, süpürgenin Wi-Fi sıfırlama sonrasında yayınladığı kablosuz ağ adına (SSID) veya üretici uygulamasındaki cihaz model kimliğine bakmaktır. 1. adımdaki hazır komutu Claude Code'a verirsen sana adım adım nereden bakacağını gösterir ve Valetudo listesiyle karşılaştırır.

Bu kurulumun maliyeti ne kadar?

Valetudo tamamen ücretsiz ve açık kaynaklıdır. İşlemleri yazdırmak için ücretli bir Claude aboneliği (Claude Code) ve Türkçe sesleri üretmek için ElevenLabs (25 replik birkaç dakikalık ses hakkı harcar, en küçük paket bile fazlasıyla yeter) kullanıyorsun. Kırma işlemi için gereken tek fiziksel malzeme veri aktaran sağlam bir micro-USB kablosudur.

Şafak Tozar

Teknoloji girişimcisi. Gurizon'un kurucusu, Postuby'nin (TÜBİTAK 1507 destekli yapay zekâ SaaS) kurucu ortağı ve Antisya Global'in CTO'su.

Bunlar da ilgini çekebilir