Začínáme s .NET Micro Framework a deskou netduino plus 2

IoT série pokračuje, minule jsme měli Galileo, tento příspěvek našeho hosta se týká desky s .NET Micro Frameworkem – netduino plus 2. Pokud vás zajímá, jak začít s vývojem, jste tu správně.

Autorem článku je Ľuboslav Lacko, https://novywindows.wordpress.com/


Do predstavenia APR pre Windows 10 ešte uplynie nejaký čas a tak vzniká priestor venovať sa iným témam. Jedným z vlajkových trendov je Internet vecí (IoT Internet of Things). Všimnite si na slajde z uvedenia Windows 10 mikrokontrolérovú dosku úplne vľavo. Windows 10 pre mikrokontroléry zatiaľ k dispozícii nie je, ale nezaškodí sa zorientovať v problematike a vyskúšať i vývoj aplikácií s využitím .NET Micro Framework. Ja som vyskúšal dosku netduino plus 2

Pre zaujímavosť skúsenosti s výkonnejším kitom Intel Galileo na báze procesora kompatibilnom s Pentiom a zbernicou Arduino popisujem v príspevku Windows na desce Intel Galileo.

nuino7

Netduino plus 2

Vývojový kit využíva populárnu zbernicu Arduino, avšak na rozdiel od originálu s procesorom ATmega Netduino plus 2 využíva výkonný 32 bitový procesor STM32F4 rady Cortex-M4 taktovaný na, 168 MHz. Disponuje 384 KB pamäti programu, 100 KB RAM, ethernetovým rozhraním 10 mbps. Na Arduino zbernici je možné využiť 22 vstupno-výstupných portov, z ktorých je možné 6 preprogramovať na PWM (puzne šírková modulácia), 4 UART/i2c/SPI, 6 12 bitových analógových kanálov. Kit má aj slot na mikro SD kartu do kapacity 2 GB. Ako operačný systém sa využíva open source platforma pre mikrokontroléry .NET Micro Framework 4.3, ktorý môžete v prípade potreby nahradiť vlastným firmware. Doska sa k vývojárskemu počítaču pripája cez USB. Ako vývojové prostredie sa využíva Visual Studio (v mojom prípade VS 2013), či už komerčná, alebo voľne šíriteľná Express, po novom Community Edition.

nuino12

Inštalácia .NET Micro Framework

Aby ste mohli vytvárať vo Visual Studiu 2013 aplikácie pre kit Netduino plus 2, musíte najskôr nainštalovať požadované SDK. Všetko potrebné, vrátane návodov nájdete na adrese https://www.netmf.com/

Aby som bol konkrétny NET Micro Framework SDK stiahnete zo stránky Codeplex https://netmf.codeplex.com/

nuino1

Následne je potrebné nainštalovať .NET Micro Framework VSIX Extensions. Môžete to urobiť priamo z Visual Studia. V menu Tools -> Extensions and Updates vyberte zložku Online a vyhľadajte doplnok.Net Micro Framework extensions for Visual Studio 2013. Doplnok stiahnete pomocou tlačidla download, ktoré otvorí relevantnú webovú stránku na stiahnutie SDK

nuino2

nuino3

V ďalšom kroku je potrebné nainštalovať SDK pre konkrétnu dosku, v našom prípade pre Netduino SDK. Správnu verziu, v dobe písania článku 4.3 nájdete na https://www.netduino.com/downloads/

nuino4

Upgrade firmware

Aby ste mohli spúšťať aplikácie vytvorené pre .NET Micro Framework 4.3, musí aj jadro mikroframevorku mať rovnakú verziu. Ak máte nižšiu verziu, je potrebné najskôr realizovať update firmware. Moja doska mala verziu 'mscorlib' 4.2.

Verziu vašej dosky zistíte tak, že spustite aplikáciu MFDeploy (súčasť .NET Micro Framework SDK) Aplikáciu MFDeploy.exe spustíte cez menu Programs > Microsoft .NET Micro Framework 4.3 > Tools. V aplikácii definujte pripojenie dosky cez USB a aktivujte menu Target > Device Capabilities option

nuino5

Ak je potrebný update na verziu 4.3, alebo vyššiu odpojte dosku od USB konektora, stlačte a držte jediné tlačidlo na dosku a dosku opätovne pripojte k USB portu. Tak ju prepnete do bootloader módu. Tento mód je signalizovaný trvalým svietením modrej LED.

Aby ste mohli stiahnuť firmware, musíte si vytvoriť konto na webe Netduino forum. https://forums.netduino.com/index.php?app=core&module=global&section=register Po potvrdení registrácie stiahnete firmware na adrese https://forums.netduino.com/index.php?app=core&module=attach&section=attach&attach_id=3167

V našom prípade to bol súbor NetduinoUpdate_4.3.1.0.zip. Následne spustite aplikáciu NetduinoUpdate(súčasť Netduino firmware balíčku). Po úspešnom upgrade vaša doska bude odstránená zo zoznamu.

nuino6

V tomto okamihu máte všetko potrebné pre vývoj aplikácie vo Visual Studiu.

Vývoj aplikácie vo Visual Studiu 2013

Vytvorte nový projekt pomocou menu New > Project. V zložke Micro Framework vyberte šablónu projektu Netduino Plus 2 Application.

nuino8

nuino9

Po vytvorení projektu otvorte súbor Program.cs

using System;

using System.Net;

using System.Net.Sockets;

using System.Threading;

using Microsoft.SPOT;

using Microsoft.SPOT.Hardware;

using SecretLabs.NETMF.Hardware;

using SecretLabs.NETMF.Hardware.Netduino;

 

namespace NetduinoApplication2

{

    publicclassProgram

    {

        publicstaticvoid Main()

        {

            // write your code here

        }

    }

}

Žolíka // write your code here nahradíme kódom, ktorý bude realizovať aplikačnú logiku, v našom prípade kód ktorý bude blikať LED diódou. Nakoľko prenosné a vzdialené zariadenia často bežia na batériu, naprogramujeme striedu blikania 1:10

publicstaticvoid Main()

{

    OutputPort led = newOutputPort(Pins.ONBOARD_LED, false);

 

    while (true)

    {

        led.Write(true); // zapni LED

        Thread.Sleep(50); // oneskorenie 50 ms

        led.Write(false); // vypni LED

        Thread.Sleep(500); // sleep for 500 ms

    }

}

Teraz môžete aplikáciu spustiť. Najskôr je potrebné nastaviť parametre pre spustenie. V parametroch projektu nastavte deployment cez USB. Po zavedení aplikácie začne modrá LED dióda blikať.

nuino10

Ak vám vývojové prostredie vypíše chybové hlásenie Cannot deploy the base assembly 'mscorlib', or any of his satellite assemblies, to device - USB:Netduino twice. Assembly 'mscorlib' on the device has version 4.2.0.0, while the program is trying to deploy version 4.3.1.0 Znamená to, že je potrebné upgradovať firmware. Postup je popísaný v tomto článku v stati Upgrade firmware.