Internet věcí se přesouvá k podnikům

28. 3. 2025

Sdílet

Autor: Jakub Jirsák / stock.adobe.com
Dodavatelé řešení internetu věcí si mohou mnout ruce – jejich příjmy vzrostou na nevídané úrovně a zásluhu na tom má především rostoucí počet firemních nasazení.

Globální trh s internetem věcí (IoT) přesáhne v roce 2028 hodnotu 1,8 bilionu dolarů, v roce 2023 to přitom byla zhruba polovina, tvrdí nová studie firmy GlobalData.

Řešíte problematiku zabezpečení internetu věcí?

To představuje průměrnou míru nárůstu (CAGR) ve výši 13,5 %. Tento růst přitom potáhnou především podniková nasazení, navíc posílené technologiemi, jako je satelitní sítě nebo umělá inteligence.

Přestože je internet věcí významnou příležitostí pro podnikové projekty, aby se zajistilo jeho široké přijetí a úspěch, je potřeba vyřešit řadu problémů s IoT spojených, jako jsou obavy o bezpečnost či roztříštěné standardy, uvádí zpráva GlobalData.

Obrat s IoT v letech 2019–2028

Zdroj: Global Data, březen 2025

Podle ní podnikový IoT bude do roku 2028 vytvářet téměř tři čtvrtiny příjmů dodavatelů, zatímco spotřebitelský segment IoT bude v roce 2028 tvořit 28 %, což je pokles o dva procentní body oproti roku 2023.

Analytici si hodně slibují od nových komunikačních technologií včetně satelitních, které rozšíří možnosti připojení k internetu věcí.

Video ke kávě

Máte čas na rychlé a informativní video?

Dnes už poměrně rozšířené sítě 5G se dovolují případy použití, které mají nižší složitost, náklady i spotřebu energie.

Sítě typu NTN (non-terrestrial networks) zase umožní zařízením ve velmi vzdálených lokalitách odesílat a stahovat data prostřednictvím satelitů. 

Tyto technologie jsou ideální pro zařízení, která vyžadují nepřetržité připojení a delší výdrž baterie, ale nepotřebují celou řadu funkcí 5G, jako je vyšší šířka pásma či nízká latence, uvádí GlobalData.

Katalyzátorem internetu věcí bude také umělá inteligence, resp. její podoba AIoT (umělá inteligence věcí). Ta zahrnuje zabudování umělé inteligence přímo do zařízení, softwaru a služeb internetu věcí.

Pište pro Computertrends

 

Máte dobré nápady, máte co říct? Chcete se podělit o své znalosti se čtenáři Computertrends?

Je tu ideální příležitost. V redakci neustále hledáme externí autory, kteří rozšíří náš záběr. Nabízíme možnost publikací zajímavých článků nejen na webu, ale také v našem tištěném magazínu.

Pokud máte zájem, ozvěte se šéfredaktorovi na e-mail: radan.dolejs@iinfo.cz

Spojení dat shromážděných připojenými senzory a výpočetními prvky AI podporuje automatizovaný provoz či prediktivní údržbu. AI přitom může běžet v cloudu, s určitými omezeními přímo v zařízeních IoT anebo v kombinaci obou přístupů.

Bezpečnost a roztříštěnost ale i nadále zůstává pro nasazení internetu věcí problémem. Navzdory probíhajícímu úsilí neexistují žádné celosvětově přijaté bezpečnostní standardy pro internet věcí.

Cyber25

Mnoho zařízení internetu věcí má navíc omezenou výpočetní kapacitu a nelze na nich spustit účinný bezpečnostní software, takže jsou tato zařízení a sítě, ke kterým jsou připojená, poměrně zranitelné vůči kybernetickým útokům.

Vestavěná AIoT může určitou roli při zvyšování bezpečnosti na úrovni zařízení IoT sehrát. Tam, kde je zapotřebí více náročných výpočetních prostředků s nízkou latencí, ale bude nejlepší volbou edge computing, dodává GlobalData.

 

Computertrends si můžete objednat i jako klasický časopis. Je jediným odborným magazínem na českém a slovenském trhu zaměreným na profesionály v oblasti informačních a komunikačních technologií (ICT). Díky silnému zázemí přináší aktuální zpravodajství, analýzy, komentáře a přehledy nejnovejších technologií dříve a na vyšší odborné úrovni, než ostatní periodika na tuzemském trhu.

Obsah Computertrends je určen odborníkům a manažerům z firem a institucí, kteří se podílejí na rozhodovacím procesu při nákupu ICT technologií. Jednotlivá čísla si můžete objednat i v digitální podobě.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }