/*
Sketch compilato originariamente da "Claude-Anthropic" (https://claude.ai/public/artifacts/c5dc6160-99cf-49af-abc2-1980bc33f3d5)
--> MODIFICATO per cercare di creare tabella routing per GW1
-->12/01/2026: -cambiati nomi delle tabelle, variabili e funzioni per rederli più leggibili
-aggiunto campo "ultimoNodo"
-->13/01/2026: -integrazione con Esp32 e Telegram: messaggio da Telegram (da "Bot2") fa stampare su SerialMonitor la risposta
Permette di riconoscere dei comandi ricevuti dal dispositivo (es.comandi: IR1 o PP1) e di
assegnare i relativi parametri ADDL, ADDH e CH alle variabili generiche dichiarate ad inizio sketch.
Struttura per memorizzare i comandi e i relativi valori
Si utilizza "uint8_t" e non "int" perchè:
- è di tipo intero senza segno
- occupa 8 bit (1 byte)
- valori possibili: 0 → 255
Invece "int" è:
- tipo intero con segno
- su Arduino UNO / Nano / Mega (AVR) occupa 16 bit (2 byte)
- valori: -32768 → 32767
*/
#include "funzioni.h"
uint8_t test = 0;
void setup() {
WiFi.begin(WIFI_SSID, PASSWORD_WIFI); //connetto al wifi
s_client.setCACert(TELEGRAM_CERTIFICATE_ROOT); //creo una connessione con Telegram utilizzando un certificato di sicurezza
while (WiFi.status() != WL_CONNECTED) { //finchè il wifi non è connesso attendi
delay(500);
}
delay(500);
bot.sendMessage(CHAT_ID,"ESP32 ready!!");
Serial.begin(9600);
while (!Serial) {
; // Attendi connessione porta seriale (necessario per alcune board)
}
Serial.println("=== Sistema di Configurazione Comandi ===");
Serial.println("Invia un comando per configurare i parametri");
Serial.println();
//printAvailableCommands();
}
void loop() {
verificaTelegram();
if (text.length() > 0) {
processCommand(text);
text = ""; // Resetta il buffer stringa "text" (messaggio da Telegram)
test = 1;
}
if(test == 1){
Serial.println("✓ Comando riconosciuto!");
Serial.print("dispositivo = ");
Serial.println(nomeDispositivo);
Serial.print("ultimoNodo = ");
Serial.println(ultimoNodo);
Serial.print("addL = ");
Serial.println(addL);
Serial.print("addH = ");
Serial.println(addH);
Serial.print("addCH = ");
Serial.println(addCH);
test = 0;
}
}