Posts

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 – 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.