{"id":1826,"date":"2016-12-07T01:32:18","date_gmt":"2016-12-07T00:32:18","guid":{"rendered":"http:\/\/dronesonen.hibu.no\/?p=1826"},"modified":"2016-12-08T06:55:43","modified_gmt":"2016-12-08T05:55:43","slug":"hvordan-holde-planten-i-live","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=1826","title":{"rendered":"Hvordan holde planten i live?"},"content":{"rendered":"<p>Hei<\/p>\n<p>Litt informasjon om hvordan vi i iGrow pr\u00f8ver \u00e5 holde planten i live.<\/p>\n<p>For \u00e5 ta avgj\u00f8relser p\u00e5 hva vi b\u00f8r gj\u00f8re med blomsten m\u00e5 vi vite litt om hvordan den har det. Det finnes en m\u00e5te \u00e5 se p\u00e5 hvor aktiv den er ved bruk av et IR kamera og ett bl\u00e5tt filter. Vi gj\u00f8re deretter en\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Normalized_Difference_Vegetation_Index\">NDVI<\/a>\u00a0 kalkulasjon.<\/p>\n<p>Teorien bak dette er at vegetasjon som er frisk vil absorbere det meste av det synlige lyset, men vil reflektere mer av det nesten infrar\u00f8dt lyset.\u00a0 Formelen bak dette er:<\/p>\n<p>NDVI = (NIR-VIS) \/ (NIR + VIS)<\/p>\n<p><a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_example.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1827\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_example-270x300.jpeg\" alt=\"ndvi_example\" width=\"270\" height=\"300\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_example-270x300.jpeg 270w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_example.jpeg 350w\" sizes=\"auto, (max-width: 270px) 100vw, 270px\" \/><\/a><\/p>\n<p>Dette b\u00f8r generere bilder som dette:<\/p>\n<p><a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/Perfect.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1828\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/Perfect-300x225.png\" alt=\"Good NDVI\" width=\"300\" height=\"225\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/Perfect-300x225.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/Perfect-768x576.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/Perfect.png 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Med No IR pi kameraet fikk vi etter mye tr\u00f8bbel ut dette:<\/p>\n<p><a href=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_test13.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1829\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_test13-300x229.jpg\" alt=\"Ikke s\u00e5 god NDVI \" width=\"300\" height=\"229\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_test13-300x229.jpg 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_test13-768x586.jpg 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2016\/12\/ndvi_test13-1024x782.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Som dere ser er ikke bildene i n\u00e6rheten av hva vi b\u00f8r ha for \u00e5 differensiere en frisk plante fra en ikke s\u00e5 frisk plante. Dette gj\u00f8r at denne l\u00f8sningen ikke vil v\u00e6re noe sikker m\u00e5te \u00e5 finne ut om planten har det bra. Vi har derfor bestemt at vi isteden detektere fargene planten har. Det er ikke optimalt, men det \u00e5 f\u00e5 til deteksjon via IR kamera har vist seg \u00e5 v\u00e6re mye vanskeligere enn vi trodde fra starten av.<\/p>\n<p>Hvordan skal vi holde planten i live?<\/p>\n<p>For \u00e5 samle inn sensor data har vi en Arduino. Der samler gutta fra elektro inn sensor data som de sender til Pi&#8217;en. N\u00e5r vi mottar data fra Arduinoen lagrer vi det i ett objekt som holder p\u00e5 alt av sensor data. Vi har ogs\u00e5 et objekt som holder p\u00e5 verdiene vi pr\u00f8ver \u00e5 oppn\u00e5.\u00a0 Dette gj\u00f8r det enkelt \u00e5 holde styr p\u00e5 om vi b\u00f8r sende ny informasjon til Arduinoen.\u00a0 Vi har ett kamera som vi regelmessig bruker til \u00e5 unders\u00f8ke hvordan det st\u00e5r til med planten. Her ser vi etter tegn som kan tyde at den ikke er frisk. Det hjelper oss n\u00e5r vi skal bestemme om vi vil endre forholdene til planten og se om det hjelper. Vi lagrer alle sensor data i en database slik at det er mulig \u00e5 finne ut litt om hvordan planten pleier \u00e5 v\u00e6re. Dette er viktig n\u00e5r vi detekterer\u00a0 avvik.\u00a0 N\u00e5r vi merker ett avvik er det flere ting vi kan pr\u00f8ve \u00e5 endre p\u00e5. Hvilket valg vi tar avhenger av hvordan informasjonen fra sensorene ser ut. Feks om vi merker at planten ikke ser s\u00e5 frisk ut og vi merker at det er lite fuktighet i jorden. Er det mest sannsynlig at planten vil trenge kortere intervall mellom vanninger. Er det derimot motsatt at planten har veldig mye fukt kan det v\u00e6re vi b\u00f8r pr\u00f8ve med ett kortere intervall mellom vanningene.<\/p>\n<p>For \u00e5 f\u00e5 til alt dette har vi brukt endel eksterne biblioteker. Vi bruker OpenCV for \u00e5 behandle bilder vi tar av blomsten. SQlite for database. Serial for kommunikasjon\u00a0 og Flask for \u00e5 integrere Python koden med web serveren.\u00a0 Vi kj\u00f8rer en tr\u00e5d for hoved l\u00f8kken som kj\u00f8rer rekursivt med jevne mellomrom slik at vi f\u00e5r oppdateringer for planten.<\/p>\n<p>Det er ogs\u00e5 mulig \u00e5 koble seg opp mot Pi&#8217;en for \u00e5 sjekke hvordan det st\u00e5r til med planten. Her bruker vi en web framework som heter\u00a0 Flask. Den muliggj\u00f8r kj\u00f8ring av en web server som trigger funksjoner n\u00e5r brukeren kommer inn p\u00e5 siden eller trykker p\u00e5 knapper. I v\u00e5rt tilfelle har vi laget mulighet for \u00e5 endre parametere til blomsten manuelt om man skulle \u00f8nske det. Brukeren vil ogs\u00e5 ha mulighet til \u00e5 se informasjon vi har samlet fra sensorene der. Vi har ogs\u00e5 implementert en webview i en Android applikasjon slik at det er mulig \u00e5 f\u00e5 mobil vennlig visning<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hei Litt informasjon om hvordan vi i iGrow pr\u00f8ver \u00e5 holde planten i live. For \u00e5 ta avgj\u00f8relser p\u00e5 hva vi b\u00f8r gj\u00f8re med blomsten m\u00e5 vi vite litt om hvordan den har det. Det finnes en m\u00e5te \u00e5 se p\u00e5 hvor aktiv den er ved bruk av et IR kamera og ett bl\u00e5tt filter. [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42,39],"tags":[],"class_list":["post-1826","post","type-post","status-publish","format-standard","hentry","category-igrow","category-smart-systems-2016"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/1826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1826"}],"version-history":[{"count":3,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/1826\/revisions"}],"predecessor-version":[{"id":2064,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/1826\/revisions\/2064"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}