Einkaufsliste zum Beitrag
Der Mouse-Jiggler ist in CircuitPython geschrieben und soll die virtuelle Maus zyklich alle paar Minuten hin und her bewegen, um eine eventuelle Bildschirmsperre oder einen Timeout bei bestimmten Operationen am PC verhindern.
Das wird benötigt
Sie benötigen die folgenden Komponenten für den Mouse-Jiggler
- Thonny IDE: Thonny.org
- CircuitPython: CircuitPython.org
- Raspberry Pi Pico: Pi Pico
- Adafruit HID Bibliothek: HID-Lib
Das Pico-Board mit USB Kabel
Die Bibliothek
Wenn Sie die Bibliothek von GitHub herunter geladen haben, erhalten Sie in der Regel ein ZIP-File, darin enthalten finden Sie den Ordner adafruit_hid. Kopieren Sie diesen Ordner einfach mittels Dateiexplorer auf den Raspberry Pi Pico in das Verzeichnis lib hinein. Diese wird im Code in Zeile 005 automatisch geladen.
Der Code - code.py
Der Code ist ist recht übersichtlich aufgebaut und kann unten kopiert und angepasst werden. Startet der Code auf dem Pico, signalisiert die interne LED das Bewegen des Mauszeigers alle 30 Sekunden. Speichern Sie das folgende Script als code.py auf dem Raspberry Pi Pico ab.
001 import time
002 import usb_hid
003 import board
004 import digitalio
005 from adafruit_hid.mouse import Mouse
006
007 mouse = Mouse(usb_hid.devices)
008
009 led = digitalio.DigitalInOut(board.GP25)
010 led.direction = digitalio.Direction.OUTPUT
011
012 led.value=False
013 time.sleep(5)
014
015 while True:
016 led.value=True
017 mouse.move(x=100)
018 time.sleep(1)
019 led.value=False
020
021 time.sleep(30)
022
023 led.value=True
024 mouse.move(x=-100)
025 time.sleep(1)
026 led.value=False
027
028 time.sleep(30)
Natürlich kann dieses Script auch dahingehend angepasst werden, damit die Maus kleinere (nicht komplexe) Arbeitsschritte automatisiert abarbeitet. Dazu ist es allerdings erforderlich, das die Maus feste Koordinaten ansteuert, um sichere Referenzpunkte anfahren zu können die sich nicht ändern. mouse.move(x=-2000) und mouse.move(y=-2000) bewirkt, das die Maus garantiert immer oben links als festen Referenzpunkt starten kann.