Arduino mit Visual Studio programmieren

  Vor relativ kurzer Zeit habe ich mir einen Arduino Uno R3 gekauft und ich will euch hier in mehreren Blog Artikeln regelmäßig meine Erfahrungen und Erlebnisse schildern. Für alle, die nicht wissen, was ein Arduino ist, habe ich hier eine kurze Erklärung: Arduino ist eine plattformunabhängige OpenSource Physical-Computing Plattform, die sich aus Software- und Hardwarekomponenten zusammensetzt. Die Hardware besteht aus einem einfachen Board mit Ein / Ausgängen in analoger und digitaler Form. Unter anderem ist auch je nach Modell ein anderer Mikrocontroller auf dem Board verbaut. Als Software wird standardmäßig eine Entwicklungsumgebung verwendet, die auch Personen, die keine Entwicklungsvorkenntnisse haben, Zugang zur Arduino-Programmierung bietet. Ein Beispiel dafür wären Header Dateien, die vollautomatisch im Hintergrund eingefügt werden. Doch was macht den Arduino so besonders? Mit dem preislich sehr günstigen Arduino kann man relativ leicht eigenständige Objekte steuern oder elektronische Schaltungen realisieren. Kunsthochschulen und auch diverse Hersteller von Filmsets verwenden häufig den Arduino als Mikrocontroller um interaktive Installationen aufzubauen oder um zum Beispiel Lichter von Anzeigetafeln blicken zu lassen. Auf dem Arduino wird über eine auf Java basierende IDE in C und C++ programmiert, als Compiler wird hier der “gcc” mit eingebunden. Um die Programmierung zu erleichtern, ist auf dem Arduino Uno R3 eine eigens entwickelte USB-Schnittstelle als „Serial Converter“ verbaut. Mithilfe dieser Schnittstelle ist es möglich, den Arduino über USB mit der IDE zu programmieren. Der Bootloader, der hierfür benötigt wird, ist praktischerweise schon standardmäßig auf dem entsprechenden Controller installiert und kann manuell über die serielle Schnittstelle des Boards konfiguriert werden. Nach meinen ersten Programmierversuchen mit der mitgelieferten IDE lernte ich Visual Studio wieder sehr zu schätzen. Allein die fehlende Auto-Vervollständigung sowie das bessere Syntax Highlighting fehlen einem sehr schnell. Weitere Features, die ich sofort vermisst habe, waren IntelliSense und die Tatsache, dass in VisualStudio Fehler direkt angezeigt werden. Also suchte ich gleich nach meinen ersten Programmierversuchen nach entsprechenden Libaries für Visual Studio. um zumindest den Quellcode in Visual Studio schreiben zu können. Durch einen glücklichen Zufall entdeckte ich im Visual Studio “Extensions”-Menü bei der Wortsuche nach „Arduino“ ein komplettes Plugin, mit dem ich sogar das kompilierte Programm auf den Ardiuno laden konnte. Als erstes muss das erste Projekt her namens “Blink” was man in konventioneller Programmierung mit “Hello World” vergleichen kann. Es besteht darin eine LED blinken zu lassen. Dazu baue ich mir folgende Schaltung bestehend aus einem Arduino Uno R3, 1x Roter LED und einem 220 Ohm Wiederstand. Zum erstellen dieser Bildes habe ich die Open Source Software Fritzing verwendet mit der mit einfach Schritten solche Steckbilder erstellt werden können und auch als Ätzvorlagen exportiert werden können.  So, die Schaltung steht: Jetzt muss ich nur noch das Programm dazu schreiben: Arduino-Programme müssen immer mindestens aus zwei Teilen bestehen: Einmal dem “void setup()” Teil, in dem die Pins konfiguriert werden, und dem Bereich “void loop()”, dessen Codebereich wiederholt ausgeführt wird. Im ersten Bereich weise ich dem digitalen Pin 13 den Typ OUTPUT zu. Im Loop Bereich setze ich den Ausgang von Pin 13 mit der Funktion digitalWrite auf High. Wenn ich jetzt direkt mit der Funktion digitalWrite den Pin wieder auf Low setzen würde, würde er so schnell blinken das wir es nicht als blinken wahrnehmen könnten. Deshalb nehme ich mir die Funktion “delay(1000)” zur Hilfe, die die Schleife 1 Sekunde lang pausieren lässt. Das ganze sieht dann in fertiger Form folgendermaßen: Hier nochmal in schriftlicher Form für die Leute die sich den Code kopieren wollen: 1 void setup() 2 { 3 pinMode(13, OUTPUT); 4 } 5 6 void loop() 7 { 8 digitalWrite(13, HIGH); 9 delay(1000); 10 digitalWrite(13, LOW); 11 delay(1000); 12 } Also fassen wir das Ganze noch einmal zusammen: Der Arduino ist wie im obigen Bild mithilfe einer Steckplatine verkabelt. In Visual Studio haben wir unseren fertigen Code geschrieben. Jetzt müssen wir diesen letztendlich nur noch auf unseren Arduino übertragen. Dazu müssen wir im Visual Studio nur noch unsere Programmversion der Arduino Software (in meinem Fall 1.6), den Arduino Typ (Arduino Uno) sowie den COM Port (COM3)  angeben, der automatisch generiert wird, sobald wir den Arduino über die USB Schnittstelle verbinden. Da wir jetzt unser Programm ohne Stoppunkte ablaufen lassen wollen, müssen wir jetzt noch als Kompilierungstyp “Release” auswählen und anschließend den “Local Windows Debugger” starten. Das ganze sieht dann folgendermaßen aus: Im Output Fenster können wir sehen, dass unser Programm erfolgreich kompiliert wurde und über den COM3 Port hochgeladen wurde. Wenn wir jetzt auf unseren Arduino schauen, können wir beobachten, wie die LED langsam blinkt. Den kompletten Blog Post habe ich auch nochmal in Form eines Video auf Youtube veröffentlicht. Für all die Leute die sich bisher noch nicht mit Development beschäftigt haben oder aus anderen Programmiersprachen wie der C Familie kommen würde ich den Kurs C++ Einführung in die Programmierung empfehlen für den leichteren Einstieg in die Programmierung, da dort die Grundkenntnisse über die Datentypen usw vermittelt werden. In meinem nächsten Artikel werden wir uns dann Programmierung von komplexeren Anwendungen beschäftigen.

