#150521

IoT Solutions using RaspBerry - Pi Arduino for Developers

Opleiding IT PRO

The Internet of Things (IoT) is een netwerk van een groot aantal fysische objecten of "things" van embedded electronica" (hardware, software ensensoren) die geconnecteerd zijn met het internet. Deze "things" of verzameling van semi-intelligente objecten - meestal uitgerust met sensoren - verzamelen data die binnen een bestaande (private) Cloud IT Infrastructuur worden "gestockeerd". Vervolgens wordt deze data door andere processen (eveneens via te programmeren software) opgepikt om bijvoorbeeld andere "things", "services" of "mensen" te activeren. Een typische IoT oplossing biedt heel wat efficiëntieverhoging op het gebied van het verder (of volledig) automatiseren van (deel)processen waarbij de actieve menselijke interactie geminimaliseerd wordt. Hierbij wordt de "Machine-to-machine (M2M)" communicatie de key succesfactor.

IoT oplossingen passen best in de nieuwe wereld, waarbij mensen en devices met elkaar steeds nauwer in contact staan en met elkaar zullen interageren. Nu reeds bestaan er heel wat IoT oplossingen in heel wat uiteenlopende sectoren: medische toepassingen, domotica toepassingen, verzamelen van meetgegevens uit sensoren, remote aansturen van toestellen, camera bewaking,...

Deze opleiding biedt de developers de nodige inzichten en best practices om op het einde van de opleiding autonoom een IoT oplossing te kunnen programmeren. Deze opleiding is bestemd voor ervaren C# .NET developers. Er wordt gebruik gemaakt van Visual Studio waarbij u hands-on applicaties voor Raspberry PI leert bouwen. Tevens zal op basis van een aantal demo's de methode om Arduino oplossingen te programmeren bijgebracht worden.

Voorkennis

Basiskennis Visual Studio en gedegen kennis van de C# programmeertaal,

Of

Kennis gelijkwaardig aan de opleiding "Leren programmeren in C# - introductie ADO.NET"

https://sbm.be/opleiding/it-pro/leren-programmeren-in-c-net-introductie-ado-net

Methodologie

De opleiding wordt afgewisseld met theorie (concepten), hands-on oefeningen en praktische leidraad betreffende het "End-to-End" programmeren van een "Raspberry PI Solution". Het programmeren van een "Arduino Solution" zal "beperkt blijven" tot een demo van de docent.

Voor elke deelnemer is er tijdens de opleiding een "Raspberry PI device" met memorycard en nodige sensoren beschikbaar. Dit device mag de deelnemer na elke klassikale sessie meenemen om verder op te oefenen buiten de klassikale sessies. Na de opleiding mag elke deelnemer dit "Raspberry PI Device met memorycard" meenemen (zit vervat in het inschrijfrecht van opleiding).

Belangrijk om weten:

Deelnemers dienen zelf hun laptop (met Windows OS) mee te brengen naar de opleiding. De laptopconfiguratie zal één week voor de start van de opleiding aan de deelnemers bezorgd.

Voor wie is deze opleiding bestemd?

  • Software developers en software architecten met interesse in het bouwenvan IoT applicaties
  • Programmeurs van domotica oplossingen
  • Programmeurs van Industriële oplossingen

Programma

Module 1: Inleiding tot IOT, toepassingen, devices en ontwikkelomgevingen.

  • Het IOT concept.
  • IOT, wat is het "Internet van dingen", wat is de waarde van een IOT oplossing?
  • Wat zijn IOT toepassingen en hoe worden ze gebouwd?
  • De mogelijke hardware: Arduino, Raspberry Pi en anderen devices
  • Het OS en de ontwikkelomgeving: Linux, Windows10, Python, Mono.Net/C#, Android en Xamarin
  • De Cloud als platform voor communicatie tussen de devices
  • Opzetten van de ontwikkelomgevingen: connecteren van de Arduino met een PC en installeren van Arduino Sketch als ontwikkelomgeving + installeren van een Raspbian OS voor de Raspberry PI (via SD Card) en de Visual Studio gebaseerde ontwikkelomgeving

Module 2: Arduino Solutions.

  • Wat is en kan de Arduino?
  • Het Arduino board, de shields en het breadboard
  • Uitgebreidere Arduino gebaseerde omgevingen zoals Sparkfun Photon RedBoard
  • Programmatie in C van Setup en Loop methods om de Arduino te initialiseren en opdrachten te laten uitvoeren
  • Lezen van seriële input, aansturen van pins en analoge waardes interpreteren
  • Controle structuren ontwikkelen en reageren op events
  • Hoe gegevens vanop de Arduino naar een webserver in de cloud verzenden
  • We bouwen op de Arduino (of Photon RedBoard) een eenvoudige toepassing op basis van een temperatuur sensor die de meetgegevens naar een cloud storage omgeving stuurt
  • Hoe kunnen we het Arduino prototype nu verder uitwerken tot een concrete implementatie?

Module 3: Raspberry PI en C# development

  • Wat is en kan de Raspberry?
  • Welke Raspberry devices zijn er?
  • De Raspberry GPIO poorten en mogelijke shield.
  • Mono.Net en C# als ontwikkelomgeving. Wat zijn de mogelijkheden?
  • Ontwikkelen van een Raspberry PI applicatie in Visual Studio
  • De GPIO controller aanspreken vanuit NET/C# code
  • Een extern scherm gebruiken op de Raspberry PI
  • De Raspberry emulator gebruiken als alternatief
  • Hoe kan je nu applicaties op meerdere RaspBerry PI devices gaan installeren

Module 4: IoT Communicatie Protocollen en een end-to-end IOT voorbeeld.

  • Het HTTP/Rest protocol
  • IP Sockets en SignalR
  • BlueTooth LE (iBeacons)
  • Het ZWave protocol voor domotica toepassingen.
  • Azure ServiceBus relay
  • Azure EventHubs
  • Azure Storage Queues
  • We bekijken in detail een end-to-end oplossing (in C#) waarbij een Android tablet een signaal van een iBeacon ontvangt en dit via Azure (queue, relays) doorzendt naar een .NET applicatie op de Raspberry PI die hiermee domotica aanstuurt via het ZWave protocol

Module 5: Uitbreiding Raspberry PI en .NET development

  • Externe MONO.net libraries gebruiken
  • Een SQLite database gebruiken op de Raspberry PI
  • Werken met VisualPI in .NET applicaties om de GPIOs aan te sturen
  • Camera streaming vanop Raspberry PI
  • We voorzien in deze module tijd voor het bouwen van een uitgebreide applicatie vanuit een brainstorm gebaseerd op de vele mogelijkheden

Module 6: Microsoft Windows 10 op Raspberry PI

  • Wat zijn nu de mogelijkheden om Windows 10 als OS op de Raspberry PI te gebruiken?
  • De visie van Microsoft op IOT
  • Instaleren van Windows 10 op Raspberry PI
  • Applicaties bouwen voor Windows 10 op Raspberry PI
  • Gebruik maken van Virtuals Shields voor de Raspberry vanop een Windows Phone
  • Hands-on-Lab: een iOT weer station opzetten gebruik makend van Windows 10

Lesdata

Datum Startuur Einduur
woensdag 18/04/2018 18:30 21:30
woensdag 25/04/2018 18:30 21:30
woensdag 02/05/2018 18:30 21:30
woensdag 09/05/2018 18:30 21:30
woensdag 16/05/2018 18:30 21:30
woensdag 23/05/2018 18:30 21:30

Locatie

  • SBM Kortrijk
  • Doorniksesteenweg 220
  • 8500 Kortrijk

Contact

  • T: 078 35 36 38
  • info@sbm.be
2015-521-1-OmschrijvingDocent-1.jpg

Kurt Claeys is .NET Solution Architect en Microsoft Certified Trainer. Hij werkte de afgelopen 10 jaar als .NET architect voor uiteenlopende projecten waar hij zowel voor het opzetten van de referentie architectuur en developers coaching errond instond, is co-auteur van het boek 'WCF 4 Professional', was technical solution professional Azure bij Microsoft en werkt nu freelance als Cloud/Mobile solution architect. Kurt heeft ondertussen ook succesvol meerdere mobile apps projecten (in de eHealth sector), gebruikmakend van Xamarin met een Azure backend gerealiseerd. Aanvullend heeft Kurt ondertussen sinds meer dan 1 jaar ervaring op opgebouw rond het programmeren van zowel "Arduino als Raspberry PI" oplossingen.

"In deze opleiding combineer ik mijn developers .NET ervaring met mijn ervaring betreffende Cloud Azure met als doel een "End-to-End" Internet of Things oplossing" te realiseren. Binnen deze opleiding verwerft elke deelnemer voldoende praktijkerving om vervolgens autonoom zelf een End-to-End Raspberry IoT oplossing te kunnen bouwen" Kurt Claeys

Linkedin: www.linkedin.com/in/claeyskurt