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.

Skriv et svar

Toggle Console (0)
No entries found.
Profiler (0 ms)
No entries found.
SQL (47 queries | 25.81 ms)
1.6930
SELECT name, val 
FROM www_wfconfig 
WHERE autoload = 'yes'
0.3619
SELECT `name`, `value` 
FROM `www_wfls_settings` 
WHERE `autoload` = 'yes'
0.3409
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'detectProxyRecommendation'
1.1230
SHOW FULL COLUMNS 
FROM `www_wfblocks7`
0.4840
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.2701
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'wordfenceCentralConnected'
0.2899
SELECT option_value 
FROM www_options 
WHERE option_name = 'acm_server_settings' 
LIMIT 1
0.3431
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'needsGeoIPSync'
0.2649
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'detectProxyRecommendation'
0.2570
SELECT MAX(attackLogTime) 
FROM www_wfhits
0.4029
SELECT option_value 
FROM www_options 
WHERE option_name = 'wordfence_lastSyncAttackData' 
LIMIT 1
0.6540
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.4930
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.4430
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.5391
SELECT option_value 
FROM www_options 
WHERE option_name = 'can_compress_scripts' 
LIMIT 1
0.4101
SELECT option_value 
FROM www_options 
WHERE option_name = 'ure_role_additional_options_values' 
LIMIT 1
1.1661
SHOW FULL COLUMNS 
FROM `www_wflivetraffichuman`
0.3400
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.6859
SELECT www_posts.* 
FROM www_posts 
WHERE 1=1 
AND ( ( YEAR( www_posts.post_date ) = 2019 
AND MONTH( www_posts.post_date ) = 1 
AND DAYOFMONTH( www_posts.post_date ) = 16 ) ) 
AND www_posts.post_name = 'iot-holland' 
AND www_posts.post_type = 'post' 
ORDER BY www_posts.post_date DESC
1.3008
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) 
ORDER BY t.name ASC
0.4070
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (522) 
ORDER BY meta_id ASC
0.3259
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.4861
SELECT * 
FROM www_users 
WHERE ID = '145' 
LIMIT 1
0.6330
SELECT user_id, meta_key, meta_value 
FROM www_usermeta 
WHERE user_id IN (145) 
ORDER BY umeta_id ASC
0.6170
SELECT * 
FROM `www_yoast_indexable` 
WHERE `object_id` = '522' 
AND `object_type` = 'post' 
LIMIT 1
0.3390
SELECT option_value 
FROM www_options 
WHERE option_name = 'https_migration_required' 
LIMIT 1
0.4070
SELECT * 
FROM www_posts 
WHERE ID = 650 
LIMIT 1
0.3488
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (650) 
ORDER BY meta_id ASC
0.5119
SELECT * 
FROM `www_yoast_indexable` 
WHERE `object_type` = 'home-page' 
LIMIT 1
0.4292
SELECT `ancestor_id` 
FROM `www_yoast_indexable_hierarchy` 
WHERE `indexable_id` = '197' 
ORDER BY `depth` DESC
0.5810
SELECT * 
FROM `www_yoast_indexable` 
WHERE `id` IN ('40') 
ORDER BY FIELD(id,40)
0.5488
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.4089
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.8240
SELECT www_posts.* 
FROM www_posts 
WHERE 1=1 
AND www_posts.ID IN (310,311,312,313,314,337,365,399,1162,1163,1185,1482) 
AND www_posts.post_type = 'nav_menu_item' 
AND ((www_posts.post_status = 'publish')) 
ORDER BY www_posts.menu_order ASC
0.9320
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (310,1163,311,312,313,314,1185,1162,399,365,1482,337) 
ORDER BY meta_id ASC
0.6931
SELECT www_posts.* 
FROM www_posts 
WHERE 1=1 
AND www_posts.ID IN (290,292,295,297,1183,76,362,1470,80) 
AND www_posts.post_type = 'page' 
AND ((www_posts.post_status = 'publish')) 
ORDER BY www_posts.post_date DESC
0.5550
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (1470,1183,362,297,295,292,290,80,76) 
ORDER BY meta_id ASC
0.4201
SELECT * 
FROM www_posts 
WHERE ID = 92 
LIMIT 1
0.3650
SELECT * 
FROM www_posts 
WHERE ID = 92 
LIMIT 1
0.4160
SELECT * 
FROM www_posts 
WHERE ID = 92 
LIMIT 1
0.3419
SELECT * 
FROM www_posts 
WHERE ID = 92 
LIMIT 1
0.7710
SELECT t.term_id, tt.parent, tt.count, tt.taxonomy 
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') 
AND tr.object_id IN (522) 
ORDER BY t.name ASC
0.3750
SELECT term_id, meta_key, meta_value 
FROM www_termmeta 
WHERE term_id IN (23) 
ORDER BY meta_id ASC
0.5260
SELECT www_posts.* 
FROM www_posts 
WHERE ID IN (640,646,651)
0.4139
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (640,646,651) 
ORDER BY meta_id ASC
0.7172
SELECT www_posts.*, CHAR_LENGTH(www_posts.post_title) post_title_length 
FROM www_posts 
WHERE 1=1 
AND www_posts.ID NOT IN (522) 
AND www_posts.post_type = 'encyclopedia' 
AND (www_posts.post_status = 'publish') 
ORDER BY post_title_length DESC
0.5491
SELECT SQL_CALC_FOUND_ROWS www_comments.comment_ID 
FROM www_comments 
WHERE ( comment_approved = '1' ) 
AND comment_post_ID = 522 
AND comment_parent = 0 
ORDER BY www_comments.comment_date_gmt ASC, www_comments.comment_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/single.php
[18] => themes/busiprof/header.php
[19] => themes/busiprof/index-bannerstrip.php
[20] => themes/busiprof/content.php
[21] => themes/busiprof/comments.php
[22] => themes/busiprof/sidebar.php
[23] => themes/busiprof/footer.php
Globals
$_GET = array (
);

$_POST = array (
);

$_COOKIE = array (
);

$_SESSION = array (
);

$_SERVER = array (
  'SERVER_SOFTWARE' => 'Apache',
  'REQUEST_URI' => '/2019/01/16/iot-holland/',
  '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' => '/2019/01/16/iot-holland/',
  'REMOTE_PORT' => '58510',
  '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' => '34.204.186.91',
  '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' => '353077317',
  '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' => '34.204.186.91',
  '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' => 1618689061.9161670207977294921875,
  'REQUEST_TIME' => 1618689061,
  'ONECOM_CLIENT_IP' => '34.204.186.91',
);

Close