Automatisieren Sie sicheres Knacken mit einem ESP8266 und einem Schrittmotor
YouTuber Zach Hipps, Schöpfer des Kanals „Byte Sized Engineering“, hat einen Schwager, der kurz vor dem Urlaub den Zahlencode seines Safes in den Safe steckte. Als er jedoch nach Hause zurückkehrte, stellte er fest, dass er den Code vergessen hatte und keine Möglichkeit hatte, ihn abzurufen, selbst nachdem er den Hersteller kontaktiert hatte. Um das Problem zu lösen, hatte Hipps die Idee, ein automatisches Tresorknackgerät von Grund auf zu entwickeln, das alle Millionen möglichen Kombinationen durchgehen konnte, um schließlich die richtige Kombination zu finden.
Nach einigen Recherchen über verschiedene Arten von Tresorknackrobotern stieß Hipps auf ein Video von Lock Picking Lawyer, in dem der ITL-2000 zu sehen ist – ein Roboter, der den Code automatisch eingeben kann, indem er den Drehknopf dreht, bis die drei inneren Ringe zum Entriegeln ausgerichtet sind der Safe. Um das Design zu verbessern und es mit anderen Zifferblättern kompatibel zu machen, hat Hipps die vertikale Schrittmotoranordnung nachgeahmt, das Spannfutter jedoch durch einen Klemmmechanismus mit variabler Größe ersetzt. Dadurch werden Schäden am Tresor minimiert und er wird gleichzeitig zu einem sehr tragbaren Gerät.
Um das Zifferblatt wiederholbar und präzise zu bewegen, war die Verwendung eines Schrittmotors erforderlich. Da die Wählscheibe außerdem stoppt, wenn die richtige Kombination eingegeben wurde, muss der Mikrocontroller außerdem wissen, wann sich der Motor nicht mehr bewegen kann. Aufgrund dieser Überlegungen entschied sich Hipps für einen Schrittmotor PD57-2-1076, da dieser über ein hohes Drehmoment verfügt und über einen integrierten Motortreiber verfügt, der auch Blockierungen erkennen kann. Die Steuerung erfolgt über einen Adafruit ESP8266 Feather sowie einen stapelbaren OLED-Bildschirm zum Anzeigen von Motor-Debugging-Daten.
Der integrierte Trinamic-Treiber des Schrittmotors verfügt über ein begleitendes Softwarepaket zum Einstellen bestimmter Parameter auf einem PC und zum Senden dieser über UART an den Treiber. Nach der Abstimmung der Konfiguration konnte Hipps den Lastwert in der Software in Echtzeit anzeigen, wobei ein niedrigerer Wert einer höheren Last auf der Motorwelle entspricht und eine Null einen vollständigen Stillstand anzeigt. Anschließend richtete er den ESP8266 ein, um diesen Wert zu überwachen, ihn auf dem Bildschirm anzuzeigen und das Senden von Bewegungsbefehlen genau dann einzustellen, wenn eine Null erscheint.
Das 3D-gedruckte verstellbare Spannfutter funktioniert ähnlich wie eine Schraubzwinge, wobei durch Drehen der Gewindestange jede Backe je nach Richtung entweder nach innen oder nach außen bewegt wird. Nachdem er über einen Koppler mit dem Schrittmotor verbunden war, verband Hipps den ESP8266 über die beiden UART-Pins mit dem Schrittmotortreiber, um Befehle zu senden und den Lastwert zu empfangen. Schließlich fügte er bei Bedarf auch einen digitalen Logikanalysator für erweitertes Debugging hinzu.
Um zu sehen, ob seine Kreation wie beabsichtigt funktionieren würde, fand Hipps einen Safe, der dem im Video des Lockpicking Lawyer ähnelte, und klemmte das Spannfutter des automatischen Wählgeräts um das Zifferblatt. Von hier aus hielt er den Schrittmotor, während sich die Wählscheibe entsprechend einer vorprogrammierten Kombination wiederholt drehte, um sicherzustellen, dass alles richtig ausgerichtet war. Im zweiten Teil plant er, einen Rahmen für mehr Stabilität zu bauen und den Code für eine bessere Leistung zu modifizieren. Für weitere Informationen können Sie sich sein Build-Log-Video hier auf YouTube ansehen.