From 302fe2c20204641da2db20c80c917d92cfa44085 Mon Sep 17 00:00:00 2001 From: JasonYANG170 Date: Fri, 17 May 2024 03:24:36 +0800 Subject: [PATCH] V3.0:add password and setting --- .idea/arduino-project-settings.xml | 2 +- src/main.ino | 588 +++++++++++++++++++---------- 2 files changed, 389 insertions(+), 201 deletions(-) diff --git a/.idea/arduino-project-settings.xml b/.idea/arduino-project-settings.xml index 9e7e3c0..dbc1f8b 100644 --- a/.idea/arduino-project-settings.xml +++ b/.idea/arduino-project-settings.xml @@ -2,6 +2,6 @@ \ No newline at end of file diff --git a/src/main.ino b/src/main.ino index bccc3a4..6176f9e 100644 --- a/src/main.ino +++ b/src/main.ino @@ -30,7 +30,7 @@ //配置数据结构 using namespace std; int OutPutTimes; -int modelchooese=0;//0:JSON,1:TXT +int modelchooese=0;//0:JSON,1:TXT,2:SET String OutPutString = ""; int keySize; char* passwordIn; @@ -38,7 +38,7 @@ struct key { String user; String password; }; - +int passwordst=0; const char* data = "Callback function called"; //#include #include @@ -57,121 +57,88 @@ const char* data = "Callback function called"; // #define BTN0 5 // #define BTN1 6 // #define BTN2 7 -#define READ 2 -#define BTN0 12 -#define BTN1 18 -#define BTN2 19 -U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* clock=*/ 5, /* data=*/ 4); // ESP32 Thing, pure SW emulated I2C +#define BTN0 12 +#define BTN1 1 +#define BTN2 0 + +U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* clock=*/ 9, /* data=*/ 8); // ESP32 Thing, pure SW emulated I2C PROGMEM const uint8_t icon_pic[][200] { { - 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x3E, - 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, - 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, - 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, - 0x7F, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00, - 0x00, 0x80, 0x7F, 0x00, 0x00, 0x00, 0xC0, 0x7F, - 0x00, 0x00, 0x00, 0xE0, 0x7F, 0x00, 0x00, 0x00, - 0xF8, 0x7F, 0x00, 0x00, 0xF0, 0xF8, 0xFF, 0xFF, - 0x01, 0xFC, 0xF8, 0xFF, 0xFF, 0x07, 0xFC, 0xF8, - 0xFF, 0xFF, 0x07, 0xFE, 0xF8, 0xFF, 0xFF, 0x07, - 0xFE, 0xF8, 0xFF, 0xFF, 0x07, 0xFE, 0xF8, 0xFF, - 0xFF, 0x07, 0xFE, 0xF8, 0xFF, 0xFF, 0x07, 0xFE, - 0xF8, 0xFF, 0xFF, 0x07, 0xFE, 0xF8, 0xFF, 0xFF, - 0x03, 0xFE, 0xF8, 0xFF, 0xFF, 0x03, 0xFE, 0xF8, - 0xFF, 0xFF, 0x03, 0xFE, 0xF8, 0xFF, 0xFF, 0x03, - 0xFE, 0xF8, 0xFF, 0xFF, 0x01, 0xFE, 0xF8, 0xFF, - 0xFF, 0x01, 0xFE, 0xF8, 0xFF, 0xFF, 0x01, 0xFE, - 0xF8, 0xFF, 0xFF, 0x01, 0xFE, 0xF8, 0xFF, 0xFF, - 0x00, 0xFE, 0xF8, 0xFF, 0xFF, 0x00, 0xFC, 0xF8, - 0xFF, 0x7F, 0x00, 0xFC, 0xF8, 0xFF, 0x3F, 0x00, - 0xF8, 0xF8, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /*"C:\Users\ROG\Desktop\三连\点赞.bmp",0*/ - /* (36 X 35 )*/ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00, + 0x00,0x0F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0x3F,0x00,0x00,0x00,0xC0, + 0x3F,0x00,0x00,0x00,0xE0,0x7F,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0xF8,0xFF, + 0x01,0x00,0x00,0xFC,0xFF,0x03,0x00,0x00,0xFC,0xFF,0x03,0x00,0x00,0xFE,0xFF,0x07, + 0x00,0x00,0xFF,0xFF,0x0F,0x00,0x80,0xFF,0xFF,0x1F,0x00,0x80,0xFF,0xFF,0x1F,0x00, + 0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0x1F,0x00,0x80,0xFF,0xFF,0x1F,0x00,0x80, + 0xFF,0xFF,0x1F,0x00,0x80,0xFF,0xFF,0x1F,0x00,0x80,0xFF,0xFF,0x1F,0x00,0x80,0x1F, + 0x80,0x1F,0x00,0x80,0x1F,0x80,0x1F,0x00,0x80,0x1F,0x80,0x1F,0x00,0x80,0x1F,0x80, + 0x1F,0x00,0x80,0x1F,0xB0,0x1F,0x00,0x80,0x1F,0xB0,0x1F,0x00,0x80,0x1F,0x80,0x1F, + 0x00,0x80,0x1F,0x80,0x1F,0x00,0x80,0x1F,0x80,0x1F,0x00,0x80,0x1F,0x80,0x1F,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,/*"C:\Users\qw200\Desktop\home.bmp",0*/ }, { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x00, 0x80, 0x1F, 0x00, - 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0xC0, - 0x3F, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00, - 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0xE0, 0xFF, - 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x01, 0x00, 0x00, - 0xFC, 0xFF, 0x03, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, - 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x07, 0xFE, 0xFF, - 0xFF, 0xFF, 0x07, 0xFC, 0xFF, 0xFF, 0xFF, 0x07, - 0xFC, 0xFF, 0xFF, 0xFF, 0x03, 0xF8, 0xFF, 0xFF, - 0xFF, 0x01, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, 0xE0, - 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0xFF, 0x3F, - 0x00, 0x80, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, - 0xFF, 0x1F, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0x00, - 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0xFF, - 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0x00, - 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0x0F, - 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0xFF, - 0xFF, 0x1F, 0x00, 0x80, 0xFF, 0xF0, 0x1F, 0x00, - 0x80, 0x3F, 0xC0, 0x1F, 0x00, 0x80, 0x1F, 0x00, - 0x1F, 0x00, 0x00, 0x07, 0x00, 0x1C, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00/*"C:\Users\ROG\Desktop\三连\收藏.bmp",0*/ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00, + 0x00,0x0F,0x00,0x00,0x00,0x00,0xFF,0x3F,0x00,0x00,0x00,0xFF,0x3F,0x00,0x00,0x00, + 0xFF,0x3F,0x00,0x00,0x00,0xFF,0x3F,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x0F, + 0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x0F,0x00, + 0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0xE0,0x7F,0x00,0x00,0x00,0xF8,0xFF,0x01,0x00, + 0x00,0xFC,0xFF,0x03,0x00,0x00,0xFE,0xFF,0x07,0x00,0x00,0xFF,0xFF,0x0F,0x00,0x00, + 0xFF,0xFF,0x0F,0x00,0x80,0xFF,0xFF,0x1F,0x00,0x80,0x7F,0xE0,0x1F,0x00,0x80,0x3F, + 0xC0,0x1F,0x00,0x80,0x3F,0xC0,0x1F,0x00,0x80,0x3F,0xC0,0x1F,0x00,0x80,0x3F,0xC0, + 0x1F,0x00,0x80,0x3F,0xC0,0x1F,0x00,0x80,0x7F,0xE0,0x1F,0x00,0x80,0xFF,0xFF,0x1F, + 0x00,0x00,0xFF,0xFF,0x0F,0x00,0x00,0xFF,0xFF,0x0F,0x00,0x00,0xFE,0xFF,0x07,0x00, + 0x00,0xFC,0xFF,0x03,0x00,0x00,0xF8,0xFF,0x01,0x00,0x00,0xE0,0x7F,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,/*"C:\Users\qw200\Desktop\key.bmp",0*/ + /* (36 X 37 )*/ }, { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, - 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x01, 0x00, 0x00, - 0xFC, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0x0F, - 0x00, 0x80, 0xFF, 0xFF, 0x1F, 0x00, 0xC0, 0xFF, - 0xFF, 0x7F, 0x00, 0xE0, 0x07, 0x00, 0x7C, 0x00, - 0xF0, 0x03, 0x00, 0xFC, 0x00, 0xF0, 0x03, 0x00, - 0xFC, 0x01, 0xF8, 0xFF, 0xF1, 0xFF, 0x01, 0xF8, - 0xFF, 0xF1, 0xFF, 0x03, 0xF8, 0x7F, 0xC0, 0xFF, - 0x03, 0xFC, 0x1F, 0x00, 0xFF, 0x03, 0xFC, 0x07, - 0x00, 0xFE, 0x07, 0xFC, 0x07, 0x01, 0xFC, 0x07, - 0xFC, 0xC3, 0x31, 0xF8, 0x07, 0xFC, 0xE1, 0xF1, - 0xF8, 0x07, 0xFC, 0xF1, 0xF1, 0xF0, 0x07, 0xFC, - 0xF1, 0xF1, 0xF0, 0x07, 0xFC, 0xF1, 0xF1, 0xF1, - 0x07, 0xFC, 0xF1, 0xF1, 0xF1, 0x07, 0xFC, 0xF1, - 0xF1, 0xF1, 0x03, 0xF8, 0xF1, 0xF1, 0xF1, 0x03, - 0xF8, 0xFF, 0xF1, 0xFF, 0x03, 0xF8, 0xFF, 0xF1, - 0xFF, 0x01, 0xF0, 0xFF, 0xF1, 0xFF, 0x01, 0xF0, - 0xFF, 0xF1, 0xFF, 0x00, 0xE0, 0xFF, 0xF1, 0x7F, - 0x00, 0xC0, 0xFF, 0xFF, 0x7F, 0x00, 0x80, 0xFF, - 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0x0F, 0x00, - 0x00, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0xF0, 0xFF, - 0x01, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00 /*"C:\Users\ROG\Desktop\三连\投币.bmp",0*/ - /* (36 X 36 )*/ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x00,0xE0,0xFF,0xFF,0xFF,0x00,0xE0,0xFF, + 0xFF,0xFF,0x00,0xE0,0xFF,0xFF,0xFF,0x00,0xE0,0xFF,0xFF,0xFF,0x00,0xE0,0xFF,0xFF, + 0xFF,0x00,0xE0,0xFF,0xFF,0xFF,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00, + 0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00, + 0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00, + 0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80, + 0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F, + 0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00, + 0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x80,0x3F,0x00,0x00, + 0x00,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,/*"C:\Users\qw200\Desktop\home.bmp",0*/ + }, { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x0C,0x00,0x00,0x00,0x00,0x1C,0x00, - 0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00, 0xFC,0x00,0x00,0x00,0x00,0xFC,0x01,0x00, - 0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0xFC, + 0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0xFC, 0x07,0x00,0x00,0x00,0xFC,0x0F,0x00,0x00, - 0x00,0xFE,0x1F,0x00,0x00,0xF8,0xFF,0x3F, + 0x00,0xFE,0x1F,0x00,0x00,0xF8,0xFF,0x3F, 0x00,0x00,0xFF,0xFF,0xFF,0x00,0xC0,0xFF, - 0xFF,0xFF,0x01,0xE0,0xFF,0xFF,0xFF,0x03, + 0xFF,0xFF,0x01,0xE0,0xFF,0xFF,0xFF,0x03, 0xF0,0xFF,0xFF,0xFF,0x07,0xF0,0xFF,0xFF, - 0xFF,0x0F,0xF8,0xFF,0xFF,0xFF,0x0F,0xFC, + 0xFF,0x0F,0xF8,0xFF,0xFF,0xFF,0x0F,0xFC, 0xFF,0xFF,0xFF,0x07,0xFC,0xFF,0xFF,0xFF, - 0x03,0xFE,0xFF,0xFF,0xFF,0x01,0xFE,0xFF, + 0x03,0xFE,0xFF,0xFF,0xFF,0x01,0xFE,0xFF, 0xFF,0xFF,0x00,0xFF,0x03,0xFE,0x3F,0x00, - 0xFF,0x00,0xFC,0x1F,0x00,0x3F,0x00,0xFC, + 0xFF,0x00,0xFC,0x1F,0x00,0x3F,0x00,0xFC, 0x0F,0x00,0x1F,0x00,0xFC,0x07,0x00,0x07, - 0x00,0xFC,0x03,0x00,0x03,0x00,0xFC,0x01, + 0x00,0xFC,0x03,0x00,0x03,0x00,0xFC,0x01, 0x00,0x01,0x00,0xFC,0x00,0x00,0x00,0x00, - 0x3C,0x00,0x00,0x00,0x00,0x1C,0x00,0x00, + 0x3C,0x00,0x00,0x00,0x00,0x1C,0x00,0x00, 0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,/*"C:\Users\13944\Desktop\fenxiang.bmp",0*/ }, }; -uint8_t icon_width[] = { 35,37,36,36 }; +uint8_t icon_width[] = { 36,36,36,36 }; //main界面图片 PROGMEM const uint8_t LOGO[] = @@ -179,49 +146,47 @@ PROGMEM const uint8_t LOGO[] = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x10,0x01,0x24,0x00,0x44,0x04,0x80,0x20,0x00,0x00,0x10,0xF2,0x3C,0x20,0xE0,0x00, - 0x10,0x01,0x24,0x00,0xC4,0x04,0x80,0x20,0x00,0x00,0x10,0x11,0x24,0x30,0x10,0x01, - 0x10,0x71,0x24,0x0F,0xC4,0xE2,0x99,0x3C,0x00,0x00,0x20,0x11,0x24,0x20,0x10,0x01, - 0xF0,0x89,0xA4,0x10,0xA8,0x12,0x8A,0x22,0x00,0x00,0x20,0xF1,0x1C,0x20,0x10,0x01, - 0x10,0xF9,0xA4,0x10,0x98,0x13,0x8A,0x22,0x00,0x00,0xA0,0x10,0x24,0x20,0x10,0x01, - 0x10,0x09,0xA4,0x10,0x98,0x11,0x8A,0x22,0x00,0x00,0xA0,0x10,0x24,0x20,0x10,0x01, - 0x10,0xF1,0x24,0x0F,0x10,0xE1,0x89,0x3C,0x00,0x00,0x40,0xF0,0x44,0x20,0xE2,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xEF,0x0F,0x70,0x00,0x00,0x00,0x00,0x00,0xE0,0xD8,0x87,0x3F, + 0x00,0x00,0x00,0x80,0xEF,0x0F,0x00,0x07,0x00,0x00,0x00,0x00,0xE0,0xDC,0x8F,0x3F, + 0x98,0xFF,0x7F,0xBF,0x0F,0x8F,0xFF,0xFF,0x03,0x00,0x00,0x00,0xE0,0x1D,0x8F,0x07, + 0x98,0xE1,0xFF,0x3F,0x87,0x87,0x73,0x77,0x03,0x00,0x00,0x00,0xC0,0x9F,0x87,0x1F, + 0x98,0xFD,0xF7,0x3B,0x87,0x83,0x7F,0xF7,0x07,0x00,0x00,0x00,0xC0,0xCF,0x03,0x3C, + 0xB0,0xF7,0xF7,0x3F,0xC7,0x73,0x7E,0x7F,0x00,0x00,0x00,0x00,0xC0,0xE7,0xB7,0x3F, + 0xF0,0xFE,0xF7,0x3F,0xE7,0xF1,0x7F,0xFF,0x03,0x00,0x00,0x00,0x80,0xE7,0xB7,0x1F, + 0xF0,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x70,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x7C,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F, 0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F, 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F, + 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0x83,0xFF,0xF0,0x01,0x00,0x8F,0xFF,0x1E,0x00,0x7E,0x80,0x0F,0x7F,0xFE, + 0xFF,0xFF,0x83,0x7F,0xF0,0x01,0x00,0x0F,0x7F,0x1E,0x7F,0x3C,0x00,0x0F,0x3E,0xFE, + 0xFF,0xFF,0xC1,0x1F,0xF8,0xF1,0xFF,0x1F,0x7E,0x1E,0x7F,0x1C,0x00,0x3E,0x3C,0xFE, + 0xFF,0xFF,0xC1,0x07,0xFE,0xF1,0xFF,0x3F,0x3C,0x1F,0x3F,0x1C,0x3C,0x7C,0x18,0xFE, + 0xFF,0xFF,0xC0,0x81,0xFF,0xF1,0xFF,0xFF,0x98,0x1F,0x0F,0x1C,0x7E,0xFC,0x08,0xFF, + 0xFF,0xFF,0x00,0xF0,0xFF,0xF1,0xFF,0xFF,0xC8,0x1F,0x00,0x1F,0x7F,0xFC,0x81,0xFF, + 0xFF,0xFF,0x00,0xFC,0xFF,0x01,0xC0,0xFF,0xC9,0x1F,0xF0,0x1F,0x7F,0xFC,0xC1,0xFF, + 0xFF,0xFF,0x00,0xFE,0xFF,0x01,0xC0,0xFF,0xE3,0x1F,0x80,0x1F,0x7F,0xFC,0xC0,0xFF, + 0xFF,0x7F,0x00,0xF8,0xFF,0x01,0x80,0xFF,0xF3,0x1F,0x00,0x1C,0x7F,0x7C,0xC0,0xFF, + 0xFF,0x7F,0xF0,0xF8,0xFF,0xF9,0xFF,0xFF,0xF3,0x1F,0x1F,0x18,0x7F,0x7C,0x88,0xFF, + 0xFF,0x7F,0xF8,0xF0,0xFF,0xF8,0xFF,0xFF,0xF3,0x9F,0x3F,0x18,0x7F,0x3C,0x0C,0xFF, + 0xFF,0x3F,0xF8,0xE1,0xFF,0xF8,0xFF,0xFF,0xF3,0x9F,0x3F,0x18,0x7F,0x3C,0x1E,0xFE, + 0xFF,0x3F,0xF8,0xC3,0x7F,0xFC,0xFF,0xFF,0xF3,0x9F,0x3F,0x18,0x7F,0x3C,0x1F,0xFE, + 0xFF,0x1F,0xFC,0x87,0x3F,0xFC,0xFF,0xFF,0xF3,0x9F,0x1F,0x18,0x3F,0x1C,0x3F,0xFC, + 0xFF,0x1F,0xFC,0x0F,0x3F,0x00,0xE0,0xFF,0xF3,0x1F,0x00,0x1C,0x00,0x1C,0x3F,0xF8, + 0xFF,0x1F,0xFC,0x0F,0x3E,0x00,0xE0,0xFF,0xF3,0x1F,0x00,0x7F,0x00,0xBC,0x7F,0xF8, + 0xFF,0x0F,0xFE,0x1F,0x3E,0x00,0xF0,0xFF,0xF3,0x1F,0xF0,0xFF,0x03,0xFF,0x7F,0xFC, + 0xFF,0xFF,0xFF,0x3F,0xFE,0xFF,0xFF,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xE7,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0x0F,0xFE,0x99,0xFF,0xE4,0x1F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xE7,0xFD,0xBD,0xFF,0xDE,0xDF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xFE, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xDF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFD, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xDF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFD, - 0xF7,0xFD,0x7D,0x7F,0xDF,0x1F,0xF0,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFD, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0xFF,0x1F,0xFE,0xFF,0x83,0xFF,0xE3,0xF1, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0xFF,0xE3,0xF1,0xFF,0x7C,0xF8,0xF9,0xEF, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0xFF,0xFD,0xEF,0x3F,0xFF,0xF3,0xFD,0xDF, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0xFF,0x1E,0xDC,0xBF,0x03,0xF7,0xE3,0xE1, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0x7F,0xEF,0xB9,0xDF,0xFB,0xF0,0xEF,0xFD, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0x7F,0xE7,0xBB,0xDF,0xF3,0xFF,0xEF,0xFD, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0xBF,0xF7,0x7B,0xDF,0x0F,0xFF,0xEF,0xFD, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0xBF,0x0F,0x7C,0xBF,0xFF,0xFC,0xEF,0xFD, - 0xF7,0xFD,0x7D,0x7F,0xDF,0xFF,0xF7,0xFD,0xBF,0xFF,0xBF,0x7F,0xFE,0xF3,0xEF,0xFD, - 0xF7,0xFD,0xBE,0x7F,0xDF,0xFF,0xF7,0xFD,0xBF,0x07,0xC0,0xFF,0xE1,0xF7,0xEF,0xFD, - 0xEF,0xFB,0xBE,0x7F,0xDF,0xFF,0xF7,0xFD,0xBF,0xEF,0xFF,0xFF,0x9F,0xEF,0xEF,0xFD, - 0xEF,0x07,0xBF,0x7F,0xDF,0xFF,0xF7,0xFD,0x7F,0xEF,0xC7,0x3F,0x3E,0xEF,0xEF,0xFD, - 0xDF,0xFF,0xDF,0x7F,0xDF,0xFF,0xF7,0xFD,0xFF,0x1E,0xB8,0xDF,0xB9,0xF7,0xEF,0xE3, - 0x9F,0xFF,0xEF,0x7F,0xDF,0xFF,0xF7,0xFD,0xFF,0xFC,0xBF,0x9F,0xC7,0xF7,0xDF,0xCF, - 0x7F,0xFF,0xF3,0xFF,0xDE,0xFF,0xEF,0xFD,0xFF,0xFB,0xCF,0x3F,0xFF,0xF9,0x9F,0xEF, - 0xFF,0x00,0xFC,0xFF,0xE1,0xFF,0x1F,0xFE,0xFF,0x07,0xF0,0xFF,0x00,0xFE,0x7F,0xF0, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F, + 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F, 0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F, + 0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -230,16 +195,18 @@ PROGMEM const uint8_t LOGO[] = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x08,0x08,0x00,0x40,0x00,0x02,0x10,0x00,0x00, - 0x00,0x00,0x88,0x00,0x00,0x00,0x00,0x08,0x08,0x00,0x60,0x00,0x02,0x00,0x00,0x00, - 0x00,0x00,0x88,0x9C,0x24,0xC7,0x1C,0x0F,0x68,0x22,0xA0,0xCC,0x23,0x91,0xC7,0x01, - 0x00,0xFE,0x88,0xA2,0xAA,0x48,0xA2,0x08,0x98,0x14,0xB0,0x24,0x22,0x91,0x24,0x02, - 0x00,0x00,0x78,0xA2,0xAB,0x4F,0xBE,0x08,0x88,0x14,0xF0,0x24,0x22,0x91,0x24,0x02, - 0x00,0x00,0x08,0x22,0x9B,0x40,0x82,0x08,0x88,0x0C,0x08,0x25,0x22,0x91,0x24,0x02, - 0x00,0x00,0x08,0x1C,0x11,0x4F,0x3C,0x0F,0x78,0x08,0x08,0xC5,0xE3,0x91,0xC4,0x01, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + 0x00,0x00,0x00,0x00,0x00,0x38,0x9E,0xDF,0xDF,0xF3,0x30,0xCF,0x73,0x7F,0xDE,0x1F, + 0x00,0x00,0x00,0x00,0x00,0x38,0x9F,0xFF,0xFF,0xF7,0x99,0xDF,0xF7,0x7F,0xDF,0x1F, + 0x00,0x00,0x00,0x00,0x00,0xB8,0xBB,0xE7,0xFD,0xF7,0x9F,0xD9,0xF7,0x07,0x1F,0x0E, + 0x00,0x00,0x00,0x00,0x00,0xB8,0x31,0xFF,0xF8,0x7F,0xCF,0xD9,0xFD,0x7B,0x0E,0x0F, + 0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0xFE,0xFC,0x7C,0xC7,0xFF,0xFD,0x7B,0x8E,0x07, + 0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x7C,0xE7,0xFF,0xFD,0x7F,0x8E,0x07, + 0x00,0x00,0x00,0x00,0x00,0xFF,0xF1,0xCF,0xDF,0x3C,0xF7,0xF9,0x3D,0x7F,0xCE,0x03, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"C:\Users\qw200\Desktop\indexa.bmp",0*/ }; const float PID_MAX = 10.00;//PID最大允许值 @@ -304,6 +271,8 @@ enum//ui_index M_ABOUT,//关于本机 M_IMPORT, M_TXTREAD, + M_ABOUTDEV, + M_SET }; @@ -325,9 +294,9 @@ typedef struct char* select; } SELECT_LIST; -SELECT_LIST* list = NULL; // 初始化结构体数组指针 +SELECT_LIST* list = NULL; // (主要的菜单结构,用于展示站点和文本)初始化结构体数组指针 -SELECT_LIST* pid = NULL; // 初始化结构体数组指针 +SELECT_LIST* pid = NULL; // (二级菜单结构,用于展示站点的多个用户)初始化结构体数组指针 uint8_t pid_num = 5;//PID选项数量 @@ -352,16 +321,21 @@ uint8_t total_line_length = single_line_length * listSize + 1; SELECT_LIST icon[] { - {"Main"}, + {"HOME"}, {"Authenticator"}, - {"Import"}, - {"Edit"}, + {"TXT"}, + {"SET"}, + {"LOCK"}, }; //设备名称 -char name[] = "Hello World "; +char name[] = ""; +String Passwordis=""; //允许名字的最大长度 -const uint8_t name_len = 12;//0-11for name 12 for return +const uint8_t name_len = 6;//0-11for name 12 for return +char title[] = "Password"; +char bt[] = "sure"; + uint8_t edit_index = 0; bool edit_flag = false;//默认不在编辑 uint8_t blink_flag;//默认高亮 @@ -406,7 +380,7 @@ void createJson(String fileName, String key, String value) { } } void updateJson(String fileName, String key, String value) { - File jsonFile = SD.open("/"+fileName, FILE_READ); + File jsonFile = SD.open("/"+fileName, FILE_READ); DynamicJsonDocument doc(1024); @@ -689,6 +663,8 @@ void text_edit(bool dir, uint8_t index) name[index] = 'a'; } } + Serial.println("NOW IS"); + Serial.println(name); } //消失函数 @@ -778,8 +754,20 @@ void txtread(){ void logo_ui_show()//显示logo { - u8g2.drawXBMP(0, 0, 128, 64, LOGO); + if (!SD.begin(7)) { + Serial.println("SD 卡初始化失败!"); + u8g2.firstPage(); + do { + u8g2.drawStr(0, 10, "No Find TF card !"); + u8g2.drawStr(0, 23, "Please check it"); + u8g2.drawStr(0, 36, "And restart..."); + u8g2.drawStr(0, 49, "More see at yang17.site"); + u8g2.drawStr(0, 62," ---KeyBox"); + } while (u8g2.nextPage()); + }else { + u8g2.drawXBMP(0, 0, 128, 64, LOGO); + } // for(uint16_t i=0;i()) { @@ -1638,21 +1814,21 @@ void addUser(char* mainnowdisplay){ qsort(pid, pidSize, sizeof(SELECT_LIST), compare2); // 在串口上打印按照字母顺序排序后的结果 - // for (int i = 0; i < pidSize; i++) { - // Serial.println(pid[i].select); - // } + // for (int i = 0; i < pidSize; i++) { + // Serial.println(pid[i].select); + // } - // pid[4].select =strdup("keyVal"); + // pid[4].select =strdup("keyVal"); Serial.println( "pid[3].select"); // Serial.println( pid[2].select); - // Serial.println( pid[3].select); + // Serial.println( pid[3].select); } void addPassword(char* mainsite,char* mainuser){ - String filePath = String("/") + String(mainsite); + String filePath = String("/") + String(mainsite)+String(".json"); // 打开 data.json 文件 File jsonFile = SD.open(filePath); @@ -1685,8 +1861,8 @@ void addPassword(char* mainsite,char* mainuser){ const char* location = doc[mainuser]; Serial.println("read----"); Serial.println(location); - // Convert String to char* and store in Site - passwordIn = strdup(location); + // Convert String to char* and store in Site + passwordIn = strdup(location); Serial.println("password--------"); Serial.println(passwordIn); Serial.println("password--------"); @@ -1723,7 +1899,7 @@ void allcount(){ } root.close(); - listSize=count+1; + listSize=count+1; } void addSiteDataToArr() {//此函数提供方法使其全部网站保存在数组中,界面分类用 free(list); @@ -1732,12 +1908,13 @@ void addSiteDataToArr() {//此函数提供方法使其全部网站保存在数 if(modelchooese==0){ model=".json"; }else{ - model=".txt"; + model=".txt"; } Serial.println(model); Serial.println("read JSON Start:"); File root = SD.open("/"); int index = 0; // 用于追踪数组中的索引位置 + list = (SELECT_LIST*)malloc(listSize * sizeof(SELECT_LIST)); int fileCount = 0;//此值传向list 数组长度 while (true) { @@ -1752,7 +1929,20 @@ void addSiteDataToArr() {//此函数提供方法使其全部网站保存在数 const char* filename = entry.name(); if (strstr(filename, model) != NULL) { Serial.println(filename); - list[index+1].select = strdup(filename); + // const char* filename = "example.txt"; // 您的文件名 + + int length = strlen(filename); + + + char* newFilename = new char[length]; // 创建动态分配的新字符串来存储较短的文件名 + if(modelchooese==0) { + strncpy(newFilename, filename, length - 5); + newFilename[length - 5] = '\0'; // 添加字符串终止符 + }else{ + strncpy(newFilename, filename, length - 4); + newFilename[length - 4] = '\0'; // 添加字符串终止符 + } + list[index+1].select = strdup(newFilename); index++; } } @@ -1765,19 +1955,16 @@ void setup() {//加大审查,尽量关闭sd卡使用时间延长寿命 Serial.begin(115200); - if (!SD.begin(7)) { - Serial.println("SD 卡初始化失败!"); - return; - } + // 写入数据到 data.json 文件 - // writeJSONToFile(); + // writeJSONToFile(); // 读取并打印 SD 卡上的所有 JSON 文件 - // readAndPrintAllJSONFiles(); - // readJSONFile() ; - + // readAndPrintAllJSONFiles(); + // readJSONFile() ; + Serial.println("entry"); //Wire.begin(21,22,400000); pinMode(BTN0, INPUT_PULLUP); @@ -1787,7 +1974,7 @@ void setup() {//加大审查,尽量关闭sd卡使用时间延长寿命 u8g2.setBusClock(800000); u8g2.begin(); - u8g2.setFont(u8g2_font_wqy12_t_chinese1); + u8g2.setFont(u8g2_font_unifont_t_chinese1); //u8g2.setContrast(10); buf_ptr = u8g2.getBufferPtr();//拿到buffer首地址 @@ -1803,12 +1990,13 @@ void setup() {//加大审查,尽量关闭sd卡使用时间延长寿命 u8g2.setFont(u8g2_font_ncenB08_tr); ui_index = M_LOGO; - //ui_index=M_TEXT_EDIT; + // ui_index=M_TEXT_EDIT; ui_state = S_NONE; - + Serial.println("entry2"); } void loop() { + Serial.println("entry3"); key_scan(); ui_proc(); } \ No newline at end of file