diff --git a/inos/Smart-Watch.ino b/inos/Smart-Watch.ino deleted file mode 100644 index 975d699..0000000 --- a/inos/Smart-Watch.ino +++ /dev/null @@ -1,80 +0,0 @@ -#include -#include -#include - -#define TFT_DC D7 -#define TFT_RST D9 - -unsigned long SEC=0; -unsigned long MIN=0; -unsigned long HOUR=0; - -unsigned long DAY=0; -unsigned long MONT=0; -unsigned long YEAR=2026; - -unsigned long preMil = 0; -const long interval = 1000; - -Arduino_DataBus *bus = new Arduino_HWSPI(TFT_DC, -1); -Arduino_GFX *gfx = new Arduino_ST7789(bus, TFT_RST, 0, true, 240, 240, 0, 0); - -void setup() { - gfx->begin(); - gfx->fillScreen(ST77XX_BLACK); - - gfx->setTextColor(ST77XX_GREEN); - -} - -void loop() { - drawText(10,10, 2, "{"); - drawText(30,30,2,"Time: {"); - - gfx->setCursor(50, 50); - gfx->printf("Hour: %d%c\n", HOUR, ","); - - gfx->setCursor(50, 70); - gfx->printf("Min: %d%c\n", MIN, ","); - - gfx->setCursor(50, 90); - gfx->printf("Sec: %d%c\n", SEC, ","); - - drawText(30,110,2,"},"); - - drawText(30,130,2,"Date: {"); - - gfx->setCursor(50, 150); - gfx->printf("Day: %d%c\n", DAY, ","); - - gfx->setCursor(50, 170); - gfx->printf("Mont: %d%c\n", MONT, ","); - - gfx->setCursor(50, 190); - gfx->printf("Year: %d%c\n", YEAR, ","); - - drawText(10,210,2,"}"); - - updateClock(); -} - -void updateClock(){ - unsigned long curMil = millis(); - - if (curMil - preMil >= interval) { - preMil = curMil; - SEC++; - gfx->fillScreen(ST77XX_BLACK); - } - if (SEC >= 60) {SEC = 0; MIN++;} - if (MIN >= 60) {MIN = 0; HOUR++;} - if (HOUR >= 24) {HOUR = 0; DAY++;} -} - - - -void drawText(int width, int hight,int size, const char* text) { - gfx->setCursor(width, hight); - gfx->setTextSize(size); - gfx->println(text); -} diff --git a/inos/Smart-Watch/Smart-Watch.ino b/inos/Smart-Watch/Smart-Watch.ino new file mode 100644 index 0000000..6daa77f --- /dev/null +++ b/inos/Smart-Watch/Smart-Watch.ino @@ -0,0 +1,131 @@ +#include +#include +#include + +#include +#include +#include + +#define TFT_DC D7 +#define TFT_RST D9 + +unsigned long SEC=40; +unsigned long MIN=0; +unsigned long HOUR=0; + +unsigned long DAY=0; +unsigned long MONT=0; +unsigned long YEAR=2026; + +unsigned long preMil = 0; +const long interval = 1000; + +Arduino_DataBus *bus = new Arduino_HWSPI(TFT_DC, -1); +Arduino_GFX *gfx = new Arduino_ST7789(bus, TFT_RST, 0, true, 240, 240, 0, 0); + +#define SERVICE_UUID "791cadd7-de87-49f9-8986-94b7ae11940b" +#define CHAR_TEST_UUID "3e4eac5b-eaa2-4e0c-a705-dcac4f606e01" +#define CHAR_TIME_UUID "3e4eac5b-eaa2-4e0c-a705-dcac4f606e02" + +#define deviceName "ESP32-Watch" + +class CharacteristicCallbacks: public BLECharacteristicCallbacks { + void onWrite(BLECharacteristic *pCharacteristic) override { + String value = pCharacteristic->getValue(); + + if (value.length() == 0) return; + + //Time characteristic check + if (pCharacteristic->getUUID().equals(BLEUUID(CHAR_TIME_UUID))) { + Serial.print("Uhrzeit empfangen: "); + Serial.println(value); + } + } +}; + +void setup() { + Serial.begin(115200); + + gfx->begin(); + gfx->setFont(NULL); + gfx->fillScreen(ST77XX_BLACK); + + gfx->setTextColor(ST77XX_GREEN, ST77XX_BLACK); + + initDevice(); +} + +void loop() { + drawText(10,10, 2, "{"); + drawText(30,30,2,"Time: {"); + + gfx->setCursor(50, 50); + gfx->printf("Hour: %d%c\n", HOUR, ','); + + gfx->setCursor(50, 70); + gfx->printf("Min: %d%c\n", MIN, ','); + + gfx->setCursor(50, 90); + gfx->printf("Sec: %d%c\n", SEC); + + drawText(30,110,2,"},"); + + drawText(30,130,2,"Date: {"); + + gfx->setCursor(50, 150); + gfx->printf("Day: %d%c\n", DAY, ','); + + gfx->setCursor(50, 170); + gfx->printf("Mont: %d%c\n", MONT, ','); + + gfx->setCursor(50, 190); + gfx->printf("Year: %d%c\n", YEAR); + + drawText(10,210,2,"}"); + + updateClock(); +} +void initDevice(){ + BLEDevice::init(deviceName); + BLEServer *pServer = BLEDevice::createServer(); + BLEService *pService = pServer->createService(SERVICE_UUID); + + //Test characteristic + BLECharacteristic *pCharacteristic = pService->createCharacteristic( + CHAR_TEST_UUID, + BLECharacteristic::PROPERTY_READ); + pCharacteristic->setValue("Hello World"); + + //Time + BLECharacteristic *pCharacteristicTime = pService->createCharacteristic(CHAR_TIME_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_WRITE); + pCharacteristicTime->setCallbacks(new CharacteristicCallbacks()); + pCharacteristicTime->setValue("TIME"); + + pService->start(); + // BLEAdvertising *pAdvertising = pServer->getAdvertising(); // this still is working for backward compatibility + BLEAdvertising *pAdvertising = BLEDevice::getAdvertising(); + pAdvertising->addServiceUUID(SERVICE_UUID); + pAdvertising->setScanResponse(true); + pAdvertising->setMinPreferred(0x12); + BLEDevice::startAdvertising(); + Serial.println("Characteristic defined! Now you can read it in your phone!"); +} + +void updateClock(){ + unsigned long curMil = millis(); + + if (curMil - preMil >= interval) { + preMil = curMil; + SEC++; + } + if (SEC >= 60) {SEC = 0; MIN++;} + if (MIN >= 60) {MIN = 0; HOUR++;} + if (HOUR >= 24) {HOUR = 0; DAY++;} +} +void drawText(int width, int hight,int size, const char* text) { + gfx->setCursor(width, hight); + gfx->setTextSize(size); + gfx->println(text); +} diff --git a/librarys/ESP32-BLE-Keyboard-master.zip b/librarys/ESP32-BLE-Keyboard-master.zip deleted file mode 100644 index 7ccb330..0000000 Binary files a/librarys/ESP32-BLE-Keyboard-master.zip and /dev/null differ diff --git a/librarys/chronos-esp32-main.zip b/librarys/chronos-esp32-main.zip deleted file mode 100644 index 04779d5..0000000 Binary files a/librarys/chronos-esp32-main.zip and /dev/null differ