LoRa Nedir ?

Öncelikle IoT’ye kısaca değinelim. IoT (Internet of Things) kavramı dilimizde “Nesnelerin İnterneti” olarak geçmekte. Adından da anlaşılacağı gibi nesnelerin bir ağa bağlanması IoT dediğimiz yapıyı oluşturur. IoT evimizde, ofisimizde, etrafımızda görebileceğimiz çok sayıda çeşitli nesnenin ağa katılması ve belirli protokoller eşliğinde uygulamalarla ve birbirleri ile haberleşmesine dayanır. IoT sektörü gün geçtikçe artan bir ivme ile gelişimini sürdürmektedir ve bu büyüme ile de insanlığın her zaman ütopik ya da distopik -kişisel algı ve yorumlamaya bağlı- olarak düşündüğü robot çağına daha da yaklaşılmaktadır.
Bu teknolojiler arasında en fazla yaygınlık kazanan LoRa, Long Range (Uzun Mesafe) kelimelerinin ilk hecelerinden oluşan, WiFi ve kablolu haberleşme gibi rakip teknolojilere göre çok daha uzun mesafede iletişim sağlayan, ve bunu radyo frekanslarını kullanarak gerçekleştiren bir modülasyon tekniğidir. LoRaWAN (Long Range Wide Area Network) ise bölgesel, ulusal veya küresel ölçekte bir ağ üzerinde kablosuz olarak çalışan ürünlere yönelik tasarlanmış, düşük güçlü geniş alan ağı belirtimidir.

IoT’de nesnelere, veri gönderimi ve alımı gibi işlevleri kazandıran temel elemanlar sensörlerdir. Sensörler, çevreden alınan herhangi bir bilgiyi işleyebilmek adına anlamlı veriler haline dönüştürür. Tabi bu veri alışverişini gerçekleştirmek için bir ağ yapısı gerekir. Günümüzde daha çok wireless yani kablosuz bağlantı teknolojisi ile bu gerçekleştirilmektedir. Ancak bluetooth, kablolu, kablosuz, hücresel veri gibi günümüz bağlantıları birtakım özellikler açısından bazı dezavantajlara sahiptir ne yazık ki herhangi bir şeyin kusursuz olma ihtimali de yoktur. Son kullanıcıların yani bizim IoT ile etkileşime geçtiğimiz kısım daha çok mobil, web uygulamalarıdır. Son kullanıcılar olarak ne kadar uzakta olursak olalım nesnelerimizle etkileşime geçmek ve bunu yaparken de maliyet anlamında çok fazla çaba harcamamak isteriz. Oysa bluetooth ve kablolu bağlantı, alan genişliği açısından çok kısıtlı bir uzaklık sunar bize. Kablosuz teknolojilere baktığımızda ise hücresel veri bizlere uzaklık konusunda bir kısıt oluşturmasa da çok fazla maliyet yükü ve güç tüketimi bindirmektedir; WiFi teknolojisi ise yine kısıtlı bir mesafede gerçeklenebilir. İşte hem bu “mesafe” problemini “maliyet” açısından da uygun şekilde çözebilmek hem de “güç tüketimi” konusunda daha uzun yıllar verimlilik sağlamak adına LoRa ve LoRaWAN geliştirilmiştir.
LoRa
LoRa haberleşme teknolojisinin 2 temel konsepti vardır. LoRa uç cihazları ve LoRaWAN ağ yapısı. Uç cihazlardan kasıt aslında LoRa modülü bulunduran sensörlerdir. LoRaWAN ağ yapısı ise bir gateway (ağ geçidi) ve bir ağ sunucusundan oluşur. Diğer bölümde LoRaWAN’ı biraz daha ayrıntılı inceleyeceğiz. Uygulama kısmını da işin içine katarsak LoRa teknolojisi “uç cihaz + gateway + sunucu + uygulama” şeklinde 4 parçadan oluşuyor diyebiliriz.
LoRa haberleşme teknolojisi düşük ya da orta boyutlu veri aktarımlarının gerçekleştiği durumlarda kullanılabilecek bir teknolojidir. Bu haberleşme teknolojisinin özü radyo frekanslarına dayanır. Veri iletimi, radyo frekansları üzerinden gerçekleştirilir. Zaten mesafe konusundaki avantajı sağlayan durum da radyo frekanslarının kullanılmasıdır. LoRa kelimesi, “Long Range” yani uzun mesafe kelimelerinin ilk 2 harfinden elde edilmiştir. Bu da LoRa’nın geliştirilmesindeki asıl amacın ne olduğunu çok net olarak bize sunuyor. LoRa uç cihazlar yani sensörler için güç kaynağı ise kalem pillerden ibarettir. Ve bu piller yıllarca güç kaynağı görevi görebilir. Uç cihazların güç tüketimi, dahil oldukları LoRaWAN sınıfına göre değişmektedir. Buna da yazının ilerleyen kısımlarında sebepleri ile birlikte değineceğiz.
LoRa End Node
LoRa End Node’da LoRa teknolojisi ile uyumlu yani LoRa modül içeren sensörlerin bulunduğundan bahsetmiştik. LoRa uç cihazlar 2 bölümden oluşur. Bunlar antenli Radyo modülü + mikro işlemcidir.

