IoT (2) Intel Galileo

Op de afgelopen //Build conferentie werd gesproken over een Windows op een Intel moederbordje. Intel heeft daarvoor een chip ontwikkeld en Microsoft heeft daar hun Windows op geinstalleerd. Het bordje is een Intel Galileo bordje. Dat bordje is gewoon een Arduino bordje en dus kunnen ook de Arduino componenten (waarvan er al erg veel zijn) kunnen hierop aangesloten worden.

De Arduino ontwikkelomgeving ziet er zoals onderstaande uit. De code is C / C++. Het onderstaande voorbeel laat het onboard ledje knipperen.

30-8-2014 19-20-31

Ik wilde er natuurlijk Windows op installeren. Daarvoor moest ik eerste een firmware update uitvoeren. De Arduino ontwikkelomgeving is redelijk simpel hoor. Het copy/paste van een directory met alles erin. Daar zit dan ook de Firmware update in.

19-8-2014 22-23-47 

Om over de Windows voor het Galileo bordje te komen, moet je via Microsoft Connect toegang krijgen tot de Windows Embedded Pre-release programma. Via deze pagina’s op GitHub kun je dan de juiste stappen uitvoeren om Windows te installeren.

Onderstaande is het proces van installeren op een SD card.

19-8-2014 21-15-34

WP_20140830_005 - Copy

Als dat allemaal gedaan is, dan ku n je het SD cardje op het G alileo bordje plaatsen. De Galileo watcher app zal hem (mits je het bordje via USB/Ethernet hebt aangesloten) zien.

30-8-2014 13-26-08

Er zit standaard een kleine Webserver op. Dus als je Web browser here doet uit het menu kom je daarop terrecht.

30-8-2014 13-25-48

Je kunt ook een netwerk share openen en dan zie je de bestanden.

30-8-2014 13-26-58

De directory van de webserver. Zoals je zag heb ik de teksten aangepast.

30-8-2014 13-30-57

De directory waarop de delpoyments worden gedaan.

30-8-2014 13-27-17

Oke, nu hebben we Windows draaien op het ding. Maar nu willen we natuurlijk ook iets bouwen. Voor .NET Gadgeteer was het eenvoudig. Hier gaat het iets anders. Er is voor Visual Studio 2013 een project template voor C++.

30-8-2014 13-35-50

Voor deze demo gebruik ik niet de onboard led, maar heb ik een ledje op het bordje gedrukt. Via code zal ik deze dan laten knipperen.

30-8-2014 13-39-06

Niet heel lastig lijkt het. En als je hem runt en debugt, dan zie je dat natuurlijk in je Visual Studio.

30-8-2014 13-39-16      

En het ledje knippert mee. Het rode ledje op de twee foto is feller.

WP_20140830_006WP_20140830_007

Maar het kan natuurlijk ook moeilijker. Zo heb ik net als voor de .NET Gadgeteer een 16×2 display gekocht. Daarop kan ik teksten zetten.

30-8-2014 13-29-40  

Maar dan moet je hem wel aansluiten en dat gaat bij Arduino iets minder elegant dan bij .NET Gadgeteer. Je hebt dan een breadboard en met kabeltjes verbindje contacten.

 WP_20140830_003    

Maar het resultaat van de code is wel zichtbaar. Op het schermpje verschijnt een oplopende waarde (i++).

Gaaf he. Nu nog wat verder experimenteren met die spullen. Je moet daar hele mooie dingen mee kunnen maken. Wel even mijn C++ een beetje oppoetsen.

IoT (1) .NET Gadgeteer

Internet of Things staat de laatste tijd nogal in de belangstelling. Niet zo gek, want de wereld wordt steeds meer connected. Alles er en iedereen staan op elke plek van deze aardbol met elkaar in contact. Als je in vroegere tijden op vakantie was, dan bracht je de achterblijvers via postkaarten op de hoogte. Je was dan ook echt even weg. Heel lang waren er in het buitenland geen Nederlandse kranten te vinden.

Maar dat is tegenwoordig anders. Iedereen heeft wel een mobiel en een tablet. Bijna overal hebben we wel internet en brengen we elkaar op de hoogte via Twitter, FaceBook, mail of andere media.

Niet alleen mensen staan steeds meer in contact met elkaar, ook devices etc staan met elkaar in contact. De meeste auto’s kennen al iets als knop waarmee je de garage kunt signaleren als je een probleem hebt. Je telefoon staat steeds in contact met satelieten om aan te geven waar hij is. Deze toepassingen zullen alleen maar uitbreiden. We hebben bijna allemaal al sensoren in huis om automatisch de verwarming hoger of lager te zetten. We kunnen al via domotica koppelingen van afstand de lampen in huis aanzetten. Onze koelkasten zullen sensoren krijgen en zullen tekorten in de voorraad melden aan een leverancier. Smartwatches zullen naast je hartritme ook je gezondheid in de gaten kunnen houden. Wie weet gaat hij dan zelf de dokter wel bellen als er een wijziging plaats vind in je metingen. Er zullen nog veel meer toepassingen komen.

