İstanbul Teknik Üniversitesi Özgür Yazılım Kulübü çatısı altında düzenlemiş olduğunuz internet of things eğitiminin son hafta workshop’ının sonunda, katılımcılarımız arasında bulunan Aziza Kasenova ve Eyüp Ağpınar’ın geliştirmiş olduğu “Gate entry information on Twitter” projesi. Projede Intel Galileo Gen2 board ile birlikte Wyliodrin üzerinden programlanarak Twitter, IFTTT ve RFID teknolojisi kullanılmıştır.

Proje adı: Gate entry information on Twitter

Proje ekibi:

Aziza Kasenova – azyuu95@gmail.com – İstanbul Teknik Üniversitesi

Eyüp Ağpınar – eyup_agpinar@hotmail.com – Kocaeli Üniversitesi

Projede kullanılan servis ve hizmetler: Twitter, IFTTT ve RFID

Proje detayı:

Kullanıcılara tanımlanan RFID kartlar ile kapı giriş bilgilerinin Twitter üzerinde gösterilmesi ve IFTTT ile cep telefonuna bildirim gönderilmesi amaçlanmıştır. Geçersiz kullanıcıların buzzer ile uyarılmaktadır, ayrıca Twitter üzerinden de girişin geçerli ya da geçersiz olduğu bilgisi iletilmektedir. Twitter üzerinden IFTTT’e bağlanan sistem bu sayede diğer sistemlerle entegre çalışabilecektir.

Proje yazılımı kaynak kodu:

# Aziza Kasenova
# Eyüp Ağpınar
try:
  from wyliodrin import *
except:
  from wiringpi2 import *
  wiringPiSetup()

import tweepy
import time
import os
import urllib
import urllib2
import base64
import json
import serial
import hashlib
import ntplib
import datetime
ledPin = 8
buzzer = 4
lightPin = 0
client = ntplib.NTPClient()
response = client.request('pool.ntp.org')
os.system('date ' + time.strftime('%m%d%H%M%Y.%S',time.localtime(response.tx_time)))
#today = date.time.today()

# twitter keys
consumer_key = ''
consumer_secret = ''

access_token = ''
access_token_secret = ''

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token,access_token_secret)
api = tweepy.API(auth)
digitalWrite(buzzer,0)

while True:
  reading = analogRead(lightPin)
  ser=serial.Serial('/dev/ttyS0',9600,timeout=0)
  digitalWrite(buzzer,0)
  delay(1000)
  okuma=ser.readline()
  deneme=str(okuma)
  bString = deneme[:13] + deneme[28:]
  digitalWrite(buzzer,0)
  #print '--'+str(bString)+'--'+str(aziza)+'--'
  m=hashlib.md5()
  m.update(bString)
  bString_md5=m.hexdigest()
  """
  m=hashlib.md5()
  m.update(aziza)
  aziza_md5=m.hexdigest()"""

  if okuma!="":
    #print '--'+str(bString_md5)+'--'
    if str(bString_md5) == "9452c07ff203f4584dae408b6544a839":
      digitalWrite(ledPin,1)
      digitalWrite(buzzer,1)
      delay(200)
      digitalWrite(buzzer,0)
      delay(300)
      digitalWrite(ledPin,0)
      print 'Valid Login Eyup'
      deneme=""
      okuma=""
      bString=""
      bString_md5=""
      api.update_status('Valid Login E #IoT_Test %s %s' % (str(reading), str(datetime.datetime.now().strftime("%H:%M:%S"))))
    elif str(bString_md5) == "6ad4b9048df91c6cf7c38d002a0accfa":
      digitalWrite(ledPin,1)
      digitalWrite(buzzer,1)
      delay(200)
      digitalWrite(buzzer,0)
      delay(300)
      digitalWrite(ledPin,0)
      print 'Valid Login Aziza'
      deneme=""
      okuma=""
      bString=""
      bString_md5=""
      api.update_status('Valid Login A #IoT_Test %s %s' % (str(reading), str(datetime.datetime.now().strftime("%H:%M:%S"))))
    else:
      digitalWrite(ledPin,0)
      print 'Invalid Login'
      digitalWrite(buzzer,1)
      delay(200)
      digitalWrite(buzzer,0)
      delay(200)
      digitalWrite(buzzer,1)
      delay(400)
      digitalWrite(buzzer,0)
      delay(400)
      digitalWrite(buzzer,1)
      delay(200)
      digitalWrite(buzzer,0)
      delay(400)
      deneme=""
      okuma=""
      bString=""
      bString_md5=""
      api.update_status('A stranger is trying to enter #IoT_Test %s %s' % (str(reading), str(datetime.datetime.now().strftime("%H:%M:%S"))))

Proje ile alakalı ekstra bir fikriniz ya da söylemek istedikleriniz varsa, yorumlar kısmından iletebilir ya da proje ekibinin vermiş olduğu iletişim bilgilerinden kendilerine ulaşabilirsiniz.

İTÜ Özgür Yazılım Kulübü Internet of Things eğitimi ile alakalı tüm detayları, kaynakları ve güncellemeleri bu bağlantı üzerinden takip edebilirsiniz. Diğer final projelerine ise bu bağlantı üzerinden ulaşabilirsiniz.