Come interfacciarsi via WiFi con i moduli Sonoff della Itead
Home › Forum › Discussioni su problematiche generali › Come interfacciarsi via WiFi con i moduli Sonoff della Itead
- Questo topic ha 8 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 5 anni, 10 mesi fa da
Marcello.
-
AutorePost
-
Gennaio 25, 2018 alle 3:41 pm #36171
Paolo
PartecipanteIn una abitazione hanno installato alcuni moduli Sonoff, in particolare il Sonoff Basic WiFi Wireless Switch che sono collegati alla rete WiFie poi possono essere comandati tramite un applicazione con Android.
Volevo installare un CMT_SVR ed un CMT-IV5 e programmare alcune pagine con le varie stanze della casa ma non conosco il protocollo di comunicazione del Sonoff. Sapete darmi qualche informazione ?
Gennaio 26, 2018 alle 9:05 am #40025Sergio Bertana
Amministratore del forumVedo che hanno la gestione del protocollo MQTT ma non sinceramente non ho trovato informazioni su come configurare questi moduli per poterli gestire tramite i nostri sistemi programmabili SlimLine.
Mi sono però cimentato con l’IDE di sviluppo ed ho realizzato un nuovo firmware che ne permette la gestione da una SlimLine. Ho anche realizzato un FB dedicato, è un lavoro che ho svolto per divertimento ed è pubblicato nella zona delle Knowledge sul nostro sito.
Maggio 31, 2019 alle 6:11 am #47942Marcello
PartecipanteHo seguito passo-passo le procedure indicate nelle Knowledge “Gestire Sonoff con ESPurna firmware da SlimLine” e in “Gestire dispositivo Sonoff da SlimLine”, purtroppo senza risultato.
Nel primo il modulo non genera la “wifi” quindi non posso connettermi alla pagina delle impostazioni, nel secondo nonostante abbia modificato i parametri della WiFi SSID, Passw, IP, ecc… il modulo non viene riconosciuto. L’unica cosa che ho notato è che il led del dispositivo (Sonoff Basic) non lampeggia.
Aggiungo che nella versione ESPurna ho installato il binario espurna-1.13.5-itead-sonoff-rf.bin come indicato negli esempi e che sia con ESP8266Flasher (primo caso) che con Arduino, al termine dell’upload, non vengono segnalati errori.
Da cosa può dipendere?
Maggio 31, 2019 alle 6:29 am #47947Sergio Bertana
Amministratore del forumTi consiglio di utilizzare il firmware ESPurna che è il più completo e ti permette di gestire il dispositivo anche con la sua pagina web.
Il tuo problema è nella procedura di flashing del dispositivo devi impostare correttamente lo SPI Mode nella configurazione Advanced del programma NodeMCU. Ci sono 4 possibili selezioni (Qui trovi spiegazioni al riguardo).
Avevo avuto anch’io un problema nel falshing del modulo, ma poi agendo sulle selezioni avevo trovato quella corretta, purtroppo non mi ricordo più quale avevo utilizzato. Magari quando hai risolto scrivi sul forum.
Giugno 3, 2019 alle 6:16 am #47968Marcello
PartecipanteRISOLTO:
Innanzi tutto il file .BIN è :espurna-1.13.5-itead-sonoff-basic.bin e lo SPI Mode è: DOUT, gli altri parametri in Advanced sono quelli di default.Ho abilitato anche Telnet ma non conosco i comandi per provare da Toolly l’on/off del modulo, voi li avete?
Giugno 9, 2019 alle 7:42 pm #48037Sergio Bertana
Amministratore del forumUn elenco lo puoi trovare qui, quando ti connetti in Telnet puoi dare il comando help per visualizzare tutti i possibili comandi, ecco il report.
Available commands:
> COMMANDS
> CONFIG
> CRASH
> DEL
> DICTIONARIES
> EEPROM
> EEPROM.DUMP
> ERASE.CONFIG
> FACTORY.RESET
> FLASH.DUMP
> GET
> GPIO
> HA.CLEAR
> HA.CONFIG
> HA.SEND
> HEAP
> HELP
> INFO
> KEYS
> MQTT.RESET
> OTA
> PUBLISH
> RELAY
> RELOAD
> RESET
> RESET.SAFE
> SELECT
> SET
> STACK
> SUBSCRIBE
> UNSUBSCRIBE
> UPTIME
> WIFI
> WIFI.AP
> WIFI.RESET
> WIFI.SCANGiugno 13, 2019 alle 4:39 pm #48137Marcello
PartecipanteHo provato anche altri tipi di Firmware, quello della ESpurna ha il “limite” di chiedere il codice API per inviare i comandi. Ho trovato in rete TASMOTA che ha il vantaggio di ricevere l’on/off con semplice interfaccia REST. Volevo utilizzare il FB HTTPClient per passare il comando di on/off che dal browser invio così:
http://192.168.0.9/cm?cmnd=Power%20TOGGLE
Ho configurato la mia FB così: IF (SysFirstLoop) THEN HTTP.SpyOn:=TRUE; (* Activate the spy *) HTTP.Method:=2; (* Request method, PUT *) HTTP.HostAddress:=ADR('192.168.0.9'); (* SonOff device *) HTTP.HostName:=ADR('192.168.0.9'); (* Hostname *) HTTP.HostPort:=80; (* Server port *) HTTP.Page:=ADR('/cm'); (* Web page *) HTTP.Request:=ADR('cmnd=Power%20TOGGLE'); (* Request string *) HTTP.DBSize:=256; (* Data buffer size *) HTTP.Timeout:=60000; (* Execution timeout *) END_IF
ma spiando con toolly ottengo questo risultato:
21:43:41( 384)|Tx|PUT //cm HTTP/1.1.. 21:43:41(.130)|Rq|cmnd=Power%20TOGGLE 21:43:41(.000)|Rx|HTTP/1.1 404 Not Found.. 21:43:41(.001)|Lg|Start Rx page, length:72 21:43:41(.002)|Rx|[72] File Not Found..URI: //cm *** s: 1. cmnd: Power TOGGLE. 21:43:41(.061)|Pi|Page length: 72 Page load time: 0.196 (S)
e ovviamente al relè non capita nulla.
Cosa posso fare? (ho provato anche con POST e GET ma non cambia il risultato)Giugno 13, 2019 alle 4:51 pm #48140Sergio Bertana
Amministratore del forumSicuramente è possibile realizzare il comando con il FB HTTPClient.
Intanto vedo che il comando è in GET, quindi usa, HTTP.Method:=0;
La pagina da chiamare è cm quindi prova ad usare, HTTP.Page:=ADR(‘cm’);
%20 è la codifica di space, provvede l’FB a codificarlo prova,HTTP.Request:=ADR(‘cmnd=Power TOGGLE’)Giugno 14, 2019 alle 6:35 am #48143Marcello
PartecipanteL’errore stava proprio sulla Webpage mi era sfuggita “/”.
Ho visto anche che dopo circa 75 sec il tempo di risposta del relè si allunga fino alla soglia di timeout. Se si vuole il relè sempre pronto, ogni 60 sec reinvio il comando di stato sostituendo TOGGLE con ON o OFF. Riprendendo il tuo programma ho modificato IF (Relay) <> (RStarus) OR SysTime-timeStart > 60000 THEN …
timeStart viene ricaricato con SysTime ad ogni invio comando.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.