diff --git a/R60ABD1/ESP32_R60ABD1_http_logger/ESP32_R60ABD1_http_logger.ino b/R60ABD1/ESP32_R60ABD1_http_logger/ESP32_R60ABD1_http_logger.ino new file mode 100644 index 0000000..e99ca0c --- /dev/null +++ b/R60ABD1/ESP32_R60ABD1_http_logger/ESP32_R60ABD1_http_logger.ino @@ -0,0 +1,287 @@ +//ESP8266 +//#include +//#include +//#define BrdMark "ESP8266" +//const char *ap_id = "R60_8266_01"; +//const char *ap_id = "R60_GERMAN"; + +// target - DOIT ESP32 DEVKIT V1 +#include +#include +#define BrdMark "ESP32" + +#include +// office server +//#define WFSSID "TP-Link_7C38" +//#define WFPSWD "36929092" +// my home server +#define WFSSID "Keenetic-6595" +#define WFPSWD "1Q2w3e4r" +// clinica WiFI +//#define WFSSID "clinica" +//#define WFPSWD "givemeaccessnow" +// office WiFi +//#define WFSSID "MediaMetrics_2.4g" +//#define WFPSWD "germanklimenko" +// German home +//#define WFSSID "MTS_GPON_9f1ac0" +//#define WFPSWD "D9a287k9" + +//const char* httpuri ="http://192.168.0.104:8080/pox"; +//const char* httpuri ="http://192.168.3.14/pox"; +const char* httpuri ="http://192.168.1.79/pox"; // home 25.03.2026 +//const char* httpuri ="http://aim.kwam.ru:8080/pox"; +//const char* httpuri ="http://195.201.126.70:8080/pox"; +//const char* httpuri ="http://activity206.li.ru/cgi-bin/radar.sh"; // Владимир +const char *ap_id = "R60_02"; + +#define LOOP_TIME 1000 +bool wifi_started = false; + +// Serial2 +#define RXD2 16 +#define TXD2 17 +#define BAUDRATE 115200 + +// MicRadar60 data block definitions +#define BLK_HEAD_1 85 +#define BLK_HEAD_2 170 +#define DATA_READ_MAX_SIZE 64 +#define DATA_BLOCK_LEN 10 + +#define DATA_BLOCK_MASK 89 // 0x59 +#define DATA_BLOCK_MASK_POS 1 +#define DATA_TYPE_MASK_POS 2 +#define CMD_TYPE_MASK_POS 3 +#define DATA_VALUE_POS 6 +#define HEAR_RATE_MASK 133 // 0x85 +#define BREATH_RATE_MASK 129 // 0x81 +#define SLEEP_VALUE_MASK 132 // 0x84 +#define HUMAN_DETECT_MASK 128 // 0x80 +#define PARSE_DATA_COUNT 4 + +#define PARSE_DATA_COUNT 4 +enum{ + hr_pos=0, + br_pos, + mv_pos, + dv_pos +}; +uint8_t k=0,f=0, rf=0, rpos=0, i, s, dl=0, b1; +uint8_t data_read[DATA_READ_MAX_SIZE], data_updt_flag[PARSE_DATA_COUNT]; +uint16_t data[PARSE_DATA_COUNT]; + + +uint32_t t_last; + +void setup() { + // Note the format for setting a serial port is as follows: Serial2.begin(baud-rate, protocol, RX pin, TX pin); + Serial.begin(BAUDRATE); + Serial2.begin(BAUDRATE, SERIAL_8N1, RXD2, TXD2); + pinMode(LED_BUILTIN, OUTPUT); + Serial.println("Serial Txd is on pin: "+String(TXD2)); + Serial.println("Serial Rxd is on pin: "+String(RXD2)); + + Serial.printf("ESP32 Chip model = %s Rev %d\n", ESP.getChipModel(), ESP.getChipRevision()); + Serial.print("Chip ID: "); + Serial.println(ESP.getEfuseMac()); + + Serial.println("Start wifi "+String(millis())); + wifi_started = startWiFiClient(); // time reading by firststart flag + if(wifi_started){ + Serial.println("wifi started "+String(millis())); + digitalWrite(LED_BUILTIN, HIGH); + delay(1000); + digitalWrite(LED_BUILTIN, LOW); + + // Получение мирового времени + Serial.print("Retrieving time: "); + configTime(0, 0, "pool.ntp.org"); // get UTC time via NTP + time_t now = time(nullptr); + while (now < 24 * 3600) + { + //Serial.print("."); + digitalWrite(LED_BUILTIN, HIGH); + delay(20); + digitalWrite(LED_BUILTIN, LOW); + delay(80); + now = time(nullptr); + //pisk(1); + } + Serial.println(now); + digitalWrite(LED_BUILTIN, HIGH); + delay(200); + digitalWrite(LED_BUILTIN, LOW); + delay(200); + digitalWrite(LED_BUILTIN, HIGH); + delay(200); + digitalWrite(LED_BUILTIN, LOW); + delay(200); + digitalWrite(LED_BUILTIN, HIGH); + delay(200); + digitalWrite(LED_BUILTIN, LOW); + delay(200); + + }else{ + Serial.println("can not started WiFi"); + } + + for(i = 0; i=DATA_BLOCK_LEN){ + //if(data_read[DATA_BLOCK_MASK_POS]==DATA_BLOCK_MASK){ + /* + if(data_read[DATA_TYPE_MASK_POS]==HUMAN_DETECT_MASK ){ //HUMAN_DETECT_MASK HEAR_RATE_MASK + for(i=0;i= LOOP_TIME){ + bool rez = sendData(); + Serial.print("Heart rate: "); + Serial.print(data[hr_pos]);Serial.print(" / ");Serial.print(data_updt_flag[hr_pos]); + Serial.print(", Breath rate: "); + Serial.print(data[br_pos]);Serial.print(" / ");Serial.print(data_updt_flag[br_pos]); + Serial.print(", Distance: "); + Serial.print(data[dv_pos]);Serial.print(" / ");Serial.print(data_updt_flag[dv_pos]); + Serial.print(", Motion value: "); + Serial.print(data[mv_pos]);Serial.print(" / ");Serial.print(data_updt_flag[mv_pos]); + Serial.print(" | "); + s = 0; + for(i = 0; i100){return(false);} + } + Serial.println("Connected"); + return(true); +}