IoT Projekt med besøg fra Holland

Skrevet af: johannes Rasmussen

Programmørerne i SKP har i øjeblikket besøg af 6 elever fra Holland. Eleverne kommer fra DaVinci College i Dordrecht, som er en af vores internationale skolesamarbejdspartnere. De skal være her i 4 uger og det kommer til at køre som en workshop.

Eleverne har stor indflydelse på projektets udformning og det produkt de skal aflevere. De er inddelt i tre gruppe, som har valgt:

  • Lysstyrring: mood light, dimming o. lign. styrring af lys i forskellige rum
  • Miljø styring, temperatur, luftfugtighed og andre indeklima faktorer som indstilles og/eller aflæsses
  • Post- og pakkekasse, som er på nettet og fortæller ejeren hvornår der er kommet post. Samme gruppe sidder med Cloud server, der samler tråde fra alle grupper og giver muligheder for indstillinger og aflæsninger gennem en mobil app.

I går var jeg sammen med de Hollandske elever i AROS og de fik selvfølgelig set Boy og Regnbuen. Det var hyggeligt og de virkede engageret og vi snakkede om deres skole, uddannelsens sammensætning og niveau og AROS er jo perfekt til at komme ind på kunst og kultur. Der vil være flere sociale arrangementer under besøget.

Der er flere medarbejdere involveret fra AARHUS TECH:

Lene og Rasmus som er inde over kommunikationen og aftaler med DaVinci og de hollandske undervisere. Flemming som er international koordinator og Yvette Dyhr tager heldigvis tager sig af papirarbejdet. Endelig er det mig som håndtere workshoppen og leder slagets gang i hverdagen.

IoT Holland

Jeg har været i Holland i 4 uger, hvor jeg har arbejdet med et IoT projektet og igennem denne her blog vil jeg fortælle om min oplevelser og hvad jeg har lært.

Lidt om mig

Før vi går i dybden, med alt det jeg har lavet og den slags, vil jeg fortælle noget om mig selv. Vi kan starte med mit navn, jeg hedder Johannes og er 17 år gammel, jeg går på Aarhus Tech som EUX datatekniker elev med speciale i programmering og på tidspunktet, hvor jeg skriver det her, har jeg været på skolen i let over 1.5 år og er lige nu i SKP.

Hvordan/Hvorfor

Som jeg har sagt går jeg i SKP, og når man går i SKP kan man komme ud og rejse gratis eller næsten, da skolen betaler for flyet og bolig, men du skal selv betale for mad og sjov.

 Skolen ordner også det med den anden skole hvor du skal gå i den tid hvor du er væk.

Det er jo alt sammen godt, men Hvorfor tog jeg af sted, væk fra mor og far, væk fra trygge rammer og væk fra Danmark især nu når ”racen” kendt som IT Elever er bange for sol og andre mennesker.

 Godt spørgsmål, mine grunde er for at blive bedre til engelsk, fordi alt foregår på engelsk hvis du ikke havde gættet det og det er en god måde at gøre det på, en anden grund til at jeg tog afsted er meget simpel, at jeg bare gerne vil rejse, det bliver ikke mere simpelt end det, men den vigtigste grund til at jeg tog af sted er at jeg vil godt finde ud af hvordan det er at arbejde i et andet land og hvordan det er arbejde med folk som du ikke har mødt før.

Projektet

