Archiv für den Monat: Februar 2014

Erste Schritte mit dem .Net Gadgeteer

Im Hinblick auf eine spätere Hausautomatisierung, habe ich mir vor kurzem ein .Net Gadgeteer zugelegt. Dies ist ein kleines Prototyping Kit, auf welchem das .Net Micro Framework läuft. Das .Net Micro Framework ist eine SEHR abgespeckte Version des .Net Frameworks. Es bietet aber natürlich die Vorteile einer Managed Runtime, wie z.B. Garbage Collection und ermöglicht so, mit C#, oder VB.Net auf einem Microcontroller zu programmieren, was schon ziemlich genial ist. Es wird für das Display sogar eine abgespeckte Version von WPF (leider ohne XAML Unterstützung) und der Client Teil von WCF angeboten.

Die Hardware ist Open Source und wird von GHI-Electronics hergestellt und vertrieben. Auf deren Webseite finden sich auch Ressourcen, ein Forum und weiterer Support zum .Net Gadgeteer. In Europa habe ich einen Distributor in Frankreich gefunden, Génération ROBOTS. Dort habe ich mir meine Teile bestellt.

Gadgeteer

Im Uhrzeigersinn, angefangen mit dem roten USB-Modul:

  • USB Client SP-Modul
  • ENC28 Ethernetmodul
  • Temperatur-Feuchtigkeitsmodul
  • RFID Lesemodul
  • microSD Kartenslotmodul
  • Farb-Sensormodul
  • Touchscreen-Farbdisplay TE35
  • Lichtsensormodul

Und natürlich das Mainboard, das FEZ Hydra.

Folgende Software wird benötigt und sollte Installiert, bevor man sein Gadgeteer das erste mal an den PC anschließt:

Als erstes muss man eine neue Software auf Board flashen. Hierzu verbindet man sein USB Modul mit einem D-Steckplatz und das wiederum mit einemComputer.

Das USB Modul erkennt man an seiner roten Farbe, denn beim Gadgeteer sind alle Stromliefernden Module rot. Auch ist auf jedem Modul ein Buchstabe, welcher angibt, welchen Steckplatz das Modul benötigt. Auf dem USB-Modul ist ein D aufgedruckt. Man muss also auf dem Mainboard ein Steckplatz suchen, welcher ebenfalls ein D aufweist. Hat ein Modul mehr, als einen Buchstaben, so muss der Steckplatz nur einen der Buchstaben aufweisen. Das Temperatur-Feuchtigkeitsmodul hat z.B. die Buchstaben X und Y aufgedruckt. Es benötigt also einen Steckplatz, auf dem entweder ein X, ein Y, oder beide aufgedruckt sind.

Das Board sollte nun vom PC erkannt werden und der Treiber sollte installiert werden. Ich werde hier spezifisch auf das FEZ Hydra Board eingehen. Wer ein anderes hat, benötigt ggf. eine andere Prozedur. Sollte das Board nicht starten, folgendes probieren: Das Board an ein USB Ladegerät anschließen, ggf. den Reset Knopf drücken. Warten, bis das Board gestartet ist und anschließend wieder an den PC anschließen.

Der erste Teil der benötigten Software auf dem Board ist der Loader (TinyBooter). Hierzu müssen wir unser Board in den Bootloader Modus versetzen. Am einfachsten geht dies, wenn man am Sockel 3 oder 4 die Pins 8 und 10 kurzschließt (Büroklammer o.ä.), auf den Resetknopf drückt, 5 Sekunden wartet und die Büroklammer wieder entfernt.

2594_large[1]

In der Systemsteuerung unter „Geräte und Drucker“ sollte nun unter „Nicht angegeben“ folgendes Gerät auftauchen: „GHI Boot Loader Interface (COM X)“ wobei X eine Zahl < 50 sein muss. Wird dort ein anderes COM Gerät angezeigt, so muss man manuell den Treiber ändern: Doppelklick > Hardware > Eigenschaften > Einstellungen ändern > Treiber > Treiber aktualisieren > Auf dem Computer nach Treibersoftware suchen. > Aus einer List von Gerätetreibern auf dem Computer auswählen > Haken weg bei Kompatible Hardware anzeigen > Hersteller: GHI Electronics, LCC > Modell: GHI Boot Loader Interface > Weiter > Ja. Ggf. ist ein Neustart nötig.

Jetzt startet man eine Eingabeaufforderung als Administrator (Windows-Taste > cmd eingeben > Rechtsklick > Als Administrator ausführen).

Navigiert in mit folgenden Befehlen in das korrekte Verzeichniss (C:\Program Files (x86)\GHI Electronics\GHI OSHW NETMF v4.2 SDK\FEZ Hydra\Firmware\FEZ Hydra TinyBooter Updater):

  • cd..
  • cd..
  • cd „Program Files (x86)“
  • cd „GHI Electronics“
  • cd „GHI OSHW NETMF v4.2 SDK“
  • cd „FEZ Hydra“
  • cd Firmware
  • cd „FEZ Hydra TinyBooter Updater“

Nun startet man die UpdateFEZHydra.bat mit dem Argument comX, wobei X durch den COM Port ersetzt wird, welchen man vorher erfahren hat (z.B.  UpdateFEZHydra.bat com3) und wartet solange, bis eine Textdatei aufploppt, die das Logfile enthällt. Sollte hier kein Erfolg verzeichnet sein, überprüft noch einmal genau alle vorangegangenen Schritte. Überprüft auch, dass euer USB Port genügend Strom lieferd (direkt an den Rechner anschließen, oder einen Powered Hub nutzen) und, dass ihr den korrekten COM Port angegeben habt.

Nachdem nun der Loader auf dem Mainboard ist und es neugestartet ist, sollte es als USB Gerät (FEZ Hydra) erkannt werden.

Jetzt muss noch die Firmware auf das Gerät geflashed werden. Dazu startet man das Programm FEZ Config, welches vorhin mitinstalliert wurde. Als Defice sollte hier ein FEZ Hydra_Gadgeteer erkannt werden. Jetzt geht man auf den Reiter Firmware Updater. Plant man, ein Ethernet Modul einzusetzen, so muss man dies an den Port 3 anschließen und den Haken bei „Check if you need an Ethernet Firmware“ setzen. Dies bedeutet gleichzeitig, dass das Board ohne angeschlossenes Ethernet Modul nicht mehr startet. Wichtig ist auch, dass man das Ethernet Modul später in Visual Studio nicht verbindet. (Irgendeine komische Eigenheit der Firmware). Jetzt klickt man auf Next, dann wieder auf Next und schließlich auf Ok. Nun wird die Firmware auf das Board geladen. Um zu prüfen, ob alles geklappt hat, geht man wieder auf den Reiter Connection und Pingt das Gerät einmal an. Als Antwort sollte TinyCLR zurückkommen.

Das war es nun soweit mit der Inbetriebnahme des Boards. Demnächst folgt ein Artikel zu einem ersten Programm.