/************************* Configuration pour le Wifi ************************/
const char* ssid = "LENOMDETABOX "; // Nom de votre réseau WIFI
const char* password = "LEMDPDETABOX"; // Clef Wifi
#include
/*************** Gestion Batterie ***********************/
float b, c = 0; // b = batterie interne, c si en charge
int batterie = 0; //valeur batterie en %
void setup() {
M5.begin();
M5.Lcd.setRotation(3);
}
void loop() {
M5.Lcd.setCursor(190, 10);
M5.Lcd.setTextSize(1.5);
c = M5.Axp.GetVapsData() * 1.4 / 1000;
b = M5.Axp.GetVbatData() * 1.1 / 1000;
batterie = ((b - 3.0) / 1.2) * 100;
if (c >= 4.5) {
M5.Lcd.setTextColor(TFT_YELLOW, BLACK);
M5.Lcd.print("CHG:"); //Indique CHG en jaune si cable USB branché
}
else {
M5.Lcd.setTextColor(GREEN, BLACK);
M5.Lcd.print("BAT:"); //Indique BAT en vert si M5 non branché
}
if (batterie > 100)
batterie = 100;
else if (batterie < 100 && batterie > 9)
M5.Lcd.print("");
else if (batterie < 9)
M5.Lcd.print("");
if (batterie < 10)
M5.Axp.DeepSleep(); // Si la batterie est trop faible = mise en veille
M5.Lcd.print(batterie);
M5.Lcd.print("%"); // % de batterie
}
/************************* Configuration pour utiliser MQTT Adafruit *********************************/
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883
// Suivre ce tuto pour récupérer les infos nécessaires https://www.wikidebrouillard.org/wiki/Cr%C3%A9er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn%C3%A9es_dans_le_web
#define AIO_USERNAME "USERNAME" //Votre nom d'utilisateur sur io.adafruit
#define AIO_KEY "KEY" //Votre clef AdafruitIO
/************ Création des objets pour l'horloge ******************************************************/
const char* ntpServer = "pool.ntp.org";
const char* location = "Europe/Paris"; // voir dans l'onglet time_zones.h si vous n'êtes pas sur le même fuseau horaire
/************ Création des objets MQTT et Wifi ******************************************************/
WiFiClient client; // Création d'un objet client wifi, nécessaire pour initier la connexion avec le serveur Adafruit MQTT.
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY); // Création de l'objet mqtt nécessaire à la connexion avec le serveur
/****************************** Création des flux de données ****************************************/
// Création des objets PM1.0, PM2.5 PM10 et CO2
// Renseigner les chemins de vos flux de données "/feeds/******
// voir tuto https://www.wikidebrouillard.org/wiki/Envoyer_des_donn%C3%A9es_sur_le_WEB_gr%C3%A2ce_%C3%A0_MQTT
Adafruit_MQTT_Publish CO2 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/CO2");
Adafruit_MQTT_Publish PM1 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM1");
Adafruit_MQTT_Publish PM2_5 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM2_5");
Adafruit_MQTT_Publish PM10 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM10");
/*************** Gestion Alarme ***********************/
int freq = 1800;
int channel = 0;
int resolution_bits = 8;
int buzzer = 2;
/****************************** SETUP *******************************************/
void setup() {
ledcSetup(channel, freq, resolution_bits); // alarme
ledcAttachPin(buzzer, channel);
}
/****************************** LOOP *******************************************/
void loop() {
ledcWrite(channel, 0);
if (co2_val.toInt() >= 1500) {
M5.Lcd.drawRoundRect(185, 30, 44.75, 15, 2, RED);
M5.Lcd.fillRoundRect(185, 30, 44.75, 15, 2, RED);
M5.Lcd.setTextColor(RED);
M5.Lcd.setCursor(160, 55);
M5.Lcd.print("VICIE");
ledcWrite(channel, 128);
}
}
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #