Publicado em Deixe um comentário

Dengue

Dengue: causas, sintomas, tratamento e prevenção

O que é dengue

Quais os sintomas

Sinais de alerta

Transmissão

Diagnóstico

Tratamento

Como prevenir

Dicas para viajantes

O que é dengue?

O vírus da dengue é um arbovírus. Arbovírus são vírus transmitidos por picadas de insetos, especialmente os mosquitos. Existem quatro tipos de vírus de dengue (sorotipos 1, 2, 3 e 4). Cada pessoa pode ter os 4 sorotipos da doença, mas a infecção por um sorotipo gera imunidade permanente para ele.

O transmissor (vetor) da dengue é o mosquito Aedes aegypti, que precisa de água parada para se proliferar. O período do ano com maior transmissão são os meses mais chuvosos de cada região, mas é importante manter a higiene e evitar água parada todos os dias, porque os ovos do mosquito podem sobreviver por um ano até encontrar as melhores condições para se desenvolver.IMPORTANTE:  Todas as faixas etárias são igualmente suscetíveis, porém as pessoas mais velhas têm maior risco de desenvolver dengue grave e outras complicações que podem levar à morte. O risco de gravidade e morte aumenta quando a pessoa tem alguma doença crônica, como diabetes e hipertensão, mesmo tratada.

 Acesse nossa página especializada em Combate ao Aedes

Quais são os sintomas da dengue?

Os principais sintomas da dengue são:

  • Febre alta > 38.5ºC.
  • Dores musculares intensas.
  • Dor ao movimentar os olhos.
  • Mal estar.
  • Falta de apetite.
  • Dor de cabeça.
  • Manchas vermelhas no corpo.

No entanto, a infecção por dengue pode ser assintomática (sem sintomas), leve ou grave. Neste último caso pode levar até a morte. Normalmente, a primeira manifestação da dengue é a febre alta (39° a 40°C), de início abrupto, que geralmente dura de 2 a 7 dias, acompanhada de dor de cabeça, dores no corpo e articulações, além de prostração, fraqueza, dor atrás dos olhos, erupção e coceira na pele. Perda de peso, náuseas e vômitos são comuns. Em alguns casos também apresenta manchas vermelhas na pele.

Na fase febril inicial da dengue, pode ser difícil diferenciá-la. A forma grave da doença inclui dor abdominal intensa e contínua, vômitos persistentes e sangramento de mucosas. Ao apresentar os sintomas, é importante procurar um serviço de saúde para diagnóstico e tratamento adequados, todos oferecidos de forma integral e gratuita por meio do Sistema Único de Saúde (SUS).

São sinais de alarme da dengue os seguintes sintomas:

  • Dor abdominal intensa e contínua, ou dor à palpação do abdome.
  • Vômitos persistentes.
  • Acumulação de líquidos (ascites, derrame pleural, derrame pericárdico).
  • Sangramento de mucosa ou outra hemorragia.
  • Aumento progressivo do hematócrito.
  • Queda abrupta das plaquetas. 

Dengue - combate ao aedes aegypti

Dengue tem cura?

A dengue, na maioria dos casos, tem cura espontânea depois de 10 dias. A principal complicação é o choque hemorrágico, que é quando se perde cerca de 1 litro de sangue, o que faz com que o coração perca capacidade de bombear o sangue necessário para todo o corpo, levando a problemas graves em vários órgãos e colocando a vida da pessoa em risco.

Como toda infecção, pode levar ao desenvolvimento Síndrome de Gulliain-Barre, encefalite e outras complicações neurológicas.

Transmissão da dengue

A dengue é transmitida pela picada do mosquito Aedes aegypti. Após picar uma pessoainfectada com um dos quatro sorotipos do vírus, a fêmea pode transmitir o vírus para outras pessoas. Há registro de transmissão por transfusão sanguínea.

Não há transmissão da mulher grávida para o feto, mas a infecção por dengue pode levar a mãe a abortar ou ter um parto prematuro, além da gestante estar mais exposta para desenvolver o quadro grave da doença, que pode levar à morte. Por isso, é importante combater o mosquito da dengue, fazendo limpeza adequada e não deixando água parada em pneus, vasos de plantas, garrafas, pneus ou outros recipientes que possam servir de reprodução do mosquito Aedes Aegypti.

Em populações vulneráveis, como crianças e idosos com mais de 65 anos, o vírus da dengue pode interagir com doenças pré-existentes e levar ao quadro grave ou gerar maiores complicações nas condições clínicas de saúde da pessoa.ATENÇÃO: A dengue não é transmissível de pessoa a pessoa e não provoca sequelas, se tratada corretamente.

Como é feito o diagnóstico da dengue?

O diagnóstico da dengue é clínico e feito por um médico. É confirmado com exames laboratoriais de sorologia, de biologia molecular e de isolamento viral, ou confirmado com teste rápido (usado para triagem).

A sorologia é feita pela técnica MAC ELISA, por PCR, isolamento viral e teste rápido. Todos os exames estão disponíveis no Sistema Único de Saúde (SUS). Em caso de confirmação da doença, a notificação deve ser feita ao Ministério da Saúde em até 24 horas.

O Ministério da Saúde publica quinzenalmente boletins com dados nacionais sobre a situação epidemiológica da dengue

Como é feito o tratamento da dengue?

Não existe tratamento específico para a dengue. Em caso de suspeita é fundamental procurar um profissional de saúde para o correto diagnóstico.

A assistência em saúde é feita para aliviar os sintomas. Estão entre as formas de tratamento:

  • fazer repouso;
  • ingerir bastante líquido (água);
  • não tomar medicamentos por conta própria;
  • a hidratação pode ser por via oral (ingestação de líquidos pela boca) ou por via intravenosa (com uso de soro, por exemplo);
  • o tratamento é feito de forma sintomática, sempre de acordo com avaliação do profissional de saúde, conforme cada caso.

 Acesse o Glossário da Saúde: saúde de A a Z

Como prevenir a dengue?

A melhor forma de prevenção da dengue é evitar a proliferação do mosquito Aedes Aegypti, eliminando água armazenada que podem se tornar possíveis criadouros, como em vasos de plantas, lagões de água, pneus, garrafas pláticas, piscinas sem uso e sem manutenção, e até mesmo em recipientes pequenos, como tampas de garrafas.

Roupas que minimizem a exposição da pele durante o dia – quando os mosquitos são mais ativos – proporcionam alguma proteção às picadas e podem ser uma das medidas adotadas, principalmente durante surtos. Repelentes e inseticidas também podem ser usados, seguindo as instruções do rótulo. Mosquiteiros proporcionam boa proteção para aqueles que dormem durante o dia, como bebês, pessoas acamadas e trabalhadores noturnos.

No momento, só existe uma vacina contra dengue registrada na Anvisa, que esta disponível na rede privada. Ela é usada em 3 doses no intervalo de 1 ano e só deve ser aplicada, segundo o fabricante, a OMS e a ANVISA, em pessoas que já tiveram pelo menos uma infecção por dengue.

Esta vacina não está disponível no SUS, mas o Ministério da Saúde acompanha os estudos de outras vacinas.IMPORTANTE: Manter a higiene dos locais e evitar a água parada é a melhor forma, por isso é fundamental e essencial a participação consciente e diária de toda a população.

Cuidados para prevenir a dengue

Dicas para os viajantes

A dengue é uma doença cujo período de maior transmissão coincide com o verão, devido aos fatores climáticos favoráveis à proliferação do mosquito Aedes aegypti em ambientes quentes e úmidos. Para quem vai viajar e deixar a casa fechada, a orientação é não deixar oportunidade para o vetor se proliferar.

Medidas simples pode ser adotadas, como substituir a água dos pratos dos vasos de planta por areia; deixar a caixa d´água tampada; cobrir os grandes reservatórios de água, como as piscinas, e remover do ambiente todo material que possa acumular água (garrafas pet, latas e pneus).

Fonte
http://portalms.saude.gov.br/saude-de-a-z/dengue

Publicado em Deixe um comentário

Servidor Web ESP8266 – Código e Esquema

Este tutorial é um guia passo-a-passo que mostra como criar um servidor Web ESP8266 autônomo que controle duas saídas (dois LEDs). Este servidor Web ESP8266 é responsivo e pode ser acessado com qualquer dispositivo que seja um navegador em sua rede local.

Se quiser saber mais sobre o módulo ESP8266, leia primeiro o meu Guia de Introdução do Módulo WiFi ESP8266 . 

Este tutorial abrange dois métodos diferentes para construir o servidor da web:

  • Parte 1: Crie um servidor da Web usando o Arduino IDE
  • Parte 2: criar um servidor da Web usando o NodeMCU

PARTE 1: CRIAR UM SERVIDOR DA WEB USANDO O IDE DE ARDUINO

Esta parte mostra como criar um servidor da web para controlar duas saídas usando o Arduino IDE. Você pode usar esse método para criar um servidor da Web diferente para atender às suas necessidades.
Este tutorial está disponível em formato de vídeo (veja abaixo) e em formato escrito (continue lendo esta página).

Prepare o Arduino IDE

1. Baixe e instale o Arduino IDE em seu sistema operacional (algumas versões mais antigas não funcionam).
2.  Então, você precisa instalar o complemento ESP8266 para o Arduino IDE. Para isso, vá para Arquivo > Preferências .
3.  Digite http://arduino.esp8266.com/stable/package_esp8266com_index.json no campo “Additional Board Manager URLs” como mostrado na figura abaixo. Em seguida, clique no botão “OK”.


4.  Vá para Ferramentas > Board > Boards Manager …

5.  Role para baixo, selecione o menu da placa ESP8266 e instale a “plataforma esp8266”, conforme mostrado na figura abaixo.

6. Vá para Tools >  Board e escolha sua placa ESP8266. Em seguida, abra novamente o seu Arduino IDE.

Código

Copie o código abaixo para o seu Arduino IDE, mas não faça o upload ainda. Você precisa fazer algumas alterações para que funcione para você.

/ ********* 
  Rui Santos 
  Detalhes completos do projecto em http://randomnerdtutorials.com   
********* / // Carregar biblioteca Wi-Fi #include <ESP8266WiFi.h> // Substituir com suas credenciais de rede const char * ssid      = "REPLACE_WITH_YOUR_SSID" ; const char * password = "REPLACE_WITH_YOUR_PASSWORD" ; // Definir o número da porta do servidor da web para 80 servidores WiFiServer ( 80 ); // Variável para armazenar o cabeçalho da string de solicitação HTTP ;

 

  
  




// Variáveis ​​auxiliares para armazenar o estado de saída atual String output5State = "off" ; Cadeia output4State = "off" ; // Atribui variáveis ​​de saída aos pinos GPIO const int output5 = 5 ; const int output4 = 4 ; void setup () { Serial . begin ( 115200 ); // Inicializa as variáveis ​​de saída como saídas   pinMode ( output5 , OUTPUT );   pinMode
 
 

  
  
 
  
  

( output4 , OUTPUT ); // Ajusta as saídas para LOW   digitalWrite ( output5 , LOW );   digitalWrite ( output4 , LOW ); // Conecte-se à rede Wi-Fi com SSID e senha Serial . print ( "Conectando a" ); Serial . println ( ssid ); WiFi . begin ( ssid , password ); while ( WiFi . status () !
  


  
  
  
  
    WL_CONNECTED ) {     atraso ( 500 ); Serial . print ( "." ); } // Imprime o endereço IP local e inicia o servidor da Web Serial . println ( "" ); Serial . println ( "WiFi conectado." ); Serial . println ( "endereço IP:" ); Serial . println ( WiFi . localIP ());   servidor . begin (); } anular 

    
  
  
  
  
  
  


