Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Tive a inspiração de criar um sensor de temperatura que pudesse monitorar por wi-fi. Este projeto não é novo, mas eu gosto da ideia de ter uma camada intermediária para segurança e não ter que abrir a porta do seu roteador para o seu dispositivo IoT. A ideia básica me permitirá verificar a temperatura em casa enquanto eu estava no trabalho. Mais tarde, ele pode ser expandido para controlar o ar condicionado e ligá-lo e desligá-lo.
Etapa 1: Conceito e componentes necessários
Primeiro o conceito. A imagem explica o que estou tentando alcançar. O sensor de temperatura é conectado à entrada analógica do módulo ESP8266 WIFI, que postará periodicamente a temperatura em uma hospedagem baseada em nuvem (neste exemplo, estou usando apenas um servidor web com script do lado do servidor php). Então você pode acessar a temperatura de qualquer lugar da nuvem (servidor web) para verificar qual é a temperatura atual.
Agora os componentes necessários para isso estão abaixo, não que o link seja um link de afiliado, se você não quiser, basta ir diretamente para o site.
- Placa de dev NodeMcu Lua ESP8266. Eu pego o meu no banggood.
- Sensor de temperatura LM35. Eu pego o meu daqui.
- Placa de protótipo e alguns fios (opcional se você preferir soldar o sensor de temperatura diretamente)
- IDE Arduino, você pode baixá-lo aqui.
- Servidor web funcionando com script de servidor php instalado (não é necessário se você quiser apenas ver a temperatura em sua rede local)
Etapa 2: Faça o Arduino IDE funcionar
Instale o IDE Arduino, ele suporta plataforma variada, windows, Linux e Mac. Basta usar aquele com o qual você se sentir confortável.
Presumo que você se sinta confortável para instalar e fazer isso funcionar.
Assim que o Arduino estiver instalado, é hora de testar sua placa wi-fi ESP8266. Você pode conectar a placa usando um cabo USB ao seu computador. O computador deve detectar isso automaticamente.
- Selecione a placa correta em Ferramentas-> Placa-> NodeMCU 1.0 (módulo ESP-12E)
- A próxima etapa é selecionar a porta em que seu ESP8266 está conectado, então vá para Ferramentas-> Porta-> minha e apareça como /dev/cu.wchusbserial14750, (você pode ter outra coisa)
Uma vez conectado, você pode testar a conexão e a placa carregando o esboço de exemplo
- Selecione Arquivo-> Exemplos-> ESP8266-> Blink
Isso abrirá o esboço do Blink, você pode clicar no botão "Upload" para fazer o upload do seu esboço. Se tudo correr bem, o Led do seu ESP8266 deve começar a piscar.
Etapa 3: conectar o sensor de temperatura
O sensor de temperatura LM35 tem 3 pernas, a primeira perna é VCC, você pode conectar isso no 5V (saída da placa ESP8266 é 3,3V). A perna do meio é Vout (de onde a temperatura é lida, você pode conectá-la à entrada analógica do pino AD0 ESP8266, que está localizado no lado superior direito da placa, conforme mostrado na imagem. E a perna direita deve ser conectado ao solo. Agora seu circuito está completo.
Etapa 4: Configurando o Cloud Webserver (opcional)
Você pode pular esta etapa se quiser fazer o upload da temperatura para outro servidor da web.
Suposição:
Você terá um servidor da web funcionando e está familiarizado com a transferência de arquivos para o seu servidor da web.
Faça upload do arquivo zip anexado para a raiz do seu site, digamos que o site seja "https://arduinotestbed.com"
Você também pode colocar os arquivos em uma pasta, mas certifique-se de modificar o esboço do Arduino para apontar para o local correto de "data_store.php"
Neste exemplo, estamos assumindo que o arquivo data_store.php está localizado na raiz do site, acessível em
Depois de carregado, você pode testar se está funcionando apontando para
Você deve ver o dial de temperatura mostrando a temperatura simulada. Agora que o servidor da web está pronto, podemos prosseguir para a próxima etapa, carregando o esboço em nosso ESP8266.
Uma coisa a ser observada: você precisará certificar-se de que o arquivo temp.txt no servidor da web tenha permissão de gravação "666".
Etapa 5: faça upload do esboço do sensor de temperatura
Estamos usando o ESP8266 como um servidor web para monitorar a temperatura e postar a leitura em seu servidor web interno, bem como na nuvem.
- Copie os 3 arquivos anexados em uma pasta e abra o arquivo principal "ESP8266TempSensor.ino" no Arduino IDE
- Modifique a localização do servidor web na linha String webserver = "arduinotestbed.com" (a raiz do servidor web)
- Modifique o weburi na linha String weburi = "/data_store.php" (se você usar o passo anterior)
- Faça upload do esboço para o ESP8266
Se tudo correr bem, o upload deve ser feito com sucesso e, na primeira vez, o ESP entrará no modo AP. Você pode usar seu laptop ou telefone celular para se conectar a ele. Você deve conseguir encontrar o AP com o nome de "ESP-TEMP".
- Tente se conectar ao ESP-TEMP usando seu laptop ou telefone celular
- Descubra qual é o endereço IP que está sendo atribuído a você, executando o comando "ipconfig" no windows ou o comando "ifconfig" no linux ou mac.
- Se você estiver usando um iphone, clique no botão i ao lado de ESP-TEMP ao qual você está conectado
- Abra seu navegador e aponte para o ESP-TEMP, se você está atribuído com 192.168.4.10 como seu ip, o ESP-TEMP está tendo o ip de 192.168.4.1, então você pode simplesmente ir para https://192.168. 4.1 e deverá ser apresentada a página de configuração, onde você pode inserir o ssid do roteador wi-fi e a chave psk. Depois de inserir ambos e marcar a caixa de seleção "Atualizar configuração do Wifi", clique em "atualizar" para atualizar a configuração do ESP8266.
O ESP8266 irá reiniciar e tentar se conectar ao seu roteador wi-fi. Você pode monitorar este progresso no monitor serial clicando em Ferramentas-> Monitor serial. A janela do monitor serial mostrará o progresso da conexão.
O monitor serial também informará qual é o endereço IP do seu ESP8266 assim que ele estiver conectado ao seu roteador wi-fi. O LED piscará uma vez a cada dois minutos quando a leitura da temperatura ocorrer. E você deve conseguir ver a temperatura apontando para o endereço do ESP8266.
Etapa opcional: se você estiver configurando o servidor da web para salvar a temperatura, agora pode apontar para o servidor da web que configurou na etapa anterior, neste exemplo é
Parabéns!!! agora você pode se gabar para seus amigos de que possui um sensor de temperatura IoT.
Você pode verificar minha leitura de temperatura no seguinte url
Me mande um e-mail se você conseguir fazer isso. Se você gosta disso, conte para seus amigos e você pode me seguir para obter mais informações sobre o sensor de temperatura IoT. Você também pode verificar meu blog pessoal para mais projetos relacionados a microcontroladores.
Etapa 6: etapa adicional: TimeLib (opcional)
Se você não tiver o TimeLib, precisará instalar a biblioteca anexada na pasta da biblioteca.
Para mais informações sobre a biblioteca, você pode encontrar no seguinte link, Para usuários do Windows:
A biblioteca está localizada em C: / Usuários / Documentos / Arduino
Para usuários de Mac:
A biblioteca está localizada em Documents / Arduino / Libraries
Você pode extrair manualmente o arquivo zip acima no local mencionado.