On the 13th of March, we hosted a casual knowledge sharing session around the Google Assistant API’s and a do-it-yourself Google Assistant device. Together with our colleagues we built no less than 3 fully operational Google Assistants

THE PURPOSE OF THIS SESSION

One of the main objectives was to introduce the Raspberry Pi and additional hardware like the Voice-HAT, which stands for “Hardware Attached on Top”. Also understanding the concepts of Machine Learning and Artificial Intelligence applied within ‘smart assistants’ like Google Home, Siri or Alexa was something we wanted to achieve. 

Introduction and objectives

THE INGREDIENTS, PREPARATION AND ASSEMBLY OF COMPONENTS

To be able to build a Google Assistant, we needed both hardware and software components. We did some preparations on forehand, so the participants wouldn’t have to waste too much time on downloading Linux distributions and configuring the Raspberry Pi in terms of Wi-Fi connectivity and remote access via SSH and VNC.

After a short introduction to the project, the two teams started by assembling the different components. Most components can be connected easily by using the provided connector cables and attaching the Voice-HAT to the Raspberry’s GPIO pins. However, two wires of the 8 Ohm speaker needed to be screwed onto the connector on the Voice HAT.

The casing will be made out of card board, so we had to use our folding skills to build the box to house all electronical components.

Assembly of components

But off course our own human hardware needs input and energy as well, so we had a Pizza break before continuing with the software part of the project.

Fuel for the human hardware

CONFIGURING THE SOFTWARE

So, the hardware part is now done and we continue by inserting the Micro-SD card with the Raspbian Linux operating system distribution. This Micro-SD card was prepared and pre-configured to automatically connect with our QforIT Wi-Fi network. Also the VNC-service and SSH-service were enabled, so external access to both the graphical interface as the command line is possible. To be able to connect easily, we configured static IP-addresses on the Raspberry Pi’s. 

When the operating system has been booted up, we perform some checks to determine if all hardware has been assembled correctly. To do so, we run a prepared Python script check_audio.py. This script will try to play a test sound over the Voice-HAT and connected speaker. Also the user is asked to record a test message which will then be replayed by the device, so both the microphones and the speaker are tested.

GOOGLE CLOUD PLATFORM: GOOGLE ASSISTANT SDK

The real magic happens within the Google Cloud Platform. Voice Recognition will be done by sending audio fragments to Google’s servers via the Google Assistant API’s. First we log in to the Google Cloud Platform dashboard, to create a new project.

The project we create will be named ‘Voice Kit’, the next step is to enable the Google Assistant API.

The Google Assistant client on our Raspberry Pi needs to connect to this API, but to do so, it will need to authenticate with the proper credentials. The Google Cloud Platform dashboard allows us to create a credentials-file for downloading to the client.

After downloading the Json credentials file to the home directory on the Raspberry Pi, we need to reboot the system. The startup procedure of the Raspberry Pi has been configured so it will automatically start all necessary Voice Kit services and the credentials file will be loaded. After the system has been rebooted, we have a working Google Assistant!

Interacting with the Assistant is easy, just press the arcade button on top and start talking, or just say ‘Hey Google’ and ask questions like: 
– ‘What is the weather forecast?’ 
– ‘Can you sing me a song?’ 
– ‘What is the latest news’ 

Hey Google, Let’s talk!
The end-result in its full glory
We also like to thank Dennis van Gerwen from InnoTractor
for the demonstration of their amazing IoT CUBE. 

With the ease of Arduino and beauty of Narrow Band. The CUBE is a multi-sensor development device with NB-IOT and CAT-M1 connectivity. By being fully Arduino compatible, making Internet of Things use cases has never been so easy! Innotractor uses The CUBE to create fast and reliable end to end Proof of Concepts.

#TopTeam

Kenny van Sleuwen – 24-07-2018

Het Internet of Things biedt prachtige kansen voor groei. Maar wat als die groei ineens een knelpunt vormt, omdat je IoT-omgeving niet meeschaalt? Met deze aandachtspunten voorkom je schaalproblemen wanneer de innovatie zorgt voor wind in de rug.

Veel Internet of Things-projecten beginnen met een kleinschalig prototype of proof of concept (POC). Dat is logisch, want op die manier kun je zonder al te grote investeringen de waarde van een innovatie evalueren en hier enige ervaring mee opdoen.

