TNC KISS mode per packet e APRS

Il progetto che segue consente la realizzazione con pochi componenti di un TNC compatto per utilizzo packet radio (con firmware KISS) e APRS tracker collegato ad un ricevitore GPS con uscita NMEA standard RS232.

L’hardware è stato sviluppato dal papà del più noto TNC-X, John Hansen W2FS. Inizialmente volevo realizzare un clone “casalingo” del TNC-X, ma ho dovuto desistere a causa della difficoltà a reperire la RAM seriale richiesta da quel progetto. Mi sono imbattuto in questo articolo pubblicato sulla rivista QST che. oltre ad utilizzare componenti più facilmente reperibili, monta una CPU con la memoria sufficiente a contenere anche il codice necessario a implementare le funzioni di tracker per attività APRS. Per quanto riguarda l’hardware mi sono limitato a modificare la parte dello schema riguardante la comunicazione RS232 e l’alimentazione della scheda.

Descrizione

Il TNC è costituito da una CPU tipo PIC 16F877, una RAM statica 32K x 8 tipo 62256, il modem BELL202 costituito dall’integrato FX614P e pochi altri componenti necessari alla comunicazione tramite porta seriale RS232 e all’alimentazione a 5 volt della scheda. Tutti i componenti utilizzati sono a dire il vero piuttosto datati ma comunque facilmente reperibili e tutto sommato economici. Sulla CPU “girano” le routines necessarie a gestire il protocollo KISS e quelle dedicate alla decodifica delle stringhe NMEA provenienti dal ricevitore GPS e alla successiva composizione di un pacchetto beacon APRS. Nella memoria RAM vengono creati due buffer destinati a contenere i dati in trasmissione (“parcheggiati” fino a quando il pacchetto è completo e il modem in grado di trasmettere) e ricezione fino alla validazione del pacchetto di dati in ingresso affidata a un controllo di ridondanza CRC.
Ecco lo schema:

Realizzazione

Da sempre allergico agli stampati a doppia faccia, sono arrivato alla soluzione “una faccia e mezza”. In effetti la quantità di piste per il colloquio tra CPU e RAM impone la presenza di parecchi ponticelli (in rosso sulla disposizione componenti). La densità di componenti è tale da permettere la realizzazione della piastra anche a pennarello o trasferibili; in questo caso prestare la massima attenzione a non commettere errori. Io ho optato per il metodo Press’n’Peel, o Stira e ammira che dir si voglia, he mi ha permesso un risultato più professionale oltre che la realizzazione di un piano di massa sempre utile quando convivono a pochi centimetri CPU e sorgenti RF. Ecco il lato rame della piastra:

E questa è la disposizione dei componenti. In rosso i numerosi ponticelli da realizzare prima del montaggio dei componenti.

Elenco componenti

Tipo/valore Quantità Riferimento
18pF 2 C5, C6
27pF 2 C2, C3
0.1uF 7 C1, C4, C7, C8, C9, C10, C11
100uF 35V 1 C12
LED 3 D1, D2, D5
1N4001 1 D4
1N4148 1 D3
SIP HEADER – 2PIN 2 P1, P4
SIP HEADER – 3PIN 1 P3
SIP HEADER – 4PIN 1 P2
2N2222 3 Q1, Q2, Q3
1 Kohm 3 R3, R4, R13
4.7 Kohm 4 R9, R10, R11, R12
10 Kohm 4 R1, R2, R5, R14
100 Kohm 3 R6, R7, R8
PIC 16F877a 1 U1
62256, sram 32K x 8 1 U2
FX614 1 U3
7805 1 U4
10 Kohm pot 1 V1
10 MHz XTAL 1 X1
3.5795 MHz XTAL 1 X2

Il firmware

