Nesnelerin Interneti ile Araç Takip

feature-image

Play all audios:

Loading...

Nesnelerin Interneti ile Araç TakipGürkan AytekinFollow6 min read·Jun 29, 2021 --


Share


Bir Ar-ge ve kazanım projesi olarak araç takip projesi, IOT temel alarak bir şeyleri nasıl takip ederiz?


Takip EkipmanlarıAnahatlarımızIOT nedir, çalışma prensipleri ve kullanım alanları.IOT uygulama örnekleri.Finansal Servisler ve bankacılıkta IOT.Ar-ge projem Araç Takip Projesi tanıtımıIOT


Nedir? Sensörler aracılığıyla verilerin toplanması, aktarılması ile nesnelerin birbirleriyle haberleşerek otomatize davranışlar gerçekleştirmesi akışları nesnelerin interneti kapsamındadır.


Tanımın içerisinde geçen kavramları günlük hayatımızda da kullanıyoruz. IOT’yi farklı kılan şey ise insan faktörünü aradan kaldıran sensör ile algılama veriyi aktarıp diğer nesnelerin


çalışması için veri sağlamaktır. İki ucunda nesne ve ortada bir internetin bulunduğu bir mekan diyebiliriz kısacası.


İlk Nesnelerin interneti örneğinde bir kola makinası bizi karşılar. O zamanlar ismi konulmamışta olsa bir iot uygulaması bir sorunun çözümünde kullanılmış.


1982 yılında kola makinesi kendi stoklarını kontrol ederek(sensörler ile) gerektiği zaman kola siparişi verebilmesine karar vermesi(pre AI diyebiliriz) bunu ilgili hizmet sağlayacısına


iletmesi(internet aracılığıyla) hizmet sağlayıcısına düşen siparişin dağıtımına çıkılacaklar listesine eklenmesi.


Bu akışta görüldüğü gibi kolanın tedarik edildiği sürece kadar insansız bir şekilde kendi yaşamını sürdürme söz konusu.


IOT Çalışma prensipleriÇalışma Şekli Sensörlerden başlayan, internete ulaşıp ardından diğer nesnelerin erişimi ve değerlendirmesine açılan bilgi; nesnelerin nasıl hareket edeceğini


belirleyebiliyor. Yukarıda sensörlerden başlayan bir akış görüyorsunuz. Gömülü sisteme ait yerel işlemler, deplomaya aktarım, network üzerinden internete çıkan veri ve sonrasında bulut


işlemlerle diğer nesnelere aktarılabiliyor.


Gömülü Cihazlar


Gömülü cihaz sensörleri üzerinde taşıyan, merkezi bir işlemci barındıran sensörlerden aldığı veriyi işleyerek buluta gönderen bir cihazdır.


Arduino


En bilinenleri Arduion’dur. Eğitim amaçlı kullanımla başlamış. Küçük ve bazı orta ölçekli kişisel projelerde kullanılabilmekte. Türüne göre değişse de en yüksek işlemci hızı 16 mgh, Ram ise


256 KB’dır. Üzerinde herhangi bir sensör bulunmaz. Tek port ise programlanabilmesi için kullanılan USB Type A portudur.


Rasperry Pi


Kişisel ve profesyonel projelerde kullanılmak üzere, RAM ve işlemci hızı gelişkin bir cihaz sunar. Türüne göre üzerinde hazır bazı portlarla gelir.(Ör. USB, Ethernet, Wifi vb) Arduino ile


olan farkı ise işlemci ve ramden kaynaklı daha gelişkin işlemler ve programlar çalıştırabilmesiyle üzerinde hazır gelen portlarıyla programlanabilir ve veri akışı sağlanabilir daha çok imkan


olması.


GüvenlikGüvenlik birimleri ve potansiyel açıkları Güvenlik her konuda olduğu gibi IOT içinde önemli aynı korunması bir hayli zor bir konu. Bir sunucu uygulaması sizin sunucularınızda


çalıştığı için denetlenebilir takip edilebilir bir yapıdadır. Gömülü cihaz uzak bir mekanda ulaşılabilir, ayrıca bir koruma getirilse de, bir cihazdır.


IOT’nin artıları olarak sıralayabileceğimiz şeyler burada eksilere dönüşmeye başlayabiliyor. Sensörler ile kişiye ait hassas veri toplanabilmesi kişinin eğilimleri istekleri ve durumu


hakkında en iyi sonuçları verirken güvenliğin sağlanamayışıyla bu bilgiler başka kişilerin eline kolayca geçebilir.


Yeni bir iş görüş konsepti olduğu için çoğu zaman güvenlikten çok fonksiyonel olma özelliğe önceliklidir.


Fiziksel(gömülü) cihazlar olduğu için yıpranma, kırılma, çalınma olasılıkları vardır.


Sensör ve mikrokontrolcünün güncel kalması için uzaktan güncellenebilir olması gereklidir. Aktarılan, işlenen ve tutulan veri hassas bilgi içermektedir. Güncel versiyonlarla desteklenmelidir


ve bu sistemde halkanın en zayıfı gömülü cihazın kendisidir.


Yukarıdaki görselde iot birimleri ve potansiyel güvenlik açıkları paylaşılmış. Clouda aktarılan datadan sensörlere kadar dikkat edilmesi gereken güvenlik açıkları bulunmakta.