Toch kan het hier ongemerkt al fout gaan. Een oplossing kan perfect werken op kleine schaal, maar gaan tegensputteren als dezelfde devices, platform-infrastructuur en applicatielogica ineens op grote schaal wereldwijd worden ingezet. Of wanneer diezelfde innovatie zorgt voor ongekende groeicijfers, en op het gewenste tempo meeschalen niet mogelijk of erg lastig blijkt. In het ergste geval moet je alle eerder gedane investeringen van de hand doen en opnieuw beginnen. Een kostbare en tijdrovende exercitie die de wilde groeiplannen wel eens ernstig in gevaar kan brengen.

“Met deze aandachtspunten voorkom je dat je IoT-omgeving bezwijkt onder zijn eigen gewicht.”

Zorg voor rekenkracht aan de edge

Hoe minder data je IoT-platform hoeft te verwerken, hoe gemakkelijker (en goedkoper) het meegroeit met je business. Al aan de edge – het uiterste punt van je netwerk, bij de sensoren en andere devices die de data uit de realiteit extraheren, kun je een efficiencyslag maken. Door hier al logica en filtering toe te passen, verklein je de uiteindelijke datastroom belast je de infrastructuur en het cloudplatform niet met onnodige dataopslag en rekenwerk.

Edge computing stelt je in staat om zo dicht mogelijk bij de brondata te werken. Alleen relevante data wordt gedistribueerd. Stel dat je sensoren hebt geplaatst bij een productiemachine, en je bent enkel geïnteresseerd in bepaalde excepties. Bijvoorbeeld bepaalde temperatuurwaarden die vroeg of laat kunnen zorgen voor storingen. Het is dan niet logisch om continu alle temperatuurwaarden richting de cloud te sturen, maar enkel wanneer er sprake is van waarden tussen bepaalde vooraf opgegeven conditiewaardes.

Door al bij de edge alle andere waarden te filteren, verklein je de datastroom richting de cloud servers aanzienlijk en hoef je minder rekenkracht mee op te schalen bij groei.

Breng een scheiding aan in cold/warm/hot data

Cloud- en bigdatatechnologieën zijn er op gericht om grote data volumes te injecteren, op te slaan, te verwerken en te analyseren. De meest voor de hand liggende aanpak is om de (subset) van IoT-data naar de cloud te sturen en hier allerlei slimme analytics, data science en machinelearningalgoritmes op los te laten.

Een andere efficiencyslag kun je maken door de data die je aan de randen afvangt goed uit te sorteren voordat ze naar de servers worden gestuurd. Data kun je hiervoor grofweg indelen in drie soorten: cold, warm en hot data. Cold data zijn gegevens die je slechts af en toe nodig hebt, voor een specifiek doel. Deze kunnen dus het beste bewaard worden in een statische, goedkopere opslagomgeving. Warm en hot data zijn gegevens die regelmatig (warm) of zelfs zeer regelmatig (hot) nodig zijn. Deze data gedijt het beste in een snelle in-memoryomgeving waar ze direct tot de beschikking staan.

Een zogenaamde ‘data ingestion layer’ kan deze schifting maken voordat de data richting de servers gaat. De IoT-oplossing regelt de time-series-opslag, archivering of ieder ander type dataopslag. Dat maakt opschalen veel eenvoudiger en voordeliger.

Bouw op een schaalbaar cloudplatform

Het IoT-platform moet dus uitbreidbaar zijn voor klanten en partners voor schaalbaarheid op basis van de klantbehoefte en groei. Een IoT-oplossing is enkel schaalbaar als het onderliggende datamanagementplatform en de infrastructuur dat ook zijn. Een goede onderliggende mulitcloud-infrastructuur zorgt voor flexibiliteit en schaalbaarheid. Goed schaalbare en gangbare cloudplatforms zijn bijvoorbeeld Microsoft Azure, Amazon AWS of Google Cloud Platform. Het is dan ook raadzaam te controleren of de IoT-omgeving deze platforms ondersteunt. Dit voorkomt dat je de gehele IoT-oplossing moet vervangen omdat de onderliggende serverarchitectuur niet of niet goed schaalbaar blijkt te zijn.

Zorg voor slimme communicatieprotocollen