Al die dingen moeten geprogrammeerd worden. Voorheen waren dat veel electronische schakelingen en low level programmeertalen. Maar tegenwoordig willen we meer eenvoudiger zaken programmeren. Het liefst met talen of omgevingen die we al gebruiken. Dan kan het uiteindelijk ook goedkoper worden.

Er is iets als .NET Gadgeteer. Hiermee kun je met behulp van allerhande modules en een moederbordje een idee uitproberen en maken. Om dit te programmeren kun je dan gebruik maken van .NET Microsoft Framework en gebruik maken van Visual Studio 2010.

WP_20140830_011

De designer is erg WYSIWYG. Je sleept de componenten op het canvas en klikt op het connect en je ziet hoe je het component aan het moederbord moet koppelen.

30-8-2014 17-31-39

In de code kun je dan via intellisense de nodige functies van een component programmeren. Als je erg thuis bent in C#, dan voel je hier helemaal prettig bij. Je kunt het dan deployen en starten op het moederbordje.

30-8-2014 17-32-30 

Je kunt de code debuggen en je oplossing uitproberen.

 WP_20140830_010

Het .NET Micro Framework is al heel oud. De opvolger is Windows Embedded. Daarvoor heb je andere hardware nodig. Op deze hardware moet dan iets als Windows draaien.

In een volgende blogpost vertel ik over het Intel Galileo moederbord waarop Windows draait.

Bing while coding

Iedere developer kent dat wel, tijdens het developen ben je op het internet op zoek naar tips en truuks. Er zijn nogal wat plekken om aan je informatie te komen op het internet. Hulp, tips en codevoorbeelden kunnen gevonden worden op verschillen forums, MSDN, CodeProjectStackOverflow en vele andere. Het is ondoenlijk om ze allemaal te kennen of in een lijstje af te lopen. Dus gebruiken we allemaal onze favoriete zoekmachine om een hulp te vinden. Daarvoor moeten we dan de comfortabele omgeving van Visual Studio verlaten. Je start een browser en zoekt. Sinds kort is er een handige extension voor Visual Studio beschikbaar. Je kunt dan in je development omgeving blijven.

30-8-2014 14-27-33

Moet je dan iets speciaals doen om het tijdens het coderen te gebruiken? Nope, het werkt automatisch. Je begint met typen van je code en de intellisense kicks in (druk op ALT+space als het niet automatisch gaat). De resultaten van de intellisense zijn uitgebreid met Bing search resultaten.

28-8-2014 06-57-38

Hoe handig is dat! Dus naast de standaard documentatie zie je ook de code voorbeelden uit de community.

Als dit je dan nog niet genoeg informatie oplevert of gewoon een zoekactie wilt starten, dan is in de menubalk een zoekbox toegevoegd. Type hier je vraag in en in je Visual Studio verschijnen de resultaten op een handige en overzichtelijke manier.

28-8-2014 06-58-43 28-8-2014 06-58-5328-8-2014 06-59-03

Nu zal het vaak zo zijn, dan niet iedereen volledig toegang heeft tot het internet. Demo en codevoorbeelden kunnen ook op een lokale locatie geplaatst worden en toch dienen als bron van het Bing Visual Studio tool.

30-8-2014 15-36-07

Hoe handig is dat! Op deze manier hoef je als ontwikkelaar niet steeds te contextswitchen. Je kunt dan in de flow blijven.

Happy coding!

Surface Pro 3

Vandaag is mijn Surface Pro 3 (i7 met 256 Gb disk 8Gb memory) dan eindelijk gekomen. Lang naar uitgekeken en ik ben erg benieuwd naar de verschillen.

WP_20140828_001WP_20140828_003

De verschillen zijn groot. Ten eerste is het scherm 12 inch, dat is 2 meer dan de vorige versies. Ook de verhouding (2:3) van het scherm is anders en de resolutie (2160×1440) is daarmee ook gelijk meer geworden. De pen is anders, er zit een batterij in. De Surface Pro 3 kan in meer standen kantelen dan de vorige twee versies. De eerste had 1 stand, de tweede had er 2 en deze heeft er multi. Ik ben erg benieuwd hoe dat in de praktijk gaat werken. Jammer is wel dat de voeding van de Pro/RT 2 en de 3 niet uitwisselbaar zijn. De connector in de Surface is behoorlijk veranderd, de andere connector werkte in de praktijk niet altijd even fijn.

Als je de Surface Pro 2 en de Surface Pro 3 boven op elkaar legt dan vallen de verschillen wel op. Op de foto is de onderste mijn Samsung Ultrabook van 13 inch. Zoals je ziet kan het een vervanging van de Samsung zijn.

IMG_0005

De verschillen in dikte is ook wel zichtbaar. De onderste vertekent door het design.

IMG_0002

De verschillen tussen de Pro 2 en de Pro 3 zijn wel zichtbaar.

IMG_0003

Het verschil in gewicht ook. Let op onderstaande is niet uitgevoerd op een geijkte weegschaal en dit ook meer als illustratie.