Uç cihazdan Gateway’e veri aktarımı yapılırken LoRaWAN protokolü kullanılır. Gateway’den ağdaki sunucuya veri aktarımı için ise WiFi, hücresel paylaşım gibi teknolojiler ile TCP/IP protokolü kullanılır. TCP/IP’nin yanı sıra güvenlik çok önemli bir unsur olduğundan SSL (Secure Socket Layer) protokolünden de yararlanılır. SSL protokolü sayesinde uçtan uca bağlantılada daha güvenilir bir iletişim kanalı oluşturulur.
LoRaWAN
LoRaWAN, LoRa uç cihazlarının haberleşebilmeleri için LoRa Alliance tarafından geliştirilmiş bir protokoldür.
LoRaWAN Ağı

LoRaWAN ağında, mesaj iletimi için merkezi bir görev üstlenen cihazın bulunduğu ve diğer cihazların bu merkezi cihazın altında olduğu “Yıldız Topolojisi/Star Topology” kullanılır. Uç cihazlar yani sensörler ile gateway arasındaki iletişim çift yönlüdür. Uç cihazdan gatewaye veri gönderimi “uplink”, gatewayden uç cihaza veri gönderimi “downlink” olarak adlandırılır.
Star Topology gereği sensörler direkt olarak birbirleri ile haberleşemezler, gateway üzerinden veri alışverişi yaparlar. Sensörler arası direkt veri aktarımının yapılabilmesi için sensörlerin bir parçası olan gömülü mikroişlemcilerde, RadioHead radyo paketi kütüphanesinin kullanılması gerekir. Bu, verilerin direkt aktarımı için nesne yönelimli bir kütüphanedir.
Gatewayler, ağ sunucusuna standart IP bağlantısı ile yani TCP/IP protokolünü kullanarak bağlanır. IP paketi ile RF paketleri arasında dönüşüm yaparak uç cihazlar ve sensörler arasında bir tercüman, bir köprü rolü oynar. Şöyle ki sensörlerden gatewaye gelen veri RF paketi şeklindedir ancak ağ sunucusuna gönderilen verinin IP paketi şeklinde gönderilmesi gerekir. Bu iki paket tipi arasındaki dönüşümden gateway sorumludur. Aşağıdaki yapıyı incelerseniz her şey daha da netlik kazanacaktır.
LoRa’nın, LoRa uç cihazları ve LoRaWAN’dan oluştuğundan bahsetmiştik. Aşağıdaki görsele baktığımızda da bunun bir özetini görüyoruz. RF layer, kullanılacak radyo frekansı aralığının tanımlandığı katmandır. Physical Layer yani fiziksel katmanda ise LoRa uç cihazları bulunmaktadır. LoRa protokolünde fiziksel katmanda, LoRa uç cihazları ve Gateway arasında sadece tek bir “hop” bağlantısınayani atlama adımına izin verilir.