Een schaalbaar cloudplatform is een goed beginpunt, maar het is natuurlijk ook belangrijk om je applicatie en landschapsarchitectuur schaalbaar te hebben. Want als je meerdere zware instances kunt launchen op in de cloud, wil dat niet zeggen dat de datastroom goed gebalanceerd wordt, als je niet aan een queuing en load balancing mechanisme gedacht hebt. Wanneer het aantal devices aan de randen groeit, groeit ook het datavolume en (dus) de serverbelasting.

Slimme communicatieprotocollen kunnen beter overweg met grote datavolumes. Deze protocollen verzorgen de communicatie tussen de eindpunten en de datamanagementlaag en kunnen het verkeer ‘sturen’. Bij piekbelasting kan zo’n protocol als een soort load balancer de last slim verdelen. Daardoor wordt niet een enkele server of instance zwaar belast.

Op die manier maak je efficiënter gebruik van je beschikbare verwerkingscapaciteit en is opschalen minder snel nodig. Een IoT-gateway stelt je in staat om met een brede variatie aan communicatieprotocollen te werken en interactie op te zetten met andere IoT-connectiviteitsplatformen. Hierdoor ben je uiterst flexibel in het koppelen en onboarden van nieuwe IoT-devices.

Laat je proceslogica meeschalen

Het Internet of Things wordt vaak genoemd als de key enabler van digitale transformatie. Ieder ‘ding’ van productiemachine naar consumentenproduct is connected en in staat om data uit te wisselen.

Vergeet echter niet dat ook de achterliggende proceslogica schaalbaar moet zijn. Je kunt je ruwe data nog zo goed ‘voorgestorteerd’ hebben, wanneer je deze data niet meer goed kan koppelen aan je functionele bedrijfsprocessen, heb je alsnog een probleem. Naast de IoT-service spelen dus ook andere services zoals machine learning, big data, analytics en integratie een belangrijke rol. Dit is een belangrijk aspect in de selectie en schaalbaarheid van het bredere onderliggende cloudplatform.

Stel dat vanuit de sensordata een factuur moet worden getriggerd richting het ERP-backendsysteem, dan moet de proceslogica in staat zijn om de juiste data op het juiste moment geïntegreerd richting de ERP-backend te sturen. Ook deze proceslogica moet bij schaalvergroting blijven functioneren.

Houd rekening met security

Met de groei van aantal devices in je IoT-omgeving, groeit ook het aanvalsoppervlak. Iedere sensor of andere connected device is in potentie een ingang voor hackers. Daarom is het van groot belang dat de security vanaf dag één goed geregeld is, dus ook wanneer de IoT-omgeving nog zeer kleinschalig is. Hackers hebben namelijk aan een zwakke plek genoeg om toegang tot het netwerk te verkrijgen.

Het managen van operationele security voor de gekoppelde IoT-devices is dus van wezenlijk belang. Functionaliteit voor devicemanagement stelt je in staat om devices te onboarden en te configureren. De ondersteuning van securitystandaarden en autorisatieconcepten speelt hierin een belangrijke rol. Met remote device-ondersteuning is het mogelijk om op afstand nieuwe securitypolicies en autorisaties uit te rollen op de edge-devices. Hiermee behoud je de controle en regie over je IoT-devices vanuit een centrale device management-omgeving.

Martin Jaspers – 04-06-2018

Our integration package, QforIT Error Alerting for SAP Cloud Platform Integration, has been available for some time in the SAP App Center, https://www.sapappcenter.com/apps/13577#!overview but is now also available as a downloadable package on the discover page in SAP Cloud Platform Integration.

We developed this integration package to automatically monitor your tenant via OData API requests and to have SAP Cloud Platform Integration send email alerts in case of errors/issues (using priorities according to the ITIL priority matrix). You can customize the parameters, priorities, timeframes etc, based on your own requirements.

Please read the rest of the blog here on SAP Community Network:
https://blogs.sap.com/2018/06/04/qforit-error-alerting-for-sap-cloud-platform-integration-revised/

Rik Dingemans – 15-05-2018

On the 25th of April Q for IT and SAP hosted the SAP CodeJam about IoT Foundation and SAP Cloud Platform Integration. Several speakers from Q for IT and SAP covered interesting topics about integration and the Internet of Things. A very exciting and fully-packed CodeJam with lots of enthusiasts from all-over the community was the result.

