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 |