Di domotica mi sono fatto un po' di esperienza... Intanto ti sconsiglio
vivamente la connessione diretta (USB o seriale). Il mio consiglio è di
avere un hub personale come Home Assistant (al limite anche su un RPi)
che comunica via wifi/ethernet/ZigBee/ecc con i vari device.
Per i device, essendo "richiesta" la connettività di rete, consiglio
l'uso di ESP8266 (o ancora meglio ESP32) con Tasmota (se pensi di
riconfigurarli spesso) o ESPHome (maggiore possibilità di
personalizzazione).
Mentre i sensori ambientali non hanno quasi mai problemi, se ti serve
qualcosa che si interfacci alla 220 è meglio usare dispositivi già
pronti (Shelly, SonOff, varie prese smart) generalmente molto ben
supportati in HA.
Una cosa da tenere sempre presente è la graceful degradation: cerca di
tenere le funzioni il più possibile "locali". P.e. ora sto adattando un
mio DomoNode2 ( https://github.com/NdK73/HomeAutomation/ ) per gestire
la commutazione della linea e la partenza automatica del generatore in
caso di blackout. Sarebbe "facile" (relativamente) gestire la cosa da
HA, ma sarebbe anche molto rischioso. Invece il codice caricato sul
DomoNode avrà internamente tutta la gestione delle sequenze, delle
temporizzazioni, degli interlock (comunque li metto anche HW, con la 220
non si scherza) ecc. Così se anche HA (o l'AP) non fosse disponibile, il
generatore partirebbe comunque, perderei solo la possibilità di fermarlo
dalla app o di avviare il self test periodico.
Stesso discorso per il controllo luci: è "dannoso" che il comando locale
(pulsante o interruttore) non controlli la lampada se manca la connessione.
In ogni caso con l'hub personale ti disaccoppi molto dal cloud, e già
questo vale lo sforzo di imparare ad usarlo. Anche se non ti devi
(ancora) aspettare comandi vocali in stile Alexa o Siri (l'80% delle
volte il mio "hey Jarvis" risponde "non ho capito"), si sta evolvendo
rapidamente. E il controllo dalla app è comunque comodo.
Diego.
Il 01/05/2024 10:10, Leonardo Boselli ha scritto:
On Wed, 1 May 2024, Giancarlo Martini wrote:
2) Non c'è differenza, l'IO lo leggi sempre tramite la libreria
gpiod, in C oppure python
[credo], se ho capito bene la domanda ...
2. peraltro se faccio una periferica che usa quei sistemi, copme
la leggo
, se anziché fare una connessione TCP via rete volessi leggerla
sull'USB ?
no, la domanda chiedeva: realizzo con un cosino un dispositivo che
legge due sensori e comanda due attuatori e è collegato via USB a una
macchina, come una periferica.
Se usassi ethernet potrei usare curl per mandare comandi e
configurazioni e leggere lo stato, o aprire un socket. ma se lo collego
usb come lo "apro" ? in altre parole come uso curl per scrivere/leggere
da una periferica USB a carattere?
--
Leonardo Boselli
Firenze, Toscana, Europa
http://i.trail.it
--
Diego Zuccato
DIFA - Dip. di Fisica e Astronomia
Servizi Informatici
Alma Mater Studiorum - Università di Bologna
V.le Berti-Pichat 6/2 - 40127 Bologna - Italy
tel.: +39 051 20 95786