Please read the rest of the blog here on SAP Community Network:
https://blogs.sap.com/2018/05/15/sap-codejam-sap-cloud-platform-iot-integration/

Kenny van Sleuwen – 09-04-2018

Het Interne Het Internet of Things (IoT) transformeert de supply chain. Elke schakel van de keten genereert enorme hoeveelheden data die verdere optimalisatie van allerlei processen mogelijk maken. Maar hoe haal je de relevante informatie uit al die data? Voor mensen is dit als zoeken naar een speld in een hooiberg. Machine learning kan uitkomst bieden.

Machine learning (ML) is een verzamelterm voor systemen en algoritmes die van data kunnen leren, er patronen in herkennen en op basis daarvan nauwkeurige voorspellingen doen. ML heeft de afgelopen jaren een grote vlucht genomen. Tegenwoordig maakt iedereen vrijwel dagelijks gebruik van ML-technologie. Bijvoorbeeld als je een zoekopdracht uitvoert via Google, een serie uitzoekt op Netflix of online je winkelmandje vult.

Machine learning en het IoT

Consumententoepassingen als deze zijn het meest zichtbaar, maar de echte ML-revolutie voltrekt zich in het bedrijfsleven. Organisaties beschikken doorgaans over enorme hoeveelheid ongestructureerde en gestructureerde data over hun supply chain. Daardoor zien ze door de bomen het bos niet meer. Deze ontwikkeling wordt versterkt door de opkomst van het IoT. Sensoren vergroten die databerg verder, en generen allerlei gegevens. Van machines in de fabriek en de transportmiddelen tot de verpakkingen en het product zélf. Het resultaat is een nog grotere poel data over de bedrijfsprocessen.

Vaak gaat het om data met een timestamp, gevangen in silo’s. Het is daardoor lastig om de data in verband te brengen met de achterliggende businessprocessen, laat staan om daar conclusies uit te trekken. Machine learning kan helpen om in deze enorme databergen patronen te ontdekken. Zo kan deze technologie context geven en de data koppelen aan businessprocessen. Daarmee brengt ML inzichten en verbanden naar de oppervlakte die met het blote oog niet zichtbaar zijn.

Geen doel op zich

Dataverzameling is geen doel op zich. Het gaat erom dat je big data omzet in bruikbare informatie voor de business. Die data-analyse moet bovendien zeer nauwgezet en realtime plaatsvinden, zodat de informatie actueel en betrouwbaar is. ML-technologie zorgt ervoor dat organisaties kunnen beschikken over ‘actionable’ inzichten. Zodat de gehele keten en de klanten ook echt profiteren van het IoT.

Laten we even inzoomen op de digitale supply chain. ML creëert in elke schakel van de keten nieuwe mogelijkheden om slimmer, sneller en beter te werken. Een aantal voorbeelden:

1. Prognoses

Predictive analytics zorgt voor betere prognoses op het gebied van bijvoorbeeld inkoop, sales en marketing. Een groot voordeel ten opzichte van traditionele forecasting is dat machine learning veel meer (typen) data laat meewegen. Zo kun je de vraag naar een product voorspellen op basis van historische verkoopcijfers, de marktomstandigheden, het sentiment op social media en tal van andere variabelen. Ook kunnen de algoritmes automatisch rekening houden met de nauwkeurigheid van eerdere prognoses.

ML maakt deze voorspellende kwaliteiten beter naarmate de tijd verstrijkt en de historische dataset groeit. Het algoritme ‘leert’ van het verleden en kan zo nog beter anticiperen op de markt.

2. Logistiek

Sensoren maken inzichtelijk waar producten zich bevinden en wat de status ervan is. Denk bijvoorbeeld aan thermometers die continu registreren of voedingsmiddelen op de juiste temperatuur gekoeld worden. Ook de transportmiddelen kunnen gegevens uitzenden over hun locatie, snelheid en het brandstofverbruik. Realtime analyse van deze data helpt onder meer bij het waarborgen van de kwaliteit van goederen en het anticiperen op logistieke problemen. ML-algoritmen kunnen relaties ontdekken tussen bijvoorbeeld temperatuur en brandstofverbruik en hierin patronen ontdekken. Dat levert waardevolle informatie voor allerlei optimalisaties. Door machine learning gaat dit bovendien steeds beter.

