WebServer com 3 Linhas de Código com a biblioteca InqPortal

Eletrônica

Com apenas 3 linhas de código adicionadas ao seu Sketch, você terá uma IoT completa, Servidor Web com Administrador de GUI com Gerenciador de Arquivos e Atualização OTA.


https://github.com/InqOnThat/InqPortal




A biblioteca InqPortal ( pode ser encontrada em seu Arduino IDE Library Manager ) é o culminar de seis anos e milhares de horas de simplificação ( para o usuário da biblioteca ) e refinamento para uma experiência sólida e robusta. O feedback dos usuários e as frustrações dos alunos lutando... tentando construir seus próprios e recebendo reinicializações e conexões inexplicáveis ​​e perdidas foram realimentados neste InqPortal versão 5.

Começando

O InqPortal é executado apenas na série de processadores ESP8266. Eles geralmente são conectados a placas Arduino para fornecer comunicações WiFi, mas também podem ser usados ​​de forma independente, pois possuem um processador bastante robusto por si só.

  • Procure e instale a biblioteca InqPortal do seu Arduino IDE Library Manager.
  • Digite o seguinte código em um novo Sketch.


#include <InqPortal.h>
InqPortal svr;
void setup()
{
  svr.begin("MySoftSSID", NULL, "myRouterSSID", "myRouterPassword");
}
void loop()
{
}

Isso é tudo que você precisa para começar! A biblioteca até configurará sua saída serial, definindo a taxa de transmissão para 74880. Você desejará ver as informações de inicialização do servidor em seu monitor serial. Ele mostrará informações de conexão e até instruções para superar esse novo obstáculo.

Usando essas instruções, navegue até a página Admin.html e você verá algo como a imagem do título onde você pode:

  • Gerenciar as configurações do ponto de acesso
  • Monitore as métricas do sistema traçando um gráfico do desempenho do seu servidor
  • Use o Gerenciador de Arquivos para arrastar e soltar seu conteúdo da web em seu servidor
  • Use a atualização binária Over-The-Air do seu Sketch
  • Controlar remotamente o Logging
  • Ver variáveis ​​de observação

O Poder e a Facilidade

Para dar uma ideia do que pode ser feito com o InqPortal no nível mais introdutório, adicionaremos apenas mais três linhas mais algum código de sensor simulado. E para essa adição, você verá a capacidade de:

  • publicar uma variável somente leitura para os clientes
  • publicar uma variável que pode ser lida e alterada pelos clientes.
  • configure um retorno de chamada periódico para acessar nosso sensor simulado para fazer o cálculo.





#include <InqPortal.h>
InqPortal svr;
double sine = 0;
double amplitude = 100.0;
void setup()
{
  svr.publishRO("Sine", &sine, "Current Sine Value");
  svr.publishRW("Amplitude", &amplitude, "Amplitude Setting");
  svr.onInterval(calculate, 1000);
  svr.begin("MySoftSSID", NULL, "myRouterSSID", "myRouterPassword");
}
void loop()
{
}
void calculate(void*)
{

Se você estiver familiarizado com qualquer código de comunicação WiFi, notará a completa ausência de envio explícito ou código de recebimento complicado. Você é livre para se concentrar na lógica principal do projeto. E para essas três linhas, o Admin está pronto para assistir e controlar seu programa.




Fazer uma configuração na guia Histórico nos permite adicionar seus dados de projeto personalizados às métricas de desempenho do sistema já existentes - taxa de loop e uso de memória . Observação - alteramos a Amplitude na guia App para 200 após a conclusão do primeiro ciclo.


O InqPortal tem muito mais funcionalidades e você pode acessar no site: https://InqOnThat.com/InqPortal/ dedicado à programação do Arduino com o ESP8266 usando a biblioteca InqPortal . Você encontrará um conjunto completo de páginas com referências cruzadas, incluindo um Guia de início rápido, um tutorial, uma referência de API do Sketch C++ do lado do servidor e uma referência de API JavaScript do lado do cliente. Você verá até que o InqPortal Admin está configurado com ajuda sensível ao contexto, vinculando-se a seções do site, assim como o IDE do Arduino faz com seu item de menu Referência. E por último estamos começando a acumular uma vitrine de projetos criados por nós, alunos e quem sabe você um dia.


Código Completo:



#include  <InqPortal.h>
InqPortal  svr ;
 seno  duplo =  0 ;
 amplitude  dupla =  100,0 ;
 configuração de vazio () 
{
 svr . publishRO ( "Sine" ,  & sine ,  "Valor do seno atual" );
 svr . publicRW ( "Amplitude" ,  & amplitude ,  "Amplitude Setting" );
 svr . onInterval ( calcule ,  1000 );
 svr . begin ( "MySoftSSID" ,  NULL ,  "myRouterSSID" ,  "myRouterPassword" );  
}
 loop vazio () 
{
}
void  calcular ( void * )
{
 sine = amplitude * sin((double)millis() * PI / 30000.0);
}


Fonte
https://www.hackster.io/user2107733/make-a-webserver-with-3-lines-of-code-bd7f49
Mais Dicas