Tastendrücke am PC simulieren

Ein Projekt das mir schon lange am Herzen lag:
Ich möchte von einem Steuer-PC auf einen kontrollierten PC Tastendrücke senden.
Dafür gibt es wahrscheinlich Libraries und Tools „wie Sand am Meer“, normalerweise mache ich bei diesen Anwendungs-Szenarien alles mit ssh oder ähnlichem.
Das Projekt hier soll aber etwas Anderes leisten:
Ich möchte – möglichst ohne Library-Abhängigkeit auf dem Steuer-PC – einzelne Tastendrücke auf dem Ziel-PC auslösen können.
Und das ganze auch schon beim Start des Ziel-PCs, also z.B. um ins BIOS wechseln zu können und dort die Boot-Reihenfolge ändern, Secure-Boot einschalten zu können etc.

Wer sowas hört, denk vermutlich direkt an RubberDucky.
Genau das habe ich mir auch gedacht, aber ich möchte eben quasi den RubberDucky „fernsteuern“, ich möchte „just in time“ dem RubberDucky senden, was er für Tasten drücken soll.

Herausgekommen ist der RubberJogi.
Dieser wird auf dem Steuer-PC seriell (USB-serial) angesprochen und sendet an den Ziel-PC HID-Kommandos.

RubberDucky

  • RubberDucky Tastatur-Befehle im Texteditor schreiben
  • Konverter aufrufen
  • Binary auf SD-Karte schreiben
  • SD-Karte in RubberDucky stecken
  • RubberDucky in Ziel-PC stecken

RubberJogi

  • RubberJogi in Steuer-PC und Ziel-PC einstecken
  • RubberDucky Tastatur-Befehle via USB-Seriell am Steuer-PC senden, sie werden direkt im Ziel-PC ausgeführt

So sieht er in der einfachsten Form aus:

RubberJogi fliegender Aufbau mit USB2Seriell-Konverter und Arduino Micro

Mehr Infos, den Source-Code und Varianten, bei denen man noch mehr machen kann gibt es auf meinem Github-Repository

CO2-Messer für Klassenzimmer

Teensy LC mit SCD 30 CO2-Sensor von Sensirion

Nachdem nun der erste echte Winter mit Corona in den Klassenzimmern bevorsteht, habe ich für meine beiden Kinder zwei CO2-Ampeln gebastelt.

Beide basieren auf einem Teensy LC, einem CO2-Sensor SCD30 von Sensirion und zeigen irgendwir mit NEO-Leds und Farben den CO2-Wert an.
Dieser kann indirekt als Indiz für Aerosol-Belastung und damit erhöhte Anzahl von Corona-Viren in der Luft genommen werden, vor allem in Klassenzimmern, wo die Haupt CO2-Quelle das menschliche Atmen ist…

Also, erhöhter CO2-Wert : Fenster querlüften und CO2-Luft, Aerosole und Corona-Viren raus aus dem Zimmer …

Beides ist schon lange passiert, ich habe das damals alles direkt auf meinem Github-Account dokumentiert und auch über Twitter announced, hier jetzt ca 2 Jahre später (mal sehen ob ich das Datum noch zurückdatieren kann auf Januar 2021…) auch noch die Dokumentation und der Verweis auf das github-Repo

https://github.com/jogi-k/CO2-Ampel

Die zwei verschiedenen entstandenen Varianten, beide mit passendem Maker-Gehäuse aus unserem Laser-Cutter

CO2-Messer mit Neo-Pixel 7-Segment Anzeigen
CO2-Messer mit Neo-Pixel-Ring und zusätzlicher Mini-LCD Anzeige

Das vi-Pedal

Auf einem Streifzug durchs Netz bin ich auf folgenden Blog gestossen:
https://www.tobscore.com/warum-vim-so-geil-ist/
Dort sah ich das vi-Pedal und das war geekig genug, um es nachzubauen.
Ich selber nutze vi nicht oft und schnell genug, um das wirklich zu brauchen, aber einer meiner Arbeitskollegen kann das Ding sicher gut brauchen 🙂

Es gibt USB-Pedale zu kaufen, die man programmieren kann, welche Taste sie schicken sollen beim Drücken des Pedals, aber unterschiedliche Tasten beim Drücken und beim Loslassen des Pedals kann das nicht.
Für einen sinnvollen Einsatz als VI-Pedal ist das aber nötig… :
– Drücken des Pedals : „i“ für Insert-Mode
– Loslassen des Pedals : „ESC“ für Normal-Mode

