Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Sockets su Domoticz [arduino via Ethernet]

Piccole automazioni, installazioni elettroniche e domotica
0
voti

[1] Sockets su Domoticz [arduino via Ethernet]

Messaggioda Foto Utentelemure64 » 29 giu 2022, 20:23

Ciao Forum,

Vorrei interfacciare arduino a domoticz via LAN, dato che i sensori sono parecchio lontani dal PC dove gira il server. Ho provato tutto quello che ho potuto: RS-423, PJon, MySensors. Soprattutto MySensors sembrava promettente se non che non trovo un singolo esempio in cui si costruisca da zero un sistema PC+gateway+sensori, solo le solite banalità come connettere la schedina Wi-Fi ad Arduino e simili. Non so quale tra tutti questi sistemi mi sia più inaccessibile, e deve essere un mio limite perché dai post sui forum tematici, sembra banale mettere in piedi cose anche complicate.

In particolare posso caricare un gateway su Arduino, ma Domoticz non mi mostra alcuno dei dispositivi creati, che nel mio caso sono semplici pin. Mi pare di capire che un gateway non può ospitare sensori salvo capriole col codice ma allora dovrei trovare in rete un arduino connesso a un altro arduino che faccia da sensore. Invece niente.

Allora ho scritto un piccolo sketch in cui Arduino funziona da server e alla ricezione di una stringa opportunamente formattata legge e scrive valori su/dai pin. Un piccolo script pyhon fa da test e tutto funziona sulla LAN. Il server esegue i comandi, manda la risposta, e la leggo dal terminale.

Ora io vorrei integrare questo in Domoticz. Eviterei Python perché scrivere un plugin non è facile e fuori dalla mia portata. Invece ho visto che è possibile creare pulsanti e sensori virtuali e associare i relativi stati a uno script Lua, ho fatto qualche prova e gli script vengono eseguiti alla pressione dei pulsanti nell'interfaccia.

Ora il problema oggetto del post. Questi script dovrebbero aprire una connessione verso un indirizzo locale, inviare e ricevere stringhe. Ma una ricerca con "lua domoticz sockets" e tutte le possibili varianti non mi dà info utili.

Possibili soluzioni:

1) Qualche Santo del forum mi spiega come si fa ammesso che il Lua di Domoticz abbia il supporto per queste operazioni.

2) Potrei usare una soluzione "disperata" di riscrivere il client python in C, dove ho già un po' di materiale ed esperienza sui sockets. Potrei passare i comandi sulla linea di comando, eseguire il programmino di interfaccia e redirigere l'uscita su un file testo, che potrei far leggere nello script Lua. Ma chiamare un eseguibile per ogni singola operazione, fosse anche agire su un interruttore ogni qualche secondo se va male, mi sembra una cosa esteticamente brutta e mi piacerebbe evitarla. Oltretutto c'è un altro elemento della già lunga catena che come tale la indebolisce con comportamenti che ora non saprei prevedere. Potrei farlo diventare un servizio di sistema ma servirebbero i socket, e il problema ricade nel punto precedente.

Non so come uscirne; a quanto pare sono tra i pochissimi esseri umani che hanno il problema di collegare un arduino sulla LAN in un punto lontano dal PC e che sia quasi vincolato a non usare wifi (molta distanza, pareti spesse, etc.). Se fosse un problema comune ci sarebbe molto materiale o forse sono stupido io che non so cercare.

Come spesso accade può capitare di chiedere A e sentirsi rispondere Z, magari per buona volontà. Ma io ho capacità limitate in tutte le aree applicative toccate da questo problema e vorrei restare su soluzioni semplici; non è che non apprezzo una soluzione radicalmente diversa, solo che dovrebbe essere alla mia portata. Già solo il gateway di Mysensor occupa quasi tutta la memoria di un "Uno"; veramente mi sembra che per azionare un PIN sia peggio di uccidere una mosca con una ruspa, e sono giorni che faccio lo slalom tra difficoltà e ostacoli :(

Grazie mille per qualsiasi idea

L.
Avatar utente
Foto Utentelemure64
689 3 6
Stabilizzato
Stabilizzato
 
Messaggi: 421
Iscritto il: 23 giu 2020, 12:26

Torna a Automazione civile

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti