Veri Akışlarına Giriş

Python ile IoT Verilerini Analiz Etmek

Matthias Voppichler

IT Developer

Veri Akışı Nedir

  • Sürekli veri akışı
  • Örnekler
    • Twitter mesajları
    • Çevrimiçi haber makaleleri
    • Video akışları
    • Sensör verisi (IoT)
    • Piyasa emirleri (finans)
Python ile IoT Verilerini Analiz Etmek

Veri Akışı Nedir

  • Sürekli veri akışı
  • Örnekler
    • Twitter mesajları
    • Çevrimiçi haber makaleleri
    • Video akışları
    • Sensör verisi (IoT)
    • Piyasa emirleri (finans)
Python ile IoT Verilerini Analiz Etmek

MQTT

  • Mesaj protokolü
  • Yayınla / abone ol
  • Küçük ayak izi

Sunucu -> İleti Aracısı (Broker) görevi görür

İstemci:

  • Bir Aracıya bağlanır
  • Veri yayınlar
  • Konulara abone olur

Message Queuing Telemetry Transport

MQTT veri akışı - Üreticiden -> Aracıya -> Tüketicilere

Python ile IoT Verilerini Analiz Etmek

Python kütüphanesi

Eclipse Paho™ MQTT Python İstemcisi

# Import MQTT library
import paho.mqtt

Daha fazla bilgi ve dokümantasyon GitHub'da: https://github.com/eclipse/paho.mqtt.python

Python ile IoT Verilerini Analiz Etmek

Tek mesaj

import paho.mqtt.subscribe as subscribe
msg = subscribe.simple("paho/test/simple", 
                       hostname="test.mosquitto.org")

print(f"{msg.topic}, {msg.payload}")

Çıktı:

paho/test/simple, {"time": 1549481572, "humidity": 77, "temp": 21}
Python ile IoT Verilerini Analiz Etmek

Geri çağırım

def on_message(client, userdata, message):

print(f"{message.topic} : {message.payload}")

Argümanlar

  • client - istemci örneği
  • userdata - özel kullanıcı verisi
  • message - MQTTMessage örneği
Python ile IoT Verilerini Analiz Etmek

Geri çağırım

import paho.mqtt.subscribe as subscribe


subscribe.callback(on_message, topics="datacamp/roomtemp", hostname="test.mosquitto.org")
Python ile IoT Verilerini Analiz Etmek

MQTT Abonelik

import paho.mqtt.subscribe as subscribe

def on_message(client, userdata, message): print("{} : {}".format(message.topic, message.payload))
subscribe.callback(on_message, topics="datacamp/roomtemp", hostname="test.mosquitto.org")
datacamp/roomtemp : b'{"time": 1543344857, "hum": 34, "temp": 24}'
datacamp/roomtemp : b'{"time": 1543344858, "hum": 35, "temp": 23}'
datacamp/roomtemp : b'{"time": 1543344860, "hum": 36, "temp": 22}'
datacamp/roomtemp : b'{"time": 1543344946, "hum": 37, "temp": 22}'
datacamp/roomtemp : b'{"time": 1543345010, "hum": 36, "temp": 13}'
Python ile IoT Verilerini Analiz Etmek

Haydi pratik yapalım!

Python ile IoT Verilerini Analiz Etmek

Preparing Video For Download...