Also : Mal wieder muss ein Teensy herhalten.
Die Elektronik des USB-Pedals wird mitbenutzt, anstatt eines Tasters wird dort eine verschleissfreie Infrarot-Lichtschranke verwendet.
Beim Drücken des Pedals fährt eine schwarze Trennwand zwischen die Lichtschranke.

So sieht der mitbenutzte Schaltungsteil aus:

Versorgungs-Spannung kommen vom Teensy, Dout wird an Pin 12 des Teensy angeschlossen.

Die notwendige Software ist auf github zu finden:
https://github.com/jogi-k/vi_pedal

Und so sieht das ganze dann aus:

und zusammengebaut:

und so sieht das ganze in Betrieb aus:

ESP 8266 – Development

Gestern habe ich endlich meine fliegende Breadboard-Schaltung „konserviert“:
Ein ESP 8266 – Development – „Board“.
Naja, der Name ist etwas übertrieben.
Es ist einfach nur eine kleine Platine mit einem Schalter und einer LED und zwei Steckern.
Auf der einen Seite kann man einen USB/TTL-Konverter anschliessen, auf der anderen Seite ein ESP 8266 – Standard-Board.
Mit dem Schalter kann man umschalten ob programmiert werden soll oder ob der ESP im Normalbetrieb sein soll.
Im Normalbetrieb hängt dann – über einen Widerstand – eine LED am GPIO2.

So sieht die Schaltung (mit Fritzing) aus:

und als Breadboard ( ich habe bei Fritzing keinen 2-fach-Schalter gefunden, darum als 2 einzelne gelayoutet…)

Der USB-Seriell-Wandler mit dem ich gute Ergebnisse hatte (ich hatte auch schon welche, die nicht genug Strom lieferten…)

Mini-Orgel (aus dem Make-Magazin)

An der Maker-Faire am Bodensee im Juni 2016 gab es eine Orgel mit Reissnagel-Technik zu bauen.
Leider waren ständig alle Plätze besetzt, so dass Laurin nicht dazu kam, die Orgel zu bauen.
Im Make-Magazin 6/2016 gab es nun genau diese Orgel als Projekt.
Nachdem alle Teile beinander waren, haben wir letztes Wochenende die Orgel gelötet.
Bis auf die Halbleiter hat Laurin alles selbst gelötet!

Tolle Sache.

Link zur Bauanleitung der Make:
https://www.heise-gruppe.de/presse/Make-Magazin-Mini-Orgel-in-einer-Stunde-fertig-3567652.html

Eine Schildkröte (Turtle) mit dem Teensy-LC

Bei Präsentationen oder bei Team-Meetings oder ähnlichem kommt es immer wieder vor, dass
bei aufkommenden Diskussionen der Laptop den angeschlossenen Beamer wegen Nichtbenutzung der Maus
abschaltet.

Dafür gibt es einen kleinen Maus-Emulator,
dieser „wackelt“ alle 10 Sekunden an der Maus und verhindert dadurch, dass der Laptop den angeschlossenen Beamer abschaltet…

Das ganze ist realisiert mit einem Teensy-LC (ja, man kann mit Kanonen auf Spatzen schiessen, der lag halt gerade rum…)
Teensy_1920x1080_sm

Die zugehörige Software ist auf meinem git-hub-Account verfügbar:
https://github.com/jogi-k/Turtle

So wurde das „Gehäuse“ gebaut:
1.) Download eines Schildkrötenbilds,z.B. dieses hier:
https://upload.wikimedia.org/wikipedia/commons/7/70/Kturtle_top_view.svg

2.) Spiegeln

3.) Ausdrucken
Turtle_Teensy_1920x1080_sm

4.) Auschneiden

5.) Einzeln laminieren
Turtles_laminiert_1920x1080_sm

6.) Am Kopf und an den Beinen zusammenkleben, den Teensy-LC dazwischen reinlegen.

7.) Fertig
Turtle_Final_sm

FM-Receiver mit Raspberry PI

Habe einen FM-Receiver für eine Spezial-Aufgabe gebaut:

