Nesnelerin İnterneti: Teori ve Uygulamaları

Doç. Dr. Cüneyt BAYILMIŞ ve Doç. Dr. Kerem KÜÇÜK

 

 

 

 

  farkımız, kitaplarımızda...

 

 

 

ISBN: 978-605-9594-64.6, Eylül 2019

256 sayfa, (16,5x24 cm2), 80 gr 1. hamur kağıt.


Nesnelerin İnterneti Teori ve Uygulamaları PDF İçindekiler


Arka kapak yazısı.

Bu kitapta Nesnelerin İnterneti konusu başlangıç düzeyinden ileri seviyeye kadar yedi bölümde ele alınmakta ve çok sayıda uygulama örnekleriyle konuların anlaşılabilirliği arttırılmaktadır.

Kitapta, Nesnelerin İnterneti genel kavramı, kullanım alanları, getirileri hakkında temel bilgiler verilmektedir. Nesnelerin İnterneti kavramının gelişimiyle değişen iş modelleri anlatılmaktadır. Nesnelerin İnterneti ekosisteminin ortaya çıkardığı bulut platformlardan popüler olanlar hakkında da kısa bilgiler verilmektedir. Nesnelerin İnterneti uygulamalarında kullanılan yardımcı teknolojiler ve uygulama katmanı haberleşme protokolleri uygulamalar eşliğinde ayrıntılı olarak ele alınmaktadır. Uygulamalarda kullanılan donanım ve yazılım bileşenlerine ait ayrıntılı bilgiler, uygulama adımları ve ilgili kodlarıyla birlikte verilmektedir. Ayrıca Nesnelerin İnterneti alanında büyük veri teknolojileri ve güvenlik konuları da ele alınmaktadır.

Bu kitap, başta öğrenciler ve sektörde çalışan genç mühendisler olmak üzere Nesnelerin İnterneti ekosistemi kapsamındaki alanlarda çalışanlara yardımcı olmak amacıyla hazırlanmıştır. Temel bir Nesnelerin İnterneti uygulamasının, başlangıcından itibaren hangi problem için ne tür yardımcı teknolojilerin kullanılabileceği ve uygulama gerekliliğine göre hangi uygulama katmanı protokolünün seçilmesinin daha iyi olacağı, sonrasında Nesnelerin İnterneti uygulamasında büyük veri teknolojilerinin kullanımı ve güvenliğin sağlanması gibi konulardaki bilgi eksikliklerinin giderilmesine katkıda bulunmaktadır.


      


Kitap Hakkında.

Nesnelerin İnternet’i: Teori ve Uygulamaları isimli kitabımız, IoT alanındaki teorik bilgileri uygulamalarla pekiştirmeyi ve birçok problem için uygulanabilecek IoT tabanlı çözümlere farklı bakış açışı oluşturabilecek bilgi birikiminin oluşmasında yol gösterici olmayı amaçlamaktadır. Teorik bilgilerin desteklenmesi için yalnızca tek bir IoT donanımına ya da IoT platformuna yönelik değil, bu alanda var olan birçok teknolojinin kullanımı 23 adet uygulamalı örnek ile sunulmaktadır. Kitap, her geçen gün gelişen ve değişen IoT teknolojileri için teori ile uygulama arasında bir köprü görevi görmektedir. Kitabımız yedi bölümden oluşmaktadır:

Bölüm 1. ? Bu bölümde, okuyucuların Nesnelerin İnternet’i alanında genel bir fikir sahibi olabilmeleri ve bu alandaki büyük resmi açık bir biçimde anlayabilmeleri için temel kavramlar, ilgili teknolojiler, IoT’yi oluşturan bileşenler, kullanım alanları, teknolojik zorlukları, olumlu ve olumsuz yanları, çözülmesi gereken potansiyel konular hakkında bilgiler verilmektedir. Ek olarak IoT kavramının tarihsel ve teknolojik gelişiminin de üzerinde durulmaktadır.