Surface Pro 2

IMG_0006

Surface Pro 3

IMG_0007

Samsung Ultrabook

IMG_0008

Komende weken zal mijn Surface Pro 3 eens echt als dagelijkse machine gebruiken. Kijken hoe deze zich staande houdt ten opzichte van de Samsung (wat mijn dagelijkse machine is) en de Surface Pro 2.

Ik hou julie op de hoogte. Binnenkort komt ook de dockingstation. Dan heb ik er weer een werkplek bij 😉

Microsoft Project Siena

Deze Windows 8 app bestaat al een tijdje. Met deze app kun je krachtige Business apps maken en publiceren zonder een regel code te schrijven. Meer informatie kun je vinden op de Microsoft Project Siena site. Dat klinkt natuurlijk veel belovend. Business users die zelf hun apps in elkaar klikken en zo hun eigen werk vereenvoudigen.

3-8-2014 15-04-48

Dat klinkt interessant, dus wil ik dat zelf ervaren. Als je de app start, dan krijg je onderstaande te zien. Je ziet een leeg scherm en daarop kun je Visuals plaatsen. Overigens is het wel handig om een van de  verschillende tutorials te bekijken. Persoonlijk vind ik de flow, workflow of manier van werken nog niet heel intutief. We beginnen met een leeg scherm of window.

3-8-2014 15-05-03

Business apps zijn pas interessant als ze data laten zien. Data komt van een Data Source. Door een rechtermuis klik of het swipen van boven naar beneden krijg je een menu balk. In dit menu de standaard file functionaliteit, het toevoegen van data en het toevoegen van een nieuw scherm. Ook niet onbelangrijk is dat rechts een Preview button staat.

 3-8-2014 15-05-32

Bij de App data kun je kiezen voor databronnen. Er is een standaard lijst met bronnen. Voor sommige koppelingen moet je bij de bron wel een developers account of settings downloaden. Dat geldt oa voor Yammer, Facebook, Twitter etc. In mijn voorbeeld heb ik een RSS feed gekozen.

 3-8-2014 15-06-27

Als je op Import data klikt, dan zal Siena melden dat de databronnen succesvol gekoppeld is.

 3-8-2014 15-06-38

Het scherm zie je dan een voorbeeld van de data. Heb je meerdere databronnen voor je app nodig? Dan kun je meerdere bronnen toevoegen.

 3-8-2014 15-07-05

Op het scherm moeten we dan iets neerzetten waarin deze data getoond kan worden. Daarvoor moet je op de grote plus klikken aan de rechterbovenkant. Er verschijnt een lijst met legio mogelijkheden. Voor mijn demo app kies ik uit Galleries en dan een Text Gallery. Deze bevat een combinatie van velden etc dat scheelt mij weer werk 😉

 3-8-2014 15-07-57

Aan de onderkant popped er een menu op, daaruit kun je de gewenste databron kiezen. Voor mijn App RSS_1. Op het scherm verandert gelijk de inhoud van de velden. Zoals je ziet is de data niet helemaal zoals ik zou willen. In de eerste regel staan de tags van een Blog item etc.

 3-8-2014 15-08-07

Om dat aan te passen is redelijk eenvoudig. Je selecteert het veld en kiest uit het menu aan de onderkant voor Text. Daar kun je dan kiezen welk veld van de databron je wilt tonen.

 3-8-2014 15-09-20

 3-8-2014 15-09-42

Deze acties heb ik bij meer velden uitgevoerd. Ik heb er ook nog een plaatje toegevoegd en een tekst veld. Om het resultaat te kunnen kijken, dan klik je Preview uit hetzelfde menu waar de databronnen kon worden ingevuld.

 3-8-2014 15-19-46

Je nieuwe app zal starten. In mijn geval ziet het er als volgt uit.

 3-8-2014 15-19-55

Super eenvoudig. Als je app uit meerdere pagina’s bestaat, dan kun je een nieuw Window aan toevoegen. In je eerste scherm kun je dan een navigatie toevoegen. Ik heb nog niet gevonden waar je dan de parameter in het aangeroepen scherm uit leest om mee te geven aan een databron.

Samenvattend: ik denk dat dit een mooi begin is. Er mag nog wel iets aan de gebruikers interface gedaan worden, maar het begin is er zeker. Als je de keynote van Microsoft Partner Conference hebt gekeken, dan was daar een demo te zien van deze applicatie in de volgende vorm. Ik hoop ook dat er nog mogelijkheden komen om security toe te voegen of als bedrijf eigen databronnen toe te voegen. Ik kan mij namelijk voorstellen dat bedrijven connecties naar hun ERP systemen of andere interne databronnen zelf in de hand willen houden. Dat Business users zelf hun apps maken lijkt mij niet gek, maar dan wel een beetje gecontroleerd. Overigens is dit niet nieuw, ruim 15 jaar geleden toen Excel en Microsoft Access veelvuldig door Business users gebruikt werden wilde we dit ook.

Ik ben heel benieuwd naar de volgende versie en welke databronnen toegevoegd zijn. Keep you posted!