Showing posts with label azure. Show all posts
Showing posts with label azure. Show all posts

3/15/19

Week #11's Wednesday Evening Training: Control your Raspberry Pi using LUIS on Azure (part 2)

This session was the second part of two sessions where we got an introduction on the Azure Cognitive Speech Services, combined with LUIS, .NET Core and the Raspberry Pi. Read my first post on this topic for a quick introduction of the topics involved and a quick "how to" to get started yourself.


So how did we proceed this evening?

This evening, we continued with our lab. Some of us experimented using Android based mobile phones for speech input. Also, we did some experiments controlling other hardware than LED's.  There was lot's of discussion and brainstorming on other applications and alternative implementations like MQTT and NodeRED. Far more than we could handle in just one evening. Therefore, we'll continue our labs in the next Wednesday Evening Training on IoT (that will be a "klusavond" on april 3rd).

Thanks Ronnie Jongenelen, for sharing your knowledge with us! Great stuff!




Further reading

Do you want to read more on the topics in this post? Here are some resources...

On Azure:
Microsoft Azure - Cognitive Services: https://azure.microsoft.com/nl-nl/services/cognitive-services/
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
RaspberryIO - Pi's hardware access from .NET: https://github.com/unosquare/raspberryio/blob/master/README.md
Setting up Raspbian and .NET Core 2.0 on a Raspberry Pi: https://blogs.msdn.microsoft.com/david/2017/07/20/setting_up_raspian_and_dotnet_core_2_0_on_a_raspberry_pi/

On the Raspberry Pi:
Raspberry Pi: https://en.wikipedia.org/wiki/Raspberry_Pi
Raspberry Pi (official site): https://www.raspberrypi.org
Comparison of single-board computers: https://en.wikipedia.org/wiki/Comparison_of_single-board_computers
Raspbian Debian-based computer operating system for the Raspberry Pi: https://en.wikipedia.org/wiki/Raspbian

On LUIS:
LUIS: http://www.luis.ai
Tutorial: Recognize intents from speech using the Speech SDK for C#: https://docs.microsoft.com/nl-nl/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp
Learn Azure (learn at your own pace): https://docs.microsoft.com/en-us/learn/azure/