Bölüm 2. IoT uygulamalarının iş ve sosyal hayatımıza katkıları neticesinde geleneksel iş modellerinde ne tür değişikliklere yol açtığı, IoT teknolojilerine dayalı bir iş fikrinin farklı araçlar ile iş modeli haline nasıl getirilebileceği konularına Kanvas, DNA ve St. Gallen gibi yöntemler ile uygulamalı olarak örneklerle yer verilmektedir. IoT ve geleneksel iş modellerinin karşılaştırılması sunulmaktadır.

Bölüm 3. Uçtan uca bir IoT uygulaması genel hatları ile bir IoT nesnesi, bu nesnenin İnternet bağlantısı için uygulama katmanı haberleşme protokolleri ve IoT nesnesinden algılanan verilerin depolanacağı, görselleştirileceği ve analiz edileceği IoT bulut platformlarından oluşmaktadır. Bu bölümde IoT alanında yaygın kullanıma sahip servis sağlayıcılar tarafından sunulan ThingSpeak, Adafruit, Firebase, Temboo, IBM Watson IoT, Microsoft Azure IoT, Amazon Web Servis IoT, ThingWorx IoT Platform, SmartWorks, Xivelys bulut platformları genel olarak tanıtılmakta ve birbirleri ile karşılaştırılması sunulmaktadır.

Bölüm 4. IoT uygulamalarının geliştirilmesinde yardımcı teknoloji olarak adlandırılan RFID, NFC, Bluetooth, Bluetooth 4.0 temelli işaretçi cihazlar, Wi-Fi, hücresel ağlar gibi birçok farklı iletişim teknolojisi kullanılmaktadır. Dikey alan uygulamaları olarak adlandırılan bu teknolojilerin tamamı bu bölümde IoT temelli teorik bilgiler ve örnek uygulamalar ile sunulmaktadır. Bu bölümde toplam 10 farklı IoT uygulaması, uygulama özelinde kullanılan her bileşene ait ayrıntılı bilgiler eşliğinde verilmektedir. Her bir uygulama için sistematik uygulama adımları görselleriyle birlikte verilmiştir. Bu IoT uygulamalarında Blynk, Adafruit, Firebase, ThingSpeak gibi IoT bulut platformlarının kullanımı da örneklendirilmektedir. Ayrıca günümüzde kullanım örnekleri görülmeye başlanan Sigfox, LoRaWAN, NB-IoT gibi düşük güç geniş alan ağ teknolojilerine de değinilmekte ve karşılaştırılmalı olarak sunulmaktadır. Ek olarak, IoT uygulamalarındaki etkileşimi artırabilmek ve IoT teknolojisi kavramından uzaklaşmadan uygulama geliştirebilmek için MIT App Inventor 2 ortamı anlatılmaktadır. Kod gereksinimi olmadan MIT App Inventor 2 ortamında sürükle bırak mantığı ile Android işletim sistemine yönelik mobil uygulama ve IoT çözümüne dönüştürme adımları da verilmektedir. Bu bölüm sonucunda okuyucu, derin bir kod bilgisi ihtiyacı olmadan hazır kütüphaneler kullanarak farklı IoT uygulamaları için çözümleri deneyimleme imkanı bulmaktadır.

Bölüm 5. Nesnelerin İnternet’i alanında en kritik ve zorlu başlıklarından biri olarak uygulama katmanı haberleşme protokolleri ve kullanımı gelmektedir. IoT teknolojisinde, kullanılan cihazların kısıtlı donanım imkanlarını dikkate alan ve bu kısıtlı donanım ve kaynaklar ile verimli çalışabilen hafif mesajlaşma protokolleri tercih edilmektedir. Farklı uygulama ve ihtiyaçları karşılamaya yönelik olarak geliştirilmiş çok sayıda IoT uygulama katmanı haberleşme/mesajlaşma protokolleri bulunmaktadır. Bu bölümde RESTful, MQTT/MQTT-SN, CoAP, AMQP, DDS, XMPP, SOAP, WebSoket, LwM2M ve oneM2M olmak üzere 10 farklı haberleşme protokolü detaylı olarak ele alınmaktadır. Bu protokollerden RESTful, MQTT, CoAP, WebSoket ile ilgili 7 farklı IoT uygulaması adım adım anlatılmaktadır. Bu uygulamalarda öncelikle API kullanımının anlaşılması ve testleri için en çok tercih edilen araçlardan olan Postman ile POST ve GET RESTful servislerinin Adafruit ve ThingSpeak IoT bulut platformlarında kullanımı gerçekleştirilmektedir. Sonrasında NodeMcu donanımı aracılığıyla MQTT, CoAP ve WebSoket protokollerinin uygulamaları verilmektedir.

