Ana içeriğe atla

Türkiye'de IoT Macerasından Soğuk Bir Kesit

Internet of Thnigs (IoT) projesini duyunca ağzımın suyu akmıştı. Böyle bir projede olmayı hep istemiştim. Yeni teknolojiler ile yeni bir dünyaya açılacaktım. Üstelik tüm zamanımı ayırabilecektim hem de proje yöneticisi olarak. Tüm masraflar müesseseden! Pespembe hayaller ile çıktığım bu yolda başıma neler gelmedi ki!

Cihazlar birbirine bağlı ama insanlar birbirine bağımlı!

IoT ile yapılabilecekleri düşünmekten başım dönmüştü. Tüm medikal cihazlardan veri alıp, bu verileri doktorlara zamanında iletebilecek, hastaların tedavisinde kolaylıklar sağlayacaktık. Toplanan veriler ile veri madenciliği, yapay zeka uygulamaları fikirleri havada uçuşuyordu. 

IoT dünyasında bilgisayar mühendisliği temel konularına geri dönüyorsunuz. Bit, byte, hex, ASCII, TCP/IP, encoding, process, thread, little/big endian, MSB-LSB, CRC, UDP broadcasting, subnet... Bu gibi temel konularda tek bir hata tüm projeyi çalışmaz hale getirebiliyor. IoT cihaz üreticilerinin her biri kendi tarzıyla bilgi alışverişinde bulunuyor, kendi tarzıyla veriyi işliyor. Her cihaz ayrı bir dünya. Hatta her cihazın her bir firmware sürümü ayrı bir dünya. İşin teknik zorlukları IoT ile proje geliştirmenin bence en zevkli kısmı.

Saçma teknik zorluklar da var. Örneğin seri (COM) port kablolarının iğnelerinin yerlerini çapraz değiştirip bunu hiçbir dokümanında belirtmeyen üreticiler var. Çin’e e-posta göndermek çok heyecanlı bir oyun. Sizin gönderdiğiniz e-postanın Çin’deki filtrelemeler nedeniyle alıcısına ulaşıp ulaşmadığını bilemiyorsunuz. Cevap alsanız bile aldığınız cevap Çince’den İngilizce’ye Google Translate ile çevirilmiş anlamsız bir metin olabiliyor. Bazı Çinli üreticiler cihazları için lisans parası talep edebiliyorlar (evet cihaza fiziken sahip olsanız bile). 

IoT cihazlardaki bizim karşılaştığımız en büyük sorun cihazın dokümanına ulaşmak. Eğer özel cihazlarla uğraşıyorsanız üreticiden, Türkiye’deki distribütörden bilgi almak çok zor. Bazı üreticiler cihazlarına bilgi paylaşımını zorlaştırmak adına özel şifreleme metotları, kullanıcı adı ve şifre doğrulaması, özel iletişim protokolleri koymuş. Üstelik bu zorlukları işin içine girene kadar size söylemiyorlar. Hatta bir cihazda ethernet portundan hiçbir cevap alamayınca, üreticiye defalarca sormamıza rağmen, en sonunda dayanamayıp elimizdeki tek cihazı bozma riskine rağmen cihazı açtığımızda karşılaştığımız manzara şu idi: ethernet portuna bağlı hiçbir kablo yok! Üretici cihazın reklamını yaparken IOT diye reklamını yapıyor, ethernet portunu öve öve bitiremiyor. Ama cihazda ethernet portu süs olarak yerleştirilmiş. Üreticiye bunun nedenini sorduğumuzda ethetnet portunun çalışması için ilave bir modül satın almamız gerektiğini söyledi. Bu ilave modülün ücreti cihazın ücretinin onlarca katı!

