Gestire dispositivo Sonoff da SlimLine

» Home » Article » Gestire dispositivo Sonoff da SlimLine
  1. Home
  2. Knowledge Base
  3. Controllori SlimLine
  4. Applicazioni
  5. Gestire dispositivo Sonoff da SlimLine

Il modulo Sonoff della Itead è un relè WiFi dal costo contenuto, può essere collegato direttamente a 220V permettendo di alimentare sia il modulo che il carico pilotato dal relè. In rete si trovano moltissime informazioni su come modificarne il firmware per adattarlo alle proprie esigenze (Tutto quello che ho riportato è frutto di documenti recuperati in rete, tra cui segnalo il progetto Lucibus). Solleticato da richieste di clienti che utilizzano per le loro applicazioni domotiche i nostri sistemi SlimLine e che desiderano interfacciarli con i moduli Sonoff ho realizzato un semplice progetto dimostrativo (Download). Per chi è interessato all’argomento consiglio questo articolo. In questo articolo spiego come utilizzare il firmware ESPurna sul dispositivo e gestirlo da SlimLine.

Il modulo si connette al cloud della casa madre permettendo l’accensione e spegnimento del relè tramite una apposita App. Ma di seguito vedremo come realizzare un firmware apposito per poterlo connettere ad una rete WiFi e gestire il relè da un sistema SlimLine.

Il cuore del modulo è il popolare ESP8266EX un SOC che contiene una completa soluzione WiFi, il componente è molto conosciuto dagli utilizzatori di Arduino, ed utilizzeremo proprio l’IDE di Arduino per lo sviluppo del programma.

Negli screenshos seguenti le operazioni per aggiungere all’IDE le schede basate su ESP286, dopo l’installazione in File->Impostazioni inserire “http://arduino.esp8266.com/stable/package_esp8266com_index.json“.

Da Strumenti->Scheda->Gestore schede installare l’ambiene di sviluppo per ESP8286. Ora sarà possibile selezionare la scheda “Generic ESP8266 Module“.

Per FLASHare il modulo occorre aprirlo e connettersi in seriale (Livello TTL 3 volt), io ho utilizzato un convertitore USB/Seriale (ATC-810) a cui ho abbinato un convertritore RS232/TTL (ATC-102). Ma potete utilizzare un qualsiasi convertitore con uscita seriale TTL. Per evitare ogni pericolo consiglio di non collegare il modulo alla rete 220V, ma di alimentarlo con un alimentatore a 3Vdc come ho fatto io (Vedi foto).

Ecco le operazione per compilare e trasferire il programma sul modulo:

1. Spegnere il modulo (Io ho inserito un interruttore sulla alimentazione a +3.3V, pin 1).

2. Premere il tasto di presente sul modulo e tenendolo premuto dare alimentazione.

3. Aspettare un secondo e rilasciare il tasto.

Ora dall’IDE agendo sul tasto carica viene eseguita la compilazione del programma e se non ci sono errori il programma verrà trasferito nella FLASH del modulo Sonoff. Per mandare in esecuzione il programma spegnere e riaccendere il modulo.

Nel programma del modulo Sonoff ho definito tutti i parametri di configurazione quindi occorre modificare le definizioni in base alla propria configurazione di rete. Ho attivato un server in ascolto sulla porta 1000.

const char* SSID=”Your SSID”; //Name of your network (SSID)
const char* Password=”Password”; //WiFi password
IPAddress IP(192,168,0,183); //Node static

setup(): Imposta i GPIO ed invia su seriale “9600, n, 8” la scritta “Elsist Sonoff firmware version:”  seguito dalla versione software.

loop(): Eseguito il lampeggio del LED per indicare il corretto funzionamento del modulo.  Gestita la ricezione di comandi dalla connessione WiFi, se non ricevuti comandi per oltre 1 minuto, viene  reinizializzato il server. I comandi gestiti sono:

Status: Ritorna lo stato del sistema.
Relay: Permette di comandare il relè.

Se il modulo si connette correttamente alla rete WiFi sarà possibile eseguire un ping sullo stesso, connettendosi in telnet (Esempio con il nostro programma Toolly), sarà possibile inviare i comandi.

Nel programma delllo SlimLine ho realizzato un FB apposito per la gestione del modulo Sonoff. Occorre passare al FB l’indirizzo IP e la porta configurate sul modulo.

Il FB esegue una interrogazione del modulo con il tempo di poll definito, inviando il comando di Status ne rileva lo stato e lo ritorna in uscita.

Con il comando Relay forza l’attivazione/disattivazione del relè a bordo del modulo in base all’ingresso RCommand.

A lato lo screenshot del programma su LogicLab (In linguaggio FBD) che utilizza il FB per gestire il relè a bordo del modulo Sonoff in base allo stato dell’ingresso Di01 del modulo CPU.

Ti è stato utile questo articolo ?