In meinen Auto habe ich leider keinen Anschluss für Audio-IN oder iPod o.ä. Darum bin ich für Handy / iPod / … Anschluss auf einen FM-Auto-Transmitter angewiesen.
Die meisten dieser Mini-Sender haben inzwischen einen FM-Receiver mit eingebaut um nach freien Kanälen zu scannen. Dieser Kanal wird dann angezeigt oder sogar angesagt und man muss „nur“ anschliessend das Auto-Radio auf diesen Kanal einstellen.
Schon kann man vom Handy/iPod/was auch immer seine Pdocasts oder Musik hören.
Wenn der Kanal nicht passt, geht das Spiel von vorne los.
Leider ist dies auf meiner Stammstrecke in die Arbeit der Fall, den optimalen freien Kanal habe ich noch nicht gefunden.

Darum : Mit einenm Raspi einen FM-Lückensucher gebaut.

1.) Einen FM-Empfänger besorgen, ich habe meinen, einen TEA5767,  hier via Amazon für ca 5 Euro gekauft.
2.) den FM-Empfänger gemäss dieser Anleitung an den PI angeschlossen
3.) Da ich gar kein Radio mit diesem Empfänger hören will, kann ich mir das Anlöten der Audio-Ausgänge sparen.
Jetzt sieht das also so aus:

Raspberry PI mit FM-Radio
Im Detail so:
FM-Receiver

4.) Für die Software habe ich die Raspberry-PI-SW von Dipto Pratyaksa von obigem Artikel auf github gecloned:

https://github.com/jogi-k/tea5767/tree/gap-scanner

Das ist ein eigener Branch namens gap-scanner, da ich den Web-Server nicht brauchte und er auf Anhieb auch nicht funktioniert hat.
Alle Vorbereitungen etc kann man obigem Artikel von Dipto Pratyaksa entnehmen.
Wenn sein Kommand-Zeilen-Radio mit

sudo python3 tea5767controller.py

funktioniert, kann anschliessend der Scanner mittels

sudo python3 tea5767gapscanner.py

aufgerufen werden.
Das zeigt auf der Console die gescannte Frequenz mit ermitteltem Empfangs-Level (0-15).
Die gleiche Information wird pro Scan-Durchlauf in ein File namens run_xx geschrieben, dort jedoch nur die Frequenz und mit einem Leer-Zeichen getrennt, der ermittelte Level.

Nun muss vorbereitend für das Script das erste Ergbnis-File umbenannt werden:
mv run_1 input

Mittels einer einfachen Schleife

#!/bin/bash

for i in run_*;  do
    join input $i > output
    mv output input
done


kann man die Werte aneinander-hängen und sie snschliessend in einem Editor oder Spreadsheet seiner Wahl genauer analysieren.

Pimp my Styro Cutter…

Am Wochenende haben wir (Laurin und ich) angefangen mit Styropor zu basteln, erste Vorbereitungen für Fasnacht…

Dazu habe ich einen Styropor-Cutter der einfachsten Art gekauft:

Origial Cutter

Der Glühdraht, mit dem der Styropor geschnitten wird, muss dabei um die beiden Enden des Bogens gewickelt und anschliessend verknotet! werden.

Da mir das trotz Lesebrille nicht richtig gelingen wollte, habe ich den Cutter etwas „gepimpt“: An beide Enden des Bogens habe ich Mini-Krokodil-Klemmen hingelötet, nun kann man den Glühdraht einfach einklemmen!

Super:

Styro-Cutter mit Kroko-Klemmen

Detail:

Kroko-Klemmen

Marienkäfer selbst basteln

Heute morgen haben Laurin und ich (auf seine Initiative hin) nette Marienkäfer gebastelt.

Schritt 1

Einen roten PET-Flaschen-Deckel bemalen

roter PET-Flaschendeckel bemalt

Schritt 2

Moosgummi passend zum Deckel ausschneiden.
Silberdraht biegen, 6 malund das ganze mit Tesa fixieren

Moosgummi mit Silberdraht

Schritt 3

Mit Heisskleber (mein Lieblings-Spontan-Kleber) die Drähte festkleben

Festgeklebte Drähte

Schritt 4:

Den PET-Flaschen-Deckel festkleben und lustige Klebe-Augen mit Sekunden-Kleber (mein zweitliebster Spontan-Kleber) auf den Moosgummi befestigen

Fast fertig

Schritt 5:

Milo will natürlich auch einen haben.
Also das Ganze mal zwei: Nett !

Fertig! Nett!