In rete è disponibile la versione originale del firmware, scritto in CCS C. Recuperato il compilatore ho caricato il firmware sul PIC ed eseguito le prime prove. Risultato: decodifica in ricezione scarsa con molti pacchetti persi, rumoraccio in trasmissione ben lontano dalla caratteristica nota dei 1200 bps. Dopo ore di controlli e verifiche sono giunto alla conclusione che le temporizzazioni del software erano da rivedere… Dopo qualche ritocco tutto è tornato alla normalità. Le mie attenzioni si sono dunque rivolte alle funzioni del firmware: ho implementato la funzione CALIBRATE che manda manualmente in tx la radio con un tono modulato a 1200 o 2200 hertz utile in fase di taratura del sistema o puntamento delle antenne. Per quanto riguarda la parte APRS ho optato per l’emissione di pacchetti “in chiaro” e non compressi con standard MIC-E per la maggiore compatibiltà con i vari software disponibili. Seguono alcune schermate ottenute accendendo il TNC in modalità SET. I parametri impostati vengono registrati nella EEPROM della CPU quindi possono essere modificati solo via software. La schermata iniziale:

Il menu seguente serve a immettere i parametri per il funzionamento in APRS.

Il menu Calibrate…

Cablaggi e finitura

Accertato il corretto funzionamento non rimane che inscatolare il TNC.. Per evidenti motivi è raccomandabile l’utilizzo di un mobiletto metallico. Nelle foto che seguono la realizzazione ultimata. Per il collegamento alla porta RS232 ho utilizzato un connettore DB9 maschio in modo tale da permettere il collegamento diretto al GPS e con un cavo null modem al PC. I cablaggi tra la piastra e i pannelli posteriore e frontale del mobiletto sono terminati con connettori a pettine a passo 100 mils (2.54 mm) così da permettere di disassemblare velocemente le parti. I collegamenti alla radio rispecchiano lo schema adottato per il TNC-X: un jack da 3.5 mm mono per l’uscita audio, un secondo jack da 3.5 mm stereo per PTT (tip) e segnale microfonico (ring). Completano i pannelli la presa di alimentazione coassiale da 1/4″, interruttore di alimentazione, deviatore per i modi SET/OPERATE e i led di segnalazione PWR, RX DATA e TX DATA.
I sorgenti modificati ed il firmware compilato sono disponibili qui.
Il risultato finale potrebbe somigliare a questo…

Buona costruzione!

GerPA, ovvero Germanium Power Amplifier

Si sa, i ragazzini imparano a smontare i giocattoli ben prima di capire come rimontarli. Nel mio caso ho qualche cassetto di componentistica discreta che adesso rientra pienamente nel “vintage”, smontata da vari apparecchi che il vicinato mi regalava in assenza delle isole ecologiche per il RAEE, che fra l’altro non era ancora stato inventato. Una sera, girovagando a caso in rete, capito in questo articolo su 320volt.com in cui i transistor in case TO66 hanno attirato la mia attenzione. Ricordavo di avere qualche componente in quel formato in quanto piuttosto inusuale, ma che fossero transistor, SCR o altro proprio no. Recupero il cassetto e ci trovo due coppie di transistor AD161/AD162. Possibile? Ricontrollo la pagina, sono proprio loro. Le premesse per una seconda vita c’erano tutte, ammesso che funzionassero. Li ho provati con il tester, giunzioni ok. Col provatransistor invece ho avuto qualche problema con gli NPN, immagino per la bassa tensione di giunzione dei dispositivi al germanio; ho corso il rischio e intrapreso la realizzazione.

Schema elettrico

Ho deciso di ridisegnare lo stampato e dunque ho trascritto lo schema in Eagle:

Per quanto riguarda la parte circuitale non c’è molto da dire, l’amplificatore è un classico degli anni 70 realizzato in versione dual mono, cioè con due sezioni identiche indipendenti, una per canale, e alimentazione singola. T1 funge da preamplificatore, Q1 da driver, T2 e T3 compongono lo stadio di uscita in classe AB. R9/C5 operano una retroazione su T1 determinando il guadagno in tensione del circuito. Il trimmer R12 opera come partitore del segnale in ingresso ma modifica anche il punto di lavoro dei transistor; in parole povere, va impostato in modo che sulla giunzione R10/R11 sia presente metà della tensione di alimentazione. Rispetto ai molti schemi simili questo differisce leggermente nella polarizzazione dei finali: dal momento monta un mix di transistor al silicio e germanio e che i transistor al germanio hanno una tensione fra le giunzioni inferiore a quelli al silicio, R3/D1 e R7 mantengono le basi un po’ più “vicine” fra loro per limitare la corrente assorbita a riposo pur con una bassa distorsione di incrocio.

Layout componenti Lato rame
Pentole e coperchi

Oltre al recupero dei finali, buona parte dei componenti li ho trovati nel cassetto del riciclo. Ultimato il montaggio, collegati al volo due altoparlanti alle uscite e il lettore mp3 in ingresso, con una certa sorpresa il circuito ha funzionato al primo colpo. Troppo presto per valutare le prestazioni, già il fatto che i finali facessero il loro lavoro mi è sembrato un successone. Il passo successivo sarebbe stato trovare un contenitore adatto. Visto il mio debole per le scatole di latta, ne ho trovata una rettangolare della grandezza giusta. Sul lato lungo anteriore avrebbe trovato posto il potenziometro del volume, su quello posteriore ingressi audio e uscite altoparlanti. Il risultato però mi è sembrato una pentola senza coperchio, o meglio il progettino sarebbe stato ben più completo affiancando al finale un dignitoso preamplificatore. Ovviamente nello stesso spirito vintage, dunque niente integrati ma componenti discreti e possibilmente una configurazione circuitale anni 70. Sfogliando gli archivi di Nuova Elettronica ho scelto uno schema semplice ma che mi è sembrato armonico con il finale.

Il preamplificatore
Schema elettrico Lato rame
Layout componenti

Per quanto riguarda il funzionamento credo che lo schema si commenti da solo, anche qui un classico del genere. La particolarità sta forse nel fatto che il circuito di retroazione composto da R7-R8, oltre a determinare il guadagno in tensione del circuito, può essere facilmente “condizionato” mediante una rete R-C opportunamente calcolata al fine di introdurre una particolare risposta in frequenza. Dunque è possibile adattare il circuito, come ben spiegato nello stralcio dell’articolo richiamato in precedenza, a fonti quali pick-up magnetici, piezo, oppure lasciare la risposta “piatta” con una semplice resistenza. Al momento è solo una voce della “To-Do List”, ma con un commutatore a 4 vie 4 posizioni si potrebbero montare in aria i componenti necessari e dotare così l’amplificatore degli ingressi “canonici” Phono, Tape, Tuner e Aux, ciascuno con guadagno ed equalizzazione adeguati. Certo che il pannello posteriore con tutti i nuovi ingressi comincerebbe ad essere un po’ affollato.

Montaggio

Per lo stampato dell’amplificatore ho deciso di far fare un giretto alla CNC, ma vista la semplicità della scheda è possibile procedere con qualunque metodo. I finali sono fissati ad una lamiera di alluminio piegata a “C” con funzione di dissipatore termico e di supporto meccanico. Naturalmente ho utilizzato miche e rondelle isolanti per evitare cortocircuiti. Il potenziometro del volume su un lato del frontale, ed una vite in posizione simmetrica dove installerò il commutatore di ingresso all’altro lato, trattengono il circuito all’interno della scatola a distanza di sicurezza dal fondo e dalle pareti. Per quanto riguarda il preamplificatore ho fresato lo stampato direttamente col simil-dremel, fissato poi con dei distanziatori al fondo della scatola. Le boccole di ingresso sono montate su uno sfrido di basetta ramata in modo da isolare la massa dei segnali di ingresso dal contenitore. Il potenziometro visibile nelle foto vicino agli ingressi è un accrocchio montato al volo per compensare la grande differenza di segnale fra le sorgenti usate per i test: sintonizzatore, lettore DVD-CD, telefono, lettore mp3. Non appena monterò il commutatore dovrà sparire dalla vista, permettendo di mettere un po’ in ordine tutta la cavetteria.

