I chose this dev board by LilyGo because it comes with dip switches that can change the USB Type-C’s data pins from the ESP’s program-upload pins to the ESP’s OTG (keyboard) pins. I exposed these switches by using a hot screwdriver to melt a hole in the back of the black plastic casing.
Currently I’m using the upgraded wedge to type a pre-stored password whenever an accepted tag is read. The wifi capabilities allow me to use Vivokey’s Scan API with my spark 2 for better authentication than just my UIDs. My end goal is to use Vivokey’s Key Value Store API so that the password can be encrypted and stored securely outside of the device.
I was wondering what I could do with my old wedge, great idea @LordSethos2000 !
@XEMON If you’re looking for the code for a wireless keyboard wedge:
A lesson I had to learn the hard way is the ESP32 ≠ ESP32-S2, the S2 version has the OTG pins required for pretending to be a USB keyboard. The ESP32 does not, meaning the ESP32 can only be a bluetooth keyboard wedge, not a USB keyboard wedge.
The range is great! I would say it is worth the cost and extra shipping time to get an Elechouse PN532 over a knock-off PN532 that is closer. I can get successful scans of an xSeries approximately 1cm away from the circuit board.
Edit:
Keyboard Wedge Update! A user provided username and password is encrypted by the ESP32-S2 and stored on Vivokey’s servers using Vivokey’s Key Value Store API. The stored username and password can then be retrieved, decrypted, and typed on every authenticated scan.
Since I am new to the world of encryption and I am unsure what an acceptable level of encryption would be, I would appreciate if someone could provide some input/critiques on my encrypt() and decrypt() functions please?