Inicio > Foro > Discusiones sobre problemas generales > Cómo interactuar a través de WiFi con los módulos Sonoff de Itead
- Este tema tiene 8 respuestas, 3 participantes y se actualizó por última vez 4 años, hace 10 meses da Marcello.
-
autorPublicación
-
Enero 25, 2018 en 3: 41 pm #36171Paulpartícipe
En una casa han instalado algunos módulos Sonoff, en particular el Sonoff Basic WiFi Wireless Switch que están conectados a la red WiFie y luego se pueden controlar a través de una aplicación con Android.
Quería instalar un CMT_SVR y un CMT-IV5 y programar algunas páginas con las distintas salas de la casa, pero no conozco el protocolo de comunicación del Sonoff. ¿Me puede dar alguna información?
Enero 26, 2018 en 9: 05 am #40025Sergio BertanaAdministrador del foroVeo que tienen la gestión de la Protocolo MQTT pero, sinceramente, no he encontrado información sobre cómo configurar estos módulos para poder administrarlos a través de nuestros sistemas programables SlimLine.
Sin embargo, probé el IDE de desarrollo y creé un nuevo firmware que permite administrarlo desde una SlimLine. También hice un FB dedicado, es un trabajo que hice por diversión y se publica en el área de Conocimiento en nuestro sitio web
Mayo 31, 2019 en 6: 11 am #47942MarcellopartícipeSeguí paso a paso los procedimientos indicados en el Conocimiento “Gestionar Sonoff con firmware ESPurna de SlimLine"Y en" Administrar dispositivo Sonoff desde SlimLine", Desafortunadamente sin resultado.
En el primero el módulo no genera el "wifi" por lo que no puedo conectarme a la página de configuración, en el segundo a pesar de haber cambiado los parámetros del WiFi SSID, Passw, IP, etc ... no se reconoce el módulo. Lo único que noté es que el LED del dispositivo (Sonoff Basic) no parpadea.
Añado que en la versión ESPurna instalé el binario espurna-1.13.5-itead-sonoff-rf.bin como se indica en los ejemplos y que tanto con ESP8266Flasher (primer caso) como con Arduino, al final de la carga, no se reportan errores.
¿De qué puede depender?
Mayo 31, 2019 en 6: 29 am #47947Sergio BertanaAdministrador del foroLe aconsejo que utilice el firmware de ESPurna, que es el más completo y le permite administrar el dispositivo incluso con su página web.
Su problema está en el procedimiento de flasheo del dispositivo que tiene que configurar correctamente SPI Mode en la configuracion Advanced del programa NodeMCU. Hay 4 posibles selecciones (Aquí encontrarás explicaciones al respecto.).
También tuve un problema al falsificar el formulario, pero luego actuando sobre las selecciones encontré la correcta, desafortunadamente no recuerdo cuál usé. Quizás cuando lo hayas resuelto, escribe en el foro.
Junio 3, 2019 en 6: 16 am #47968MarcellopartícipeRESUELTO:
En primer lugar, el archivo .BIN es: espurna-1.13.5-itead-sonoff-basic.bin y el Modo SPI es: DOUT, los otros parámetros en Avanzado son los predeterminados.También habilité Telnet pero no conozco los comandos para probar el módulo de encendido / apagado desde Toolly, ¿los tiene?
Junio 9, 2019 en 7: 42 pm #48037Sergio BertanaAdministrador del foroUna lista que puedas encuéntralo aquí, cuando te conectes en Telnet puedes dar el comando de ayuda para ver todos los comandos posibles, aquí está el informe.
Comandos disponibles:
> COMANDOS
> CONFIG
> CRASH
> DEL
> DICCIONARIOS
> EEPROM
> EEPROM.DUMP
> BORRAR.CONFIGURAR
> REINICIO DE FÁBRICA
> FLASH.DUMP
> OBTENER
> GPIO
> HA.CLEAR
> HA.CONFIG
> HA.SEND
> MONTÓN
> AYUDA
> INFO
> LLAVES
> MQTT.RESET
> OTA
> PUBLICAR
> RELÉ
> RECARGAR
> RESET
> RESET.SAFE
> SELECCIONAR
> ESTABLECER
> APILAR
> SUSCRIBIRSE
> ANULAR SUSCRIPCIÓN
> TIEMPO DE ACTIVIDAD
> WIFI
> WIFI.AP
> WIFI.RESET
> WIFI.SCANJunio 13, 2019 en 4: 39 pm #48137MarcellopartícipeTambién probé otros tipos de Firmware, el de ESpurna tiene el "límite" de pedir el código API para enviar los comandos. Encontré en la red TASMOTA que tiene la ventaja de recibir el encendido / apagado con una sencilla interfaz REST. Quería usar HTTPClient FB para pasar el comando de encendido / apagado que envío desde el navegador de esta manera:
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
Pero espiando con toolly obtengo este resultado:
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)
Y obviamente no le pasa nada al relevo.
Que puedo hacer (Intenté también con POST y GET pero no cambia el resultado)Junio 13, 2019 en 4: 51 pm #48140Sergio BertanaAdministrador del foroCiertamente, es posible ejecutar el comando con el FB HTTPClient.
Mientras tanto, veo que el comando está en GET, así que use, HTTP.Method: = 0;
La página para llamar es cm, así que intente usar, HTTP.Page:=ADR('cm ');
% 20 es la codificación de espacio, el FB lo codifica prueba, HTTP.Request: = ADR ('cmnd = Power TOGGLE')Junio 14, 2019 en 6: 35 am #48143MarcellopartícipeEl error estaba en la página web que había perdido "/".
También he visto que después de unos 75 segundos, el tiempo de respuesta del relé se alarga hasta el umbral de tiempo de espera. Si desea que el relé esté siempre listo, cada 60 segundos vuelva a enviar el comando de estado reemplazando TOGGLE con ON u OFF. Reanudando su programa modifiqué IF (Relay) <> (RStarus) O SysTime-timeStart> 60000 THEN ...
TimeStart se vuelve a cargar con SysTime cada vez que se envía un comando.
-
autorPublicación
- Debe iniciar sesión para responder a este tema.