MQTT Protocol

MQTT is a handy protocol for sending/receiving lightweight data.

What is MQTT

MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. The design principles are to minimise network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. These principles also turn out to make the protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium.

V5.0 and v3.1.1 are OASIS standards (v3.1.1 is also a standard for ISO)

Protocol

The standard ports for MQTT to use.

TCP/IP port 1883 is reserved with IANA for use with MQTT.
TCP/IP port 8883 is also registered, for using MQTT over SSL.

What security does MQTT support.

You can pass a user name and password with an MQTT packet in V3.1 of the protocol. Encryption across the network can be handled with SSL, independently of the MQTT protocol itself (it is worth noting that SSL is not the lightest of protocols, and does add significant network overhead). Additional security can be added by an application encrypting data that it sends and receives, but this is not something built-in to the protocol, in order to keep it simple and lightweight.

IoT Projekt med besøg fra Holland

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.

Virksomhedsbesøg fra Novicell

Vi var så heldige, at Grethe fik overtalt Novicell til at bruge et par timer sammen med vores programmeringselever. De nåede kun 2/3 igennem deres program, men det var fordi der var en rigtigt god dialog.

Novicell stillede med to personer, HR chef Mettstine Thuesen og Udviklingschef Lasse Legarth Cederström som varetager ansøgninger og ansættelse af programmører. Så eleverne kunne ikke komme tættere på kilden.

For SKP instruktørerne kunne vi være tilfredse med, to udefrakommende med stor erfaring i ansættelser, sagde de samme ting og lagde vægt på det samme som vi siger til vores elever. At fagligheden selvsagt skal være i top, men det er mere vigtigt hvordan du er som person. De fortalte eleverne om værdier, flink og flittig som medarbejder og virksomhed parameter.  Af indre værdier i flink og flittig lagde de eks.: ærlighed, fair overfor hinanden, fleksibilitet, selvmotiveret og at person havde selvindsigt.

Fantastisk og lærerigt at virksomhed stiller sig til rådighed for vores elever.

Super tak til Novicell for det.