Men nok mig du er ikke kommet her for at læse om mig men for at læse om projektet så hvad går det så ud på for det må jo være et stort projekt siden det tog en hel måned, vores opgave var at vi 4 elever to fra Holland og to fra Danmark skulle lave et system til ham her svampefaren som hedder Patrick, som ejer et firma da laver gourmet svampe (Kwekersgilde) fra kaffegrums.

 Hvad skulle det her så kaldt system kunne gøre? Det skulle gøre mange ting, men overordnede skulle det kunne tage oplysninger fra svampene, temperaturen, Co2 niveau og fugtigheden.

 De tre oplysninger skulle sendes til en server, hvorefter serveren skulle gemme de oplysninger, og finde ud af om de skulle Fx.

 Skrues op for varmen og så videre, så med andre ord skulle det her system kontrollere næsten alt da har noget med svampens levevilkår, og samle data om dem.

 Hvordan gjorde vi så det, vi klarede opgaven ved at tage en Raspberry pi, som vi så gjorde til en server.

 Den måde vi gjorde den til en server var ved at installere noget som hedder Domoticz, og hvad er det så? tænker du nok.

 Domoticz, er et program som du installer på en computer, og det er lavet til hjemme automatisering, sådan noget med sensorer, dataindsamling, sikkerhed, og den slags ting.

 Da vi havde fået Domoticz op og køre, tilsluttede vi nogen ESP´er, en ESP er en lille Wi-Fi chip, på ESP’en installerede vi noget som hed ESPeasy og det program gør at vi kan tilslutte ESP´erne til Domoticz.

 Men hvorfor skulle tilslutte nogle ESP´er til vores system?

Det er fordi at vi ikke bare kunne tilslutte nogle sensorer direkte til Domoticz, så derfor skulle vi have en mellem mand.

 Og så tilsluttede vi 3 sensorer til vær af ESP´erne, så 2 af ESP´erne havde 1 temperaturen sensor, 1 Co2 og 1 fugtigheds sensorer, og alt det kom ned i 2 små kasser.

 Vi skulle også sætte et netværk op, så vi kunne sende data til Domoticz, så det gjorde vi også fra bunden.

 Inde på Domoticz programmerede vi alt så temperaturen, Co2 niveau og fugtigheden passet til svampenes levevilkår og der efter var vi næsten færdige, vi skulle bare installer en app på Patricks mobil så han kunne se hvad da sker i hans farm slev når han ikke er der.

 Det er Ca. det vi lavede, dette er godt nok et forkort version af det for hvis jeg skulle skrive det hele ned vil jeg ikke være færdig nu.