Alimentazione

L’articolo originale riporta una tensione di alimentazione di 20-25Vcc dunque ho iniziato i test con quel valore. Regolati i trimmer ho constatato che la polarizzazione dei finali rimane sostanzialmente corretta in una gamma molto ampia di tensione; ho testato il funzionamento del circuito da 9 a 25 volt senza rilevare grossi problemi nè evidenti differenze nella resa acustica se non (ovviamente) la potenza alla quale entra in distorsione. Dal momento che la regolazione corretta dei trimmer è risultata essere prossima al fondo scala e che uno dei due “grattava” durante la taratura, ho deciso di toglierli entrambi dallo stampato e sostituirli con due resistenze da 100K. Inizialmente pensavo fosse una buona idea utilizzare un alimentatore ex laptop (19 volt, 2.5A di targa) ma purtroppo la reiezione del circuito verso i disturbi di alimentazione non deve essere eccelsa dal momento che in uscita era sempre presente il tipico sibilo dovuto allo switching. Dunque ho ripiegato su un alimentatore lineare stabilizzato da 3A regolato a 15 volt. I queste condizioni l’ampli in assenza di segnale è praticamente muto, nessun fruscio, ronzio o altro. Ottimo. Probabilmente il contenitore metallico e il fatto che l’alimentatore sia esterno aiuta molto ad eliminare i segnali indesiderati.

Come suona

Pur non avendo grosse aspettative sulle qualità audio dell’ accoppiata pre + amplificatore, effettuate le tarature e le prime prove di funzionamento mi sono incuriosito sulle potenzialità del circuito. Premessa: le caratteristiche del locale dove si ascolta la musica, oltre a quelle dei diffusori, pesano tantissimo nella resa di ogni impianto audio. Apparecchi e casse acustiche da migliaia di euro in una scatola di cemento armato danno comunque risultati pessimi; al contrario apparecchi e casse appena decenti ma disposti in modo corretto in un ambiente adeguato forniscono un buon ascolto. Dunque ho accantonato gli altoparlanti smontati da chissà dove e ho collegato una coppia di diffusori a due vie “finte” (mid-woofer da 12cm e tweeter piezoelettrico disaccoppiato con un condensatore). Che dire? Mica male davvero, al punto di decidere di collegare le casse dell’impianto “titolare”, a tre vie con crossover e woofer da 12 pollici in sospensione pneumatica. Forse un po’ troppo “dure” da muovere con la potenza a disposizione, ma a volume normale la resa acustica è comunque buona. Come prova empirica ho ascoltato lo stesso brano da cd e da file mp3 suonato dallo stesso lettore, e la differenza si percepisce nettamente. Certo le variabili in gioco sono molte, ma mi piace pensare che la definizione del suono fornita dall’ amplificatore abbia un ruolo.. Comunque sia, dopo anni mi sono concesso una piacevolissima pausa per l’ascolto di un CD dalla prima all’ultima traccia. Non ho eseguito misure strumentali, nemmeno di potenza, ma visto l’assorbimento stimo per difetto circa una decina di watt per canale. Non molti, ma sufficienti a infastidire i vicini e oltre quanto necessario ad un ascolto attento ai dettagli ma in relax. Stiamo pur sempre parlando di sei transistor per canale compreso il preamplificatore! L’impiego di elettrolitici e resistori specifici per uso audio non potrebbero che migliorare la resa complessiva del sistema, che comunque ritengo già dignitosa. Per i vari “extra bass”, “spatial surround” e fesserie simili basta rivolgersi a qualunque, ordinario, “compattino” attuale. Mi piace l’idea di aver riutilizzato una tecnologia più che datata, i gusti sono gusti.

ESP8266 e Telegram: Bot.. da orbi!

