Home page > Fórum > Discussões sobre problemas gerais > Como fazer interface via WiFi com os módulos Sonoff da Itead
- Este tópico tem 8 respostas, 3 participantes e foi atualizado pela última vez 4 anos, 10 meses atrás da Marcello.
-
autorPublique
-
Janeiro 25, 2018 em 3: 41 pm #36171Pauloparticipante
Em uma casa eles instalaram alguns módulos Sonoff, em particular a Sonoff Basic Wireless Wireless Switch que estão conectados à rede WiFie, podem ser controlados através de uma aplicação com o Android.
Eu queria instalar um CMT_SVR e um CMT-IV5 e programar algumas páginas com as várias salas da casa, mas não conheço o protocolo de comunicação do Sonoff. Você pode me dar alguma informação?
Janeiro 26, 2018 em 9: 05 am #40025Sergio BertanaAdministrador do fórumVejo que eles têm a gestão do Protocolo MQTT mas, sinceramente, não encontrei informações sobre como configurar esses módulos para poder gerenciá-los através de nossos sistemas programáveis SlimLine.
No entanto, tentei minha mão no IDE de desenvolvimento e criei um novo firmware que permite que seja gerenciado a partir de um SlimLine. Também fiz um FB dedicado, é um trabalho que faço por diversão e é publicado na área de Recursos Educacionais em nosso site.
Pode 31, 2019 em 6: 11 am #47942MarcelloparticipanteSegui passo a passo os procedimentos indicados no Conhecimento “Gerenciar Sonoff com firmware ESPurna de SlimLine”E em“ Gerenciar dispositivo Sonoff de SlimLine", Infelizmente sem resultado.
No primeiro o módulo não gera o "wi-fi" pelo que não consigo ligar à página de configurações, no segundo apesar de ter alterado os parâmetros do SSID WiFi, Passw, IP, etc ... o módulo não é reconhecido. A única coisa que notei é que o led do aparelho (Sonoff Basic) não pisca.
Acrescento que na versão ESPurna instalei o binário espurna-1.13.5-itead-sonoff-rf.bin conforme indicado nos exemplos e que tanto com ESP8266Flasher (primeiro caso) quanto com Arduino, no final do upload, nenhum erro é relatado.
Do que pode depender?
Pode 31, 2019 em 6: 29 am #47947Sergio BertanaAdministrador do fórumEu aconselho você a usar o firmware ESPurna, que é o mais completo e permite que você gerencie o dispositivo, mesmo com sua página web.
Seu problema está no procedimento intermitente do dispositivo, você deve configurá-lo corretamente SPI Mode na configuração Advanced do programa NodeMCU. Existem seleções possíveis 4 (Aqui você encontrará explicações sobre isso).
Eu também tive um problema em falsificar o formulário, mas depois agindo nas seleções eu achei o correto, infelizmente não me lembro mais qual eu tinha usado. Talvez quando você tiver resolvido isso, escreva no fórum.
Junho 3, 2019 em 6: 16 am #47968MarcelloparticipanteRESOLVIDO:
Em primeiro lugar, o arquivo .BIN é: espurna-1.13.5-itead-sonoff-basic.bin e o SPI Mode é: DOUT, os outros parâmetros em Advanced são os padrões.Eu também habilitei o Telnet, mas não conheço os comandos para testar o módulo on / off do Toolly, você os tem?
Junho 9, 2019 em 7: 42 pm #48037Sergio BertanaAdministrador do fórumUma lista que você pode encontre aqui, quando você se conectar no Telnet você pode dar o comando help para ver todos os comandos possíveis, aqui está o relatório.
Comandos disponíveis:
> COMANDOS
> CONFIG
> CRASH
> DEL
> DICIONÁRIOS
> EEPROM
> EEPROM.DUMP
> ERASE.CONFIG
> FACTORY.RESET
> FLASH.DUMP
> OBTER
> GPIO
> HA.CLEAR
> HA.CONFIG
> HA.SEND
> HEAP
> AJUDA
> INFO
> CHAVES
> MQTT.RESET
> OTA
> PUBLICAR
> RELAY
> RELOAD
> RESET
> RESET.SAFE
> SELECIONE
> SET
> PILHA
> ASSINAR
> UNSUBSCRIBE
> ATUALIZAÇÃO
> WIFI
> WIFI.AP
> WIFI.RESET
> WIFI.SCANJunho 13, 2019 em 4: 39 pm #48137MarcelloparticipanteTambém experimentei outros tipos de Firmware, o ESpurna tem o "limite" para pedir o código API para enviar os comandos. Encontrei na rede TASMOTA que tem a vantagem de receber liga / desliga com uma interface REST simples. Eu queria usar o HTTPClient FB para passar o comando liga / desliga que envio do navegador assim:
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
mas espionando com ferramentas eu recebo 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)
e obviamente nada acontece ao relé.
O que posso fazer? (Eu tentei também com POST e GET, mas isso não muda o resultado)Junho 13, 2019 em 4: 51 pm #48140Sergio BertanaAdministrador do fórumCertamente é possível executar o comando com o FB HTTPClient.
Enquanto isso, vejo que o comando está em GET, então use HTTP.Method: = 0;
A página a ser chamada é cm, então tente usar HTTP.Page:=ADR('cm ');
% 20 é a codificação do espaço, fornece o FB para codificá-lo teste, HTTP.Request: = ADR ('cmnd = Power TOGGLE')Junho 14, 2019 em 6: 35 am #48143MarcelloparticipanteO erro estava na página da Web que eu perdi "/".
Também vi que após cerca de 75 segundos o tempo de resposta do relé se alonga até o limite de tempo limite. Se você quiser que o relé esteja sempre pronto, a cada 60 segundos reenvie o comando de status substituindo TOGGLE por ON ou OFF. Retomando seu programa, modifiquei IF (Relay) <> (RStarus) OR SysTime-timeStart> 60000 ENTÃO ...
O timeStart é recarregado com o SysTime cada vez que um comando é enviado.
-
autorPublique
- Você deve estar logado para responder a este tópico.