Korisnički alati

Site alati


2017:otomas:projektni_zadatak

Razlike

Slijede razlike između dviju inačica stranice

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
2017:otomas:projektni_zadatak [2017/06/28 18:09]
otomas [Vlastita uloga na projektu]
2017:otomas:projektni_zadatak [2023/06/19 16:11] (trenutno)
Redak 41: Redak 41:
 ====== Vlastita uloga na projektu ====== ====== 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.+Kolegica ​[[:​2017:​studenti:​movcarik:​start|Maja Ovčarik]] i ja smo bile zadužene za podsustav ​za detekciju izlaska osobe iz sobe ili pada s krevete i alarmiranje srkbnika te njihovu međusobnu komunikaciju. Zadatak smo obavile ​u timus time da je kolegica veći naglasak imala na implementaciji modula i njihov ispravan rad, dok je moja uloga bila osigurati komunikaciju ​među podsustavima ​te omogućiti da sustav samostalno ​radi.
  
-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 maskuTo je izvršava dodavanje odgovarajućih naredba ​u /etc/network/interfaces datoteciPotrebno 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.+Raspberry Pi ugrađenom računalu smo pristupali preko //​Ethernet//​ sučelja (//eth0//) te mu je potrebno ​postaviti statičku IP adresu. ​Budući da sustav komunicira koristeći Wi-Fi module, bilo je potrebno spojiti Raspberry Pi na kućnu bežičnu mrežu, a potom, radi prezentacije projekta, na bežičnu mrežu mobilnog uređaja (//wlan0 //sučelje)Primjetile smo da se Raspberry Pi računalo mijenja IP adresa, dok ESP8266 moduli traže statičku ​IP adresu ​pa je na isti način kao i za //​eth0// ​sučelje postavljena statička ​adresa ​za //wlan0// sučelje.
  
-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đajaIme 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 adresadok 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 Raspberry ​Pijem putem MQTT (engl. //Message Queue Telemetry Transport//​). Protokol zahtjeva posrednika koji prevodi poruke pošiljatelja te ih prilagođava ​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 njeU ovom projektu korišten je programski alat //Eclipse Mosquitto// koji predstavlja posrednika za MQTT porukeOn je nakon instalacije na Raspberry Piju namješten da se pokreće sa pokretanjem operacijskog sustava. Sustav je zamišljen tako da je na Raspberry Pi modulu u pozadini pokrenut MQTT posrednik (engl. ​//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. ​Raspberry Pi sluša //inTopic// temuanalizira podatak ​prosljeđuje na //​outTopic//​ temu koju sluša sustav ​za alarmiranje skrbnika.
  
-ESP8266 moduli komuniciraju sa Raspberyy Pijem putem MQTT (engl. //Message Queue Telemetry Transport//​). To je protokol koji se koristi ​//​machine-to-machine//​ i //Internet of Things// projektimaDizajniran 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 ​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 sustavaIspravnost rada posrednika (engl. //broker//) moguće je provjeriti instalacijom mosquitto-clients alata koji nudi dvije naredbe za ljusku, mosquitto_sub (za pretplatu na temu) 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 stvarnosti nikoga nije biloTakođer, dok osoba prolazi senzor registrira barem 2 pokreta te ih pošalje kraćim vremenskim intervalimaKoristeći te informacijePython skripta ​na Raspberry Piju provjerava vremenski razmak ​između 2 podatka koja su stigla na inTopic ​temu te je time sprječen da se sustav pokreće zbog neispravnog rada modula.
  
-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 informacijepython skripta ​na Raspberry Piju provjerava vremenski razmak izmeđ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žte da su poslali podatak. Napisana je Python skripta koja stalno sluša// logTopic// ​temu te dolazne podatke zapisuje u //log.txt// kako bi se omogućio lakši nadzor. U datoteci ///​etc/​rc.local//​ dodana ​je naredba koja pokreće skriptu za slušanje //​logTopic-a//​ pri samom pokretanju Raspberry Pi uređaja.
  
-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. U datoteci /​etc/​rc.local dodala ​sam naredbu koja pokreće ​skriptu za slušanje logTopica pri samom pokretanju Raspberry Pi uređaja.+Kako bi sustav mogao samostalno raditi, korišten je vremenski orijentiran raspoređivač //Cron //te se cijeli sustav detekcije mjesečarenja pokreće u 20 sati. U daljnim verzijama projekta, moguće je napraviti da preko neke aplikacije korisnik ​sam odredi kada hoće da mu se sustav pokrene ili je moguće uvesti neku tipku te da se sustav pritiskom na nju pokreće.
  
-Kako bi sustav samostalno mogao raditi, korišten je vremenski orijentiran raspoređivač //Cron //te sam uređivanjem crontab datoteke ​ namjestila da se cijeli sustav detekcije mjesečarenja pokreće u 20 sati. U daljnim verzijama projekta, moguće je napraviti da preko neke aplikacije korisnik sam odredi kada hoće da mu se sustav pokrene ili je moguće uvesti neku tipku te da se sustav pritiskom na tipku pokreće. +Pri izradi projekta, naišle smo na mnogobrojne probleme, ​većinom ​su svi bili vezani uz sklopovlje. Imale smo dosta problema sa WiFi modulima (ESP8266 i Arduino ​Wi-Fi modulom), napajanjem Arduina i ultrasoničkim senzorom. Jedan od većih problema se dogodio kada se koruptirala ​SD kartica te smo morali spasiti sve podatke i krenuti ispočetka sa instalacijom sustava.
- +
-Kako bih pomogla kolegiji, pronašla sam biblioteku i pjesmu koju smo koristili za inicijalizaciju i rad zvučnika +
- +
-Pri izradi projekta, naišle smo na mnogobrojne probleme, ​ali svi su bili vezani uz sklopovlje. Imale smo dosta problema sa WiFi modulima (ESP8266 i Arduino ​Wifi modulom), ​sa napajanjem Arduina i ultrasoničkim senzorom. Jedan od većih problema se dogodio ​tjedan dana prije prezentacije projekta, ​kada smo imali skoro sve gotovo. Komprimirala nam se SD kartica te smo morali spasiti sve podatke i krenuti ispočetka sa instalacijom sustava.+
  
  
2017/otomas/projektni_zadatak.1498673371.txt.gz · Zadnja izmjena: 2023/06/19 16:10 (vanjsko uređivanje)