FINANSAL SERVİSLER VE BANKACILIKTA IOT Bankacılık ve finansal servislerin iot ile entegrasyonu yeni olmamakla birlikte istenilen düzeyde olmadığını görüyorum. Hayatımıza giren günlük


kullanım, NFC ile ödeme oldu. Bunun haricinde gelişen diğer teknolojilerde var örneğin kalp atışı ile biyometrik doğrulama gibi.


Bankacılıkta iot yatırımları fazlaca yatırım alıp çıktılarını aynı oranda göremediğimiz bir konudur.


ARAÇ TAKİP PROJESİ Bir ihtiyaç üzerine Ar-ge ve kazanım projesi haline getirdiğim araç takip projesinden bahsedeyim. İhtiyacımız basit olarak, arabanızı bıraktınız ve bıraktığınız yer her


zaman otopark olmadığı için arabanızın durumunu bilmek veya kötü bir durum olduğunda bildirilmesini isteyeceksinizdir. Arabanızın çekilmesi, çalınması, park halinde kazaya karışması vb.


Arabamın çekildiği bir gün “sokağa bıraktığımız değerli varlığımızı da takip etmek gerekli” düşüncesinden yola çıkılmış basit bir proje olarak başladık.


Proje Yapısı


Aracımıza bağlı gömülü sistemimiz üzerinde GPS modülü ile koordinatları tespit edip, Sim modülü ile sunucuya bu koordinatları gönderiyoruz.


Koordinatlar sunucuya ulaştıktan sonra veritabanına yazılıyor ve Web arayüzünden ilgili tarih ve araç çekilerek koordinatlar Google Haritalar üzerinden gösteriliyor.


Veritabanı üzerinde kaydedilen koordinatlar aşağıdaki modelde kaydediliyor.


Bileşenler


Mikrodenetleyici (Arduino)GPS ve Sim ModülleriGüç KaynağıSunucu ve Arayüz bileşenleri (ReactJS, Nodejs, MongoDB, RabbitMQ, Spring Boot)Arduino MegaSim808 Modülü. Sim ve GPS Modüllerini


üzerinde barındırır.2800 Mah batarya Sunucu tarafında Micro Services mimarisi kullanılır. Api Gateway istekleri karşılayıp Message Broker üzerinden ilgili uygulamaya isteği iletir. Bunun


için Api Gateway olarak Spring Boot, DB olarak MongoDB ve sunucu olarak da NodeJS üzerinde Express çalışır.


Sensörlere Hükmeden Arduino, Operasyonu Nasıl Yönetir?


Projede Arduino kullandığımızı söylemiştik. Geliştirme aşamasında olduğumuz için kullanmamızda bir problem gözükmemektedir. Arduino kullanımı basit ve uyumlu sensör çokluğuyla projeye uygun


bir bileşen oldu.


Kendisine ait editörünü kullanabileceğiniz gibi başka editorlerde bulunmaktadır.


Arduino Editörü Kodlarımızdaki akış basit şekilde koordinatları al ve gönder üzerine kuruludur. Basitçe açıklayacağım, yönlendirmesi açısındanda kodların linkini paylaşacağım.


Arduino setup ve loop olarak iki metotla kullanılır. Setup uygulama ayağa kalktığında bir kez çalışır sonrasında loop metodu sürekli çalışmaya devam eder.


Arduino kodlarımızın akışı şu şekilde:


getGPSCoordinate() → GPS Koordinatlarını alır bir array üzerine pushlarız. preapreHttpCmd() → Alınan koordinatları Http isteğine hazır hale getirir.sendCoordinates() → Hazırlanan


koordinatları Http üzerinden gönderir.


Temelde bu üç komutla çalışan uygulama sunucu üzerine toplanan koordinatları taşır.


if(delayed == 12000) satırı aslında bir optimizasyon ve kararlılık için yazılmış satırdır. Gömülü cihazınızdaki her komut bataryanızdan belirli bir güç kullanır. GPS Operasyonları ve Sim


operasyonları fazlaca güç tüketen işlemlerdir. Bundan dolayı 3 saniyede bir koordinat toplanır, 12 saniyede bir toplanan koordinatlar sunucuya gönderilir.


Operasyonlarınız ne kadar güçlüyse bataryanızda o kadar dayanıklı olması gerekli. Biz burada 28000 mah batarya kullandık. Nitekim araç aküsüne bağlı çalışmayı istediğimizden dolayı ileride


buna göre tekrar iyileştirme yapılabilir.


Sonuç Hepsini bir kutuya koyacağımız 4 bileşen, nereye koyarsanız oradan koordinat alabilecek bir cihaz haline gelmiştir. Bazı bulgular ve geliştirmeler gerekiyor fakat asıl işlevini yerine


getirecek altyapıya ulaşmış durumda.


Bazı bulgularımız mevcut. Loglama yapısı, HTTP isteklerinin uzun sürmesi ve üst üste binmesi. Bazı geliştirmeler sırada; sistemin araba aküsüne bağlanması, koordinatların hafıza kartında


birikmesi sonrasında gönderilmesi, Flutter ile mobil uygulamasının yazılması.