Ho acquistato la scheda in foto non tanto in vista di un utilizzo reale ma allo scopo di giocare un po’ con la programmazione dell’ESP-12F montato a bordo. Sui siti e-commerce si trova a meno del costo dei soli relè, dunque ho ceduto alla tentazione. All’arrivo era caricato un firmware di test che accendeva in sequenza le otto uscite. Carino il ticchettio, almeno per i primi 5 secondi.. constatato che almeno i relè funzionavano tutti, sono passato alla fase successiva, la programmazione. Dopo una breve ricerca sono capitato in questa pagina: https://werner.rothschopf.net/microcontroller/202108_esp8266_esp12f_relay_x8_en.htm che utilizza una interfaccia utente html basata sulla libreria esp_webserver_generic. Caricata e testata: gradevole nell’aspetto grafico, pienamente funzionante.
MA…
Come mio solito, cerco di metterci del mio, dunque la traduzione in italiano delle pagine web non poteva bastare. Ho pensato che, tramite un bot Telegram (già utilizzato in passato nel progetto WiFi DataLogger ) avrei avuto accesso alla scheda direttamente dai miei dispositivi, anche fuori dalla rete casalinga, senza problemi di dns, port forwarding, VPN e amenità varie. Del progetto originale ho comunque mantenuto le funzionalità di aggiornamento del firmware in modalità OTA (cioè tramite WiFi), dal momento che per la prima programmazione è necessario utilizzare un convertitore USB-seriale (TTL a 3.3V) e collegare i segnali RXD, TXD e GND ai pin TXD, RXD e GND del connettore a bordo scheda, oltre che connettere a massa il pin GPIO0 prima di alimentare la scheda per attivare il modo programmazione dell’ ESP12. Viste le finalità dell’acquisto (e la pigrizia!) mi è sembrata, e si è dimostrata, un’ottima idea.

All’opera


Ho iniziato da zero o quasi, ovvero dallo sketch di esempio della libreria UniversalTelegramBot opportunamente installata nella IDE di Arduino, ed ho implementato la gestione di accensione e spegnimento dei vari relè tramite comandi tipo “/31” (relè 3, accendi) ed il rispettivo “/30” (relè 3, spegni) e così via per le otto uscite, oltre alla funzione che invia in risposta ad ogni comando lo stato delle stesse. Allo stesso modo ho istruito BotFather per riconoscere gli stessi comandi, più un comando di spegnimento contemporaneo di tutte le uscite attive ed uno “a salve” solo per visualizzare lo stato dei relè. Carico e via di test..
Tutto funzionante, sia in copertura del wifi di casa che dal telefonino via internet. Bene dunque, ma la chat testuale certo non brilla per estetica. Ho pensato di sostituire la risposta testuale del bot con delle emoji, quelle in particolare con i numeri incorniciati indicanti i relè, ed i simboli “spunta verde” per le uscite attive e “X rossa” per quelle inattive. Ma come inserirle nel testo di risposta generato dal bot? Ho scoperto che la stessa emoji può essere selezionata con codici diversi, ad esempio :three: per il numero tre. Modifico lo sketch e provo. Nulla, il testo viene inviato “in chiaro” dunque niente iconcine. Mi imbatto in questa pagina:
https://apps.timwhitlock.info/emoji/tables/unicode
che è stata illuminante. Per ogni emoji vengono indicati i codici “Unicode” e “Bytes”, ad esempio per il numero 5 valgono rispettivamente U+0035 U+20E3 e \x35\xE2\x83\xA3. Ma come utilizzarli? Scopro che i codici Unicode vanno “digeriti” da funzioni apposite e in alcuni esempi occorre appoggiarsi a linguaggi (python) o server esterni, mentre i famigerati Bytes altro non sono che codici esadecimali UTF-8, dunque assegnabili a caratteri di una stringa di testo al pari di qualsiasi codice ASCII. Bingo! Dunque scarto le opzioni Unicode, python, MQTT, IFTTT et similia; converto i codici esadecimali in decimali così da utilizzare la funzione char() dell’ Arduino-C e completo lo sketch. Compilo, carico… Adesso si ragiona! esattamente quello che avevo in mente. Certo l’interfaccia rimane frugale, ma quel tocco di grafica la rende più gradevole.