loop () { cliente do cliente de WiFi = servidor . disponível (); // Ouça os clientes de entrada if ( client ) { // Se um novo cliente se conectar, Serial . println ( "Novo Cliente" ); // imprime uma mensagem na porta serial String currentLine = "" ; // faz um String para manter dados de entrada do cliente enquanto ( client . connected ()) { // loop enquanto o cliente está conectado if ( client
     
                                 
              
                     
                  
       . available ()) { // se houver bytes para ler do cliente, char c = client . ler (); // lê um byte, depois Serial . escrever ( c ); // imprima o         cabeçalho do monitor serial + = c ; if ( c == '\ n' ) { // se o byte for um caractere de nova linha // se a linha atual estiver em branco, você terá dois caracteres de nova linha em uma linha. // esse é o fim da requisição HTTP do cliente, então envie uma resposta: if ( currentLine              
                     
                            

                               
          
          
           . length () == 0 ) { // Cabeçalhos HTTP sempre começam com um código de resposta (por exemplo, HTTP / 1.1 200 OK) // e um tipo de conteúdo para que o cliente saiba o que está por vir, então uma linha em branco:             client . println ( "HTTP / 1.1 200 OK" );             cliente . println ( "Tipo de conteúdo: text / html" );             cliente . println ( "Conexão: fechar" );             cliente . println (); // liga e desliga os GPIOs se ( cabeçalho .   
            
            




           
            
             indexOf ( "GET / 5 / on" ) > = 0 ) { Serial . println ( "GPIO 5 on" );               output5State = "on" ;               digitalWrite ( saída5 , ALTA ); } else if ( cabeçalho . indexOf ( "GET / 5 / off" ) > = 0 ) { Serial . println ( "GPIO 5 off" );               output5State = "off" ;   
              
 

                  
              
 
              digitalWrite ( saída5 , BAIXA ); } else if ( cabeçalho . indexOf ( "GET / 4 / on" ) > = 0 ) { Serial . println ( "GPIO 4 on" );               output4State = "on" ;               digitalWrite ( saída 4 , ALTA ); } else if ( cabeçalho . indexOf ( "GET / 4 / off" ) > = 0
                  
              
 

                 ) { Serial . println ( "GPIO 4 off" );               output4State = "off" ;               digitalWrite ( output4 , LOW ); } // Exibir o             cliente da página da web em HTML . println ( "<! DOCTYPE html> <html>" );             cliente . println ( "<head> <nome do meta = \" viewport \ "content = \" width = largura do dispositivo, escala inicial = 1 \ ">" );             cliente . println ( "< 
              
 

            
           
            



            // CSS para estilizar os botões on / off // Sinta-se à vontade para alterar os atributos de cor de fundo e tamanho de fonte para se adequar ao seu             cliente de preferências . println ( "<style> html {font-family: Helvética; display: inline-block; margem: 0px auto; text-align: center;}" );             cliente . println ( ".button {background-color: # 195B6A; border: none; cor: branco; preenchimento: 16px 40px;" );             cliente . println ( "text-decoration: none; tamanho da fonte: 30px; margem: 2px; cursor: ponteiro;}" );             cliente . println (
            



".button2 {background-color: # 77878A;} </ style> </ head>" ); //             Cliente de título da página da Web . println ( "<corpo> <h1> Servidor Web ESP8266 </ h1>" ); // Exibe o estado atual e os botões ON / OFF para o             cliente GPIO 5   . println ( "<p> GPIO 5 - Estado" + output5State + "</ p>" ); // Se o output5State estiver desligado, ele exibirá o botão ON        se ( output5State == "off" ) {               client . println (
           
            

           
            
  
            
              
"<p> <a href=\"/5/on\"> <botão classe = \" botão \ "> LIGADO </ button> </a> </ p>" ); } mais {               client . println ( "<p> <a href=\"/5/off\"> <botão class =" botão button2 "> OFF </ button> </a> </ p>" ); } // Exibe o estado atual e os botões ON / OFF para o             cliente GPIO 4   . println ( "<p> GPIO 4 - Estado" + output4State + "</ p>" ); // Se o output4State estiver desligado,       
              

            
               
            
  
            
              
println ( "<p> <a href=\"/4/on\"> <botão classe =" botão "" ON </ button> </a> </ p> " ); } mais {               client . println ( "<p> <a href=\"/4/off\"> <botão class =" botão button2 "> OFF </ button> </a> </ p>" ); }             cliente . println ( "</ body> </ html>" ); // A resposta HTTP termina com outro             cliente de linha em branco . println (); // sair do loop while pausa ;
              

            

           
            

            
            
             
= "" ; } } else if ( c ! = '\ r' ) { // se você tem algo a não ser um caractere de retorno de carro,           currentLine + = c ; // adicioná-lo ao final da currentLine } } } // Limpar a variável do     cabeçalho header = "" ; // Fechar o     cliente de conexão . stop (); Serial . println ( "Cliente desconectado" ); Serial . println ( "" 
          
               
      
        
      
    
    
 
    

    
    ); } }
  

Você precisa modificar as duas variáveis ​​a seguir com suas credenciais de rede, para que o seu ESP8266 possa estabelecer uma conexão com o seu roteador.

// Substituir por suas credenciais de rede
 const char * ssid = "";
 const char * password = "";

Fazendo o upload do esboço

Fazendo o upload do esboço para o ESP-12E
Se você estiver usando um kit NodeMCU do ESP-12E, fazer o upload do sketch é muito simples, já que ele possui um programador embutido. Conecte sua placa ao seu computador. Certifique-se de ter a placa certa e a porta COM selecionadas.
Em seguida, clique no botão “Upload” no Arduino IDE e aguarde alguns segundos até ver a mensagem “Concluído o upload” no canto inferior esquerdo.

Upload de esboço para o ESP-01
O upload do código para o ESP-01 requer o estabelecimento de uma comunicação serial entre o seu ESP8266 e um programador FTDI, conforme mostrado no diagrama esquemático abaixo.
ESP8266 Flasher
A tabela a seguir mostra as conexões que você precisa fazer entre o ESP8266 e o ​​programador FTDI.

ESP8266 Programador FTDI
RX TX
TX RX
CH_PD 3,3V
GPIO 0 GND
VCC 3,3V
GND GND

Se você tem um novo programador FTDI e precisa instalar seus drivers FTDI no Windows PC, visite este site para obter os drivers oficiais . Alternativamente, você pode entrar em contato com 
o vendedor que lhe vendeu o Programador FTDI.
Então, você só precisa conectar o programador FTDI ao seu computador e fazer o upload do código para o ESP8266.

Esquemas

Para construir o circuito, você precisa das seguintes partes:
Peças necessárias:

