anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/akilhane.docx  · web viewakıllı ev...

17
İÇİNDEKİLER 1.GİRİŞ 4 1.1 İş Fikri ve Çıktısı4 1.2 İş Fikrinin Türü ve Kullanım Alanları 4 1.3 Mevcut Teknolojilerle Karşılaştırılması 4 1.4 Pazar Analizi ve Kullanıcı Kitlesi 4 2.PLANLAMA 4 2.1 Giriş 4 2.2 Projenin Amacı 5 2.3 Projenin Özeti 5 2.4 Proje İş Zaman Planı 6 2.5 Proje Ekip Yapısı 7 2.6 Önerilen Sistemin Teknik Tanımları 7 2.7 Anahtar Sözcükler 8 2.8 Kullanılan Geliştirme Ortamları ve Özel Araçlar 8 2.9 Proje Standartları, Yöntem ve Metodolojiler 8 3.ÇÖZÜMLEME 9 3.1 Teknolojik Gelişime Katkısı 9 3.2 Mevcut Sistemin İncelenmesi 9 3.3 Sistemin İşlevsel Modeli 10 3.4 Sistemin Sınıf Diyagramı 11 3.5 Sistemin Nesne Diyagramı 12 3.6 Sistemin Veri Tabanı Diyagramı 13 3.7 Sistemin Varlık İlişki Diyagramı 14 3.8 Sistemin Activity Diyagramı 15 3.9 Sistem Genel Bakış Diyagramı 15 4.SİSTEM TASARIMI 16 4.1 Genel Tasarım Bilgileri 16

Upload: doannguyet

Post on 18-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

İÇİNDEKİLER1.GİRİŞ 4

1.1 İş Fikri ve Çıktısı 4

1.2 İş Fikrinin Türü ve Kullanım Alanları 4

1.3 Mevcut Teknolojilerle Karşılaştırılması 4

1.4 Pazar Analizi ve Kullanıcı Kitlesi 4

2.PLANLAMA 4

2.1 Giriş 4

2.2 Projenin Amacı 5

2.3 Projenin Özeti 5

2.4 Proje İş Zaman Planı 6

2.5 Proje Ekip Yapısı 7

2.6 Önerilen Sistemin Teknik Tanımları 7

2.7 Anahtar Sözcükler 8

2.8 Kullanılan Geliştirme Ortamları ve Özel Araçlar 8

2.9 Proje Standartları, Yöntem ve Metodolojiler 8

3.ÇÖZÜMLEME 9

3.1 Teknolojik Gelişime Katkısı 9

3.2 Mevcut Sistemin İncelenmesi 9

3.3 Sistemin İşlevsel Modeli 10

3.4 Sistemin Sınıf Diyagramı 11

3.5 Sistemin Nesne Diyagramı 12

3.6 Sistemin Veri Tabanı Diyagramı 13

3.7 Sistemin Varlık İlişki Diyagramı 14

3.8 Sistemin Activity Diyagramı 15

3.9 Sistem Genel Bakış Diyagramı 15

4.SİSTEM TASARIMI 16

4.1 Genel Tasarım Bilgileri 16

4.2 Yazılım Tasarımı 16

4.3 Genel Sistem Tasarımı 17

4.4 Süreç Tasarımı 18

4.5 Arayüzler 20

Page 2: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

4.5.1 Web Arayüzü20

4.5.2 Mobil Arayüzü 22

1.1. İş Fikri ve Çıktısı

Akıllı ev yönetim sistemi, günlük hayatta evin içerisinde yapılan değişiklikleri, ev

dışından da değiştirilip yönetilmesine imkan sağlayan bir üründür. İnsanların mekandan

bağımsız, bulundukları konumdan, kendilerine tanımlanan erişim yetkileri dahilinde eve

müdahil olabilmelerini sağlar.

1.2. İş Fikrinin Türü ve Kullanım Alanları

Akıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

evlerini uzaktan yönetip erişebilmeleri için oluşturulmuş bir uygulamadır. Kullanıcılar akıllı

telefonları ya da bilgisayarları ile evlerinde bulunan ve Ev Yönetim Sistemi’ne bağlı olan

Isıtma-soğutma sistemlerini, ışıkları, vanaları, sulama sistemlerini, giriş-çıkış kontrollerini,

nem-hareket-gaz sensörlerini ve güvenlik durumunu internet üzerinden uzaktan ve anlık

olarak kontrol edebilmesine olanak sağlamaktadır. Sistem bir eve uygulanabileceği gibi aynı

zamanda ofis, depo gibi farklı alanlarada entegre edilebilir.

1.3. Mevcut Teknolojilerle Karşılaştırılması

Var olan mevcut teknolojide Ev yönetim sistemleri bir kumanda ile evin içinden

yönetilmektir. Bu sistemler evin içindeyken size yönetim imkanları sunmakta fakat evden

