Jaké sedlo má HPE na IoT koně?

7. 6. 2021
Doba čtení: 5 minut

Sdílet

Autor: Jakub Jirsák / stock.adobe.com
Internet věcí (IoT) si definitivně našel cestu do domácností, ale také do komerční sféry. Zjistěte, jak si tuto technologii můžete osedlat pomocí řešení z portfolia HPE Aruba.

Je dobé vidět, že po relativně dlouhém období, kdy se o internetu věcí psalo a mluvilo pouze ve spojení s budoucností, se situace změnila. IoT zařízení jsou již dnes běžnou součástí jak pracovního, tak i soukromého života. Je už celkem běžné mít doma chytrý termostat, hlasem ovládané žaluzie nebo mobilem řízený a konfigurovatelný robotický vysavač.

Ve firemním světě zjistíte, že při návštěvě supermarketu vás IoT senzor „zpozoruje“ a řekne, zdali kvůli omezení počtu lidí na prodejní ploše můžete či nemůžete vstoupit. V pěstírnách zeleniny zase umějí senzory zjistit vlhkost vzduchu ve skleníku a zajistit závlahu, nebo naopak zapnout odvětrávání a vlhkost snížit. Aby takto všechno fungovalo, jsou potřeba kvalitní IoT senzory a správný ovládací a analytický nástroj.

V HPE portfoliu najdeme spoustu produktů, které buď s IoT přímo souvisí, nebo se s IoT velmi dobře doplňují. Nemluvě o klasických serverech a úložištích, na kterých takový ovládací nebo analyzační nástroj běží.

Cesta může být cíl

Začněme zásadní technologií, a tou jsou přístupové body HPE Aruba, kterými IoT zařízení můžeme připojit do LAN sítě nebo do internetu. Pokud jste již doma připojovali nějaké zařízení, které by se dalo zařadit do kategorie IoT, pravděpodobně jste zjistili, že vašemu vysavači nebo chytré žárovce je jedno, co za AP/Wi-Fi router používáte. Prostě je v aplikaci nastavíte a IoT zařízení se o zbytek postará. Toto ovšem ve firemním prostředí neplatí. V tomto případě platí známé přísloví „I cesta může být cíl“. Na rozdíl od domácího prostředí, nejde při používání IoT zařízení pouze o výsledek, ale i o „cestu“.

Jako dobrý příklad lze využít v dnešní době velmi oblíbené osobní čtečky využívané v supermarketech ke scanování zboží rovnou při vkládání do košíku a poté k automatickému odbavení na pokladně. V tomto případě nejde provozovateli obchodu pouze o ušetření počtu pracovníků na pokladnách, ale třeba i o statistiku jaké produkty se prodávají. Tyto informace vám čtečka poskytne nehledě na to, jakou Wi-Fi používáte. Pokud je ale používaná Wi-Fi technologie HPE Aruba, jste schopni přidat ještě data o pohybu jednotlivých čteček.

Provozovatel je schopen zjistit, jakou trasu při nákupu využívá většina zákazníků a na ta nejfrekventovanější místa poté umisťovat promované zboží. Stejně je možné zjistit, jakou dobu průměrně zákazníci tráví u akčních produktů nebo jaká je průměrná doba čekání na volnou pokladnu. Poté je možné optimalizovat počet otevřených pokladem dle hodiny a dne v týdnu.

Zigbee jako součást balení

Monitorováním pohybu klientů ale možnosti Aruba Wi-Fi nekončí. Integrovanou součástí již téměř všech HPE Aruba access pointů je Zigbee radio. Pokud jste o této technologii nikdy neslyšeli, vězte, že je se jedná o velmi rozšířenou variantu propojení, specifickou pro IoT zařízení bez stálého napájení. K jakým účelům je možné jej využít?

Pokud zůstaneme u příkladu supermarketu, lze jej využít na chytré cenovky, které umožňují změnu cen za zboží v reálném čase. Umožňuje tedy obchodníkovi dvě hodiny před zavírací dobou zlevnit čerstvé pečivo nebo ovoce o 40 %, o hodinu později o 70 % atd. Jako další příklad je možné uvést Zigbee kompatibilní Assa Abloy zámky hotelových pokojů, které umožní vzdálené ovládání z recepce hotelu. Například v případě zabouchnutí karty od pokoje stačí hostovi pouze zavolat na recepci, autorizovat se a nechat si pokoj vzdáleně odemknout.

Ve výrobních a opravárenských podnicích ji lze využít k označení jednotlivých výrobků či zakázek a zjistit jejich pozici ve výrobním procesu. Toto velmi ulehčuje dohledání důležité zakázky a její následnou eskalaci.

V případě, že je Wi-Fi realizovaná na konkurenčních produktech, je potřeba pro využití Zigbee technologie pořídit další zařízení, takzvanou Zigbee gateway, které je často velmi nákladné. Je tedy důležité zopakovat, že Zigbee radio je již v ceně přístupových bodů HPE Aruba a poskytuje tedy vám, dodavatelům, konkurenční výhodu případně vyšší přidanou hodnotu pro zákazníka, než jsou schopni nabídnout vaši konkurenti s produkty jiných výrobců.

Ale co když zákazník pro ovládání IoT nevyužívá Zigbee, ale RF 868 MHz? I pro tyto případy máme řešení. Aruba umožňuje do přístupových bodů připojit USB dongle, který slouží k ovládání RF 868 MHz zařízení. Výhodou těchto senzorů je jejich dlouhá životnost na baterii v délce až 10 let.

Tato zařízení lze využít například na toaletách administrativních a veřejných budov pro oznámení docházejícího mýdla či toaletního papíru, případně jako počítadlo počtu použití toalety, aby se zajistila jejich pravidelná a efektivní dezinfekce.

CIF25

Pokud tedy se zákazníkem připravujete projekt, jehož součástí budou IoT zařízení, určitě zvažte, zda nebude HPE Aruba to nejvhodnější řešení.

Zdroj: Tech Data

Čtěte dále

Obrazem: Asbis provedl partnery cestou kolem světa technologických lídrů
Obrazem: Asbis provedl partnery cestou kolem světa technologických lídrů
Obrazem: 100Mega v Telči poručila dešti i hokeji
Obrazem: 100Mega v Telči poručila dešti i hokeji
Češi chtějí QR kódy, většina by je používala i při nakupování na internetu
Češi chtějí QR kódy, většina by je používala i při nakupování na internetu
MSP roste dvouciferně, firmy mají zájem o služby kybernetické bezpečnosti
MSP roste dvouciferně, firmy mají zájem o služby kybernetické bezpečnosti
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
ČD – Telematika a ČD-IS fúzují, vzniká hráč v ICT službách v dopravě a státní správě
ČD – Telematika a ČD-IS fúzují, vzniká hráč v ICT službách v dopravě a státní správě
'; 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'; } }
OSZAR »