Se você estiver usando o ESP-01 , você também precisa de um programador FTDI .
Você pode usar os links anteriores ou ir diretamente para MakerAdvisor.com/tools para encontrar todas as peças para seus projetos com o melhor preço!

Conecte dois LEDs ao seu ESP8266 como mostrado no diagrama esquemático a seguir – com um LED conectado ao GPIO 4 e outro ao GPIO 5.

Se você estiver usando o ESP-01…
Se você estiver usando o ESP8266-01, use o seguinte diagrama esquemático como referência, mas será necessário alterar a atribuição de GPIOs no código (para GPIO 2 e GPIO 0).
ESP-web-server_bb

Testando o servidor da web

Agora, você pode fazer o upload do código e ele funcionará imediatamente. Não se esqueça de verificar se você tem a placa certa e a porta COM selecionada. Caso contrário, você receberá um erro ao tentar fazer o upload. Abra o Serial Monitor com uma taxa de transmissão de 115200.

Encontrar o endereço IP do ESP

Pressione o botão ESP8266 RESET e ele emitirá o endereço IP do ESP no Monitor Serial

Copie esse endereço IP, porque você precisa dele para acessar o servidor da web.

Acessando o servidor da web

Abra seu navegador, digite o endereço IP do ESP e você verá a seguinte página. Esta página é enviada pelo ESP8266 quando você faz uma solicitação no endereço IP do ESP.

Se der uma olhada no monitor serial, você poderá ver o que está acontecendo no plano de fundo. O ESP recebe uma solicitação HTTP de um novo cliente – neste caso, seu navegador.
Você também pode ver outras informações sobre a solicitação HTTP – esses campos são chamados de campos de cabeçalho HTTP e definem os parâmetros operacionais de uma transação HTTP.

Testando o servidor da web

Vamos testar o servidor da web. Clique no botão para ativar o GPIO 5. O ESP recebe uma solicitação na URL / 5 / on e ativa o LED 5.

O estado do LED também é atualizado na página da web.

Teste o botão GPIO 4 e verifique se funciona de maneira semelhante.

Como o código funciona

Agora, vamos dar uma olhada mais de perto no código para ver como ele funciona, para que você possa modificá-lo para atender às suas necessidades.
A primeira coisa que você precisa fazer é incluir a biblioteca ESP8266WiFi .

// Carregar biblioteca de Wi-Fi
#include <ESP8266WiFi.h>

Como mencionado anteriormente, você precisa inserir seu ssid e senha nas seguintes linhas dentro das aspas duplas.

const char * ssid = "";
const char * password = "";

Em seguida, você configura seu servidor da Web para a porta 80.

// Definir o número da porta do servidor da web para 80
Servidor WiFiServer (80);

A linha a seguir cria uma variável para armazenar o cabeçalho da solicitação HTTP:

Encabeçamento da corda;

Em seguida, você cria variáveis ​​auxiliares para armazenar o estado atual de suas saídas. Se você quiser adicionar mais saídas e salvar seu estado, precisará criar mais variáveis.

// Variáveis ​​auxiliares para armazenar o estado de saída atual
Cadeia output5State = "off";
Cadeia output4State = "off";

Você também precisa atribuir um GPIO a cada uma das suas saídas. Aqui estamos usando o GPIO 5 e o GPIO 4. Você pode usar qualquer outro GPIO adequado.

// Atribui variáveis ​​de saída aos pinos GPIO
const int output5 = 5;
const int output4 = 4;

configuração()

Agora vamos ao setup () . A função setup () só é executada uma vez quando o seu ESP inicializa pela primeira vez. Primeiro, iniciamos uma comunicação serial com uma taxa de transmissão de 115200 para fins de depuração.

Serial.begin (115200);

Você também define seus GPIOs como OUTPUTs e os define como LOW.

// Inicialize as variáveis ​​de saída como saídas
pinMode (output5, OUTPUT);
pinMode (output4, OUTPUT);
// Definir saídas para BAIXO
digitalWrite (saída5, BAIXA);
digitalWrite (output4, LOW);

As linhas a seguir iniciam a conexão Wi-Fi com WiFi.begin (ssid, senha) , aguardam uma conexão bem-sucedida e imprimem o endereço IP do ESP no Serial Monitor.

// Conecte-se à rede Wi-Fi com SSID e senha
Serial.print ("Conectando a");
Serial.println (ssid);
WiFi.begin (ssid, senha);
while (WiFi.status ()! = WL_CONNECTED) {
 atraso (500);
 Serial.print (".");
}
// Imprime o endereço IP local e inicia o servidor web
Serial.println ("");
Serial.println ("WiFi conectado.");
Serial.println ("endereço IP:");
Serial.println (WiFi.localIP ());
server.begin ();

loop ()

No loop () , programamos o que acontece quando um novo cliente estabelece uma conexão com o servidor da web.
O ESP está sempre atendendo clientes de entrada com esta linha:

Cliente de WiFiClient = server.available (); // Ouça os clientes que chegam

Quando uma solicitação é recebida de um cliente, salvamos os dados recebidos. O loop while que segue será executado enquanto o cliente permanecer conectado. Não recomendamos alterar a parte seguinte do código, a menos que você saiba exatamente o que está fazendo.

if (client) {// Se um novo cliente se conectar,
 Serial.println ("Novo Cliente"); // imprime uma mensagem na porta serial
 String currentLine = ""; // faz um String para guardar os dados recebidos do cliente
 while (client.connected ()) {// loop enquanto o cliente está conectado
 if (client.available ()) {// se houver bytes para ler do cliente,
  char c = client.read (); // leia um byte e depois
  Serial.write (c); // imprima o monitor serial
  cabeçalho + = c;
  if (c == '\ n') {// se o byte for um caractere de nova linha
   // se a linha atual estiver em branco, você terá dois caracteres de nova linha em uma linha.
   // esse é o fim da solicitação HTTP do cliente, então envie uma resposta:
   if (currentLine.length () == 0) {
    // Os cabeçalhos HTTP sempre começam com um código de resposta (por exemplo, HTTP / 1.1 200 OK)
    // e um tipo de conteúdo para que o cliente saiba o que está por vir e, em seguida, uma linha em branco:
    client.println ("HTTP / 1.1 200 OK");
    client.println ("Tipo de conteúdo: text / html");
    client.println ("Conexão: fechar");
    client.println ();

A próxima seção de instruções if e else verifica qual botão foi pressionado em sua página da Web e controla as saídas de acordo. Como vimos anteriormente, fazemos uma solicitação em URLs diferentes, dependendo do botão que pressionamos.

// liga e desliga os GPIOs
if (header.indexOf ("GET / 5 / on")> = 0) {
  Serial.println ("GPIO 5 on");
  output5State = "on";
  digitalWrite (saída5, ALTA);
} else if (header.indexOf ("GET / 5 / off")> = 0) {
  Serial.println ("GPIO 5 off");
  output5State = "off";
  digitalWrite (saída5, BAIXA);
} else if (header.indexOf ("GET / 4 / on")> = 0) {
  Serial.println ("GPIO 4 on");
  output4State = "on";
  digitalWrite (saída 4, ALTA);
} else if (header.indexOf ("GET / 4 / off")> = 0) {
  Serial.println ("GPIO 4 off");
  output4State = "off";
  digitalWrite (output4, LOW);
}

Por exemplo, se você pressionou o botão GPIO 5 ON, o URL muda para o endereço IP do ESP seguido por / 5 / ON e nós recebemos essa informação no cabeçalho HTTP. Então, podemos verificar se o cabeçalho contém a expressão GET / 5 / on.
Se ele contiver, o código imprimirá uma mensagem no monitor serial, alterará a variável output5State para on e ativará o LED.
Isso funciona de forma semelhante para os outros botões. Portanto, se você quiser adicionar mais saídas, modifique essa parte do código para incluí-las.

Exibindo a página da Web em HTML

A próxima coisa que você precisa fazer é gerar a página da web. O ESP enviará uma resposta ao seu navegador com algum texto HTML para exibir a página da web.
A página da web é enviada ao cliente usando a função client.println () . Você deve inserir o que deseja enviar ao cliente como argumento.
O primeiro texto que você deve sempre enviar é a seguinte linha, que indica que estamos enviando HTML.

<! DOCTYPE html> <html>

Em seguida, a linha a seguir torna a página da Web responsiva em qualquer navegador da web.

client.println ("<head> <nome do meta = \" viewport \ "content = \" largura = largura do dispositivo, escala inicial = 1 \ ">");

O próximo é usado para evitar pedidos relacionados ao favicon – Você não precisa se preocupar com essa linha.

client.println ("<link rel = \" ícone \ "href = \" data:, \ ">");

Estilizando a página da web

Em seguida, temos alguns CSS para estilizar os botões e a aparência da página da Web. Escolhemos a fonte Helvetica, definimos o conteúdo a ser exibido como um bloco e alinhado no centro.

client.println ("<style> html {font-family: Helvética; display: inline-block; margem: 0px auto; text-align: center;}");

Nós estilizamos nossos botões com algumas propriedades para definir cor, tamanho, borda, etc.

client.println ("botão. {background-color: # 195B6A; border: none; cor: branco; preenchimento: 16px 40px;");
client.println ("text-decoration: none; tamanho da fonte: 30px; margem: 2px; cursor: ponteiro;}");

Em seguida, definimos o estilo para um segundo botão, com todas as propriedades do botão que definimos anteriormente, mas com uma cor diferente. Este será o estilo para o botão desligado.

client.println (". button2 {background-color: # 77878A;} </ style> </ head>");

Definindo o título da primeira página da Web

Na linha seguinte você define o primeiro título da sua página da web, você pode alterar este texto para o que quiser.

// Web Page Title
client.println ("<h1> Servidor Web ESP8266 </ h1>");

Exibindo os botões e o estado correspondente

Em seguida, você escreve um parágrafo para exibir o estado atual do GPIO 5. Como você pode ver, usamos a variável output5State, para que o estado seja atualizado instantaneamente quando essa variável for alterada.

client.println ("<p> GPIO 5 - Estado" + output5State + "</ p>");

Em seguida, exibimos o botão on ou off, dependendo do estado atual do GPIO.

if (output5State == "off") {
 client.println ("<p> <a href=\"/5/on\"> <botão classe =" botão "" ON </ button> </a> </ p> ");
} outro {
 client.println ("<p> <a href=\"/5/off\"> <botão class =" botão button2 "> OFF </ button> </a> </ p>");
}

Nós usamos o mesmo procedimento para o GPIO 4.

Fechando a conexão

Finalmente, quando a resposta termina, limpamos a variável de cabeçalho e paramos a conexão com o cliente com client.stop () .

// Limpar a variável de cabeçalho
header = "";
// Fechar a conexão
client.stop ();

Levando-o adiante

Agora que você sabe como o código funciona, você pode modificar o código para adicionar mais saídas ou modificar sua página da web. Para modificar sua página da web, você pode precisar conhecer algumas noções básicas sobre HTML e CSS. Em vez de controlar dois LEDs, você pode controlar um relé para controlar praticamente todos os aparelhos eletrônicos.
Se você gosta de ESP8266, certifique-se de verificar nosso curso sobre automação residencial com o ESP8266 . Além disso, verifique os nossos projetos mais populares na parte inferior da postagem.

PARTE 2: CRIAR UM SERVIDOR WEB USANDO NODEMCU

Esta parte mostra como criar um servidor da Web para controlar duas saídas usando o firmware NodeMCU e a linguagem de programação LUA. Você pode usar esse método para criar um servidor da Web diferente para atender às suas necessidades.

Primeiro, assista a demonstração em vídeo abaixo

Por que piscar seu módulo ESP8266 com NodeMCU?

NodeMCU  é um firmware que permite programar os módulos ESP8266 com o script LUA. A programação do ESP8266 com LUA usando o firmware NodeMCU é muito semelhante à maneira como você programa seu Arduino. Com apenas algumas linhas de código, você pode estabelecer uma conexão WiFi, controlar os GPIOs do ESP8266, transformar seu ESP8266 em um servidor da Web e muito mais.

Baixando NodeMCU Flasher para Windows

Depois de ligar o seu circuito, você tem que baixar o flasher NodeMCU. É um  arquivo .exe que você pode baixar usando um dos seguintes links:

Você pode clicar aqui para encontrar todas as informações sobre o Flasher NodeMCU.

Piscando seu ESP8266

Se você estiver usando um ESP8266-12, basta conectar o ESP ao seu computador. Se você estiver usando um ESP-01, você precisa de um programador FTDI para conectá-lo ao seu computador. Para estabelecer uma comunicação serial entre o seu ESP8266 e um programador FTDI, conforme mostrado no diagrama esquemático abaixo.
 
ESP8266 Flasher
Abra o flasher que você acabou de baixar e uma janela deve aparecer (como mostrado na figura a seguir).
nodemcu_flaser
Pressione o botão “ Flash ” e ele deve iniciar o processo de flash imediatamente (você pode ter que alterar algumas das configurações na guia Avançado). Depois de terminar esse processo, ele deve aparecer um círculo verde com um ícone de seleção.

Esquemas

Para construir o circuito, você precisa das seguintes partes:
Peças necessárias:

Se você estiver usando o ESP-01 , você também precisa de um programador FTDI .
Você pode usar os links anteriores ou ir diretamente para MakerAdvisor.com/tools para encontrar todas as peças para seus projetos com o melhor preço!

Se você está usando o ESP-01 …
Se você estiver usando o ESP8266-01, use o seguinte diagrama esquemático como referência.
ESP-web-server_bb

Fazendo o upload do código

Eu recomendo usar o programa ESPlorer criado por 4refr0nt para criar e salvar arquivos LUA em seu ESP8266. Siga estas instruções para baixar e instalar o ESPlorer:

  1. Clique aqui para baixar o ESPlorer
  2. Descompacte a pasta
  3. Vá para a pasta dist  (aqui está o caminho: ESPlorer-master \ ESPlorer \ dist)
  4. Execute o  ESPlorer.jar . É um programa JAVA, então você precisa do JAVA instalado no seu computador.
  5. Abra o ESPlorer

esplorer start
Você deve ver uma janela semelhante à figura anterior, siga estas instruções para carregar um arquivo LUA:

  1. Conecte seu programador FTDI ao seu computador
  2. Selecione sua porta do programador FTDI
  3. Pressione  Abrir / Fechar
  4. Selecione a guia NodeMCU + MicroPtyhon
  5. Crie um novo arquivo chamado init.lua
  6. Pressione Salvar para ESP

Tudo o que você precisa se preocupar ou mudar é destacado na caixa vermelha.
esplorer_tab

Código

Carregue o seguinte código no seu ESP8266 usando o software anterior. Seu arquivo deve ter o nome “ init.lua “. Você pode clicar aqui para baixar o arquivo.

wifi . setmode ( wifi . STATION ) 
wifi . sta . config ( "YOUR_NETWORK_NAME" , "YOUR_NETWORK_PASSWORD" ) imprimir ( wifi . sta . getip ()) led1 = 3 led2 = 4 gpio . mode ( led1 , gpio . OUTPUT ) gpio srv = net . createServer ( net . TCP

 
 

 . modo ( led2 , gpio . OUTPUT )
 ) 
srv : escutar ( 80 , função ( conn ) 
    conn : on ( "receber" , função ( cliente , pedido ) locais buf = "" ; local, _ , _ , método , caminho , vars = corda . encontrar ( pedido 
         
         , "([AZ] +) (. +)? (. +) HTTP" ); if ( method == nil ) then             _ , _ , method , path = string . find ( solicitação , "([AZ] +) (. +) HTTP" ); end local _GET = {} if ( vars ~ = nil ) depois para k , v na string . gmatch ( vars , "(% w +) = (% w +) & *" 
         
  
        
         
          
              ) Fazer                 _GET [ k ] = v extremidade final         buf = buf .. "<h1> esp8266 Servidor Web </ h1>" ;         buf = buf .. "<p> GPIO0 <a href=\"?pin=ON1\"> <botão> LIGADO </ button> </a> & nbsp; <a href=\"?pin=OFF1\"> <botão> OFF </ button> </a> </ p> " ;         buf = buf .. "<p> GPIO2 <a href=\"?pin=ON2\"> <botão> ATIVADO </ button> </a> <a href=\"?pin=OFF2\"> <botão> OFF </ button> </a> </ p> 
 
            
        



         
        ( _GET . Pin == "ON1" ) então               gpio . escreva ( led1 , gpio . ALTO );         elseif ( _GET . pin == "OFF1" ) então               gpio . escreva ( led1 , gpio . BAIXO );         elseif ( _GET . pin == "ON2" ) então               gpio . escreva ( 

 

 
 led2 , gpio . HIGH ); 
        elseif ( _GET . pin == "OFF2" ) então               gpio . escreva ( led2 , gpio . BAIXO );         cliente final : send ( buf );         cliente : 

        

 close (); 
        collectgarbage (); final ) final )
    

Não se esqueça de substituir os detalhes da sua estação WiFi no código acima (nome da rede e senha).

Acessando seu servidor da web

Quando o seu ESP8266 reinicia, imprime no seu monitor serial o endereço IP do seu ESP8266. Se você digitar o endereço IP do ESP8266 no navegador da Web, poderá acessar o servidor da Web.
servidor web esp8266

Nossos mais populares projetos ESP8266

Se você gosta do ESP8266, você também pode gostar:

Publicado em Deixe um comentário

Web server no ESP8266 com WiFiManager

Em meados de Fevereiro de 2016, fiz um post de um web server no ESP8266 com a IDE Arduino. Naquele post, utilizei a forma mais simples de se fazer um web server para o controle das GPIOs, de tal forma que pelo browser, porém com a configuração da rede feita de forma “hardcoded”, sendo necessária uma nova gravação do firmware para a alteração do SSID e senha da rede.
Neste post, fiz uma considerável atualização, com a utilização da biblioteca WiFiManager, já abordada aqui no blog e a mudança da interface web com uso de CSS.
Uma outra característica desta versão, é que o botão na interface gráfica (pagina web) é alterado de acordo com o status da GPIO, ou seja, quando muda o status da GPIO o nome no botão muda também.
Compartilhar do Pixlr

Demonstração

Abaixo um vídeo de como fica a configuração e a utilização da interface.

Código fonte

Para a utilização deste projeto, é necessária a instalação da biblioteca WiFiManager, conforme post já publicado aqui.
A grande vantagem em utilizar a biblioteca WiFiManager, é a praticidade em configurar e reconfigurar a rede WiFi, já que se a rede não estiver disponível, uma nova poderá ser configurada pela interface de configuração.

Publicado em Deixe um comentário

A nova corrida espacial

Cientistas trabalham em satélite
Image captionEm 2016, indústria espacial movimentou US$ 329 bilhões (R$ 1,02 trilhões) no mundo – e as empresas já respondem por 75% do total / Foto: Nasa

Desde os seus primórdios, com o lançamento do primeiro satélite Sputnik, em 1957, e o voo de Yuri Gagarin, em 1961, a exploração do espaço foi dominada pela rivalidade entre a União Soviética e os Estados Unidos. Nesta disputa tumultuada, empresas ficaram em segundo plano. Eram governos que custeavam os esforços.

Ainda que o primeiro satélite comercial do mundo, o Early Bird, tenha sido lançado em 1965, até recentemente a exploração comercial do espaço ainda estava praticamente limitada às grandes empresas de telecomunicações. Mas uma revolução está em curso.
Avanços tecnológicos estão transformando a forma tradicional da humanidade operar no espaço, e uma série de empresas estão prometendo viagens mais baratas, usando inovações como foguetes reutilizáveis e plataformas de lançamento horizontais.

Satélites estão ficando menores e custando menos para serem produzidos – hoje, há cerca de 1,5 mil orbitando sobre nós. Por meio deles, um grande volume de dados e imagens está vindo do espaço, e novos participantes desse mercado agora processam, interpretam – e vendem – essas informações.
“Hoje, conseguimos fazer com um equipamento que cabe em uma caixa de sapato o que só era possível com um aparelho do tamanho de um ônibus”, diz Stuart Martin, presidente da Satellite Applications Catapult, uma incubadora que ajuda empresas iniciantes, ou start-ups, do mercado espacial.

Subsídios

Foguete Electron
Image captionEmpresa da Nova Zelândia é a única fabricante de foguetes que tem seu próprio complexo para lançamentos / Foto: Rocket Labs

O setor vem atraindo muitos investimentos. Em 2016, essa indústria movimentou US$ 329 bilhões (R$ 1,02 trilhões) no mundo – e as empresas já respondem por 75% do total.
Veja por exemplo o segmento de foguetes, nossa forma de chegar ao espaço. São os bilionários que estão à frente na área. Elon Musk e sua Space X usam foguetes Falcon 9 para levar suprimentos para a Estação Espacial Internacional, enquanto Jeff Bezos desenvolve com a Blue Origin os foguetes New Shepard e New Glenn.
Ambas as companhias já fizeram demonstrações de técnicas revolucionárias que permitem o pouso vertical de espaçonaves, algo fundamental rumo aos foguetes reutilizáveis. Enquanto isso, a Virgin, de Richard Branson, trabalha em uma forma de lançar satélites a partir do ar, junto com planos de realizar voos turísticos suborbitais.

Até agora, nenhuma das empresas da área opera apenas de forma comercial. “Todas têm muitos subsídios do governo, de uma forma ou de outra”, diz Stuart Martin.

Pequenos satélites

Refinaria em Taiwan
Image captionAinda que o desenvolvimento de foguetes e satélites chame mais atenção, principais mudanças estão nos usos da informação coletada a partir do espaço / Foto: Planet Labs

Uma empresa da Nova Zelândia tenta mudar a forma como usamos o espaço. A Rocket Lab ainda está só começando a operar, mas é a única fabricante de foguetes que tem seu próprio complexo para lançamentos, na península Mahia, na Ilha Norte do arquipélago neozelandês.
Apesar de foguetes não terem mudado muito desde o Sputnik – ainda é necessário levar sua carga além do alcance da gravidade da Terra para colocá-la em órbita -, seria um erro pensar que a Rocket Lab é uma fabricante de foguetes comum, diz seu fundador Peter Beck.
O custo atual do lançamento de um foguete é de cerca de US$ 200 milhões, um fator decisivo para que, nos Estados Unidos, tenham ocorrido, por exemplo, apenas 22 lançamentos no ano passado. Beck diz que, quando seu novo foguete Electron estiver operacional, ir ao espaço custará US$ 5 milhões e será algo que ocorrerá “com frequência semanal”.
No centro da proposta da Rocket Lab está o foguete criado especialmente para colocar satélites pequenos em órbita. Ele é feito basicamente com fibra de carbono, e seus motores são produzidos com impressão 3D. Enquanto um motor comum demanda normalmente meses para ser produzido, “nós podemos fazer um em 24 horas”, diz Beck.
No primeiro teste, realizado em maio, o Electron atingiu com sucesso o espaço, mas não entrou em órbita. Dois novos testes estão programados.

Mais barato

Imagem infravermelha de plantações em Idaho
Image captionImagens espaciais permitem informar agricultores sobre as condições do solo para melhorar sua colheita / Foto: Planet Labs

No momento, fabricantes de pequenos satélites pegam carona em lançamentos já previstos que têm um grande satélite como carga principal e espaço de sobra. Mas, com a demanda em alta pela observação da Terra, para fins meteorológicos, de turismo e na confecção de mapas, as empresas precisam de nova formas de chegar ao espaço.
Beck diz a Rocket Lab busca aproveitar essa oportunidade. Em vez de esperar por um lugar adequado em um grande foguete, “elas podem ir na internet, clicar em alguns botões e comprar um lançamento”.
Uma empresa disposta a usar o Electron é a Planet Labs, empresa de São Francisco que fabrica minisatélites que pesam apenas 4kg. “Há um grande mercado para satélites pequenos que podem ser usados em diversas missões”, diz o presidente da companhia, Will Marshall.
Diferentemente de satélites de telecomunicação comuns, que ficam em órbita geoestacionária a 35,7 mil km sobre a Terra, os satélites da Planet Labs, chamados Doves, voam muito mais baixo, a apenas 500 km. Isso significa que o satélite pode usar câmeras menores – o que reduz seu peso e custo a uma fração dos satélites tradicionais – e ainda assim conseguir imagens com uma boa resolução.
Ser pequeno e relativamente barato ainda permite que novos designs sejam testados e construídos rapidamente, diz a empresa. Em fevereiro, ela colocou 88 Doves em órbita. Em julho, foram 48. Agora, a Planet Labs afirma que pode fotografar cada ponto do planeta – todos os dias.
Marshall explica que reduzir o custo não implica apenas em um preço mais baixo para clientes, mas torna os dados coletados por satélites mais acessíveis. “Não só governos e grandes empresas podem comprar nossos dados. Qualquer pode fazer isso, seja um negócio pequeno ou médio ou uma ONG, um pesquisador, uma universidade.”

Novos usos de dados

Mina de ouro no Uzbequistão
Image captionNovas formas de processamento de imagens ‘permitem determinar se uma mina ficou mais profunda ou se sua pilha de resíduos cresceu’ / Foto: Planet Labs

Ainda que o desenvolvimento de foguetes e satélites chame mais atenção, as principais mudanças estão nos usos da informação que é coletada.
Fazendeiros e empresas de mineração já utilizam dados assim. Os agricultores podem ser alertados sobre as condições do solo para melhorar sua colheita. Pescadores são informados sobre a temperatura do oceano para saber onde achar peixes. Com fotos cada vez mais detalhadas, é possível identificar uma árvore específica, algo valioso para monitorar o desmatamento.
Uma empresa que está aproveitando esse grande volume de dados é a Terrabotics, do Reino Unido. “Em uma imagem normal, você fica limitado ao tamanho de um pixel, mas há muita informação entre os pixels capturados”, afirma seu presidente, Gareth Morgan.
“Processamos imagens em sub-pixels antes de ser feita qualquer análise. Criamos imagens com super-resolução, criamos uma base de dados 3D e colocamos isso em sistemas de inteligência artificial. Transformamos imagens em sinais, como ocorre com as ondas de rádio. Isso nos liberta das restrições do pixel.”
Morgan explica que isso permite, por exemplo, “ver uma mina e determinar como ela mudou – se ficou mais profunda ou se a pilha de resíduos cresceu”.
Competições e prêmios também estimulam inovações radicais. O desafio Ansari Xprize pediu que inventores desenvolvessem uma espaçonave tripulada reutilizável. Agora, o Google Lunar Xprize oferece US$ 20 milhões para a primeira equipe que levar um robô à Lua capaz de percorrer 500 metros e enviar imagens de volta à Terra.
Trata-se de criar incentivos à inovação e a novas formas de pensar sobre o espaço, diz Rahul Narayan, fundador da equipe Indus, de Bangalore, que não tinha qualquer experiência na área antes de decidir participar do desafio do Google.
“Nenhum de nós tinha trabalhado com ciência espacial, engenharia ou tecnologia. E isso foi bom, porque, se tivéssemos, nunca teríamos decidido fazer algo tão complexo assim.”

Passo enorme

Satélite Dove
Image captionSatélite Dove pode usar câmeras menores, o que reduz seu peso e custo a uma fração dos equipamentos tradicionais / Foto: Planet Labs

Sua equipe agora refina seu veículo lunar, que pesa 6 kg – se pousar na Lua, será um dos mais leves a fazer isso. O lançamento ocorrerá nos próximos meses. “Foi uma longa jornada para nós”, diz ele, destacando sua gratidão à Organização de Pesquisa Espacial Indiana, já que alguns dos pesquisadores aposentados da instituição estatal estão ajudando nesta missão.
Levar um veículo não tripulado à Lua pode não gerar um retorno comercial imediato, mas Narayan argumenta que, se conseguir tal feito, será “um passo enorme para que toda e qualquer empresa espacial privada do mundo tente fazer coisas assim no futuro”.
É a visão de um mundo em que satélites de baixo custo são transportados por foguetes mais baratos que podem ser lançados quando se quiser – tudo com o clique em um botão, sem precisar esperar por uma missão espacial governamental.
Mas essa nova corrida espacial tem seus próprios desafios, diz Gareth Morgan, da Terrabotics. O imenso volume de dados e imagens espaciais significa que os sistemas de inteligência artificial usados para analisá-los automaticamente precisam melhorar.
“Os sistemas atuais precisam receber um treinamento extensivo para serem capazes de reconhecer diferentes características por conta própria. Precisamos mudar a forma como a inteligência artificial funciona. O progresso está ocorrendo, mas ainda é muito recente.”
Mais informação pode ser algo bom, mas há aspectos éticos a serem considerados – afinal, todo mundo pode ser fotografado diariamente a partir do espaço. “Uma coisa importante para nós é que nossas imagens não permitam enxergar ou reconhecer uma pessoa”, reconhece Marshall, da Planet Labs.
E quem tem acesso a esses dados? Conforme satélites privados se proliferam e a revolução dos dados avança, seus críticos apontam ser necessário debater sobre os papéis dos setores público e privado no espaço. “Nós, tecnólogos, temos que ser os principais guardiões desses dados”, diz Marshall.

Rahul Narayan e seu veículo lunarDireito de imagemGETTY IMAGES
Image captionRahul Narayan participa do desafio do Google, que oferece US$ 20 milhões à equipe que levar robô à Lua

Há ainda a questão dos detritos espaciais – já existem cerca de 30 mil objetos, grandes e pequenos, em órbita. “Teremos que lidar com esse problema”, afirma Marshall. “A indústria terá de começar a trazer essas coisas de volta, e não será fácil.”
Se o retorno em potencial para investidores é grande, também há muitos riscos. Foguetes podem explodir, falhar no lançamento ou colocar satélites na órbita errada. “Foguetes não são a melhor forma de faturar com o espaço”, diz Matt Perkins, que foi por dez anos o presidente da Surrey Satellites e hoje chefia a Oxford University Innovation, uma empresa de tecnologia da universidade britãnica de mesmo nome.
“A melhor forma de fazer dinheiro está no fim da cadeia – usando toda essa informação que vem do espaço. Conforme isso fica mais barato, surgirão oportunidades comerciais, com dados sendo utilizados de formas que nunca ninguém tinha pensado antes.”
Se o espaço é a nova fronteira de negócios, caberá à inventividade humana tirar proveito disso.