Korisnički alati

Site alati


2017:otomas:projektni_zadatak

Ovo je stara izmjena dokumenta!


Svrha projekta

Detektor mjesečarenja je projekt napravljen s željom da poveća sigurnost osoba koje mjesečare ili su dementne tijekom sna.

Korisnici projekta

Osobe koje mjesečare ili dementne osobe te njihovi skrbnici.

Ciljevi projekta

  1. Spriječiti osobu koja mjesečari ili dementnu osobu da se dovede u po život opasne situacije.
    • Detektirati početak mjesečarenja ili pad dementne osobe.
      • Snimanje kamerom mjesečara dok spava i detekcija pokreta na videu snimljenom s kamerom.
    • Detektirati izlazak ili pokušaj izlaska iz prostorije.
      • Ultrazvučni senzori na vratima koji se aktiviraju kada mjesečar izlazi iz prostorije.
  2. Osigurati miran san bližnjima osobe koja mjesečari i buđenje tek u trenutku potrebe.
    • Obavještavanje skrbnika pomoću jedinice za alarmiranje tek u trenutku kad se detektira pad (dementna osoba) ili izlazak (mjesečar).

Resursi

Sustav za detekciju mjesečarenja sastoji se od tri podsustava koji međusobno komuniciraju:

  1. Podsustav za detekciju ustajanja iz kreveta
    • Raspberry Pi 3 model B
    • Web kamera
    • Processing
    • Mosquitto poslužitelj
  2. Podsustav za detekciju izlaska osobe iz sobe ili pada s kreveta
    • Arduino Due
    • ESP8266 WiFi modul
    • Ultrazvučni senzor
  3. Podsustav za alarmiranje skrbnika
    • Arduino Mega 2560
    • ESP8266 WiFi modul
    • Zvučnik

Ograničenja

Sustav ne radi stalno te ga je po potrebi nužno priključiti na napajanje. Doseg sustava je određen dosegom WiFi signala lokalne mreže na koju je spojena centralna jedinica s kamerom i senzorima te jedinica za alarmiranje. Sustav ne predviđa dozvoljena kretanja promatrane osobe tijekom noći poput odlaska na WC.

Vlastita uloga na projektu

Kolegica Maja Ovčarik i ja smo bile zadužene za podsustave za detekciju izlaska osobe iz sobe ili pada s krevete i alarmiranje srkbnika te njihovu međusobnu komunikaciju. Zadatak smo obavljale u timu s time da je kolegica veći naglasak imala implementaciji modula i njihov ispravan rad u sustavu, dok je moja uloga bila osigurati komunikaciju između oba podsustava i Raspberry Pi ugrađenog računala te postaviti sustav na Raspberry Piju kako bi mogao samostalno raditi.

Raspberry Pi ugrađenom računalo smo pristupali preko Ethernet sučelja (eth0) te sam mu na početku samog projekta morala postaviti statičku IP adresu te definirati IP adresu mreže i njezinu masku. To je izvršava dodavanje odgovarajućih naredba u /etc/network/interfaces datoteci. Potrebno je i na osobnom računalu postaviti IP adresu Ethernet sučelja koja odgovara jednoj od IP adresa mreže u kojoj se nalazi Raspberry Pi.

Budući da sustav komunicira koristeći WiFi module, morala sam spojiti Raspberry Pi na kućnu bežičnu mrežu, a potom radi prezentacije projekta i na bežičnu mrežu mobilnog uređaja. Ime mreže i lozika se definiraju u /etc/wpa_supplicant/wpa_supplicant.conf koja se poziva iz /etc/network/interfaces datoteke. Primjetile smo da se Raspberry Pi računalu mijenja IP adresa, dok ESP8266 moduli traže statičku IP adresu pa sam na isti način kao i za eth0 sučelje postavila statičku adresi za wlan0 sučelje.

ESP8266 moduli komuniciraju sa Raspberyy Pijem putem MQTT (engl. Message Queue Telemetry Transport). To je protokol koji se koristi u machine-to-machine i Internet of Things projektima. Dizajniran je za razmjenu jednostavnih poruka principom pretplate i objavljivanja na određenu temu (engl. topic). Protokol zahtjeva posrednika koji prevodi poruke pošiljatelja te prilagođava i prosljeđuje svim primateljima. Pošiljatelji su svi uređaji koji se prijavljuju za objavljivanje na određenu temu dok su primatelji svi uređaju koji slušaju određenu temu, odnosno primaju poruke s nje. U ovom projektu korišten je programski alat Eclipse Mosquitto koji predstavlja posrednika za MQTT poruke, a on se nakon instalacije na Raspberry Piju pokreće sa pokretanjem operacijskog sustava. Ispravnost rada posrednika (engl. broker) moguće je provjeriti instalacijom mosquitto-clients alata koji nudi dvije naredbe za ljusku, mosquitto_sub (za pretplatu na temu) i mosquitto_pub (za objavljivanje podatka na temi). Sustav sam zamislila tako da se na Raspberry Pi modulu vrti u pozadini MQTT broker ( Eclipse Mosquitto) te da postoje 3 teme. Jedna tema je inTopic, na nju podsustav za detekciju pokreta zapisuje podatak ako se ultrasonični modul prepoznao pokret te Raspberry Pi sluša i prosljeđuje na outTopic temu koji sluša sustav za alarmiranje skrbnika. Na Raspberry Piju se vrti Python skripta koja sluša upravlja komunikacijom između 2 podsustava, tako da sluša inTopic i zapisuje na outTopic. Za stvaranje klijenta za MQTT protokol, bilo je potrebno koristiti biblioteku paho-mqtt.

Primjetile smo da ultrasonički senzor zna registrirati pokret, iako u stvarnosti nikoga nije bilo. Također, dok osoba prolazi u jednoj sekundi ultrasoničku senzor registrira 2 pokreta. Koristeći te informacije, python skripta na Raspberry Piju provjerava vremenski razmak između 2 podatka koja su stigla na inTopic temu te šalje podatak za paljenje na sustav za alarmiranje, samo ako je vremenski razmak manji od 2 sekunde.

Treća tema je logTopic, preko nje se svi podsustavi mogu javiti kako bi potvrdili da su se uspješno spojili na mrežu te da su poslali podatak. Napisana je Python skripta koja stalno slusa logTopic temu te dolazne podatke zapisuje u log.txt kako bi se omogućio lakši nadzor.

TODO: 28.6. popodne ce biti zavrseno

Komunikacija s ostalim podsustavima

Detektor za mjesečarenje sastoji se od tri podsustava, Raspberrija Pi 3 model B na koji je spojena web kamera, Arduina s WiFi modulom i ultrazvučnim senzorom, te još jednog Arduina s WiFi modulom i alarmom. Te tri jedinice predstavljaju detektor ustajanja, detektor izlaska iz prostorije (u alternativnoj upotrebi za dementne osobe to je detektor pada) i jedinicu za alarmiranje i međusobno komuniciraju WiFi vezom, dok se veza unutar jedinica (WiFi moduli i Arduino) ostvaruje serijski.

Komunikacija s vanjskim sustavima

Detektor za mjesečarenje osmišljen je kao samostalna jedinica i nije ovisan ni o kakvim vanjskim sustavima.

2017/otomas/projektni_zadatak.1498672918.txt.gz · Zadnja izmjena: 2023/06/19 16:10 (vanjsko uređivanje)