çıkılması durumunda sadece güvenlik tedbirleri almakta ve uzaktan kontrol yapabilme

özelliği bulunmamaktadır. Akıllı ev yönetim sisteminde ise internete bağlı olma durumunuzda

evinizdeki cihazlara uzaktan ulaşabilir ve istediğiniz gibi yönetebilirsiniz.

Sistemde bir başka yenilik de Server bağlantısı Restfull Web Service ile sağlıyor

olmasıdır. Restfull Web Service kullanımı, sistemi daha hızlı, güvenli ve efektif

kullanabilmesini sağlar.

1.4. Pazar Analizi ve Kullanıcı Kitlesi

Akıllı Ev Yönetim Sistemi evinin güvenliğini ve kontrolünü önemseyerek sürekli

kontrol altında tutma ihtiyacı duyan, teknolojiyi hayatın her alanını kolaylaştırması için daha

efektif ve etkili şekilde kullanmak isteyen kullanıcılara hitap etmektedir.

1. GİRİŞ

Page 3: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

2. PLANLAMA

2.1. Projenin Amacı

Projenin amacı kullanıcıların bulundukları konumdan, kullandıkları platformdan

bağımsız olarak, evlerinin içerisindeki herhangi bir araçta değişiklik yapmasını ya da kontrol

edebilmesini sağlamak için gerekli olan altyapıyı oluşturmaktır.

Teknolojiyi kullanarak, insanların evlerinin içerisindeki bütün aygıtlara

hükmedebilmesini amaç belirliyoruz.

2.2. Projenin Plan Kapsamı

Kullanıcılar ev içerisinde bulunan perdelerin, ışıkların, sulama sisteminin, kapıların açık

olup olmadığını kontrol edebilir veya durumunu değiştirebilir. Güvenlik modunun durumunu

değiştirebilir. -Eğer güvenlik modu açıksa hareket sensörü aktif hale gelir ve kullanıcıya

bildirim gönderir.- Evin kapısındaki bildirim ekranına dışarıdan veri gönderebilir ve yazıyı

değiştirebilir. Evde bulunan kontrol edilebilir araçlar genel olarak aşağıdaki gibidir:

Işıklar

Perdeler

Kapılar

Klima

Vanalar

Bahçe Sulama Sistemi

Hareket Sensörü

Isı-Nem Sensörü

Evin içerisinde bulunan cihazları kullanıcılar bir çok farklı yöntemle değiştirebilir.

Server ile haberleşme REST API kullanılarak gerçekleştiği için sistemin diğer platformlara

entegresi konusunda zorluk çekilmeyecektir. Projede kullanılacak Frameworkler;

RestFull Web Service – PythonFlask

Web Arayüz – Flask Web Framework

Android Uygulaması - AndroidStudio

Arduino – Arduino IDE

Veritabanı – SQLite

Page 4: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

Server – Raspberry Pi 2

Sistemin Server ile haberleşmesi Restfull Web Service ile olacaktır. RestFull Web Service

Client’lar ile HTTP Metotlarıyla Json formatında haberleşir. Client’lardan gelen Request’leri

inceleyerek sonuçlarına göre geriye HTTP metodundan oluşan bir Response döndürür.

Şekil 1RestFull Web Service

2.3. Projenin Ekip Yapısı

Proje pek çok modüllerden oluşacaktır. Proje yöneticisi projenin geliştirilişini izlerken

programcılar modülleri geliştirecek ve ardından birleştirme işlemi gerçekleştirilecektir.

Modüller birleştirildikten sonra yazılım, donanım sistemine uygulanacaktır.

Şekil 8 Ekip Yapısı

Page 5: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

2.4. Projenin İş-Zaman Planı

Projede Android kısım ile birlikte Restfull Web Service yapılmaya başlanacak.

Server tarafında REST API kısmı bittikten sonra Flask ile bir Web Arayüz yazılacak. Arduino

ile Server haberleşmesi tamamlandıktan sonra Arduino üzerinden aygıtların iletişimi ve

kontrolü sağlanacak. Bu kısım başarıyla bitirildikten sonra Server’a bağlanılacak. Bu sırada

Android Uygulama kısmında Push Notification modülü bitirilecek. Proje teslim tarihine 2

hafta kala ise Test işlemlerine başlanacak.

Şekil 9 Zaman--İş Planı

Page 6: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

2.5. Anahtar Sözcükler

Restapi, arduino, pyhton, flask, web service, android, smarthome

2.6. Proje Standartları, Yöntem Ve Metodolojiler

Projede Çevik Tasarım Modeli uygulanacaktır. Proje içerisindeki her bir döngüde yazılımın bir sürümünü küçük bir proje olarak ele alınacak ve test edilecek. Her döngüde projenin öncelikleri yeniden belirlenir ve proje boyunca ortaya çıkan değişikliklere uyum sağlanır.

Şekil 2 Çevik Tasarım Modeli