Kostenlose Plug-Ins für Visual Studio

Diese Woche hatte ich euch einen Artikel über kostenlose Plug-Ins für Internet Explorer vorgestellt. In diesem Teil beschäftige ich mich mit den kostenlosen Plug-Ins für Visual Studio. Es wird eine Liste mit den Microsoft Visual Studio Plug-Ins gezeigt.    1. Node.js Tools für Visual Studio (NTVS) [link] Microsoft hat kürzlich ein kostenloses Plug-In für Visual Studio veröffentlicht, das umfangreiche Unterstützung für Node.js innerhalb der Visual Studio IDE bereitstellt und beispielsweise Debuggen von Node.js-Code direkt in Microsofts beliebtester IDE ermöglicht. Durch das Node.js-Plug-In, haben Entwickler die Möglichkeit, Entwicklungsumgebungen in ihrer Anwendung zu nutzen. NTVS steht unter der Apache-Lizenz. Apache-Lizenz, eine Freie-Software-Lizenz mit Einschränkungen, die unter anderem zur GNU Lizenz 3 kompatibel ist [link]. Die NTVS ermöglichen Entwicklern einen Zugriff auf IntelliSense und auf die Debugging-, Profiling- und Deployment-Funktionen von Visual Studio. Das Plug-In besitzt eine grafische Benutzeroberfläche für den Node Package Manager, über die man aus Visual Studio heraus Bibliotheken für das serverseitige JavaScript-Framework aus dem npm-Repository laden kann. Die Anbindung an Microsofts Cloud-Plattform Windows Azure ist auch bereits gegeben. Obwohl es erst eine Alpha-Version ist, lässt es sich unter Visual Studio 2012 und 2013 einsetzen. Microsofts Scott Hanselman hat einen Beitrag zum Plug-In im Detail mit einer ganzen Reihe von Screenshots erstellt. Siehe[link] Abbildung1: NTVS Das Node.js-Plug-In für Visual Studio ist ein Framework, das auf Google JavaScript-Engine V8 beruht. Mit diesem Framework lassen sich JavaScript-Programme entwickeln, die sowohl auf dem Client als auch auf dem Sever vollständig asynchron laufen und per Events miteinander kommunizieren können. 2. GhostDoc 4.8.13316 [link] GhostDoc ist eine Visual Studio-Erweiterung, die automatisch XML-Dokumentationskommentare für Methoden und Eigenschaften auf der Grundlage ihres Typ, Parameter, Namen und weiteren Kontextinformationen generiert. GhostDoc fügt also automatisch Kommentare zur XML-Dokumentation hinzu. Diese Kommentare werden entweder aus dem Code der Klassen und Schnittstellen oder aus Methoden, Eigenschaften und Parametern ausgelesen. [link] In undokumentiertem Code kann man so einfach mit Strg-Shift-D Kommentare erstellen (Abbildung 1). Abbildung2: GhostDoc Beim Generieren von Dokumenten für abgeleitete Klassen von einer Basisklasse oder Schnittstellenimplementierung (z.B. .NET Framework) verwendet es die Dokumentation, die Microsoft oder der Rahmen-Hersteller bereits für die Basisklasse oder Schnittstelle geschrieben hat. Einige Vorteile bietet GhostDoc, wie beispielsweise eine vereinfachte Dokumentation von Code und eine XML-Kommentarvorschau. Neu in dieser Version 4.8.13316 hinzugekommen ist die Unterstützung von Visual Studio 2013. 3. Visual SVN - Versionsverwaltung mit SVN-Code[link] VisualSVN ist ein professionelles Subversion-Integration-Plug-In für Visual Studio 2003 bis 2013 (Quellcodeverwaltungsunterstützung mit VisualSVN). VisualSVN 3.0 ist an Visual Studio 2012 angepasst: Das Add-in zur Integration der Versionsverwaltung Subversion (SVN), setzt auf dem separat zu installierenden Windows-Client TortoiseSVN auf und lässt sich auch in den bisherigen Visual-Studio-Versionen 2005 bis 2013 nutzen. Die wichtigsten Vorteile von VisualSVN sind: - Mit VisualSVN hängt oder stürzt Visual Studio nicht ab. - Nahtlose Integration: hinzugefügte oder umbenannte Dateien werden automatisch behandelt. - Echtzeitstatus: sorgfältige Überwachung, zeigt alle aktuellen Änderungen an der Arbeitskopie. Abbildung3: VisualSVN Kurze Lernkurve: VisualSVN nutzt TortoiseSVN-Dialoge und bietet einen intelligenten Assistenten, um die Quellen unter Subversion zu setzen. Die VisualSVN Community-Lizenz ermöglicht freie Verwendung von VisualSVN für User, die nicht Mitglied einer Active Directory-Domäne sind. Außerdem enthält das Serverpaket einen abgespeckten Apache-HTTP-Server, einen Subversionsserver und eine Microsoft Management Konsole-Konfigurationsoberfläche für eine Ein-Klick-Installation eines Subversion-Servers auf Windows-Plattform. [Link] zu Features; [Screenshots] 4. Visual Studio 2013 Color Theme Edition [link] (auch für VS 2012 [link] erhältlich) Unnötig, macht aber Spaß: Die Color Theme Edition von Visual Studioermöglicht das Erstellen und Bearbeiten von Visual Studio-Themen. Themen können Farben für Menüs, Symbolleisten, Tabs, Titelzeile, Text-Editor und andere Umwelt-Farben anpassen. Es dient zur Verwendung von vordefinierten grafischen Designs und ändert den ganzen Aspekt von Visual Studio. Es ermöglicht das Anpassen der Visual Studio 2013-Farbpalette. Diese Erweiterung wird in Visual Studio 2013 Professional und höher unterstützt.   Abbildung4: Visual Studio 2013 Color Theme Edition 5.Code Compare: [link] Code Compare ist ein erweitertes Datei- und Ordnervergleichs-Tool. Als Datei-Vergleichs-Dienstprogramm gibt es die Unterschiede zwischen zwei Dateien aus. Es kann als Visual Studio-Add-in und als eigenständige Anwendung verwendet werden. Code Compare ist ein Plug-In, das externe Tools verwendet, um Dateien, Ordner und Zwischenablage zu vergleichen und zusammenzuführen. Abbildung5: Code Compare Die Integration mit Visual Studio bringt alle Möglichkeiten von Visual Studio-Editor und ermöglicht es, alle Vorgänge in einem Projekt-Kontext auszuführen. Ohne zusätzliche Vorinstallation erlaubt die Standalone-Version von Code Compare das Arbeiten mit Quellen und bietet daher höhere Anwendungsleistung. Die Standalone-Version unterstützt die beliebtesten Programmiersprachen wie Java, Delphi, PHP usw. Weitere Hauptmerkmale sind: - Integration in Visual Studio 2010, 2012 und 2013 - File Editor mit Suche und Lesezeichen - Syntax-Hervorhebung für mehrere Sprachen - Zeigt Änderungen innerhalb der verglichenen Codezeilen 6. Microsoft All-In-One Code Framework für Visual Studio 2012 [link] Microsofts All-In-One Code Framework ist eine kostenlose Code-Bibliothek, die mit Beispielen für typische Entwicklungsaufgaben sorgt. Es enthält mehr als 3.500 Codebeispiele rund um Windows Forms, ASP.NET, Silverlight oder Windows Presentation Foundation (WPF). Inzwischen wurde auch eine Erweiterung für Visual Studio 2012 und 2010 (-Sample Browser Visual Studio Extension) entwickelt, mit der sich das All-In-One Code Framework nahtlos in die Entwicklungsumgebung integrieren lässt. Damit können die zahlreichen Samples direkt aus der Entwicklungsumgebung heraus eingesehen und heruntergeladen werden – darunter auch beispielsweise mehr als 700 Beispiele zu Windows 8. Sample Browser Visual Studio Extension [link] Die Sample Browser Visual Studio Extension ermöglicht Entwicklern das Suchen und Herunterladen von über 4.500 Codebeispielen aus innerhalb von Visual Studio 2012 und Visual Studio 2010. Es wird vom Microsoft All-In-One Code Framework in Partnerschaft mit Visual Studio Team und MSDN Samples Gallery bereitgestellt. Abbildung6: Search Code Samples Entwickler lieben Codebeispiele. Beispiele dienen oft als Ausgangspunkt für viele Entwickler, um sich mit einer neuen Technologie vertraut zu machen. Sie bieten auch unkomplizierte Lösungen und hilfreiche Verweise, wenn Entwickler harte Programmieraufgaben lösen müssen.   Fazit: Visual Studio ist schon sehr nützlich - wenn man dann noch das eine oder andere Plug-In installiert, wird es ein super Tool. Die meisten der Plug-Ins sind sowohl für Visual Studio 2005 als auch höher verfügbar. Die Reihenfolge gibt keine Aussage über die Wertigkeit oder Häufigkeit der Verwendung, wobei sich besonders GhostDoc großer Beliebtheit erfreut.