İ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 Emrullah Saku ve Ali Osman Mollahüseyinoğlu’nun geliştirmiş olduğu “Personal Home Security” projesi. Projede Intel Galileo Gen2 board ile birlikte Wyliodrin üzerinden programlanarak IFTTT ve Twitter API kullanılmıştır.

Proje adı: Personel Home Security

Proje ekibi:

Emrullah SAKU – emrullah.saku@outlook.com – İstanbul Aydın Üniversitesi İngilizce Bilgisayar Programcılığı

Ali Osman Mollahüseyinoğlu – aliosman.mho@gmail.com – İstanbul Aydın Üniversitesi İngilizce Bilgisayar Programcılığı

Projede kullanılan servis ve hizmetler: IFTTT, Twitter (SMS gönderme ve Web panel eklenecek durumda)

Proje detayı:

Proje İstanbul dışına çıkıldığıda özellikle sitede yaşamayanlar için güvenlik hizmeti sunuyor. İstanbul’dan çıkan kişi Twitter üzerinden bir hashtag ile tweet atarak güvenlik sistemini aktif hale getiyor. Aktif hale gelen sistem akşamları ve geceleri evin ışığını açıyor ve ses sensörünü aktif hale getiriyor. Aktif hale gelen ses sensörü belli bir değerdeki sesleri kontrol ediyor. Hızlık kontrölüne karşın olan bu sistem bir sesi algılandığında alarm çalıyor. Alarm aynı zamanda cep telefonumuza ve polise mesaj göderebilir durumda. Yanlış alarm durumlarında ise yine twitter üzerinden örneğin #closealarm hashtagi ile alarmı kapatabiliyor. Önemli olan nokta Twitter’a sistemi kullanan kişi tweet atmalıdır.

Proje yazılımı kaynak kodu:

try:
    from wyliodrin import *
except:
    from wiringpi2 import *
    wiringPiSetup()
    
import time
import os
import urllib
import urllib2
import base64
import json
import tweepy
import datetime

ledpin = 4
buzzer = 8
sound = 0
pinMode(ledpin,1)
pinMode(buzzer,1)

import ntplib
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)))

def bipAndLight():
  digitalWrite(ledpin,0)
  digitalWrite(buzzer,0)
  delay(4000)
  digitalWrite(ledpin,1)
  digitalWrite(buzzer,1)
  delay(1000)
def openLight():
  digitalWrite(ledpin,1)
  
closed = False  

customer_key ='' #Twitter keys
customer_secret='' #Twitter keys

access_token='' #Twitter keys
access_token_secret='' #Twitter keys

auth = tweepy.OAuthHandler(customer_key,customer_secret)
auth.set_access_token(access_token,access_token_secret)

state = False

api= tweepy.API(auth)
last_id = 12

while True:
  control = analogRead(sound)
  #print last_id;
  search = api.user_timeline(user_id='aliosman_mho',count='1',since_id=last_id)
  for tweet in search:
      # print (time.strftime(""%I:%M:%S""))
    if ""HomeSecurity"" in tweet.text:
      digitalWrite(ledpin,1)
      state=True
      print 'icerdeyim'
      print tweet.text.encode(""UTF-8"")
    else:
      print 'disardayim'
    last_id = str(tweet.id)
  delay(8000)
  if state and closed != True:
    
    if control < 1018:
        digitalWrite(buzzer,1)
        print 'Buzzers on'
    for tweet in search:
      # print (time.strftime(""%I:%M:%S""))
      if ""CloseSecurity"" in tweet.text:
        digitalWrite(buzzer,0)
        closed = True
        state=True
        print 'Buzzers off'
        digitalWrite(ledpin,0)
        print tweet.text.encode(""UTF-8"")
  print str(control)

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.