On Azure/LUIS/IoT combination:
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
Control your Raspberry Pi using LUIS on Azure (Part 1): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-1/#blog
Control your Raspberry Pi using LUIS on Azure (Part 2): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-2/#blog
Control your Raspberry Pi using LUIS on Azure (Part 3): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-3/#blog
Handson Lab - Combine LUIS and the Azure Speech Service to control a Raspberry Pi (sources with Ronnies' hands on lab): https://github.com/rwjjongenelen/CognitiveServices.Speech.IntentRecognition

Other stuff:
A nice and free tool for designing electronic circuits: http://fritzing.org

Next week's Wednesday Evening Training

Next week we will continue our Quantum computing sessions. We'll have a lot of topics to discuss, e.g. complexity theory, Cryptography, optimization and machine learning (quantum neural nets). Looking forward to this!

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions on my blog and on LinkedIn: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

3/8/19

Week #10's Wednesday Evening Training: Control your Raspberry Pi using LUIS on Azure (part 1)

This session was the first part of two sessions where we got an introduction on the Azure Cognitive Speech Services, combined with LUIS, .NET Core and the Raspberry Pi.


Raspberry Pi

In many Wednesday Evening Trainings we experimented with the Raspberry Pi. This is a  is a series of small single-board computers developed by the Raspberry Pi Foundation to promote teaching of basic computer science in schools and in developing countries. The Raspberry Pi can be also be used in home automation, industrial automation and commercial products. Several generations of Raspberry Pis have been released. All models feature a Broadcom system on a chip (SoC) with an integrated ARM-compatible central processing unit (CPU) and on-chip graphics processing unit (GPU). The Raspberry Pi Foundation provides Raspbian, a Debian-based Linux distribution for download, as well as third-party Ubuntu, Windows 10 IoT Core, RISC OS, and specialised media centre distributions.[109] It promotes Python and Scratch as the main programming languages, with support for many other languages. .NET Core 2.0 applications will also run on a Raspberry Pi (see the resources below).

LUIS

LUIS (Language Understanding Intelligent Service) is a machine learning-based service to build natural language into apps, bots, and IoT devices. LUIS enables you to integrate natural language understanding into your applications without having to create machine learning models. Instead, you can focus on the application's logic.

A client application for LUIS is any application that communicates with a user in natural language to complete a task. The application sends utterances (text) to the LUIS natural language processing endpoint API and receives the results (interpretation) as a JSON response. In this JSON response, Intents describe how LUIS determines understands what a user wants to do. Entities recognized by LUIS will also be returned. The client application then uses the Intents to make decisions about how to fulfill the user's requests.

For this workshop, a (free) LUIS account was needed. This could be created on the LUIS portal at https://www.luis.ai. This portal also offers an excellent intro into Artificial Intelligence.



So what did we do this evening?

We built a prototype based on a sample app with which we could control two LED lights on a Raspberry Pi by spoken commands. The example prototype was built for a Raspberry Pi and contained a Console App for recording spoken text through a microphone, a LUIS app for voice recognition, and an ASP.NET API, directly installed on a Raspberry Pi that controlled the LED lights.

The sample prototype used in this session used the following hardware:

  • Raspberry Pi 3B
  • One 40-way T-Cobbler Breakout Board for Raspberry Pi
  • One 830 point Breadboard
  • One yellow led light
  • One blue led light
  • Two resistances of 500 ohm
  • Four male to male cables to connect the different parts

With the prototype we could turn on and off a yellow and a blue LED light by using the following voice commands: “turn on the yellow / blue light” and “turn off the yellow / blue light” “. The prototype therefore had to be able to understand whether I had to turn a LED on or off, but also which color that had to be turned on or off.

We therefore had to create a LUIS app with which we could analyze a spoken command and determine the intents of this command. A console application that received a voice command and forwarded it to our LUIS app had to be created as well. The LUIS app then sended back a response containing the received voice command and an overview of the intents.

To convert the results that we received from LUIS to GPIO commands on the Raspberry Pi, we had to build an ASP.NET Core Web API that had to be installed directly onto the Raspberry Pi. Therefore, .NET Core had to be installed on the Raspberry Pi. No problem, since .NET Core also runs perfectly on Linux.

Thanks Ronnie Jongenelen, for sharing your knowledge with us! Great stuff!



Next steps...

Next Wednesday Evening Training we will continue our lab. Also: we will be experimenting on using alternative solution components: MQTT and NodeRED. Since the Arduino (single-board computer) also has our attention in the Wednesday Evening Trainings, we'll also have a brainstorm on how to implement this solution on the Arduino.

Further reading

Do you want to read more on the topics in this post? Here are some resources...

On Azure:
Microsoft Azure - Cognitive Services: https://azure.microsoft.com/nl-nl/services/cognitive-services/
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
RaspberryIO - Pi's hardware access from .NET: https://github.com/unosquare/raspberryio/blob/master/README.md
Setting up Raspbian and .NET Core 2.0 on a Raspberry Pi: https://blogs.msdn.microsoft.com/david/2017/07/20/setting_up_raspian_and_dotnet_core_2_0_on_a_raspberry_pi/

On the Raspberry Pi:
Raspberry Pi: https://en.wikipedia.org/wiki/Raspberry_Pi
Raspberry Pi (official site): https://www.raspberrypi.org
Comparison of single-board computers: https://en.wikipedia.org/wiki/Comparison_of_single-board_computers
Raspbian Debian-based computer operating system for the Raspberry Pi: https://en.wikipedia.org/wiki/Raspbian

On LUIS:
LUIS: http://www.luis.ai
Tutorial: Recognize intents from speech using the Speech SDK for C#: https://docs.microsoft.com/nl-nl/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp
Learn Azure (learn at your own pace): https://docs.microsoft.com/en-us/learn/azure/

On Azure/LUIS/IoT combination:
Quickstart: Use prebuilt Home automation app: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-get-started-create-app
Control your Raspberry Pi using LUIS on Azure (Part 1): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-1/#blog
Control your Raspberry Pi using LUIS on Azure (Part 2): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-2/#blog
Control your Raspberry Pi using LUIS on Azure (Part 3): https://www.ronniejongenelen.nl/control-your-raspberry-pi-using-luis-on-azure-part-3/#blog
Handson Lab - Combine LUIS and the Azure Speech Service to control a Raspberry Pi (sources with Ronnies' hands on lab): https://github.com/rwjjongenelen/CognitiveServices.Speech.IntentRecognition

Other stuff:
A nice and free tool for designing electronic circuits: http://fritzing.org

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions on my blog and on LinkedIn: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an mail. Working for us gives you access to all Wednesday Evening Trainings!

6/6/18

This week's Wednesday Evening Training: Infrastructure basics, part 3: Various topics

This week's Wednesday Evening Training: Infrastructure basics, part 3: Various topics

There is a lot to learn on infrastructure, both for sysops, developers and architects.

In this Wednesday Evening Training two of our infrastructure experts, Rene Scholten and Bas Wienen gave us plenty explanation on various infra topics, e.g. network topologies, trusts, encryption and certificates, devops, desired state configuration and Microsoft Azure.


We even got a nice demo / walkthrough of an Azure based network infrastructure and a short introduction to Microsoft flow.

Thanks Rene and Bas!

Plenty of opportunity for Q&A and discussion. It was informative and fun. There will definitely be a next WET session on this, probably with some handson labs. There is plenty to choose from!


Further reading

Do you want to read more on the topics? Here are some links...

Encryption and free certificates: https://letsencrypt.org
10 things you should know about AD domain trusts: https://www.techrepublic.com/article/10-things-you-should-know-about-ad-domain-trusts/
Azure virtual networks: https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview
Azure Automation DSC Overview: https://docs.microsoft.com/en-us/azure/automation/automation-dsc-overview
Microsoft Flow: https://flow.microsoft.com/en-us


Past Wednesday Evening Trainings

You'll find post of previous sessions in LinkedIn as well, see: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Next week

In next week's Wednesday Evening Training, we'll be working on our IoT (Internet of Things) projects. Raspberry Pi, Arduino and WittyCloud are platforms we are currntly experimenting with.


#capgemini #werkenbijcapgemini #lifeatcapgemini #wednesdayeveningtraining #microsoft #azure #infrastructure #sysops #networking #devops




4/5/18

This week's Wednesday Evening Training: Infrastructure basics: What you should know

As a software engineer and solution architect, nowadays you'll need quite some basic knowledge on infrastructure. In this week's Wednesday Evening Training, we discussed some of the topics we often encounter in projects:
  • Proxy, reverse proxy
  • Qradar, ldap varianten, sniffers, log & monitor
  • How to "read" an infrastructure model diagram efficiently
  • Zones, DMZ
  • Trusts
  • How IPv6 AnyCast works
  • Virtualization, with Docker as an example
  • Securing (web)servers
  • DevOps basics
  • Azure Resource Management
  • Desired State Configuration
  • Puppet
  • PowerShell basics
Having three of our leading infra specialists in our midst, we got the opportunity of having introductions, a Q&A session and lively discussions to expand our knowledge on infrastructure.

Thanks to our infra champions Rene Scholten, Bas Wienen and Gert-Jan van Raamsdonk!

With this amount of topics, one wednesday evening was not sufficient. We therefore decided to plan some more workshops, so... to be continued!

Next week, we'll dive into Arduino (like the Raspberry Pi, but in some ways different).

#werkenbijcapgemini #lifeatcapgemini #capgemini #wednesdayeveningtraining #devops #microsoft #infrastructure #softwareengineering #patterns #puppet #powershell #azure #security #webtechnology #agiletraining #agile #sysop





1/24/18

Today's Wednesday Evening Training: a coding night with multiple topics

Since 2007, I've organized training evenings on a weekly basis; the "Wednesday Evening Trainings". In the past years, we have literally had hundreds of sessions on a broad spectrum of topics. Trainings require a minimum of planning & preparation and provide a maximum on handson experience and knowledge. That keeps the process running!

Today's Wednesday Evening Training: a coding night with multiple topics

We have:
  • Continued working on our WebAssembly, Unity and ASP.NET Core handson labs
  • Had a JavaScript quiz
  • Had a nice demo and code walkthrough an ASP.NET Core website interfaced with Wordpress on Microsoft Azure. Thanks Ronnie Jongenelen!
  • Had an extensive explanation on the various IP network protocols, thanks to Bart van Beek.

It was fun and educational!

(Next time we'll proceeding with our Raspberry Pi labs)