3. Onderhoud

Als een machine, voertuig of onderdeel kapot gaat, kan dat de hele keten verstoren. Tijdig onderhoud verkleint het risico op plotselinge uitval, maar hoe richt je dit zo efficiënt mogelijk in?

Het antwoord is predictive maintenance. Stel dat er continu een hapering plaatsvindt in een airco-unit, verlichting of remsysteem. Door met bijvoorbeeld dataloggers en machine learning-algoritmen continu een vinger aan de pols te houden, komen patronen naar de oppervlakte. Het systeem leert bijvoorbeeld dat er in 80 procent van de gevallen binnen 24 uur na een bepaalde temperatuurstijging een storing optreedt. Dankzij het herkennen van dit soort patronen uit enorme hoeveelheden data kan een organisatie tijdig ingrijpen en storingen verhelpen voordat ze optreden.

4. Orders en betalingen

Machine learning komt eveneens van pas bij het stroomlijnen van financiële processen, zoals het afhandelen van facturen of het verwerken van orders. Het is bijvoorbeeld mogelijk om een systeem te trainen zodat het binnenkomende betalingen ook zonder ordernummer kan koppelen aan openstaande facturen, bijvoorbeeld op basis van lopende orders en de transactiegeschiedenis. Hierdoor hoeven organisaties minder werk uit te besteden en houdt de afdeling finance meer tijd over voor strategische taken.

Een andere waardevolle toepassing van ML op de commerciële afdeling is bijvoorbeeld het matchen van tenders. Bij het binnenkomen van een grote tender is tijd van essentieel belang. ML kan een tender razendsnel matchen aan eerdere tenders en zo de organisatie alvast de nodige informatie verschaffen over bijvoorbeeld vereisten of matchende producten. Dat bespoedigt het tenderproces.

5. Klantcontact

Met de groei van aantal devices in je IoT-omgeving, groeit ook het aanvalsoppervlak. Iedere sensor of andere connected device is in potentie een ingang voor hackers. Daarom is het van groot belang dat de security vanaf dag één goed geregeld is, dus ook wanneer de IoT-omgeving nog zeer kleinschalig is. Hackers hebben namelijk aan een zwakke plek genoeg om toegang tot het netwerk te verkrijgen.

De moderne consument eist een vloeiende, probleemloze customer journey. Elke teleurstellende interactie met de klant – bijvoorbeeld via de app, mobiele website, social media, per e-mail of telefonisch – kan een reden zijn om af te haken. Machine learning stelt organisaties in staat om data uit alle touchpoints samen te voegen en te analyseren, zodat een 360-gradenbeeld van de klant ontstaat. Ook kan de klantenservice worden versterkt met chatbots die de klant steeds beter leren begrijpen en adviseren.

Een goed voorbeeld van slim gebruik van ML op de winkelvloer is realtime gezichtsherkenning. Moderne customer experience-platforms kunnen dankzij ML-algoritmen gezichten van klanten herkennen op videobeelden, maar ook hun emotie bepalen aan de hand van hun gezichtsuitdrukking. Op die manier kun je als retailer beoordelen hoe klanten reageren op bijvoorbeeld aanbiedingen op de winkelvloer.

De potentie van machine learning is enorm, zeker als de technologie is geïntegreerd in een gebruiksvriendelijk platform waar alle data samenkomen. Het interpreteren van de informatie en deze vertalen naar creatieve oplossingen voor de digitale supply chain is namelijk nog steeds mensenwerk. Voor nu in ieder geval.

De wereld kijkt momenteel met grote ogen naar Tesla, Airbnb, Netflix en Alibaba. Dat zijn de bedrijven ‘where all the magic happens’ en waar onze euro’s, dollars en bitcoins naartoe gaan. Vaak worden ze in één adem genoemd met de termen ‘disruptieve innovatie’ en ‘toekomstgerichte businessmodellen’. Maar wat is het geheim achter deze uitblinkers? En hoe kunnen producerende bedrijven de baan vrij maken voor indrukwekkende innovaties?

