From ee72c71e53294e716922deffeb5fdbfba597ac57 Mon Sep 17 00:00:00 2001 From: JorBi Date: Mon, 9 Nov 2020 09:21:07 +0100 Subject: [PATCH] =?UTF-8?q?Code=20f=C3=BCr=20E-paper=20Variante=20hinzugef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Hardware/photo_2020-11-06_13-23-24.jpg | Bin 0 -> 90007 bytes src/MQTT_Reader06.ino | 123 ++++++++++++++++++++----- 2 files changed, 101 insertions(+), 22 deletions(-) create mode 100644 Hardware/photo_2020-11-06_13-23-24.jpg diff --git a/Hardware/photo_2020-11-06_13-23-24.jpg b/Hardware/photo_2020-11-06_13-23-24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c51b7bb26c0e94f7916092a8453f68857dc28aea GIT binary patch literal 90007 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 PW`Gp+q@bEJOb`Fr-7{B1 literal 0 HcmV?d00001 diff --git a/src/MQTT_Reader06.ino b/src/MQTT_Reader06.ino index 94a87e6..9068f58 100644 --- a/src/MQTT_Reader06.ino +++ b/src/MQTT_Reader06.ino @@ -42,6 +42,17 @@ #include // ESP32 #include // ESP32 #include // ESP32 + #include + #include // E-Paper + //#include // 2.13" b/w + //#include // 2.13" b/w new panel + #include // E-Paper + #include + #include + #include + #include + #include + #include #else #include // EPS8266 #include // ESP8266 @@ -59,24 +70,40 @@ #include #include #include + + // #include // for retreiving the MAC adress // Definition der Pins #ifdef ESP32 - #define SS_PIN 17 // GPIO17 - #define RST_PIN 16 // GPIO16 - #define BEEP_PIN 14 // GPIO16 - #define BUTTON_PIN 13 // GPIO2 + #define SS_PIN 32 // GPIO17 + #define RST_PIN 33 // GPIO16 + #define BEEP_PIN 27 // GPIO16 + #define BUTTON_PIN 39 // GPIO39 + #define CS 19 // ESP32 + + #define SPI_MOSI 23 + #define SPI_MISO -1 + #define SPI_CLK 18 + + #define ELINK_SS 5 + #define ELINK_BUSY 4 + #define ELINK_RESET 16 + #define ELINK_DC 17 #else -// #define SS_PIN 15 // GPIO15 -> uncomment this for the old PCB - #define SS_PIN 2 // GPIO2 - #define RST_PIN 0 // GPIO00 - #define BEEP_PIN 16 // GPIO16 +// #define SS_PIN 15 // GPIO15 -> uncomment this for the old PCB + #define SS_PIN 2 // GPIO2 + #define RST_PIN 0 // GPIO00 + #define BEEP_PIN 16 // GPIO16 #define BUTTON_PIN 13 // GPIO2 -> uncomment this for the old PCB + #define CS 15 // ESP8266 #endif -#define CS 15 +#define HSPI_MOSI 15 +#define HSPI_MISO 2 +#define HSPI_SCLK 14 + // to make some messages easier to read #define CONNECT_TO_WIFI 0 @@ -128,19 +155,20 @@ int maxMessage = 18; String lastLine1, lastLine2; // to save previous displayed messages boolean linesSaved = 0; // no previous message has been saved +int fsize=0; // current font size (for E-paper) -String Message_Disp[] = {"verfügbar", // 0 - equipment available // 0 +String Message_Disp[] = {"verfuegbar", // 0 - equipment available // 0 "reserviert", // 0 - equipment reserved // 1 "reserviert ab", // 13 - reserved starting from // 2 "in Benutzung", // 0 - equipment in use // 3 "freigegeben", // 0 - access granted // 4 "Anmeld. fehlgeschlagen", // 8 - login error // 5 - "Nutzungsgebühr ", // 15 - usage fee // 6 + "Nutzungsgebuehr", // 15 - usage fee // 6 "Nutzung nicht erlaubt", // 13 - operation not allowed // 7 "Nutzung auf eigenem Risiko", // 11 - operation at own risk // 8 "gesperrt durch", // 14 - equipment locked by // 9 "freizugeben durch", // 11 - to be released by // 10 - "außerhalb der Nutzungzeit", // 14 - outside ooperating hours// 11 + "ausserhalb der Nutzungzeit", // 15 - outside ooperating hours// 11 "Nutzungsdauer", // 13 - duration of use // 12 "abgemeldet", // 0 - logged out // 13 "abschalten in", // 13 - equipment will lock down// 14 @@ -148,9 +176,9 @@ String Message_Disp[] = {"verfügbar", // 0 - equipment av "Karte unbekannt", // 0 - card unknown // 16 "Berechtigung endet", // 12 - training to expire // 17 "Ruhemodus", // 0 - sleep mode // 18 - "Aufsicht bestätigen"}; // 8 - confirm presence // 19 + "Aufsicht bestaetigen"}; // 8 - confirm presence // 19 -int SplitAt[]={0,0,13,0,0,8,15,13,11,14,11,14,14,0,13,0,0,12,0,8}; +int SplitAt[]={0,0,13,0,0,8,15,13,11,15,11,14,14,0,13,0,0,12,0,8}; /* String Message_Com[] = {"1", // equipment available @@ -175,6 +203,15 @@ String Message_Com[] = {"1", // equipment availab "20"}; // sleep mode */ + +//----------- E-Paper-Stuff +#ifdef ESP32 + SPIClass eSPI(HSPI); + GxIO_Class io(eSPI, /*CS=5*/ ELINK_SS, /*DC=*/ ELINK_DC, /*RST=*/ ELINK_RESET); + GxEPD_Class EPaper(io, /*RST=*/ ELINK_RESET, /*BUSY=*/ ELINK_BUSY); +#endif + + EthernetClient ethClient; // in case of Ethernet connection WiFiClient wifiClient; // in case of Wifi connection PubSubClient MQTTclient; // The MQTT Client @@ -249,7 +286,13 @@ void setup(void){ digitalWrite(CS, HIGH); // -> needs to be set, otherwise MISO will be pulled LOW - SPI.begin(); + #ifdef ESP32 + SPI.begin(HSPI_SCLK, HSPI_MISO, HSPI_MOSI, CS); // for the LAN Module and the RC522 module + eSPI.begin(SPI_CLK, SPI_MISO, SPI_MOSI, ELINK_SS); // For the e-Paper Module + #else + SPI.begin(); + #endif + rfid.PCD_Init(); // RC522 initialize // rfid.PCD_PerformSelfTest(); @@ -258,6 +301,16 @@ void setup(void){ Serial.println("Booting..."); des.init(C_key,IV); + + #ifdef ESP32 + EPaper.init(); // enable diagnostic output on Serial + EPaper.setRotation(3); + EPaper.fillScreen(GxEPD_WHITE); + EPaper.setTextColor(GxEPD_BLACK); + EPaper.setFont(&FreeMonoBold12pt7b); + EPaper.setCursor(0, 0); + EPaper.update(); + #endif display.init(); // initialize display display.clear(); @@ -325,6 +378,7 @@ void setupMQTT(void){ StatusToDisplay(CONNECT_TO_LAN); WiFi.macAddress(mac); + Ethernet.init(CS); // set the correct pin if(Ethernet.begin(mac) == 0) { Serial.println(F("Ethernet configuration using DHCP failed")); StatusToDisplay(ERROR_DHCP); @@ -335,7 +389,7 @@ void setupMQTT(void){ } Serial.print("set Client to Ethernet: "); MQTTclient.setClient(ethClient); - WiFi.forceSleepBegin(); // TODO + //WiFi.forceSleepBegin(); // TODO //WiFi.mode(WIFI_OFF); // TODO Serial.println("OK"); } @@ -1140,6 +1194,12 @@ int len, split=16; */ void StatusToDisplay(int item){ + #ifdef ESP32 + EPaper.setFont(&FreeMonoBold18pt7b); + fsize=18; + #endif + display.setFont(ArialMT_Plain_24); + if(item==CONNECT_TO_WIFI){ display2lines("connecting...", "Wifi"); } @@ -1153,19 +1213,15 @@ void StatusToDisplay(int item){ display2lines("LAN", "connecting..."); } else if(item==MQTT_RFID){ - display.setFont(ArialMT_Plain_24); display2linesRAW("MQTT", "RFID"); } else if(item==IN_AP_MODE){ - display.setFont(ArialMT_Plain_24); display2linesRAW("AP-", "MODE"); } else if(item==ERROR_RFID){ - display.setFont(ArialMT_Plain_24); display2linesRAW("RFID-", "ERROR"); } else if(item==WRONG_RFID_TYPE){ - display.setFont(ArialMT_Plain_24); display2linesRAW("Read-", "ERROR"); } else if(item==ERROR_DHCP){ @@ -1176,6 +1232,10 @@ void StatusToDisplay(int item){ void LastMessageDisplay(void){ if(linesSaved){ display.setFont(ArialMT_Plain_16); + #ifdef ESP32 + EPaper.setFont(&FreeMonoBold12pt7b); + fsize=12; + #endif display2linesRAW(lastLine1, lastLine2); } else @@ -1194,6 +1254,10 @@ void popRFIDerror(void){ void display2lines(String str1, String str2) { display.setFont(ArialMT_Plain_16); + #ifdef ESP32 + EPaper.setFont(&FreeMonoBold12pt7b); + fsize=12; + #endif display2linesRAW(str1, str2); } @@ -1204,11 +1268,26 @@ void display2lines(String str1, String str2) { void display2linesRAW(String str1, String str2) { display.clear(); display.setTextAlignment(TEXT_ALIGN_CENTER); - display.drawString(66, 18, str1); - display.drawString(66, 40, str2); + display.drawString(64, 13, str1); + display.drawString(64, 35, str2); display.setFont(ArialMT_Plain_10); display.drawString(64, 0, ReaderID); // Show the reader ID on top of the screen display.display(); + #ifdef ESP32 + EPaper.fillScreen(GxEPD_WHITE); + int x1=(EPaper.width()/2-(str1.length()*fsize)/2); + EPaper.setCursor(x1,20+2*fsize); + EPaper.println(str1); + int x2=(EPaper.width()/2-(str2.length()*fsize)/2); + EPaper.setCursor(x2,50+2*fsize); + EPaper.println(str2); + EPaper.setFont(&FreeMonoBold9pt7b); + EPaper.setCursor(EPaper.width()-8*9,12); + EPaper.print(F("ID:")); + EPaper.println(ReaderID); + EPaper.updateWindow(0, 0, EPaper.width()-1, EPaper.height()-1, true); + // EPaper.update(); + #endif }