Novicell indbydelse
Toggle Console (0)
No entries found.
Profiler (0 ms)
No entries found.
SQL (42 queries | 27.94 ms)
1.5981
SELECT name, val 
FROM www_wfconfig 
WHERE autoload = 'yes'
0.3769
SELECT `name`, `value` 
FROM `www_wfls_settings` 
WHERE `autoload` = 'yes'
0.3140
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'detectProxyRecommendation'
1.1151
SHOW FULL COLUMNS 
FROM `www_wfblocks7`
0.4790
SELECT * 
FROM `www_wfblocks7` 
WHERE `IP` = '\0\0\0\0\0\0\0\0\0\07' 
AND `type` = 7 
AND (`expiration` = 0 OR `expiration` > UNIX_TIMESTAMP())
0.2871
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'wordfenceCentralConnected'
0.3030
SELECT option_value 
FROM www_options 
WHERE option_name = 'acm_server_settings' 
LIMIT 1
0.3400
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'needsGeoIPSync'
0.3629
SELECT name, val, autoload 
FROM www_wfconfig 
WHERE name = 'detectProxyRecommendation'
0.3338
SELECT MAX(attackLogTime) 
FROM www_wfhits
0.3891
SELECT option_value 
FROM www_options 
WHERE option_name = 'wordfence_lastSyncAttackData' 
LIMIT 1
0.7830
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.6008
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.5410
SELECT * 
FROM `www_wfblocks7` 
WHERE `type` IN (1, 8, 9, 2, 5, 6) 
AND `IP` = '\0\0\0\0\0\0\0\0\0\07' 
AND (`expiration` = 0 OR `expiration` > UNIX_TIMESTAMP()) 
ORDER BY `blockedTime` DESC 
LIMIT 1
0.5250
SELECT option_value 
FROM www_options 
WHERE option_name = 'can_compress_scripts' 
LIMIT 1
0.4170
SELECT option_value 
FROM www_options 
WHERE option_name = 'ure_role_additional_options_values' 
LIMIT 1
1.2739
SHOW FULL COLUMNS 
FROM `www_wflivetraffichuman`
0.4511
SELECT COUNT(*) 
FROM www_wflivetraffichuman 
WHERE IP = '\0\0\0\0\0\0\0\0\0\07' 
AND identifier = 'F	V\nV|!' 
AND expiration >= UNIX_TIMESTAMP()
0.6540
SELECT SQL_CALC_FOUND_ROWS www_posts.ID 
FROM www_posts 
WHERE 1=1 
AND ( ( YEAR( www_posts.post_date ) = 2019 
AND MONTH( www_posts.post_date ) = 11 ) ) 
AND www_posts.post_type = 'post' 
AND (www_posts.post_status = 'publish') 
ORDER BY www_posts.post_date DESC 
LIMIT 0, 4
0.1740
SELECT FOUND_ROWS()
0.4742
SELECT www_posts.* 
FROM www_posts 
WHERE ID IN (1303,1297,1295)
1.4491
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 (1295, 1297, 1303) 
ORDER BY t.name ASC
0.5140
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (1295,1297,1303) 
ORDER BY meta_id ASC
0.5801
SELECT COUNT(*) 
FROM www_wflivetraffichuman 
WHERE IP = '\0\0\0\0\0\0\0\0\0\07' 
AND identifier = 'F	V\nV|!' 
AND expiration >= UNIX_TIMESTAMP()
0.7780
SELECT * 
FROM www_users 
WHERE ID = '2' 
LIMIT 1
1.1621
SELECT user_id, meta_key, meta_value 
FROM www_usermeta 
WHERE user_id IN (2) 
ORDER BY umeta_id ASC
0.9179
SELECT * 
FROM `www_yoast_indexable` 
WHERE `object_type` = 'date-archive' 
LIMIT 1
0.8898
SELECT * 
FROM `www_yoast_indexable` 
WHERE `object_type` = 'home-page' 
LIMIT 1
0.6659
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.5460
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.9789
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
2.2161
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.8180
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.7591
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.3459
SELECT * 
FROM www_posts 
WHERE ID = 92 
LIMIT 1
0.2699
SELECT * 
FROM www_posts 
WHERE ID = 92 
LIMIT 1
0.2921
SELECT * 
FROM www_posts 
WHERE ID = 92 
LIMIT 1
0.2539
SELECT * 
FROM www_posts 
WHERE ID = 92 
LIMIT 1
0.8819
SELECT www_posts.*, CHAR_LENGTH(www_posts.post_title) post_title_length 
FROM www_posts 
WHERE 1=1 
AND www_posts.ID NOT IN (1303) 
AND www_posts.post_type = 'encyclopedia' 
AND (www_posts.post_status = 'publish') 
ORDER BY post_title_length DESC
0.6819
SELECT www_posts.*, CHAR_LENGTH(www_posts.post_title) post_title_length 
FROM www_posts 
WHERE 1=1 
AND www_posts.ID NOT IN (1297) 
AND www_posts.post_type = 'encyclopedia' 
AND (www_posts.post_status = 'publish') 
ORDER BY post_title_length DESC
0.5410
SELECT post_id, meta_key, meta_value 
FROM www_postmeta 
WHERE post_id IN (1301) 
ORDER BY meta_id ASC
0.6070
SELECT www_posts.*, CHAR_LENGTH(www_posts.post_title) post_title_length 
FROM www_posts 
WHERE 1=1 
AND www_posts.ID NOT IN (1295) 
AND www_posts.post_type = 'encyclopedia' 
AND (www_posts.post_status = 'publish') 
ORDER BY post_title_length DESC
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/archive.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' => '/2019/11/',
  '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/11/',
  'REMOTE_PORT' => '52766',
  '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.242.55',
  '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' => '40524559',
  'HTTP_ACCEPT_ENCODING' => 'gzip',
  'HTTP_HOST' => 'www.ats-skpdatait.dk',
  'HTTP_X_ONECOM_HOST' => 'ats-skpdatait.dk',
  'HTTP_X_FORWARDED_PROTO' => 'https',
  'HTTP_X_ONECOM_FORWARDED_PROTO' => 'https',
  'HTTP_X_FORWARDED_FOR' => '3.239.242.55',
  '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' => 1611230363.6842610836029052734375,
  'REQUEST_TIME' => 1611230363,
  'ONECOM_CLIENT_IP' => '3.239.242.55',
);

Close