Addendum

Ecco che ci risiamo, l’appetito vien mangiando, come al solito. Tanto per cominciare ho ristretto il riconoscimento dei comandi da parte del bot tramite un filtro basato sull’ID univoco associato al mio profilo. Lo si recupera tramite il bot IDBot (!) al quale inviare il comando /getid, oppure lasciando collegato alla scheda il convertitore USB/TTL e attivando il monitor seriale dalla IDE di Ardiono. Nel codice ho infatti previsto di inviare alla seriale ID e nome utente. Eventuali altri utenti ricevono in risposta un messaggio di accesso negato. Un ulteriore controllo verifica che il comando ricevuto sia valido, in caso contrario invia un apposito messaggio di avviso. E se volessi abilitare anche amici/familiari? Certo se il numero è contenuto è possibile inserire ulteriori ID nello sketch, ma ad ogni modifica occorre ricompilare e riprogrammare l’ESP. Dunque cambio approccio: creo un gruppo telegram privato al quale aggiungo gli utenti che mi interessano, abilito nel codice dello sketch me stesso e il gruppo ed ecco fatto. Le caratteristiche (finora) implementate sono:

  • Accensione e spegnimento delle singole uscite
  • Spegnimento contemporaneo di tutte le uscite attive tramite comando dedicato
  • Riconoscimento dei comandi da parte del bot ristretto ai soli numero ID associati al mio profilo e al gruppo degli utenti abilitati
  • Risposta “Accesso negato” per gli ID non autorizzati
  • Risposta “Comando non riconosciuto” per.. l’appunto, in risposta ai comandi non Riconosciuti

E se… volessi gestire più di una scheda? Dal cassetto “Spare parts” ho recuperato una scheda NodeMCU che tengo di scorta per il WiFi DataLogger e ci ho caricato -paro paro- il firmware di questo progetto, senza collegarvi i relè esterni. In questo caso è possibile usare un cavetto USB sia per
l’alimentazione che per la programmazione dunque non serve il  convertitore USB-TTL. Ho quindi creato un secondo bot con le stesse impostazioni e l’ho aggiunto al gruppo degli utenti abilitati. Attivando dalla chat del gruppo il pulsante dei comandi viene proposta una lista con accanto al comando l’icona del bot a cui fa riferimento, per cui la gestione di più schede è senz’altro fattibile e devo dire anche piuttosto funzionale. Mica male davvero.

Tirando le somme

Materiale occorrente:

  1. La scheda con 8 relè ed il ESP-12F della foto, oppure altra basata su ESP8266
  2. Un PC con IDE arduino
1. Configurazione di Arduino IDE
Sinteticamente: partendo da una installazione “pulita” della IDE, occorre aggiungere l’indirizzo url http://arduino.esp8266.com/stable /package_esp8266com_index.json nella finestra richiamata tramite il menu File-Preferenze. Successivamente tramite il menu Strumenti – Scheda “…” – ESP8266 Boards sarà possibile scegliere il modulo NodeMCU 1.0 (ESP12-E). Nel mio caso la scheda monta un 12-F ma non ho avuto alcun problema.Per quanto riguarda le librerie, tramite il menu Strumenti – gestione librerie occorre selezionare esp8266 by ESP8266 Community e UniversalTelegramBot
2. Collegamenti alla scheda relè
Nello schema sono riportati i collegamenti fra l’ESP-12 e il convertitore seriale USB-TTL necessario per caricare il firmware. Nel caso venga utilizzata una scheda diversa dalla mia, magari costruita ad hoc attorno all’ESP “nudo”, occorre seguire questa configurazione. Nel mio caso in fase di ingegnerizzazione è stato previsto un apposito connettore a pettine con tutti i segnali necessari, oltre ad un pulsante di reset che rende superfluo l’utilizzo del segnale DTR dello schema. Alimentando la scheda con una fonte di alimentazione dedicata (5 volt stabilizzati o 7-20 volt non stabilizzati tramite la apposita morsettiera) non resta che collegare:

  • il pin GND della scheda con il corrispondente GND del convertitore;
  • il pin RXD della scheda con il TXD del convertitore;
  • il pin TXD della scheda con il RXD del convertitore.

