HOW TO: Digispark USB Ducky nutzen

  • DigiSpark ist ein Attiny85-basiertes Mikrocontroller-Entwicklungsboard ähnlich der Arduino-Linie, nur deutlich billiger, kleiner und direkt mit einem USB-Anschluss ausgestattet. Da der USB-Controller des DigiSpark auch als Tastatur fungieren kann, kann mit diesem Arduino kompatiblen Board das Bad-USB-Angriffszenario nachgestellt werden.


    Der DigiSpark kostet je nach Händler und je nachdem, wie viele Module abgenommen werden, zwischen 2 und 8 Euro. Erhältlich ist er bei vielen Online-Händlern – darunter auch Amazon und Ebay. Durch die kleine Größe besitzt er nur wenige Pins, allerdings können darüber erstaunlich viele verschiedene Schnittstellen (z.B. I2C, SPI, USI, PWM, ADV) abgebildet werden. Eine eigebaute LED zeigt den Status bei einer Stromverbindung an und eine zweite LED kann frei programmiert werden und dient zum Beispiel dazu, ein Feedback zu erhalten.


    DigiSpark Anleitung


    Mit der nachfolgenden Anleitung kann die Arduino IDE eingerichtet werden, um den DigiSpark zu programmieren.


    1. Schritt: Download und Installation der Arduino IDE

    Geh auf die offizielle Website und lade dir dort die für das eingesetzte Betriebssystem passende Version herunter. In diesem Beispiel arbeite ich mit einem Windows-System und wähle daher die Version „Windows Installer for Windows XP and up“ aus. Auf der nächsten Seite kann der Download mit einem Klick auf den Link „Just Download“ gestartet werden.



    2. Digistump Treiber installieren

    Als Nächstes musst du den USB-Treiber installieren, damit dein Rechner die Scripte auf deinen Digispark übertragen kann. Den „gepackten“ Treiber kannst du bei GitHub herunterladen. Entpacke die Datei und führe dann die Setup-Datei DPinst.exe (32Bit Windows) oder DPinst64.exe (64Bit Windows) aus. Daraufhin wird der Treiber „Sigistump LLC Anschlüsse“ installiert.



    3. DigitSpark Board hinzufügen

    Starte anschließend die Arduinio IDE. Öffne dort im Menü „Datei“ den Dialog „Voreinstellungen“ und füge im Feld „Zusätzliche Boardverwalter-URLS:“ die URL http://digistump.com/package_digistump_index.json hinzu. Bestätige anschließend den Dialog mit einem Klick auf den Button „OK“. Gehe nun in den nächsten Dialog in dem im Menü „Werkzeuge“ auf das Untermenü „Board: #“ und wähle die Option „Boardverwalter…“. Gebe nun im Dialog „Boardverwalter“ in die Suchleiste den Suchbegriff „Digistump AVR Boards“ ein und klicke im gefundenen Eintrag auf „installieren“. Danach kannst du diesen Dialog wieder schließen. Gehe nun wieder in das Menü „Werkzeuge“ und in das Untermenü „Board: #“. Wähle dort nun die neu hinzugekommene Option „Digispark (Default – 16.5mhz)“ aus.



    4. Deutsches Tastaturlayout

    In der Standardkonfiguration nutzt der DigiSpark das englischsprachige Tastaturlayout. Dadurch kann es zu Problemen bei der Verwendung von Sonderzeichen kommen, da bei einer Programmierung mit einer deutschen Tastatur das englische Äquivalent der Zeichen verwendet wird. Auf GitHub gibt es einen Fork des DigiStump AddOns „DigistumpArduino – Germanized Keyboard Library“. Hier kann dann die Header-Datei „DigiKeyboardDe.h“ genutzt werden und im selben Ordner wie die „.ino“ Arduino-Datei abgelegt werden. Einzige Einschränkung sind die deutschen Umlaute.


    DigiSpark Beispiele


    Um den ersten Einstieg zu erleichtern, habe ich hier drei Beispiele erstellt.


    1. Blinkende LED

    Im ersten Beispiel lassen wir die vorhandene LED blinken. Nachdem eine setup()-Funktion erstellt wurde, die die Anfangswerte initialisiert und setzt, führt die loop()-Funktion genau das aus, was ihr Name vermuten lässt, nämlich eine Endlosschleife. Um nun die LED blinken zu lassen, muss in der setup()-Funktion der Pin der LED als Ausgabe (Output) gesetzt werden. In der loop()-Funktion wird die Ausgabe auf HIGH gesetzt, also stromleitend. Nach einer Wartezeit von 500 Millisekunden wird mit dem delay-Befehl der Strom mit LOW wieder ausgeschaltet. Danach erfolgt wieder eine Pause von 500 Millisekunden, da ansonsten die LED gleich wieder angehen würde. Sie können ein bisschen mit den Werten experimentieren und die LED schneller oder langsamer blinken lassen.


    Code
    void setup() {
    pinMode(1, OUTPUT);
    }
    void loop() {
    digitalWrite(1, HIGH);
    delay(500);
    digitalWrite(1, LOW);
    delay(500);
    }

    2. Hallo Welt Ausgabe mit Sonderzeichen

    Als Nächstes erstellen wir eine Ausgabe mit einer virtualisierten Tastatur. Um die deutsche Tastaturausgabe zu nutzen, muss am Anfang die Header-Datei „DigiKeyboardDe.h“ eingebunden werden. Dadurch steht uns der Funktionsaufruf „DigiKeyboardDe.println“ zur Verfügung. Wird das nachfolgende Beispiel auf den DigiSpark geladen, gibt die virtuelle Tastatur alle 2 Sekunden den Text „Hello World XYZ !\“§$%&/()=? [] {}<>!” aus.

    Code
    #include "DigiKeyboardDe.h"
    void setup() {
    }
    void loop() {
    DigiKeyboardDe.println("Hello World XYZ !\"§$%&/()=? [] {}<>!");
    DigiKeyboard.delay(2000);
    }

    3. Taschenrechner unter Windows öffnen

    Im letzten Beispiel wollen wir den Taschenrechner mit dem Digispark starten. Da wir die Aktion nur einmal ausführen möchten, schreiben wir die Befehle in die setup()-Funktion. Die Grundlagen zum Ausführen von Programmen stellt der Ausführen-Dialog dar. Dieser kann mit der Tastenkombination Windowstaste und R-Taste aufgerufen werden. Um eine Tastenkombination mit dem DigiSpark auszuführen, wird der Befehl DigiKeyboardDe.sendKeyStroke() verwendet. Welche Tasten möglich sind, kann direkt in der Datei „DigiKeyboardDe.h“ nachgelesen werden.

    Code
    #include "DigiKeyboardDe.h"
    void setup() {
    DigiKeyboardDe.sendKeyStroke(0);
    DigiKeyboardDe.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
    DigiKeyboardDe.println("calc");
    }
    void loop() {
    }

    Weitere Beispiele sind direkt in der Arduino IDE verfügbar. Du findest sie unter „Datei“ > „Beispiele“. Dort gibt es dann eine spezielle Kategorie mit allen Beispiel-Codes für den DigiSpark. Viel Spaß beim Experimentieren?

    Digispark Kaufen: https://amzn.to/2LQaQHf

    Digispark Kaufen: https://amzn.to/2LQaQHf

    Digispark Kaufen: https://amzn.to/2LQaQHf

    Digispark Kaufen: https://amzn.to/2LQaQHf

    Digispark Kaufen: https://amzn.to/2LQaQHf

    Original: https://scheible.it/digispark-usb-development-board/
    Sonstige Quellen: Digistump
    Attiny


    Offizielle TuningPack Website: https://www.tuning-pack.de

    TuningPack Changelog: Updates

    TuningPack, Alle Versionen: https://github.com/MinersWin/TGF-Tuning-Pack-4.0/releases

    TuningPack FAQ: FAQ

    Discord: https://discordapp.com/invite/qrXmqSq

    TuningPack Vorstellungsvideo:

    The Global Supreme Legendary Eagle Master Guardian First Class
    Moritz | MinersWin

    Fachinformatiker in der Systemintegration
    The Geek Freaks Team
    Tuning Pack Developer
    HWS Head-Experte

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!