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

KPSS Çalışan Yazılımcı

On-Prem Çilesi

Yeteneğini Kaybeden Yazılımcı