72 lines
2 KiB
C++
72 lines
2 KiB
C++
/**
|
|
* @file main.h
|
|
* @brief projet thermo-bibli, Équiper la réserve de l'UB de capteurs de température et hygrométrie autonomes et connectés
|
|
* @author Bastien Boineau, Lucas Pallaro, Loris Galland
|
|
* @version 1.0
|
|
* @date 28/06/2021
|
|
*/
|
|
#ifndef HEADER_H
|
|
#define HEADER_H
|
|
#include <ESPAsyncWebServer.h>
|
|
#include <WiFiUdp.h>
|
|
#include <NTPClient.h>
|
|
#include <DHT.h>
|
|
#include <PubSubClient.h>
|
|
#include <Pangodream_18650_CL.h>
|
|
#include <secret.h>
|
|
|
|
#define TOPIC "test"
|
|
#define MQTT_ADDRESS "185.233.103.24"
|
|
#define MQTT_PORT 1883
|
|
#define ESPNAME "esp32-fablab"
|
|
#define CLUSTER "grappe3"
|
|
#define SENSORS_NUMBER 5
|
|
#define DHT22 22
|
|
//comment for the test part this is the good frequency
|
|
#define TIME_TO_SLEEP 596
|
|
//#define TIME_TO_SLEEP 28
|
|
#define US_TO_S_FACTOR 1000000
|
|
#define R2 100
|
|
#define R3 10
|
|
#define VOLTAGE_OUT(Vin) (((Vin)*R3) / (R2 + R3))
|
|
#define VOLTAGE_MAX 4200
|
|
#define VOLTAGE_MIN 3300
|
|
#define ADC_REFERENCE 1100
|
|
#define VOLTAGE_TO_ADC(in) ((ADC_REFERENCE * (in)) / 4096)
|
|
#define BATTERY_MAX_ADC VOLTAGE_TO_ADC(VOLTAGE_OUT(VOLTAGE_MAX))
|
|
#define BATTERY_MIN_ADC VOLTAGE_TO_ADC(VOLTAGE_OUT(VOLTAGE_MIN))
|
|
// Solder apply on all riders behind the ESP32 for the battery voltage captor
|
|
#define ADC_PIN 35
|
|
#define CONV_FACTOR 1.78
|
|
#define READS 20
|
|
const long gmtOffset_sec = 3600;
|
|
|
|
int getAverageChargeLevel();
|
|
void setupMQTT(const char *address, int port);
|
|
void setupWIFI(const char *wifi_name, const char *password);
|
|
void reconnect(void);
|
|
void initSensors(DHT *sensors, int number);
|
|
void readSensors(DHT sensors[], float temp[], float hum[], int number);
|
|
void sleep();
|
|
void LocalSave();
|
|
void SendLocalData();
|
|
std::tuple<int, int, int> getDate();
|
|
|
|
/**
|
|
* @brief hgfhdjskl
|
|
*
|
|
* @param txt testetest
|
|
* @param temp dqsdzfs
|
|
* @param hum
|
|
* @param number vdsvsvsvs
|
|
*/
|
|
void writeMsg(char *txt, float *temp, float *hum, int number);
|
|
|
|
//timeClient.getEpochTime().toCharArray(date, 50); = convertir un string en char
|
|
|
|
|
|
/*
|
|
For test the esp32 signal emission without server Working/fixed/updated :
|
|
mosquitto_sub -h cohabit-capteurs.aquilenet.fr -u capteurs -P Fablab -t test-alex
|
|
*/
|
|
#endif |