Nanonet - Realtime Network for IoT

Nanonet Server Nedir ?

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. 

Neden ihtiyaç var ?

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.

Nasıl çalışır ?

Ö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. 

Nasıl kullanırım ?

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!

Ücret ?

Şimdilik amatör bir girişim olup ücretsizdir.

Örnek Uygulamalar

Oku

Haberleşme  Protokolü

Oku