Herkese Merhaba…

mongoDB

Serinin bu son bölümünde sizlerle açık kaynak veritabanlarından biri olan mongoDB kurulumunu ele alacağız. Fakat kurulum aşamasına geçmeden önce Nesnelerin İnterneti (IoT) ile Akıllı Sistemler serisine ufak bir göz gezdirelim. Bu seri ile birlikte aslında ne yaptık ?

Nesnelerin İnterneti (IoT) ile Akıllı Sistemler -1

Nesnelerin İnterneti (IoT) nedir? IoT bir sistem tasarlamak için bize gerekenler nelerdir bunlara cevap aradık.

Nesnelerin İnterneti (IoT) ile Akıllı Sistemler -2 (Sunucu Kurulumu)

Sunucu üzerinde Docker çalıştırmayı ve Docker kullanarak IoT bileşenlerin kurulum süreçlerini adım adım ele aldık.

Nesnelerin İnterneti (IoT) ile Akıllı Sistemler -3 (Node-Red)

IOT sistemler dağıtmayı ve yönetmeyi kolaylaştıran IoT yönetim platformlarından Node-RED’i kullanarak MQTT protokolü üzerinden mesaj gönderip daha sonra ise gönderdiğimiz bu mesajı yine MQTT protokolü üzerinden nasıl okuyabileceğimizi öğrendik.

Nesnelerin İnterneti (IoT) ile Akıllı Sistemler -4 (IoT Cihaz)

Standart bir lambayı tasarladığımız IoT cihazı ile uzaktan kontrol ederken, lambanın tükettiği akım miktarının ise ölçümünü yaptık. IoT cihaz yapmak için ihtiyaç duyacağımız bileşenleri tanıdıktan sonra devresini kurup uzaktan kontrolünü ise Node-Red üzerinden gerçekleştirdik.

Hazırsanız MongoDB kurulumuna geçebiliriz….

MongoDB

MongoDB , yüksek hacimli veri depolama için kullanılan belge odaklı bir NoSQL veritabanıdır. MongoDB, geleneksel ilişkisel veritabanlarında olduğu gibi tabloları ve satırları kullanmak yerine koleksiyonları ve belgeleri kullanır. Belgeler, MongoDB’deki temel veri birimi olan anahtar/değer çiftlerinden oluşur. Koleksiyonlar, ilişkisel veritabanı tablolarının eşdeğeri olan belge ve işlev kümelerini içerir. JavaScript Object Notation (JSON) benzer , ancak Binary JSON (BSON) adlı bir değişken kullanır. BSON kullanmanın yararı, daha fazla veri türünü barındırmasıdır.

Kurulum

MongoDB kurmak için sunucunuzda aşağıdaki komutu çalıştırın.

docker run -d  --name mongodb  -p 27888:27017 -e MONGO_INITDB_ROOT_USERNAME=mongo -e MONGO_INITDB_ROOT_PASSWORD=mongo mongo
docker-mongodb

Bu parametrelerin ne işe yaradığına gelecek olursak;

  • docker run görüntüyü çalıştırır ve kapsayıcıyı başlatır.
  • -d konteyneri arka planda çalıştırır.
  • --name mongodb kapsayıcı için kolay bir ad tanımlar.
  • -p 27888:27017yerel bağlantı noktası 27888'in dahili 27017 bağlantı noktasıyla eşlendiğini bildirir.
  • -e MONGO_INITDB_ROOT_USERNAME=mongo kullanıcı adıdır.
  • -e ortam değişkenlerini ayarlar.
  • -r MONGO_INITDB_ROOT_PASSWORD=mongo kullanıcı şifresidir.
  • mongo çalıştırılacak görüntünün adıdır.

Kurulumu tamamladığımıza göre veritabanını kolay ve etkin kullanabilmek için bir GUI aracı indirmemiz gerekmektedir. Ben bu aşamada çok sık kullandığım MongoDB Compass’ı kullanacağım, ama önce MongoDB Compass Nedir ? Bu soruya yanıt bulalım.