Trends als 3D-printen, Internet of Things, domotica, robotica en slimme sensoren kunnen de maakindustrie veranderen. Niet alleen door het bestaande productieproces efficiënter te maken, maar op een veel hoger niveau; door het concept ‘produceren’ een compleet nieuwe invulling te geven. In dit blog bespreek ik hoe u uw organisatie klaarstoomt voor innovatie met impact. 

De digitale economie trakteert ons op de meest prachtige technologische ontwikkelingen die elkaar in razendsnel tempo opvolgen. Als echte tech- & innovation watcher volg ik die ontwikkelingen op de voet. Zo bestel ik de nieuwste gadgets, ben ik een actief social media-gebruiker en heb ik mijn nieuwbouwwoning volledig geautomatiseerd met behulp van sensoren en domotica-oplossingen.

Ook binnen de maakindustrie volg ik de ontwikkelingen op de voet. En dat zijn er behoorlijk wat: zelflerende robots, slimme sensoren & devices, autonome voertuigen, Internet of Things, hyperconnectivity en cloud computing. Al deze prachtige innovaties vallen de komende jaren samen. Hét moment dus voor de maakindustrie om hier maximaal van te profiteren, het businessmodel te herdefiniëren en gigantische stappen te zetten.

Er is echter een ‘maar’

Mijn ervaring is dat de maakindustrie zich nog wat terughoudend opstelt. Dat is ook niet zo gek. Producerende bedrijven verdienen immers hun geld met een stabiel en continu productieproces. Een nieuw businessmodel klinkt dan behoorlijk risicovol. Gelukkig is het mogelijk om de interne processen zó in te richten dat de aankomende innovaties vrijwel geruisloos worden opgenomen in de huidige en toekomstige manier van werken.

Dat vraagt om nadere uitleg

Er zit momenteel een aanzienlijke disconnect tussen de technologische mogelijkheden en de dagelijkse praktijk bij productiebedrijven. En tussen wat klanten aan de voorkant zien en wat er op de werkvloer plaatsvindt. Als ik bij bedrijven over de shopfloor wandel, dan ziet het er lang niet altijd modern en innovatief uit. Regelmatig zie ik stapels papier, disconnected systemen en operators die overlopen met administratieve taken. Deze houdt bedrijven tegen om écht grote stappen te maken, om maximaal te profiteren van optimalisaties en innovaties.

Een voorbeeld

Klanten zijn steeds meer gewend om hun eigen producten samen te stellen. Ze verwachten een gebruiksvriendelijke webshop met een veelheid aan configuratiemogelijkheden. Maar voor een correcte aansturing van het productieproces is dat niet genoeg; de klantspecifieke productie moet in alle lagen van de productie- en IT organisatie zijn doorgedrongen. Wanneer een order binnenkomt in het ERP-systeem, moet die informatie moeiteloos kunnen worden doorgezet naar de werkvloer. Zo krijgt de klant wat hij verwacht: een soepele afstemming en een korte levertijd.

De oplossing

Om maximaal te profiteren van die enorme digitale krachten, moet de technologische ruggengraat van een organisatie daarop zijn ingericht. Ofwel: organisaties moeten het ‘IT-huis’ klaarmaken voor de toekomst.

Steeds meer bedrijven investeren daarom nu al in nieuwe, innovatieve oplossingen met als belangrijkste doel om real-time en met meer eenvoud te kunnen werken. En vervolgens de grote stap te zetten van Make-To-Stock naar Make-To-Order. Dat is wat ik bedoel met échte innovatie.

De disconnect tussen kantoorvloer en productievloer maakt het voor veel bedrijven moeilijk om te profiteren van de digitale economie. Maar als u een brug slaat tussen alle losse IT-systemen en ze real-time met elkaar laat communiceren, rolt u als het ware de rode loper uit voor de technologie van de toekomst. En bovenal: uw klanten krijgen de snelle levering en service die ze verwachten. Laat die disruptieve innovatie maar komen!

Martin Jaspers – 17-07-2017

Two weeks ago we joined twenty SAP customers and –partners in the design council workshop for SAP cloud platform integration and API Design. This is an event organized by SAP in which they show future developments, ask for feedback on these developments and listen to customer- and partner experiences with the existing functionality.

Please read the rest of the blog here on SAP Community Network:
https://blogs.sap.com/2017/07/17/design-council-workshop-for-sap-cloud-platform-integration-and-api-design/