Add USB auto-read key transfer + UI redesign
USB auto-read: - ESP responds to 'KEY?\n' over USB serial with 'HMAC_KEY:<hex>' - Android UsbKeyReceiver (manifest BroadcastReceiver) catches USB_DEVICE_ATTACHED - Filters on Espressif vendor 0x303a, requests USB permission - Opens CDC-ACM serial (115200), sends KEY?, parses response, saves to SharedPreferences - Works even when app not in foreground - usb-serial-for-android v3.7.3 via JitPack UI redesign: - activity_main.xml: FrameLayout with settings icon top-right, relay button center, status bottom-left (14sp) - Scan & Connect button moved to SettingsActivity - SettingsActivity: hint text 'Voer de HMAC sleutel in of sluit de relaismodule aan op de telefoon' - SettingsActivity: scan button saves key + returns RESULT_OK to trigger scanning - MainActivity: removed scanButton, auto-scan on onResume when key is set - Back button removed from settings (ActionBar up navigation only) README updated with USB protocol docs, new UI description, and updated setup guide
This commit is contained in:
parent
7f68e9ad70
commit
4518aec34e
10 changed files with 270 additions and 74 deletions
17
src/main.cpp
17
src/main.cpp
|
|
@ -158,6 +158,23 @@ void setup() {
|
|||
}
|
||||
|
||||
void loop() {
|
||||
if (Serial.available()) {
|
||||
static String serialBuf;
|
||||
char c = Serial.read();
|
||||
serialBuf += c;
|
||||
if (c == '\n') {
|
||||
serialBuf.trim();
|
||||
if (serialBuf == "KEY?") {
|
||||
Serial.print("HMAC_KEY:");
|
||||
for (int i = 0; i < 32; i++) {
|
||||
Serial.printf("%02X", HMAC_KEY[i]);
|
||||
}
|
||||
Serial.println();
|
||||
}
|
||||
serialBuf = "";
|
||||
}
|
||||
}
|
||||
|
||||
int sensorState = digitalRead(SENSOR_PIN);
|
||||
|
||||
bool touchActive = (sensorState == LOW);
|
||||
|
|
|
|||
Loading…
Reference in a new issue