MongoDB Compass

MongoDB Compass verilerinizi görsel bir ortamda sorgulamak, toplamak ve analiz etmek için güçlü bir GUI’dir. Compass’ın kullanımı ücretsizdir. macOS, Windows ve Linux’ta çalıştırılabilir.

mongoDB Compass

Aşağıdaki linkten MongoDB Compass’ı işletim sisteminize göre indirip kurun.

Compass aracını açın. Karşınıza gelen ekranda bulunan URI kısmına aşağıdaki komutu yapıştırın ve Connect butonuna basın.

Not: serverIP alanına sunucu adresinizi yazmayı unutmayın !

mongodb://mongo:mongo@serverIP:27888/?authSource=admin
MongoDB Compass

Veritabanına bağlandıktan sonra sol alt tarafta bulunan Create Database(+) seçeneğine tıklayın. Database Name alanından veritabanıza uygun bir isim verin. Collection Name yerine ise Node-Red üzerinden toplayacağımız akım verilerini kaydedeceğimiz dizine isim girin. Ardından Create Database butonuna basın.

Database

Tarayıcınızdan serverIP:1883 adresini kullanarak Node-Red ekranına giriş yapın. Manage Palette seçeneğine tıklayarak mongodb4 yazarak çıkan kütüphanenin kurulumunu sağlayın. Eğer bu adımların nasıl yapılacağını unuttuysanız serinin bir önceki bölümü olan Nesnelerin İnterneti (IoT) ile Akıllı Sistemler -4 (IoT Cihaz) yazı dizisine geri dönüp inceleyebilirsiniz.

mongoDB4

Aşağıdaki GitLab adresinde sizler için hazırlamış olduğum Node-Red-MongoDB.json belgesini Node-Red sayfanıza import edin.

https://github.com/mertkslkc/mert-IoT.git

Daha sonra mongodb4 düğününe tıklayarak URI kısmında bulunan serverIP yazan yere sunucu adresinizi girin. Database alanına hatırlarsanız yukarıda ben iot-database parametresini vermiştim. Eğer sizin parametreniz farklı ise buraya database isminizi girmeniz gerekmektedir.

mongodb4 config

Collection kısmına ise yine ben current-data ismini vermiştim şayet sizin verdiğiniz parametre farklı ise bu kısmı da güncelleyin ve Done butonuna basın.

mongoDB Node

Son durumda düğümünüz aşağıdaki gibi görünecektir. Veritabanına Node-Red üzerinden kurulan bağlantı başarılı ise düğümün altında connected ibaresi yer almaktadır. Değilse mongodb4 düğümüne girdiğiniz parametreleri kontrol edin.

mongodb4 nodered

Son durumda MQTT düğümünden gelen akım değerlerini MongoDB Compass uygulaması üzerinden veritabanınıza zamana bağlı şekilde kaydedildiğini göreceksiniz.

mongodb compass database

Böylece sıfırdan IoT bir sistem tasarlamayı hem teorik hem de uygulamalı olarak aşama aşama öğrenmiş olduk. Umarım bu seri sizlere yardımcı olur. Nesnelerin İnterneti (IoT) ile Akıllı Sistemler serisini burada sonlandıracağım. Ancak bu bir veda değil…. İlerleyen bölümlerde veritabanına kaydettiğimiz bu verileri ElasticSearch kullanarak anomali tespit ile veri sınıflandırmayı ve Telegram gibi mobil uygulamalara entegrasyonu farklı seriler halinde anlatmayı düşünüyorum. Herhangi bir sorunuz varsa veya yazılmasını istediğiniz bir seri olursa lütfen iletişime geçmekten çekinmeyin. Kendinize iyi bakın görüşmek üzere….

--

--

Mert Kışlakçı
Turk Telekom Bulut Teknolojileri

#Cloud Computing #vmware #virtualization #redhat #EdgeComputing #DataScience #AI #IoT #ComputerVision #Python #OpenCV #C #Virtualization