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.

2. Umsatz per Social Media

Im ersten Blogbeitrag haben wir verschiedene soziale Netzwerke kennengelernt. Jetzt möchte ich euch mitteilen, ob man über soziale Netzwerke als Unternehmen zusätzlichen und messbaren Umsatz generieren kann. Nicht jedes Unternehmen generiert effektiv Umsatz durch Social Media. Es gibt sehr wenige Daten, die diese bestätigen. Daher muss man diese Daten messbar machen. Messbare Kennzahlen (KPIs) Eine einfache und messbare Kennzahl ist das Wachstum des eigenen Netzwerkes, z.B. die Follower-Zahl bei Twitter oder die Likes der eigenen Facebook-Seite. Wer in sozialen Netzwerken aktiv ist, weiß genau, dass man zuerst User als Fan oder Follower gewinnen sollte. Die User sollten auch eine gute Meinung über das Produkt bzw. Dienstleistung haben und abschließend positiv darüber sprechen und Beiträge liken. Social Media Marketing erhöht die Empfehlungen der eigenen Netzwerk und dient der Steigerung der Bekanntheit des Unternehmens. Ein Tweet, ein Posting oder ein Klick auf dem “Gefällt mir“ -Button erreichen im Idealfall eine Vielzahl von Fans oder Followern. Doch für die Auswertung des Marketing-Erfolgs ist es wenig hilfreich, da er so gut wie nichts über die Art und Weise der Kommunikation zwischen einem Unternehmen und seiner Community aussagt. Bessere messbare Kennzahlen sind hingegen solche, mit denen man den Erreichungsgrad eines Marketingziels messen kann, wie: · die Anzahl positiver Beiträge von Nutzern, in denen ein bestimmtes Produkt erwähnt wird oder · die Anzahl der Nutzer, die über eine Social Media-Kampagne auf der eigenen Webseite gelandet sind und dort z.B. einen Gutschein-Code eingelöst haben. Möglichkeit zur Messung (KPIs) von Social Media Konversion: 1. Suchmaschinen-Alert 2. Google Analytics 3. Social Media Monitoring Tools: Socialmention, Hootsuite, Engagor, Heartbeat, Talkwalker und Radian6 4. URL Shorteners mit Metriken: Bit.ly & Budurl.com 5. Aktivitäten auf Social Landing Pages: WordPress und Facebook Pages 1. Suchmaschinen Alert Möchte man ein gewisses Thema im Auge behalten und die diesbezüglichen Entwicklungen nachverfolgen, so bietet sich ein Service an, der das Internet zyklisch nach neuen Informationen zu diesem Thema durchsucht und über gefundene Neuigkeiten informiert. Geben Sie beispielsweise den Namen Ihres Unternehmens an, so führt Google Alert eine Recherche im Internet durch. Landet das System einen Treffer, so erhalten Sie per E-Mail eine Benachrichtigung. Um mit dem Service Google Alerts eine zyklische Recherche zu initialisieren, benutzt man den Link: http://www.google.de/alerts . 2. Google Analytic Mit Google Analytics kann man nicht nur den Umsatz und Conversions messen, sondern auch erfahren, wie die Nutzer Ihre Website verwenden und wie sie dorthin kamen. Anhand von Berichten können Sie sehen, welche Bereiche Ihrer Website gute Ergebnisse erzielen und welche Seiten besonders beliebt sind. So kann man die Website entsprechend optimieren und für Besucher noch attraktiver gestalten. Mit Google Analytics können Sie analysieren, wie erfolgreich Ihre Aktivitäten in sozialen Medien sind. Sie finden heraus, wie viele Besucher Funktionen zum Teilen auf Ihrer Website nutzen - wie zum Beispiel die +1-Schaltfläche von Google+ - und sich auf anderen sozialen Plattformen über Ihre Inhalte austauschen. Mithilfe der verschiedenen Analysefunktionen von Google Analytics kann man auch herausfinden, wie viele Kunden man erreicht. So kann man diese Erkenntnisse in eigenen Marketingkampagnen umsetzen und die Wirkung der Werbung auf diese Weise verstärken. Abbildung 1: Google Analytics 3. Social Media Monitoring Tools Umsatz und Conversions lassen sich auch durch Social Media Monitoring Tools messen. Es gibt eine Vielzahl an Tools, die sowohl kostenlos als auch gebührenpflichtig sind. Sie unterscheiden sich hauptsächlich durch erweiterte Filterfunktionen bei Keyword-Suchen und höherer Vielfalt der Statistiken. - Socialmention Dieses Tool bietet, ähnlich wie Google Alerts, die Funktion das Internet anhand definierter Schlüsselwörter zu untersuchen. Die einzelnen Social Media-Plattformen lassen sich dabei auch filtern gruppieren. Darüber hinaus versucht das Tool, statistische Kennzahlen zu ermitteln. So können Sie beispielweise herausfinden, wie sich die Anzahl an Diskussionen über Ihr Produkt in letzter Zeit im Social Web oder nur bei Twitter etc. entwickelt hat. Ein Nachteil ist, dass das Tool nicht auf Deutsch verfügbar ist. Das erschwert zum einen die Anweisung und zum anderen werden laut Experten die Keywords nur bedingt korrekt interpretiert und gemessen. Abbildung 2: Socialmention - Hootsuite Zahlreiche Profile bei Twitter, Facebook, MySpace, LinkedIn und WordPress lassen sich hier über eine Online-Oberfläche verwalten. Unterwegs erhalten Sie auch Zugang über Apps für Tablets und Smartphones. Professionelle Social Media Monitoring Tools: - Engagor Hat vielfältige Workflow-Funktionen. Die Navigation ist jedoch etwas unübersichtlich. Abbildung 3: Engagor - Heartbeat (Sysomos) Als eines der wenigen Analyse-Tools bietet Heartbeat gleichzeitig sowohl Sprach- als auch Länderfilter an. Einziger Nachteil: Die Weiterentwicklung der Plattform hat sich verlangsamt. Abbildung 4: Heartbeat/ Sysomos - Talkwalker zeigt Analysefunktionen und hat Filter- und Reporting-Möglichkeiten. - Radian6 zeigt vielfältigen Funktionen und Auswertungsmöglichkeiten, doch in der Handhabung ist das Tool eher anspruchsvoll. Abbildung 5: Radian6 Jedes Tool bietet individuelle Funktionen und unterscheidet sich im Fokus. Während der Schwerpunkt einiger eher beim Workflow liegt, setzen andere auf ausgeprägte Analytics. Weitere Quellen: http://www.netzpiloten.de/social-media-monitoring-tools/ 4. URL Shorteners mit Metriken Kurz-URL-Dienst dient dazu, dass eine beliebige URL existierender Websites eine zweite, Alias-URL erzeugt, welche über eine HTTP-Weiterleitung wieder zum Aufruf der entsprechenden Webseite führt. - Bit.ly ist der meistgenutzte Dienst. - Budurl.com ist ein Webdienst, der für beliebig lange URLs kurze Weiterleitungs-Adressen (in der Form http://budurl.com/****) anlegt. Im Gegensatz zu vergleichbaren Angeboten wie tinyurl bietet Budurl.com detaillierte Nutzung-Statistiken für jede Weiterleitung. 5. Aktivitäten auf Social Landing Pages - WordPress-Plugin Mit einem Plug-In für WordPress kann man selbst Landing Pages erstellen. Die Absprungsrate und die Häufigkeit des Users, die eine Handlung vollzogen haben (Konversion), lassen sich in einer Zusammenfassung leicht vergleichen (Elemente, die die meisten Kunden und Umsätze bescheren). Link: http://wordpress.org/plugins/landing-pages/ - Facebook Pages Facebook Landing Page ist der Reiter (Tab) bei Facebook, der Usern standardmäßig beim „Betreten“ der Fanpage präsentiert wird. Der Nutzer soll zum Klick animiert werden und damit im besten Fall zum Kauf.   Abbildung 6: Facebook Landing Page/ Coca Cola Fazit: Facebook Landing Pages geben Website- und Shop-Betreibern die Möglichkeit, ihre User über einen anderen Kanal anzusprechen. Also muss das Interesse bei Facebook Fans erst geweckt werden. So kann man die User durch Aktionen aktivieren, denn nur so kann man die potentiellen Interessenten dazu motivieren, mit der Fanpage in Kontakt zu treten. Hier noch einige Beispiele: http://www.thomashutter.com/index.php/2011/03/facebook-landingpages-der-top10-facebookseiten-unter-der-lupe/