Bölüm 6. IoT uygulamaları büyük veri kaynaklarının başında gelmektedir. Bu bölümde IoT ile büyük veri arasındaki ilişki, yaygın kullanıma sahip Hadoop, Spark gibi büyük veri teknolojileri tanıtılmaktadır. Bu teknolojilerin temel kullanımlarını gösteren örneklerle birlikte, uçtan uca bir büyük veri uygulamasının ana hatları da sunulmaktadır. Bu bölümde kullanıcının büyük veri teknolojilerini daha iyi anlayabilmesi amacıyla Google Cloud platform, Hadoop, Apache Kafka gibi teknolojilerin kullanıldığı üç farklı IoT büyük veri örnek uygulamaları verilmektedir.

Bölüm 7. Kitabın bu son bölümünde, IoT teknolojilerinin hayatımızın birçok alanına girmesi ile birlikte önemi bir kez daha anlaşılan gizlilik ve güvenlik konuları ele alınmaktadır. IoT ağları için güvenlik çözümleri oluşturulurken, nesnelerin bellek, işlem gücü, batarya gibi sınırlı kaynaklara sahip olduğu göz önüne alınmaktadır. Bu nedenle geleneksel güvenlik çözümlerinin Nesnelerin İnternet’i alanında doğrudan kullanılması oldukça güçtür. Bu bölümde Nesnelerin İnternet’inde önerilen / kullanılan güvenlik katmanlı mimariye uygun olarak sunulmaktadır.



İÇİNDEKİLER

 

Önsöz

Bölüm 1. Nesnelerin İnternet’i

1.1.        Nesnelerin İnternet’inin Tarihsel Gelişimi

1.2.        Nesnelerin İnternet’i ile İlgili Teknolojiler Arasındaki İlişki

1.3.        Nesnelerin İnternet’i

1.3.1.     IoT Nesnesi

1.3.2.     IoT Uygulama Katmanı Haberleşme Protokolleri

1.3.3.     Bulut Bilişim ve Bulut Platformlar

1.4.        Nesnelerin İnternet’i Katmanlı Protokol Mimarisi

1.5.        Nesnelerin İnternet’inin Kullanım Alanları

1.6.        Nesnelerin İnternet’inin Olumlu ve Olumsuz Yanları

1.7.        Nesnelerin İnternet’inde Çözülmesi Gereken Konular

1.8.        Özet

1.9.        Çalışma Soruları

 

Bölüm 2. Nesnelerin İnternet’i İş Modelleri

2.1.        İş Modeli

2.2.        İş Modeli Geliştirmek İçin Kullanılan Bileşenler

2.3.        Nesnelerin İnternet’inin İş Modellerine Kattığı Yenilikler

2.3.1.     Değer Oluşturma Katmanları

2.4.        İş Modeli Geliştirme Araçları ve IoT Çözümlerine Sahip Örnek İş Modelleri

2.4.1.     Kanvas temelli iş modeli

2.4.2.     DNA temelli iş modeli

2.4.3.     St. Gallen Magic Triangle temelli iş modeli

2.5.        Nesnelerin İnternet’i ve Geleneksel İş Modellerinin Karşılaştırılması

2.6.        Özet

2.7.        Çalışma Soruları

 

Bölüm 3. Nesnelerin İnternet’i Bulut Platformları

3.1.        ThingSpeak

3.2.        Adafruit

3.3.        Firebase

3.4.        Temboo

3.5.        IBM Watson IoT

3.6.        Microsoft Azure IoT

3.7.        Amazon Web Service (AWS) IoT

3.8.        ThingWorx IoT Platformu           

3.9.        SmartWorks IoT Platformu        

3.10.      Xively IoT Platformu

3.11.      IoT Bulut Platformlarının Karşılaştırılması

3.12.      IoT Bulut Platformları İçin Güncel Sorunlar

3.13.      Özet

3.14.      Çalışma Soruları

 

Bölüm 4. IoT Uygulaması Geliştirmek İçin Kullanılan Yardımcı Teknolojiler Ve Uygulamaları 

4.1          Wi-Fi (ESP8266)

4.1.1.     ESP8266 Wi-Fi Modül Kullanan IoT Cihazının Adafruit IoT Platformu İle Kontrolü             

4.1.1.1. Arduino IDE Ortamı

4.1.1.2. Arduino IDE Ortamında ESP8266 Modülü Tanıtımı

4.1.1.3. ESP8266 Wi-Fi modülüne sahip IoT Nesnesi Gömülü Yazılımı

4.1.1.4. ESP8266 Wi-Fi Modülü Adafruit Uygulaması

4.2.        Radyo Frekansı ile Tanımlama (RFID)

4.2.1.     RFID Temelli Giriş/Çıkış Kontrol Sistemi Uygulaması

4.2.1.1. RFID Temelli IoT Nesnesi ve Yazılımı

4.2.1.2. RFID Uygulaması Adafruit IoT Platformu

4.3.        Yakın Alan İletişimi (NFC)

4.3.1.     NFC Uygulaması             

4.3.1.1. MIT App Inventor 2       

4.3.1.2. MIT App Inventor 2 NFC Uygulaması

4.3.1.2.1.             NFC etiketlerde kayıt alanı oluşturma

4.3.1.2.2.             NFC kart okuma ve yazma işlemi (offline kayıt)

4.3.1.2.3.             Geliştirilen uygulamanın mobil cihazlara yüklenmesi

4.3.1.2.4.             NFC kart ve Firebase okuma-yazma işlemi (online kayıt)             

4.3.1.3. Firebase Bulut Platformunda Proje Oluşturma

4.4.        Bluetooth

4.4.1.     HC-05 ve HC-06 Bluetooth Modülleri İle IoT Uygulaması

4.4.1.1. Mobil Uygulama ile HC-05 ve Led Kontrolü

4.4.1.1.1.             HC-05 ile LED kontrolü için mobil uygulama

4.4.1.1.2.             HC-05 kontrolü için Arduino gömülü yazılımı

4.4.1.2. HC-05 ve ThingSpeak Uygulaması

4.4.1.2.1.             HC-05 ile veri göndermek için mobil uygulama

4.4.1.2.2.             HC-05 ve ThingSpeak Arduino gömülü yazılımı

4.4.1.2.3.             ThingSpeak IoT Platformu

4.4.2.     Düşük Enerji Tüketimli Bluetooth (BLE)

4.4.2.1. Beacon: BLE Teknolojisine Sahip İşaretçi Cihazlar

4.4.2.1.1.             BLE teknolojisine sahip mobil cihazlar ile sanal işaretçi oluşturma            

4.4.2.1.2.             İşaretçi yönetici ve tarama uygulaması oluşturma

4.4.2.1.3.             Geliştirilen uygulamanın mobil cihazlara yüklenmesi

4.4.2.1.4.             Şanslı işaretçi uygulaması (Beacon ve Firebase kullanımı)

4.4.2.1.5.             Şanslı işaretçi uygulaması Firebase işlemleri

4.5.        GSM ve GPRS

4.5.1.     SIM900 GSM Modülü ile Temel İşlemler             

4.5.2.     GPRS ile Veri Gönderimi

4.6.        Düşük Güç Geniş Alan Ağ Teknolojileri

4.6.1.     Sigfox

4.6.2.     LoRaWAN

4.6.3.     Dar Bant IoT (Narrow Band, NB-IoT)