Proje kapsamında Agile(Çevik) Model kullanılacaktır. Çevik modelde Scrum metodu uygulanacaktır. Scrum’da projenin ana gereksinimleri önem sırasına göre bir liste(Product Backlog) olarak toplanır. Bu listedeki her bir eleman küçük yapılara dağıtılarak(sprint), daha küçük alt projeler oluşturulur. Artık küçük birimler olduğundan değişimin üstesinden gelmek çok daha kolay olur. Her sprint veya planlamaya göre birkaç sprint ortaya muhtemel bir ürün çıkarır. Bu ürün, müşteri ile kabul kriterleri konusunda sonradan yaşanması muhtemel problemleri erken farketmemizi sağlayacaktır.

Page 7: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

Şekil 6Scrum Metodu

2.7 Kullanılan Özel Geliştirme Araçları ve Ortamları

Evin içerisindeki sistemi kontrolü için Arduino Derleyicisi kullanılacaktır.

Sistem uzaktan kontrol edilebilmesi ve bütün ciharlarla uyumlu olabilmesi için PythonFlask

Framework kullanılarak RestFull web servis yazılacaktır.

Client tarafı için geliştirilen akıllı telefon uygulaması için AndroidStudiokullanılacaktır.

Veri Tabanı olarakmySQL kullanılacaktır.

Proje Zaman ve iş planlaması için MS Visio Kullanılacaktır.

UML diyagram tasarımı için SmartDraw 2010, MS Visio kullanılacaktır.

Grafik tasarımı için AdobePhotoshop CS6 kullanılacaktır.

Proje Dökümantasyonu için MS Word kullanılacaktır.

3. ÇÖZÜMLEME

3.1. TEKNOLOJİK GELİŞİME KATKISI

Teknolojik gelişime herhangi bir katkısı bulunmamaktadır.

3.2. MEVCUT SİSTEMİN İNCELENMESİ

Var olan sistemlerin kullanım zorluğu, işlevsel olmaması gibi sebepler kullanım

sırasında ciddi sıkıntılar yaşatmaktadırlar.Ayrıca tüm istekleri karşılamaması ve istenilen

hızda çalışamıyor olması da mevcut sistemin eksiklikleri arasında sayılabilir. Mevcut sistemin

diğer bir dezavantajı ise maddi yönden pahalı olmasıdır.

Page 8: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

3.3. SİSTEMİN İŞLEVSEL MODELİ (USE-CASE)

Projemizde temel olarak iki tür kullanıcı bulunmaktadır. Bunlardan birisi sisteme

direk bağlantısı olan evdeki kullanıcı ve sisteme internet üzerinden bağlanan uzaktaki

kullanıcı. Bu profiller ise ebeveyn, admin ve ekran olmak üzere üçe ayrılmaktadır.

Şekil 7Sistemin Use-Case Diyagramı

Ebeveyn Profili

Şekil 8 Ebeveyn Profili

Page 9: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

Admin Profili

Şekil 9 Admin Profili

Ekran Profili

Şekil 10 Ekran Profili

Sistemin nesne diyagramı eksik?

3.4 SİSTEMİN VERİ TABANI DİYAGRAMI

Önerilerin sistemin veri tabanı bağlantıları aşağıdaki gibi olacaktır.

Şekil 11Veritabanı Tasarımı

Page 10: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

Veri sözlüğü eksik?

Varlık ilişki diyagramı eksik?

Activity diyagramı eksik?

3.5 SİSTEMİN GENEL BAKIŞ DİYAGRAMI

Önerilerin sistemin veri tabanı bağlantıları aşağıdaki gibi olacaktır.

Şekil 12Sistemin Genel Bakış Diyagramı

Page 11: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

4. SİSTEM TASARIMI

4.1. Sistem Mimarisi

Temel hedef, sistemin yapısına ait diyagramları oluşturmaktır. Katmanlı sistem mimarisi diyagramlarından yola çıkarak sistemdeki işlerin işleyişinin tanımlanmasıdır.

Şekil 13 Katmanlı Sistem Mimarisi

Kullanıcı Arayüzü

Veriler

Çeviriler

Otomasyon Motoru

Depolanmış Veri Tabanı

Veri Tabanı Sorguları

Page 12: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

4.2. Arayüzler

4.2.1 Login Ekranı

Akıllı telefon üzerinden sisteme login olarak kullanılcak olan arayüz aşağıdaki

gibidir

Şekil 14Login Activity

Page 13: anil-yildiz.comanil-yildiz.com/wp-content/uploads/2018/05/AkilHane.docx  · Web viewAkıllı Ev Yönetim Sistem’i, kullanıcıların zamanlarını verimli kullanabilmelerini ve

4.2.1 Ana Ekran

Akıllı telefon üzerinden sisteme loginolunduktan sonra eve dair her türlü

bilginin bulunduğu ve cihazların yönetileceği arayüz aşağıdaki gibidir.

Şekil 14Main Activity