LoRaWAN kısmına ise ağda bulunan cihazların sınıf bilgisi ve uygulama katmanı dahildir.
LoRaWAN Sınıfları
A Sınıfı (Tetikleme ile dinleme, Düşük Pil Tüketimi)
Tüm LoRa cihazlar A sınıfı ile uyumludur. A sınıfı cihazlarda pil tüketimi en az seviyede tutularak güç konusunda büyük oranda tasarruf sağlamak esastır. Uç cihazlar (sensörler) sürekli olarak gateway’e (ağ geçidi) mesaj gönderebilirler. Yani uplink (uç cihaz -> gateway) sürekli olarak yapılabilir ancak cihazlar ağı dinleme anlamında sürekli uyku modundadır. Güç konusundaki büyük avantaj bu durumdan kaynaklanır. Çünkü uç cihazlar ağı dinlemek için bir pil tüketimi gerçekleştirmez. Bu sebeple gatewayden uç cihaza mesaj iletimi her zaman olamaz. Bir downlink (gateway -> uç cihaz) sadece bir uplink sonrasında gerçekleştirilebilir. Gateway uç cihazdan gelen veriyi servera (sunucu) yönlendirir. Sunucudan ise verinin alındığına dair bir ACK mesajı + gerekli yanıt döner, gateway bunu uç cihaza LoRa paketi halinde sunar. Böylece bir uplink işleminin hemen ardından bir downlink gerçekleştirilmiş olur.

A Sınıfı cihazlar özellikle sürekli veri aktarımının olmadığı, tetikleyici bir işlem sonrasında hemen yanıt alınması istenen uygulamalarda kullanılır.
Özetle A sınıfı cihazlar sürekli mesaj, veri gönderebilirler(uplink) ancak mesaj, veri alımını (downlink) sadece bir uplink gerçekleştirdikten sonra yapabilirler.
B Sınıfı (Periyodik Dinleme, Dengeli Pil Tüketimi)
B Sınıfı cihazlarda zamanlanmış veri iletişimi gerçekleşir. B Sınıfı bir cihazın bir veri alabilmesi için gateway’den periyodik olarak yani belirli zaman dilimlerinde senkronize olduklarına ilişkin bir işaret sinyali (beacon) alması gerekir. Uç cihaz ve gateway’in senkronize olmadığı anlarda bir uç cihaza veri iletimi yani downlink gerçekleştirilemez. Yine aynı şekilde uplink de sadece bu belirli zaman aralıklarında gerçekleştirilebilir.
Özetle B sınıfı cihazlar, mesaj gönderme ve alma işlemlerini sadece ayarlanmış zaman dilimlerinde gerçekleştirebilirler.
C Sınıfı (Sürekli Zamanlı Dinleme, Yüksek Pil Tüketimi)
Bu sınıfa dahil olan cihazlarda sürekli olarak dinleme gerçekleştirilir böylece herhangi bir zaman diliminde downlink gerçekleştirilebilir. Yani mesaj alımları periyodik değil sürekli olarak gerçekleşir. Böylece gecikmesiz, gerçek zamanlı şekilde veri aktarımı gerçekleştirilebilir. Bu olması istenen durumdur ancak sürekli dinleme sebebiyle yüksek pil tüketimi olduğundan sadece gerçek zamanlı veri aktarımının kritik olduğu uygulamalarda kullanılır.
Özetle C Sınıfı cihazlar, sürekli olarak mesaj alıp gönderebilirler.
Güvenlik
IoT’de en önemli konulardan biri de kuşkusuz “güvenlik” kavramıdır. Güvenliksiz bir ağa dahil nesneleri evimizde bulundurmak, kapısı olmayan bir evde yaşamaktan çok da farklı değildir. Zira her iki durumda da tüm yabancılara ve kötü olaylara davetiye çıkaran üst düzey zafiyetler mevcuttur. Bu sebeple “Nesnelerin İnternet”i yapısında güvenlik için de önemli çalışmalara yer verilir.
LoRa’da da verilerin güvenliği için 2 ayrı şifreleme kullanılır.
Bunlardan ilki ağ güvenliği için diğeri uygulama katmanının güvenliği içindir. Uç cihaz ile ağ sunucusu arasındaki verilerin güvenli iletişimi için 128 bitlik benzersiz bir ağ oturum anahtarı kullanılır. Uygulama katmanında ise uçtan uça iletişimde 128 bitlik benzersiz bir uygulama oturum anahtarı kullanılır. Bu 128 bitlik anahtarlar AES algoritmaları kullanılarak üretilir.
.