Veri yollamak isteyen cihaz veya uygulamaya Nod diyelim. Nanonet, internet
üzerinden Nod'ların gerçek zamanlı iletişim kurmasını sağlayan bir serverdır.
Nanonet'in, IoT (nesnelerin interneti), web tabanlı uygulamalar, araç
takip sistemleri, siparişler, mesajlaşmalar, ev otomasyon sistemleri gibi
çok geniş bir yelpazede kullanım alanı vardır.
Bugünlerde IoT (nesnelerin interneti) kavramı heryerde karşımıza çıkmaya
başladı. Minik alanlara sığabilen ucuz MCU entegrelerle yapılmış elektronik
bir kartın, internet üzerinden veri yollaması ve onu uzaktan kontrol edebilmemiz cazip bir fikirdir. Bu minik
entegre devrelerin henüz yeterli RAM ve Flash hafızaları yoktur, çok komplike
server yazılımlarını taşıyamazlar. Nanonet Server sayesinde daha az
kod ile internete bağlanıp kendi networklerini oluşturup diğer Nodlarla
iletişim kurabilirler.
Peki veri aktarmak için neden doğrudan hedef IP adresine bağlanmıyoruz?
Bu mantıklı bir seçenektir fakat routerlardaki firewall ve NAT engelleri
yüzünden bunu yapmak çoğunlukla zordur. Dışarıdan içeri erişim yapabilmeniz
için modeminize port açmanız gerekir. Ama bazen ISP ler sizi birkaç router
üzerinden geçirip yönlendirdiğinde port açma çözümü de mümkün olmaz.
Nanonet Server kullandığınızda port açmanıza gerek yoktur. İçeriden
dışarı doğru (LAN'dan WAN'a) bir erişim olduğu için router bu iletişimi bloke etmez. Son kullanıcının
da modemine port açma vs. işleri ile uğraşmasına gerek kalmaz.
Bir diğer artısı da web tarayıcılarındaki standart Javascript ile dahi
uygulama yazabilirsiniz. Böyelece Nod'unuza cep telefonundan PC ye kadar
her türlü cihazdan erişim ve kontrol imkanınız olur. iOS veya Android uygulamalarıyla
uğraşmadan her platformda çalışan HTML nin avantajlarını kullanabilirsiniz.
Önce bugün kullanılan klasik yöntemden bahsedelim. Klasik client server mantığında client, serverdan veri talep eder, server cevap verir ve bağlantıyı kapatır. Bugün birçok IoT uygulamasında da durum benzerdir. Nodlar bulut dediğimiz uzak HDD ye veriyi iletirler, bulut bunu depolar. Diğer kullanıcı bu veriye erişmek için buluta istek yollar, yeni veri varsa buluttan kullanıcıya yollanır. Bu mantıkta bir Realtime-gerçek zaman söz konusu değildir. Clientlar veri tazelemek için belli aralıklarla buluta istek yolamak zorundadır.
Nanonet'te ise Server ile Nod/Client bağlantıları açık kalır. Bir Nod, Servera yeni bir veri paketi yolladığında Server bu paketi hemen hedef Noda iletilir. Hedef Nodun istek yapmasına gerek yoktur. Böylece gereksiz paketler engellenir, veri trafiği azalır, iletişim hızı artar.
Çalışma mantığı olarak Nod'lar önce Nanonet Server ile soket bağlantısı kurup Uid Keyleri ile LOG in olurlar.
Bundan sonra gönderdikleri veriler server üzerinden gerçek zamanlı olarak
hedef Nodlara aktarılır.
Her Nodun kendisini tanımlayan bir Nod ID si vardır. A Nodu, B Noduna
veri iletirken hedef B'nin NodID sini kullanarak bir paket üretir. Bu paket
Nanonet Servera gelir, Server paketi çözer, hedef ID'yi bulur ve o anda
servera bağlı olan tüm hedef Nodlara paketi iletir.
Haberleşme protokolu sadedir. Paket üretmek için çok fazla kod ve CPU
işlem gücü gerekmez. Böylece işlem gücü düşük Mikrokontrolör entegrelerde
(PIC, ATMEGA vs..) kullanılabilir.
Başvurun, Kendi NodID nizi ve giriş için gerekli Uid Key'inizi alın. Sonra bunları uygulamanızın içine gerekli yerlere yapıştırın. Hepsi bu!
Şimdilik amatör bir girişim olup ücretsizdir.