Toggle Console (0)
No entries found.
Profiler (0 ms)
No entries found.
SQL (46 queries | 18.10 ms)
1.3549
SELECT name, val 
FROM www_wfconfig 
WHERE autoload = 'yes'
0.3228
SELECT `name`, `value` 
FROM `www_wfls_settings` 
WHERE `autoload` = 'yes'
0.2749
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'detectProxyRecommendation'
0.8779
SHOW FULL COLUMNS 
FROM `www_wfblocks7`
0.3891
SELECT * 
FROM `www_wfblocks7` 
WHERE `IP` = '\0\0\0\0\0\0\0\0\0\0:' 
AND `type` = 7 
AND (`expiration` = 0 OR `expiration` > UNIX_TIMESTAMP())
0.2341
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'wordfenceCentralConnected'
0.2539
SELECT option_value 
FROM www_options 
WHERE option_name = 'acm_server_settings' 
LIMIT 1
0.1969
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'needsGeoIPSync'
0.2229
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'detectProxyRecommendation'
0.2551
SELECT MAX(attackLogTime) 
FROM www_wfhits
0.2761
SELECT option_value 
FROM www_options 
WHERE option_name = 'wordfence_lastSyncAttackData' 
LIMIT 1
0.5040
SELECT *, CASE WHEN `type` = 3 THEN 0 WHEN `type` = 4 THEN 1 WHEN `type` = 7 THEN 2 WHEN `type` = 6 THEN 3 WHEN `type` = 5 THEN 4 WHEN `type` = 9 THEN 5 WHEN `type` = 8 THEN 6 WHEN `type` = 2 THEN 7 WHEN `type` = 1 THEN 8 ELSE 9999 END AS `typeSort`, CASE WHEN `type` = 3 THEN `parameters` WHEN `type` = 4 THEN `parameters` WHEN `type` = 1 THEN `IP` WHEN `type` = 9 THEN `IP` WHEN `type` = 5 THEN `IP` WHEN `type` = 6 THEN `IP` WHEN `type` = 7 THEN `IP` WHEN `type` = 2 THEN `IP` WHEN `type` = 8 THEN `IP` ELSE 9999 END AS `detailSort` 
FROM `www_wfblocks7` 
WHERE `type` IN (4) 
AND (`expiration` = 0 OR `expiration` > UNIX_TIMESTAMP()) 
ORDER BY `typeSort` ASC, `id` DESC
0.5372
SELECT *, CASE WHEN `type` = 3 THEN 0 WHEN `type` = 4 THEN 1 WHEN `type` = 7 THEN 2 WHEN `type` = 6 THEN 3 WHEN `type` = 5 THEN 4 WHEN `type` = 9 THEN 5 WHEN `type` = 8 THEN 6 WHEN `type` = 2 THEN 7 WHEN `type` = 1 THEN 8 ELSE 9999 END AS `typeSort`, CASE WHEN `type` = 3 THEN `parameters` WHEN `type` = 4 THEN `parameters` WHEN `type` = 1 THEN `IP` WHEN `type` = 9 THEN `IP` WHEN `type` = 5 THEN `IP` WHEN `type` = 6 THEN `IP` WHEN `type` = 7 THEN `IP` WHEN `type` = 2 THEN `IP` WHEN `type` = 8 THEN `IP` ELSE 9999 END AS `detailSort` 
FROM `www_wfblocks7` 
WHERE `type` IN (3) 
AND (`expiration` = 0 OR `expiration` > UNIX_TIMESTAMP()) 
ORDER BY `typeSort` ASC, `id` DESC
0.3891
SELECT * 
FROM `www_wfblocks7` 
WHERE `type` IN (1, 8, 9, 2, 5, 6) 
AND `IP` = '\0\0\0\0\0\0\0\0\0\0:' 
AND (`expiration` = 0 OR `expiration` > UNIX_TIMESTAMP()) 
ORDER BY `blockedTime` DESC 
LIMIT 1
0.4940
SELECT option_value 
FROM www_options 
WHERE option_name = 'can_compress_scripts' 
LIMIT 1
0.2990
SELECT option_value 
FROM www_options 
WHERE option_name = 'ure_role_additional_options_values' 
LIMIT 1
0.9880
SHOW FULL COLUMNS 
FROM `www_wflivetraffichuman`
0.3300
SELECT COUNT(*) 
FROM www_wflivetraffichuman 
WHERE IP = '\0\0\0\0\0\0\0\0\0\0:' 
AND identifier = 'F	V\nV|!' 
AND expiration >= UNIX_TIMESTAMP()
0.5081
SELECT t.*, tt.* 
FROM www_terms AS t 
INNER JOIN www_term_taxonomy AS tt ON t.term_id = tt.term_id 
WHERE tt.taxonomy IN ('category') 
AND t.slug IN ('besoeg-fra-udlandet')
0.3610
SELECT t.*, tt.* 
FROM www_terms AS t 
INNER JOIN www_term_taxonomy AS tt ON t.term_id = tt.term_id 
WHERE tt.taxonomy IN ('category') 
AND t.term_id IN ( 31 )
0.4511
SELECT t.*, tt.* 
FROM www_terms AS t 
INNER JOIN www_term_taxonomy AS tt ON t.term_id = tt.term_id 
WHERE tt.taxonomy IN ('category') 
AND t.slug = 'besoeg-fra-udlandet' 
LIMIT 1
0.6380
SELECT SQL_CALC_FOUND_ROWS www_posts.ID 
FROM www_posts LEFT JOIN www_term_relationships ON (www_posts.ID = www_term_relationships.object_id) 
WHERE 1=1 
AND ( www_term_relationships.term_taxonomy_id IN (31) ) 
AND www_posts.post_type = 'post' 
AND (www_posts.post_status = 'publish') 
GROUP BY www_posts.ID 
ORDER BY www_posts.post_date DESC 
LIMIT 0, 4
0.1278
SELECT FOUND_ROWS()
0.2229
SELECT www_posts.* 
FROM www_posts 
WHERE ID IN (1297,522)
0.5791
SELECT t.*, tt.*, tr.object_id 
FROM www_terms AS t 
INNER JOIN www_term_taxonomy AS tt ON t.term_id = tt.term_id 
INNER JOIN www_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id 
WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') 
AND tr.object_id IN (522, 1297) 
ORDER BY t.name ASC
0.2511
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (522,1297) 
ORDER BY meta_id ASC
0.2370
SELECT COUNT(*) 
FROM www_wflivetraffichuman 
WHERE IP = '\0\0\0\0\0\0\0\0\0\0:' 
AND identifier = 'F	V\nV|!' 
AND expiration >= UNIX_TIMESTAMP()
0.3691
SELECT t.*, tt.* 
FROM www_terms AS t 
INNER JOIN www_term_taxonomy AS tt ON t.term_id = tt.term_id 
WHERE tt.taxonomy IN ('wp_theme') 
AND t.name IN ('busiprof')
0.2539
SELECT www_posts.* 
FROM www_posts 
WHERE 1=1 
AND www_posts.post_name IN ('category-besoeg-fra-udlandet','category-31','category') 
AND ( 0 = 1 ) 
AND www_posts.post_type = 'wp_template' 
AND ((www_posts.post_status = 'publish')) 
GROUP BY www_posts.ID 
ORDER BY www_posts.post_date DESC
0.2539
SELECT * 
FROM www_users 
WHERE ID = '2' 
LIMIT 1
0.3560
SELECT user_id, meta_key, meta_value 
FROM www_usermeta 
WHERE user_id IN (2) 
ORDER BY umeta_id ASC
0.3479
SELECT * 
FROM `www_yoast_indexable` 
WHERE `object_id` = '31' 
AND `object_type` = 'term' 
LIMIT 1
0.2789
SELECT * 
FROM `www_yoast_indexable` 
WHERE `object_type` = 'home-page' 
LIMIT 1
0.2489
SELECT `ancestor_id` 
FROM `www_yoast_indexable_hierarchy` 
WHERE `indexable_id` = '323' 
ORDER BY `depth` DESC
0.2079
SELECT option_value 
FROM www_options 
WHERE option_name = 'https_migration_required' 
LIMIT 1
0.1590
SELECT option_value 
FROM www_options 
WHERE option_name = 'site_logo' 
LIMIT 1
0.3018
SELECT t.*, tt.* 
FROM www_terms AS t 
INNER JOIN www_term_taxonomy AS tt ON t.term_id = tt.term_id 
WHERE t.term_id = 15
0.2661
SELECT tr.object_id 
FROM www_term_relationships AS tr 
INNER JOIN www_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id 
WHERE tt.taxonomy IN ('nav_menu') 
AND tt.term_id IN ('15') 
ORDER BY tr.object_id ASC
0.5350
SELECT www_posts.* 
FROM www_posts 
WHERE 1=1 
AND www_posts.ID IN (310,311,312,313,314,399,1162,1163,1185,1482,1633,1634) 
AND www_posts.post_type = 'nav_menu_item' 
AND ((www_posts.post_status = 'publish')) 
ORDER BY www_posts.menu_order ASC
1.0211
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (310,1163,311,312,313,314,1185,1162,399,1634,1633,1482) 
ORDER BY meta_id ASC
0.4630
SELECT www_posts.* 
FROM www_posts 
WHERE 1=1 
AND www_posts.ID IN (290,292,295,297,1183,76,1620,1628,1470) 
AND www_posts.post_type = 'page' 
AND ((www_posts.post_status = 'publish')) 
ORDER BY www_posts.post_date DESC
0.3910
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (1628,1620,1470,1183,297,295,292,290,76) 
ORDER BY meta_id ASC
0.3181
SELECT www_posts.* 
FROM www_posts 
WHERE ID IN (650)
0.1950
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (650) 
ORDER BY meta_id ASC
0.3049
SELECT www_posts.* 
FROM www_posts 
WHERE ID IN (640,646,651)
0.2542
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (640,646,651) 
ORDER BY meta_id ASC
Templates
[0] => themes/busiprof/theme_setup_data.php
[1] => themes/busiprof/child_theme_compatible.php
[2] => themes/busiprof/functions/menu/busiprof_nav_walker.php
[3] => themes/busiprof/functions/menu/default_menu_walker.php
[4] => themes/busiprof/functions/woo/woocommerce.php
[5] => themes/busiprof/functions/font/font.php
[6] => themes/busiprof/functions/breadcrumbs/breadcrumbs.php
[7] => themes/busiprof/functions/scripts/script.php
[8] => themes/busiprof/functions/widgets/custom-widgets.php
[9] => themes/busiprof/functions/commentbox/comment-function.php
[10] => themes/busiprof/functions/customizer/customizer-pro-feature.php
[11] => themes/busiprof/functions/customizer/custo_general_settings.php
[12] => themes/busiprof/functions/customizer/custo_sections_settings.php
[13] => themes/busiprof/functions/customizer/customizer-archive.php
[14] => themes/busiprof/functions/customizer/customizer_recommended_plugin.php
[15] => themes/busiprof/functions/customizer-notify/busiprof-customizer-notify.php
[16] => themes/busiprof/functions/class-tgm-plugin-activation.php
[17] => themes/busiprof/category.php
[18] => themes/busiprof/header.php
[19] => themes/busiprof/content.php
[20] => themes/busiprof/sidebar.php
[21] => themes/busiprof/footer.php
Globals
$_GET = array (
);

