Manual
do
Maker
.
com
O artigo de hoje traz duas informações interessantes. Uma é em relação a um comportamento do MicroPython e o outro, sobre como economizar uma bela grana rodando seu próprio webserver para o ESP8266 rodando MicroPython, de forma a não precisar da aplicação para Android e assim você poderá comprar apenas o AFIntelliLight.
É muito certo que você tenha lido o artigo anterior, mas se não o fez, poderá fazer clicando nesse link. Nele você encontrará todas as informações necessárias sobre a manipulação do AFIntelliLight, encontra todos os detalhes necessários para a instalação do firmware MicroPython no ESP-01 (é mais fácil que instalar um programa no Windows, acredite) e tudo o mais relacionado.
Permita-me perguntar; vale a pena ou não colocar você mesmo um webserver?
O funcionamento atual é para acionar o relé do dispositivo acessando-o através de seu IP, mas você pode inserir no código o link para os outros dispositivos disponíveis na rede. Assim, você clica em "IntelliLight Sala" e vai para o controlador da sala. Daí você quer acionar a luz de fora da casa e simplesmente clica em "IntelliLight Quintal" e vai para o controlador do quintal, assim você controla a casa inteira rodando um webserver totalmente free. E até a interface você poderá melhorar (coisa que não é difícil, considerando a aparência atual)!
Para baixá-lo, simplesmente vá ao git da AF Eletrônica, clicando aqui. O procedimento é simples:
As informações necessárias podem ser vistas nesse artigo, mas atenção!!! Use o webserver supracitado, não o do link das informações necessárias, porque o outro webserver é para o Yunshan.
Tive uns probleminhas chatos com o código do webserver porque eu não conseguia fazer essa substituição:
alvo = "banana %s eh boa"
valor = "nanica"
alvo %= valor
E não havia percebido por um bom tempo que o problema era o comportamento do MicroPython. Então eu utilize o replace invés disso. Isto é, invés de utilizar "%s", utilizei 4 underlines:
alvo = "banana ____ eh boa"
valor = "nanica"
alvo = alvo.replace("____",valor)
Portanto, você pode criar chaves de substituição específicas para tudo que precisar ser substituido no código HTML.
Para iniciar o webserver é simples, tanto pelo boot.py como manualmente. Basicamente você precisa importá-lo e iniciá-lo:
import AFwebServer
AFwebServer.startServer()
Depois disso você poderá acessar o ESP8266 pelo browser.
Se precisar de informações sobre a configuração de rede, no link de referências citado mais acima você encontrará tudo, mas basicamente o que você precisa fazer após acessar o firmware pela serial é isso:
import network
sta_if = network(network.STA_IF)
sta_if.active(True)
sta_if.connect("seuSSID","suaSenha")
E com isso ele receberá um IP via DHCP a cada boot, sem mais configurações.
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.