Vi er gruppe 9 som består av 4 data studenter ved Høgskolen i Sørøst Norge, campus Kongsberg.
Gruppen består av: Espen Rønningen, Christian Scott, Anders Kristiansen og Jan Helge Slettebø.
OPPGAVEN
Smart systems-prosjektet går ut på å designe et system som skal operere i sanntid og ikke ved at kun bruker skal sende inputs. Systemet skal ta sine egne avgjørelser.
Oppgaven som var gitt var helt åpen, så studentene sto fritt til å velge selv hva de ønsket å jobbe med innenfor de gitte rammene, beskrevet over.
22.August 2017
Dette er første dag med faget, og foreleserne gav en kort introduksjon med krav og forventninger. De gikk raskt gjennom tidligere prosjekter og gav en indikasjon på hva som var fordeler/ulemper ved at tidligere studenter hadde gjort valgene de gjorde med sine prosjekter. Studentene delte seg inn i grupper og samlet seg for å legge en slagplan for resten av semesteret. Vi avtalte at vi skulle bruke tiden fram til neste møte ved å komme med ønsker til hva vi skulle lage.
29 august 2017
Vi samlet oss på grupperom for å diskutere mulige løsninger på oppgaven.
Forslagene som gruppemedlemmene hadde var:
- Selvspillende sjakk
- Search and rescue drone
- Smarthus
- Fjernstyrt rygging av henger
Selvspillende sjakk:
Forslaget var at man kunne spille sjakk mot andre spillere som ikke var i samme bygg, eller brukte samme sjakkbrett.
Tanken var at en person kunne sitte med sitt sjakkbrett hos seg, utføre trekk og at disse trekkene ville bli utført på sjakkbrettet til den andre spilleren.
Search and rescue drone:
Vi ønsket å lage en drone som ved hjelp av IR kunne finne personer som var savnet, tatt av snøskred o.l. Tanken var at vi skulle lage en drone som man kunne sende opp i vanskelig terreng, som søkte med IR signaler (IR mottaker ble sydd inn i jakker o.l). Når dronen kom direkte over signalet, så skulle kraftige lys bli satt på, slik at redningsmannskapet lett kunne finne den/de savnede personen/personene.
Smarthus:
Ideen var at vi skulle lage et hus og bruke en arduino som kontrollerte forskjellige funksjoner i huset (ved hjelp av en database og et webinterface).
Fjernstyrt rygging av henger:
Man har en bil med henger som er koblet til en fjernkontroll. På kontrollen så har man to modus: en modus for bil og en modus for henger. Når man velger bil så styrer man bilen på vanlig måte. Velger man derimot henger, så styrer man hengeren dit den skal, men i realiteten så er det bilen man styrer. Bilen tar høyde for hvilken retning den må dreie hjulene for å få hengeren til å svinge den retningen den skal.
Vi tok en avstemning og valget falt på smarthus.
5. september 2017
Etter forrige ukes avstemning så satt vi igang med å planlegge hva vi ønsket at smarthuset skulle inneholde.
Under brainstormingen var dette forslagene til utstyr som vi kunne kontrollere:
- Lys
- Alarm
- Temperatur
- Lås
- Dyr – katteluke, mating, vann
- Plante pass
- Doorbell (vid/bilde)
- Markiser/persienner/temperaturregulering/solskjerming/vind
- “You’ve got mail” postkasse
- Værstasjon
- Garasjeåpner
- Brannalarm
- Slå av inaktive ting
- Alarmklokke
- Detektere hvor folk/dyr er?
- Julelys-show
- Butler/Jarvis
Vi ble også enige om at vi skulle utvikle en App som kunne styre huset, hvis tiden strakk til.
Christian tok kontakt med Joakim, for å få oppgaven godkjent, noe den ble.
12. September 2017
Christian anbefalte resten av gruppen å ta et kurs på Asp.Net, for dette ville hjelpe oss i forbindelse med oppsett av databasen og websiden. Det ble satt av 2 uker til dette da det var et ganske omfattende kurs.
19. September 2017
Vi fortsetter med gjennomgang av ASP.net. Vi har brukt microsoft sine tutorials til dette og Udemy.com.
Vi lagde i tillegg en foreløpig utstyrsliste over hva vi trodde vi kom til å trenge:
- 5 hvite led
- 1 LDR
- 1 RFID leser + chip
- 1 IR mottaker + kontroll
- 1 arduino
- 1 nettverks shield + wifi?/bluetooth?
- 1 4 x 7-segmenter
- 4 temperatursensor
- 1 pir detektor
- 1 mikrofon / lyd sensor
- 1 kamera
- 1 buzzer
Stue:
- Bord
- Sofa
- TV
Kjøkken:
- Bord
- Stoler
- benk?
Bad:
- Do
- Vask
- dusj/badekar?
Soverom:
- Seng
- skap?
- September 2017
Dagen ble brukt til å lage en To-do liste slik at vi fikk en anelse om tidsbruk og hvilke deler av prosjektet vi måtte prioritere. Listen ble som følger:
To-Do liste:
- Sjekke størrelse på lekemøbler
- Kanskje 3D printe
- Spør admin om laserkutting og 3D printing
- laserkutte hus/bygge hus av papp
- Lage server
- lage nettside
- sette sammen arduinoen med I/O
Lys
- 0%-100% (0-255)
- tid
- beholde lysstyrke i rommet
Temperatur
- tidsstyring
- manuell styring
- display current temp
Ringeklokke
- sende varsel
- maks en i minuttet (kan stilles på)
- lage lyd
PIR
- sende varsel
- alle lys blinker i minst ett minutt
- lager lyd
- aktiv eller ikke?
Babycall
- sende varsel ved lyd
Magnetbryter
- sende varsel
-
- alle lys blinker i minst ett minutt
- lager lyd
- aktiv eller ikke?
Vi lagde også et par scenarioer slik at alt ble satt i kontekst.
Scenarioer:
Pål kommer først hjem. Han bruker RFID for å låse opp døra og lyset i stua og kjøkkenet slås på og alarmen slås av. Han går inn og merker at temperaturen går opp til ønsket nivå (vanlig hjem modus) (alternativt: han sendte melding før han kom hjem slik at temperaturen allerede var god).
Pål er sistemann som forlater huset, han skrur på alarmen og døra låser seg selv etter han har gått ut. Lyset og temperaturen demper seg til forhåndsinnstilt nivå (ingen hjemme modus).
3. oktober 2017
Vi planlegger hvordan tabellene skal se ut i databasen og hvordan de er avhengige av hverandre.
Den foreløpig listen over tabellene er som følger:
Profile table:
- ID, Name, ScheduleID, Description,
Schedule table:
- ID, Starttime, Stoptime, WeekdayMask, Description
Zone table:
- ID, Name, Description
ZoneValues table:
- ID, ZoneID, ProfileID, ParamterTypeID, Preset
Equipment table:
- ID, ZoneID, Description, EquipmentType
EquipmentType table:
- ID, Name, In/Out, ParameterTypeID
EquipmentValues table:
- ID, EquipmentID, MinValue
Dependency table:
- ID, EquipmentID[EquipmentType.In/Out = In], EquipmentID[EquipmentType.In/Out = Out]
ParameterType table:
- ID, Name
Preset table:
- ID, ParameterTypeID, Name, MinValue
Resten av dagen ble brukt til å sette opp et forslag til hvordan vi så for oss at de forskjellige ferdig satte profilene kunne se ut:
Profile:
- p0, s1, Night time at home (weekdays)
- p1, s2, Night time at home (weekend)
Schedule: (WeekdayMask refers to starttime)
- s0, 00:00, 23:59, 127, Default time
- s1, 23:00, 07:00, b1111001, Night time
- s2, 00:00, 07:00, b0000011, Night time
Zone:
- z0, Livingroom
- z1, Entrance
- z2, Bedroom
ZoneValues:
- zv0, z0, p0, pt0, pr4
- zv1, z0, p0, pt1, pr5
- zv2, z2, p0, pt0, pr1
- zv3, z1, p0, pt0, pr4
- zv4, z1, p0, pt1, pr5
ParameterType:
- pt0, Temperature
- pt1, Lights
- pt2, Access
Preset:
- pr0, pt0, Comfort, 22
- pr1, pt0, Sleeping, 16
- pr2, pt1, Comfort, 80
- pr3, pt1, Reading, 100
- pr4, pt0, Empty, 18
- pr5, pt1, Empty, 0
- pr6, pt2, Open, 1
- pr7, pt2, Locked, 2
- pr8, pt2, Secured, 3
10. Oktober 2017
Begynner arbeidet med databasen og serveren. Vi planlegger at dette skal vi bruke god tid på slik at den blir stabil og akkurat slik vi ønsker. Ønsket er at det skal være enkelt å legge til/fjerne funksjoner uten å måtte endre kode strukturen i databasen.