Uno switch di luce intelligente WiFi con API cloud?


12

Ho bisogno di qualche suggerimento per un interruttore della luce intelligente basato su WiFi che può essere controllato a distanza e ha un'API aperta.

L'interruttore della luce WeMo non ha API remote aperte. Lo stesso con un altro popolare TP-Link HS200 . La maggior parte degli altri interruttori telecomandati che ho trovato possono essere controllati solo tramite le proprie app. Ci sono alcuni progetti GitHub che hanno invertito queste app, ma preferirei utilizzare le API pubblicate direttamente dal produttore perché il mio progetto è a lungo termine e non voglio scommettere su una soluzione ingegnerizzata al contrario.

Risposte:


9

Le soluzioni più a prova di futuro saranno quelle che separano completamente l' hardware dal protocollo .

Il tuo interruttore di illuminazione HS200 di esempio si unisce a molte prese intelligenti essendo basato su un sistema Linux incorporato (la fonte è disponibile nel GPL Code Center di TP Link ) È probabile che, come la maggior parte delle prese, il sistema sottostante sia uno derivato da una strana filiale del fornitore di una distribuzione Linux comune destinata ai router. Altri modelli potrebbero utilizzare un ESP8266. Ognuno di questi può generalmente avere il firmware di serie sostituito con uno diverso, che può fungere da server su una rete locale permettendo il controllo in quel modo, o o sottoscrivere messaggi trasmessi attraverso qualcosa come un broker MQTT nel cloud, abilitando out-of -home control. Hai la piena capacità di abilitare uno o entrambi i percorsi, cambiare le regole e cambiare i fornitori di servizi.

Se l'hardware che stavi utilizzando non fosse più disponibile, poiché controlli completamente il protocollo, tutto ciò che devi fare è trovare hardware diverso su cui eseguirlo. Spostare il codice lato dispositivo tra qualcosa come OpenWRT Linux comune sui prodotti derivati ​​da router e un ESP8266 bare metal sarebbe una buona dose di lavoro, ma concettualmente semplice. Ma spostarlo da OpenWRT su un chip router a OpenWRT su un altro, o spostarlo su qualunque Linux (o se è necessario, magari anche Win IoT) che gira sul tuo Raspberry Pi o Edison o Beagle Bone sarebbe ancora più diretto.

Suddividere i ruoli del sistema in parti distinte con confini chiari richiede di fare un po 'più di lavoro in anticipo, ma significa che sarai in grado di rispondere a qualsiasi modifica, in un modo che potresti non essere in grado se una soluzione integrata verticalmente da un singolo fornitore.


Grazie per aver spiegato la limitazione con l'utilizzo di "soluzione integrata verticalmente da un singolo fornitore" e i vantaggi dell'accoppiamento lento dell'hardware e del protocollo. Se le prove future a lungo termine e il controllo totale erano davvero importanti, forse, questa è l'unica strada da percorrere. Ma, in questo momento, sto solo cercando una soluzione leggermente migliore rispetto ad alcune API hackerate in Github. Quello che hai proposto è troppo lavoro per noi.
Rajendra,

4

Come ha detto Chris, la chiave è separare il protocollo dall'hardware. Ma ciò non significa che devi implementare il tuo firmware! Puoi scegliere un interruttore che supporti un protocollo di automazione domestica comune e facilmente disponibile, come Z-Wave o Insteon. Questi sono protocolli chiusi, ma esiste un'ampia varietà di produttori che creano componenti interoperabili con essi. Quindi, è possibile utilizzare un controller di automazione domestica che integra i protocolli di automazione domestica con IP.

Uso un controller di automazione domestica Vera Edge che offre un'API Web; e ci sono anche altre scelte. Ho scelto Vera perché l'intero sistema funziona localmente senza richiedere l'accesso a un'interfaccia cloud ospitata; non ci sono costi di servizio mensili e il dispositivo e le regole sono completamente sotto il mio controllo. Posso scegliere di nascondere l'API dietro il mio firewall, esporre l'API esternamente o posso sfruttare i servizi cloud gratuiti di Vera per esporre l'API per me. (Inoltre, Vera ha una comunità molto attiva che aggiunge costantemente supporto per i nuovi dispositivi di automazione domestica.) Vera offre un'app gratuita per iPhone e Android, ma non sei vincolato alla loro app. Diversi sviluppatori indipendenti hanno creato le proprie app che sfruttano l'API di Vera (Grasshopper, VeraMate e ImperiHome sono tre di questi prodotti) per fornire GUI alternative.

Se sei contrario a un prodotto gateway commerciale e sei disposto a impegnarti molto, ci sono anche soluzioni Open Source per l'implementazione del tuo gateway di automazione domestica che offrono un'API web. Domoticz e OpenHAB sono due progetti che mi vengono in mente. Tuttavia, entrambi i pacchetti sono ancora molto meno maturi rispetto alle soluzioni commerciali ed entrambi richiedono una notevole quantità di lavoro per essere implementati. (E hai indicato che non volevi hackerare insieme una soluzione.)

L'unico inconveniente che vedo nell'approccio basato su gateway è che la tua domanda è "un interruttore della luce", implicando una quantità di un dispositivo. Uno switch Z-wave può costare da $ 10 a $ 40 (o più) e un gateway commerciale può costare $ 100- $ 400 (o più.) Per un singolo switch, il prezzo probabilmente non ne vale la pena. Se stai automatizzando un intero edificio, tuttavia, il costo dell'hub può essere ripartito tra dozzine di dispositivi.


4

Ultimamente ho acquistato le smart plug-in Sonoff su eBay e le ho fornite con un firmware personalizzato. Questo è possibile perché si basano sull'ESP8266. Sono molto convenienti e piuttosto avanzati.

Devono essere aperti e un'intestazione del pin saldata sul PCB, quindi è necessario programmarli con un adattatore FTDI , che puoi anche ottenere a buon mercato su eBay. È piuttosto semplice.

Quando lampeggia, si connettono alla mia rete WiFi e inviano e ricevono comandi MQTT. Sto usando Home Assistant per questo.

BRUH Automation ha un video su di loro: https://www.youtube.com/watch?v=-JxPWA-qxAk

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.