IoT projesindeki diğer bir zorluk ise cihaz temini. Üretici firma (ya da Türkiye distribütörü ile) sözleşme imzalamamıza rağmen örnek cihazın elimize ulaşması uzun sürdü. Cihaz elimize geldiğinde eski bir cihazın gönderildiğini anladık. Yeni firmware sürümü yüklü olan cihazın bize ulaşması sabrımızı zorladı. Yeni cihazın bize ulaşmasına kadar olan sürede üretici firmanın üzerinde çalıştığımız projeyi başka bir yazılım firması ile geliştirdiği fikri aklımıza gelmedi değil. Ama sonradan anladık ki zorluk çıkarmak, paraya ihtiyacı olmayan IoT cihazların distribütörlüğünü alan büyük firmaların adetiymiş. Cihazlar IoT, ama distribütörler sözde kurumsal. İstediğiniz cihazı size vermek istemeyip stoklarında bulunan eski cihazları size itelemeye çalışan distribütörlere buradan sesleniyorum: Teknoloji hızlı gelişiyor, bunun farkına varın!

Yalanlar ve yanlış bilgiler her yerde. Proje başarılı olursa satın alacağımız cihaz sayısı oldukça fazla idi. Bunun bir sorun olacağını tahmin etmemiştik. “Biz bu cihazı şu hastanede kullandık. Arkadaşlar bu cihazı şöyle bir projede kullandı. Bu cihaz sağlam çalışır. Bu cihazın parçası kolay bulunur. Bunun bu versiyonu canavar gibi.” Bu sözleri duymadığımız satıcı yok. Bize satmaya çalıştıkları cihazda istediğimiz özelliğin olmadığını söylediğimizde o cihazın tüm hikayesini size defalarca anlatıyorlar. Maalesef IoT cihaz satıcıları teknik terimlerin anlamlarını bilmeden yazılımcılarla tartışmaya giriyorlar. Söyledikleri cihazın söyledikleri projede kullanılmadığını öğrendiğimizde ise yanlış hatırlamış olduklarını öğreniyoruz.

Çakallarla dans etmeye hazır olun. IoT cihazı aldınız. Test ve geliştirmeye başladınız. O da ne! Cihazı aldığınız bazı kişiler (onlar kendilerini belli ediyor) sürekli sizi arıyorlar, çayınızı içmeye geliyorlar. Amaçları IoT cihaz ile o işin yapılıp yapılmayacağını öğrenmek. O iş yapılabiliyorsa sizi satıp başkalarıyla aynı işi yapacaklar. Kendi firmalarına üç beş yazılımcı alıp o projeye başlayacaklar.

Genel amaçlı IoT cihazlarla proje geliştirirken ise şu zorluk ile karşılaştık: Çinden deneme amaçlı 2-3 tane cihaz sipariş veremedik. Üretici bizden çok sayıda sipariş alırsa gönderim yapabileceğini bildirdi. Aynı cihazın Türkiye distribütörlüğünden 2-3 tane cihaz istediğimizde ise duyduğumuz fiyat bizi bizden aldı. Üstelik bu cihazlarla ne yapacağımızı ayrıntılı bir şekilde öğrenmek istediler. Sanırım fikrimiz hoşlarına gitseydi bu cihazları bize vermeyip fikri kendileri gerçekleştireceklerdi. Neyse ki medikal çözümler pek ilgilerini çekmedi. 

Peki hiç güzel örnek yok mu? Var! Cihaz dokümanını hemen paylaşan, ücretsiz cihazlar gönderen, sorduğumuz sorulara hızlı cevap veren, çözemedikleri sorunları üreticiye sorup çözmeye çalışan birçok firma var. Bu cihazlarda gizli haberleşme protokolleri yok, her şey açık. Bu cihazlarla çalışmak eğlenceli ve keyif verici. 

IoT dünyasından birkaç aylık yazılım geliştirme sürecimi sizlerle paylaşmak istedim. Umarım ilerleyen zamanlarda sizlerle “sıcak” bir kesit paylaşabilirim.




Yorumlar

Bu blogdaki popüler yayınlar

Bir Uluslararası Yazılım Şirketinin Batış Hikayesi

 Güzel başlamıştı hikaye. Yazılımcılar mutlu, kullanıcılar memnundu. Sonra pandemi başladı. Sorun para değildi. Olmayan şey huzurdu… Durdurun hype trenini, inecek var kırık kalpler durağında  — Photo by Kelly Sikkema on  Unsplash Gerçek olamayacak kadar güzeldi çalışma ortamı. Yazılımcılara istedikleri eğitim ve donanım alınıyordu, personel arası hiyerarşik bir yapı yoktu, sorumluluğun yanında yetki de veriliyordu, esnek çalışma saatleri yazılımcılara göre esnekti, izin isteyen hiç kimse geri çevrilmiyordu, pandemiden önce bile uzaktan çalışma vardı. Ne oldu bu şirkete? Nazar mı değdi? Şirketin yazılım ürünü Türkiye’de doğmuştu. Ürün birçok ülkede hem kamu tarafından hem de özel sektör tarafından kullanılıyordu. Yazılım geliştirme ekipleri hem Türkiye’de hem de diğer ülkelerde bulunuyordu. Yazılımın argesi için gelen geri bildirimlerin çoğu Türkiye’den geliyordu. Yazılımın kalbi Türkiye’de atıyordu.  Koronavirüs pandemisi nedeniyle Türkiye’de kamu kuruluşları hizmet alımı ile aldıklar

Türkiye'de Yazılım Şirketi Açmak ve Çıldırmamak

Aklında bir fikir vardı. Piyasada bunu karşılayan yazılımlar vardı ama hepsi eksikti. Hayalindeki yazılım ürününe hiçbiri yaklaşamıyordu. Gördüğü kadarıyla piyasanın böyle bir ürüne ihtiyacı vardı. Kullanıcılar mevcut ürünlerden şikayetçiydi. Kendi ekibini toplayıp hayalindeki şirketi kurmaya niyetlendi. Rüzgarlara dikkat!- Francesco Ungaro -  Pexels İşinden istifa etmeden önce piyasa araştırmasını yaptı, rakip ürünleri inceledi. En önemlisi ekibini kurdu. Ürününün MVP hali için çalışmaları başlattı. Girişim kurmak ile ilgili birçok kitap ve blog okudu, podcastler dinledi. Girişimci birkaç kişinin çayını kahvesini içti. Öngörebildiği her şey için önlemini aldı ve istifa edip kendi yazılım şirketini kurdu. Şirket kurmak için gerekli süreçler düşündüğünden daha kolay geçti. Şirketin adı ve logosu zaten hazırdı. Şirket teknoparkta yerini almıştı. Kendisi etiketlere çok önem vermiyordu ama yine de LinkedIn’deki profiline “Founder of the …” ibaresini ekledi. MVP’nin ortaya çıkması hedefini

Yazılımcılar İçin Yan Proje Oluşturma Rehberi

İster hobi amaçlı olsun ister maddi amaçlı her yazılımcının bir yan projesi olmalıdır. Peki yan proje oluştururken nelere dikkat edilmelidir, nasıl bir yan projemiz olmalıdır? Organize olalım beyler Yan proje (side project) için öncelikle bir fikir bulmak gerekli. Bu projenin amacı ne olacak? Hangi ihtiyacı çözecek? Yeni bir fikir mi olacak yoksa mevcut bir fikrin daha iyi uygulanmış bir hali mi olacak? Sadece yeni bir teknolojiyi öğrenmek için mi? Deneysel mi olacak ya da eğlenceli mi? Yoksa maddi bir getirisi olacak mı? Bu proje ürün olursa kimler kullanacak? Ürünü kullanacak kişilere erişip geri bildirim alabilecek miyim? . . . Bu soruların doğru bir cevabı yok, cevaplar size bağlı. Ama proje bir amaca hizmet edip bir ihtiyacı çözecekse, hele birde maddi getirisi olacaksa motivasyonunuz yükselecektir. Bunun yanında sadece eğlence amaçlı olan deneysel bir proje yapmak stressiz bir öğrenme ortamı sağlayacaktır. Gün içinde proje için aklınıza gelen her şeyi not alın. Not almazsan