#include "BLEDevice.h"
#include <iostream>
#include <string>
#include <stdio.h>
//#include "WiFi.h"
 
// The remote service we wish to connect to.
static BLEUUID serviceUUID("91bad492-b950-4226-aa2b-4ede9fa42f59");
// The characteristic of the remote service we are interested in.
static BLEUUID charUUID("beb5483e-36e1-4688-b7f5-ea07361b26a8");
 
static BLERemoteCharacteristic* pRemoteCharacteristic;

std::string value ="";
std::string valueline ="";

 int stop = 0;
void setup() {
 //WiFi.mode(WIFI_OFF);

  // start serial port at 1115200 bps:
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
 
  BLEDevice::init("");
  BLEDevice::setMTU(517);
  BLEClient*  pClient = BLEDevice::createClient();
 
  if (pClient->connect(BLEAddress("10:97:BD:D2:31:92"))) {
    Serial.println("Connected!");
  } else Serial.println("Failed to connect");
 
  BLERemoteService* pRemoteService = pClient->getService(serviceUUID);
  if (pRemoteService == nullptr) {
    Serial.println("Failed to get service");
    return;
  } else Serial.println("Got service");
 
  pRemoteCharacteristic = pRemoteService->getCharacteristic(charUUID);
  if (pRemoteCharacteristic == nullptr) {
    Serial.println("Failed to get characteristic");
    return;
  } else Serial.println("Got characteristic");
} // End of setup.
 
 
void loop() {
if (stop == 20) {
   Serial.println(value.c_str());
   
   Serial.println("recieving complete");
   delay (900000);
 }
 else {
 valueline = pRemoteCharacteristic->readValue();
   
 //Serial.print("The characteristic value was: ");
 //delay(25);
value = value + valueline + "\n"; 
stop = stop+1;
 }
} // End of loop