IoT H3

Internet of things, på hovedforløb 3

IoT, første del

På Programmeringsspecialet, er IoT faget opdelt så de første to uger er på H3. De næste to uger afvikles på H4.

Ved slutningen af første de, bedømmes eleverne med en delkarakter. Når anden del afsluttes, bedømmes del 1 og del 2 samlet med en standpunktskarakter.

Introduktion

Development Boards

  • Arduino
  • Esp32

Vi bruger ESP32-DEVKIT-V1 [foto]

Breadbords

På breadboardet kan vi opbygge en konstruktion med både CPU og Sensorer og Aktustorer

For at få plads til det udviklingsbord vi råder over, skal vi bruge en speciel konstruktion med to (2) breadborads som er sat sammen. På den måde kan vi forbinde til benene begge sider af udviklingsborded.

[billede]

Sensorer og aktuatorer

Hvad en sensor og en aktuator er…

Udviklingsmiljø

Som noget helt nyt, skal vi prøve at lave forløbet, på en måde hvor vi programmerer i C#!

Det har nogen åbenlyse fordele, i læringsprocessen, at det ikke er nødvendigt at skifte programmeringssprog. Samtidig går vi glib af nyttig læring ved netop at lære et et nyt sprog (c++ eller python). Desuden er der en risiko for at frameworket ikke understøtter de funktionaliteter vi skal bruge for at lave en fornuftig IoT løsning.

I dette forløb bruger vi nanoFramework.

Se vejledningen her viser hvor og hvordan man installerer deres extension til Visual Studio.
I vejledninger er der nogle trin som beskriver hvor dan man lægger et nyt firmware image på IoT enheden. Dette trin har jeg klaret, så der allerede nanoFrameworks firmware på dimserne. __I behøver altså ikke installere nanoff og opdatere firmware__. Det kan vi muligvis komme tilbage til, men bliver sikkert ikke nødvendigt.

Der er også en udviddelse til Visual Studio Code, men med mindre support.

Øvelser

Souce kode til visse øvelser ligger på https://github.com/s0ren/intro_til-IOT_med-CS

Øvelse 1 - Hello world

Den første øvelse går ud på at oprette et projekt til nanoFramework og afvikle default skabelonen. Et lille program, som skriver en tekst i Debug vinduet.

Du skal montere ESP32 DEVKIT V1 udviklingsboardet på et dobbelt breadboar som vist her:

Når du opretter projektet, skulle der gerne være en program.cs med dette:

using System;
using System.Diagnostics;
using System.Threading;

namespace hejsa
{
    public class Program
    {
        public static void Main()
        {
            Debug.WriteLine("Hello from nanoFramework!");

            Thread.Sleep(Timeout.Infinite);
        }
    }
}

Øvelse 3b - Andre timing strategier.

Øvelse 3d - Ekstra LED

Øvelse 4 - Input fra trykknap