4.6.4.     Düşük Güç Geniş Alan Ağ Teknolojilerinin Karşılaştırılması

4.7.        Özet

4.8.        Çalışma Soruları

 

Bölüm 5. IoT Uygulama Katmanı Haberleşme/Mesajlaşma Protokolleri

5.1.        Temsili Durum Transferi Protokolü (REpresentational State Transfer, REST)

5.1.1.     RESTful Web Servislerinde Kullanılan HTTP Metotları ve HTTP Kodları   

5.1.2.     RESTful Servislerin Hazır Uygulamalar ile Testi

5.1.3.     RESTful Servislerin Arduino Uygulamaları

5.2.        Mesaj Kuyruk Telemetri Ulaştırma Protokolü (Message Queue Telemetry Transport, MQTT)

5.2.1.     MQTT Protokolü Çalışma Prensibi

5.2.2.     MQTT Protokolü Mesaj Yapısı

5.2.3.     MQTT Protokolü Servis Kalitesi Desteği

5.2.4.     MQTT Protokolü Uygulaması

5.2.5.     MQTT-SN

5.3.        Sınırlı Uygulama Protokolü (Constrained Application Protocol, CoAP)

5.3.1.     CoAP Protokolü Çalışma Prensibi

5.3.2.     CoAP Protokolü Mesaj Yapısı

5.3.3.     CoAP Protokolü Çalışma Modları

5.3.4.     CoAP Protokolü Uygulaması

5.4.        İleri Mesaj Kuyruklama Protokolü (Advanced Message Queuing Protocol, AMQP)        

5.4.1.     AMQP Çalışma Prensibi

5.4.2.     AMQP Mesaj Yapısı

5.5.        Genişletilebilir Mesajlaşma ve Durum Protokolü (Extensible Messaging and Presence Protocol, XMPP)

5.5.1.     XMPP Ağ Mimarisi

5.5.2.     XMPP Adresleme ve Sinyalleşme

5.5.3.     XMPP Paket Yapıları

5.6.        Veri Dağıtım Servisi (Data Distribution Service, DDS)

5.6.1.     DDS'nin özellikleri

5.7.        Basit Nesne Erişim Protokolü (Simple Object Access Protocol, SOAP)

5.8.        WebSocket

5.8.1.     WebSocket Uygulaması

5.9.        OMA LightweightM2M (LWM2M)

5.10.      oneM2M

5.11.      IoT Uygulama Katmanı Haberleşme Protokollerinin Karşılaştırılması

5.12.      Özet

5.13.      Çalışma Soruları

 

Bölüm 6. Nesnelerin İnternet’i Ve Büyük Veri

6.1.        Büyük Veri

6.1.1.     Büyük Veri Bileşenleri

6.1.2.     Nesnelerin İnternet’i Büyük Veri Kaynakları

6.2.        IoT Büyük Veri Teknolojileri ve Araçları

6.2.1.     Apache Hadoop

6.2.2.     Apache Kafka

6.2.3.     Apache Spark

6.2.4.     Apache Spark Stream

6.2.5.     NoSQL Veritabanları

6.3.        IoT ile Büyük Veri Uygulaması

6.4.        Özet

6.5.        Çalışma Soruları

 

Bölüm 7. Nesnelerin İnternet’inde Güvenlik

7.1.        IoT Uygulamalarında Güvenlik

7.2.        IoT Uygulamalarına Yönelik Tehditler

7.3.        IoT Uygulamalarında Güvenlik Çözümleri

7.3.1.     Uygulama Katmanı ve Fiziksel Ataklar

7.3.2.     Taşıma Katmanı

7.3.3.     Ağ Katmanı

7.3.4.     Uygulama Katmanı ve Fiziksel Ataklar

7.3.5.     Ortam Erişim Katmanı

7.3.6.     Fiziksel Katmanı

7.4.        IoT Mimari ve Standartlarında Güvenlik

7.5.        Özet

7.6.        Çalışma Soruları

 

Kaynakça

Dizin



 


Akademik bilimsel ve üniversite ders kitaplarında Papatya Bilim Yayınevi