Il pin IO0 della scheda va posto a massa durante l’accensione per attivare la modalità programmazione dell’ESP; nell’uso normale va lasciato aperto. Questa procedura è indispensabile per il primo caricamento del firmware; per eventuali successive riprogrammazioni è possibile utilizzare la funzionalità OTA selezionando tramite il menu Strumenti – Porta la porta ESPxxxx+numeroIP che sarà “magicamente” apparsa nel frattempo.

3. Creazione Bot e gruppo utenti

 
Incredibile. Per creare un bot ci si serve di.. un bot, per la precisione BotFather. Al comando /start restituisce i comandi disponibili, eviterò lo “spiegone” di come utilizzarlo dal momento che in rete ci sono tutorial validissimi in grado di aiutare a configurare il tutto.Ho quindi creato due bot, uno per la scheda relè e un secondo a fini di test per la NodeMCU; assegnato loro un nome, una descrizione, una immagine, inserito la lista dei comandi. Ho quindi creato i token, cioè i codici da copiare nello sketch di Arduino, e attivato le opzioni /setinline e /setjoingroups in vista dell’utilizzo tramite il gruppo utenti.Questo può essere creato direttamente dal proprio profilo; assegnato un nome e una immagine sarà possibile aggiungere gli utenti ai quali concedere il controllo della/delle schede.
4. Compilazione del firmware
Prima di caricare il firmware sulla scheda occorre compilare con i valori corretti le definizioni WIFI_SSID, WIFI_PASSWORD e BOT_TOKEN per permettere il collegamento alla rete wifi casalinga e al bot di Telegram.Se si conoscono già gli ID del proprio profilo e del gruppo utenti si possono inserire nella riga apposita della funzione handleNewMessages; in caso contrario si possono recuperare tramite il bot IDbot oppure in un secondo momento, lasciando in prima battuta i valori fasulli.Una volta caricato il firmware, tolto il collegamento a massa di GPIO0 e resettato il circuito, tramite il monitor seriale della IDE o altro terminale RS232 dovremmo vedere la sequenza di avvio dell’ESP ed il collegamento al wifi. Quindi, da Telegram, inviando al bot un testo qualunque dal proprio account e dal gruppo, avremo come risposta un messaggio di errore, ma leggeremo gli ID richiesti a video.A questo punto basta inserire i valori ottenuti nello sketch, ricompilare e ricaricare, magari tramite OTA. Lavoro concluso, non resta che verificare il buon funzionamento delle varie funzioni. Pensiero del giorno: il gruppo è privato, gli ID filtrati… in ogni caso meglio accendere e spegnere le luci di casa, il presepe o l’insegna del negozio, per l’apriporta di casa o del garage meglio pensare a qualcos’altro.Nello sketch i relè sono comandati ON/OFF come interruttori, va da sè che per esigenze specifiche possono essere gestiti in modo diverso, es. a coppie, temporizzati eccetera… come si conviene per qualunque progetto basato su microcontroller programmabili.
5. Vai di IOT

Ultimate le “fatiche” elettronico-informatiche (poco o nulla le elettroniche, 6– per quelle Informatiche), in attesa di ispirazione per una collocazione pratica dell’accrocchio, occorre un contenitore opportuno che possa alloggiare scheda, alimentatore e prese per gli utilizzatori. Per non schermare il segnale wifi credo che metterò tutto quanto dentro un centralino da esterno in resina plastica, montando sia il trasformatore di alimentazione che le prese su guida DIN. Tipo questo:

Con un mix di prese da 10A e schuko calcolato per occupare tutti i 24 moduli ed etichettate a dovere il risultato dovrebbe essere ottimale.