[CyberHome] Założenia projektu

Jestem w trakcie tworzenia sporego projektu pod kodową nazwą CyberHome, priorytetem jest dla mnie zgłębienie jak największej ilości programistycznych tajników, dlatego wybrałem technologie dość grubego kalibru. W czym rzecz – o tym poniżej, zapraszam do lektury.

Cel projektu:

Celem projektu jest stworzenie systemu monitorującego otoczenie komunikującego się z użytkownikami poprzez stronę WEB. Dodatkowo zakładamy, że czujniki będą umieszczone w odległej lokalizacji, w której nie będzie stałego dostępu do Internetu. Naszym priorytetem jest niewysoki budżet jaki chcemy przeznaczyć na aktywne elementy elektroniczne w całym rozwiązaniu.

Założenia szczegółowe:

Zamierzamy monitorować domek letniskowy wraz z przyległym ogródkiem. 🙂

Monitorowaniu podlegają:

  1. Ruch w 3 pomieszczeniach domku letniskowego oraz na zewnątrz domku (5-8 czujników ruchu typu PiR)
  2. Temperatura wewnątrz każdego pomieszczenia oraz na zewnątrz (4-6 czujników)
  3. Występowanie opadów atmosferycznych (1 czujnik)
  4. Natężenie oświetlenia (wykrywanie dzień/noc)
Dodatkowo:
  1. System może uruchomić centralkę alarmową (tryb alarmu „uzbrojony” + ruch)
  2. System może uruchomić reflektor znajdujący się przed wejściem do domku (noc+ruch przed domem)
  3. System można przełączyć w tryb „uzbrojony” (uruchamia alarm po wykryciu ruchu) za pomocą SMSa, analogicznie w druga stronę.
  4. Zdalnie, z dowolnego miejsca można monitorować parametry otoczenia oraz uruchomić centralkę alarmową i reflektor poprzez interfejs Web.
  5. System może powiadamiać nas poprzez SMS i za pomocą powiadomień Push na telefon z systemem android (np. wykrycie ruchu w trybie „uzbrojony„).

Założenia dot. technologii:

  1. Istnieje Centralna Baza Danych umieszczona w chmurze (Azure), do której spływają informacje z czujników. (MS SQL Server)
  2. Istnieje strona Internetowa (ASP .NET MVC, BreezeJs, AngularJS, Bootstrap) która służy do monitorowania stanu czujników.
  3. W domku letniskowym znajduje się baza systemu do której bezprzewodowo spływają sygnały z poszczególnych czujników (baza to mikroprocesor ATmega328, wraz z modułami NRF24L (transmisja bezprzewodowa) i M590 (GSM), smaczkiem będzie podejście do wielowątkowości w Arduino).
  4. Baza systemu komunikuje się z RESTapi umieszczonym w chmurze za pomocą modemu GSM.
  5. Czujniki komunikują się bezprzewodowa z bazą systemu, stawiamy na energooszczędność i ładowanie solarne.

Spodziewane problemy:

  1. Komunikacja wielu czujników zdalnych z „centralą” – Arduino jest jednowątkowe.
  2. Komunikacja modemu GSM z RESTapi (skorzystam z najtańszego modemu za ~1.4$, komunikację trzeba zaimplementować niskopoziomowo, oprogramować ponawianie oraz retransmisję).
  3. Brak zwrotnego kanału komunikacji. Jeśli za pomocą aplikacji Webowej chcielibyśmy dokonać interakcji z systemem czujników (np. poprosić o zbadanie stanu otoczenia na żądanie, bądź uruchomić alarm) – nie mamy zestawionego kanału, który by to umożliwiał. SMSy odpadają ze względu na koszt (potrzebny byłby drugi moduł nadający wraz z oprogramowaniem, do tego dochodzi koszt samych SMSów). Zaplanowałem obejście tego problemu, ale o tym później.

Szacowany budżet:

Łączna kwota potrzebna na zakup podzespołów to około 50,- (zakładamy, że kupujemy u skośnookich przyjaciół na Aliexpress.com).

Dodatkowo koszt to wyposażenie warsztatu (30 do 400,- zależnie od klasy i ilości sprzętu).

Schemat funkcjonalny:

CyberHomeSchemat
Schemat poglądowy

GitHub z kodami:

Kody źródłowe znajdują się TUTAJ!

Pozwólcie, że pominę całą „pseudo-profesjonalną dokumentację„, w tym projekcie chodzi o fun, a nie o pokaz moich możliwości w obszarze papierologii. 🙂


Zapraszam do śledzenia kolejnych postów, będą się pojawiać regularnie, średnio 2 razy w tygodniu w ramach wyzwania Daj się Poznać!

3 odpowiedzi na “[CyberHome] Założenia projektu”

  1. Pomysł ciekawy-ambitny, wyzwanie duże.
    Ja chciałbym zacząć zancznie skromniej.
    Dopiero co znalazłem z grubsza opisany M590.
    Proszę o garść informacji jak spowodować aby odbierane SMSy
    lub może komendy RESTapi przełożył na wyjściowe sygnały sterujące i…
    na odwrót. Sygnały przychodzące z lokalnych czujników
    wysyłał SMSem i/lub przez RESTapi.
    Na jakim etapie znajduje się aktualnie CyberHome?
    Pozdrawiam i życzę sukcesu

  2. Żyje ten blog jeszcze? Zapowiadał się bardzo interesująco… ambitne cele klarownie opisane. Proszę o kontakt, choćby mailowy.

Leave a Reply