$_POST = array (
);

$_COOKIE = array (
);

$_SESSION = array (
);

$_SERVER = array (
  'SERVER_SOFTWARE' => 'Apache',
  'REQUEST_URI' => '/category/besoeg-fra-udlandet/',
  'ONECOM_DOMAIN_NAME' => 'ats-skpdatait.dk',
  'ONECOM_DOMAIN_ROOT' => '/customers/b/3/2/ats-skpdatait.dk/',
  'ONECOM_MEMORYLIMIT' => '2684354560',
  'ONECOM_CPU_SHARES' => '4096',
  'ONECOM_EXEC' => 'latest',
  'ONECOM_DIR_LAYOUT_VER' => '0',
  'CONTENT_LENGTH' => '0',
  'HTTP_CONNECTION' => 'close',
  'SCRIPT_NAME' => '/index.php',
  'QUERY_STRING' => '',
  'REQUEST_METHOD' => 'GET',
  'SERVER_PROTOCOL' => 'HTTP/1.1',
  'GATEWAY_INTERFACE' => 'CGI/1.1',
  'REDIRECT_URL' => '/category/besoeg-fra-udlandet/',
  'REMOTE_PORT' => '53276',
  'SCRIPT_FILENAME' => '/customers/b/3/2/ats-skpdatait.dk/httpd.www/index.php',
  'SERVER_ADMIN' => 'support@one.com',
  'CONTEXT_DOCUMENT_ROOT' => '/var/www',
  'CONTEXT_PREFIX' => '',
  'REQUEST_SCHEME' => 'https',
  'REMOTE_ADDR' => '3.239.58.199',
  'SERVER_PORT' => '80',
  'SERVER_ADDR' => '10.27.3.13',
  'SERVER_NAME' => 'www.ats-skpdatait.dk',
  'SERVER_SIGNATURE' => '',
  'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
  'HTTP_X_VARNISH' => '14782685',
  'HTTP_ACCEPT_ENCODING' => 'gzip',
  'HTTP_X_ONECOM_HOST' => 'ats-skpdatait.dk',
  'HTTP_X_ONECOM_BRAND' => 'one.com',
  'HTTP_X_FORWARDED_PROTO' => 'https',
  'HTTP_X_ONECOM_FORWARDED_PROTO' => 'https',
  'HTTP_X_FORWARDED_FOR' => '3.239.58.199',
  'HTTP_HOST' => 'www.ats-skpdatait.dk',
  'HTTP_ACCEPT_LANGUAGE' => 'en-US,en;q=0.5',
  'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  'HTTP_USER_AGENT' => 'CCBot/2.0 (https://commoncrawl.org/faq/)',
  'ENV_VCV_ENV_ADDONS_ID' => 'one.com',
  'ENV_VCV_TOKEN_URL' => 'https://wpapi.one.com/api/v1.0/plugins/visualcomposer/activate',
  'ONECOM_ONE_PHOTO_URL' => 'https://onephoto.one.com/domain_discover',
  'ONECOM_WP_ADDONS_API' => 'https://wpapi.one.com',
  'ONECOM_WEBSHOP_HOST' => 'webshop1.cst.webpod11-cph3.one.com',
  'HTTP_AUTHORIZATION' => '',
  'HTTPS' => 'on',
  'ONECOM_TMPDIR' => '/customers/b/3/2/ats-skpdatait.dk//tmp',
  'DOMAIN_NAME' => 'ats-skpdatait.dk',
  'ONECOM_DOCUMENT_ROOT' => '/customers/b/3/2/ats-skpdatait.dk/httpd.www',
  'DOCUMENT_ROOT' => '/customers/b/3/2/ats-skpdatait.dk/httpd.www',
  'REDIRECT_STATUS' => '200',
  'REDIRECT_ENV_VCV_ENV_ADDONS_ID' => 'one.com',
  'REDIRECT_ENV_VCV_TOKEN_URL' => 'https://wpapi.one.com/api/v1.0/plugins/visualcomposer/activate',
  'REDIRECT_ONECOM_ONE_PHOTO_URL' => 'https://onephoto.one.com/domain_discover',
  'REDIRECT_ONECOM_WP_ADDONS_API' => 'https://wpapi.one.com',
  'REDIRECT_ONECOM_WEBSHOP_HOST' => 'webshop1.cst.webpod11-cph3.one.com',
  'REDIRECT_HTTP_AUTHORIZATION' => '',
  'REDIRECT_HTTPS' => 'on',
  'REDIRECT_ONECOM_CPU_SHARES' => '4096',
  'REDIRECT_ONECOM_MEMORYLIMIT' => '2684354560',
  'REDIRECT_ONECOM_EXEC' => 'latest',
  'REDIRECT_ONECOM_DIR_LAYOUT_VER' => '0',
  'REDIRECT_ONECOM_TMPDIR' => '/customers/b/3/2/ats-skpdatait.dk//tmp',
  'REDIRECT_ONECOM_DOMAIN_ROOT' => '/customers/b/3/2/ats-skpdatait.dk/',
  'REDIRECT_ONECOM_DOMAIN_NAME' => 'ats-skpdatait.dk',
  'REDIRECT_DOMAIN_NAME' => 'ats-skpdatait.dk',
  'REDIRECT_ONECOM_DOCUMENT_ROOT' => '/customers/b/3/2/ats-skpdatait.dk/httpd.www',
  'REDIRECT_DOCUMENT_ROOT' => '/customers/b/3/2/ats-skpdatait.dk/httpd.www',
  'FCGI_ROLE' => 'RESPONDER',
  'PHP_SELF' => '/index.php',
  'REQUEST_TIME_FLOAT' => 1632736253.75026798248291015625,
  'REQUEST_TIME' => 1632736253,
  'ONECOM_CLIENT_IP' => '3.239.58.199',
);

Close