Índice:

Bot de alarme de chama do Telegram: 5 etapas
Bot de alarme de chama do Telegram: 5 etapas

Vídeo: Bot de alarme de chama do Telegram: 5 etapas

Vídeo: Bot de alarme de chama do Telegram: 5 etapas
Vídeo: Как самой вылечить недержание мочи? Эти упражнения поднимут органы на место! 2024, Julho
Anonim
Telegram Flame Alarm Bot
Telegram Flame Alarm Bot

Neste artigo irei apresentar o projeto IoT que permite detectar chama e enviar notificação ao telegrama do usuário.

O que você precisará:

  • Módulo sensor de chama
  • Microcontrolador NodeMCU ESP8266
  • Fonte de energia
  • Wi-fi
  • Dispositivo de saída com telegrama

Etapa 1: Hardware

Hardware
Hardware
Hardware
Hardware

Módulo Sensor de Chama Este módulo contém um fototransistor e componentes eletrônicos de condicionamento de sinal. Um fototransistor conduz mais corrente elétrica quando exposto à luz. A física nos ensinou que a luz (visível) compreende todas as cores, do vermelho ao violeta. Ao revestir o fototransistor com epóxi preto, ele se torna mais sensível ao vermelho ou até mesmo invisível abaixo do vermelho ou infravermelho. Curiosamente, a chama emite radiação infravermelha. Assim, quando este sensor vê chama, ele conduz mais corrente. O NodeMCU é uma placa compatível com o Arduino que apresenta o ESP8266 em seu núcleo. Ele se tornou popular porque é um microcontrolador pronto para WiFi por si só - sem necessidade de um Arduino. O objetivo deste artigo é mostrar todas as pinagens e placas NodeMCU disponíveis atualmente. Observe que ao programar essas placas usando o núcleo ESP no Arduino IDE, os números GPIO são usados em vez do que está na placa.

Etapa 2: Conexão

Conexão
Conexão

Sensor conectado ao GPIO0 para interrupções.

As interrupções são úteis para fazer as coisas acontecerem automaticamente em programas de microcontroladores e podem ajudar a resolver problemas de temporização. Com interrupções, você não precisa verificar constantemente o valor do pino atual. Quando uma mudança é detectada, um evento é acionado - uma função é chamada. Essa função é chamada de rotina de serviço de interrupção (ISR). Quando ocorre uma interrupção, o processador para a execução do programa principal para executar uma tarefa e, em seguida, volta ao programa principal

Etapa 3: Telegram Bot

Telegram Bot
Telegram Bot

Bots são aplicativos de terceiros executados dentro do Telegram. Os usuários podem interagir com bots enviando mensagens, comandos e solicitações inline. Podemos controlar nossos bots por meio de APIs HTTP fornecidas pelo Telegram.

Um bot do Telegram é um aplicativo hospedado em um servidor (aqui é ESP8266) que usa a API do bot do Telegram para se conectar aos clientes do Telegram Messenger. Uma grande vantagem dos bots do Telegram é que eles não têm requisitos de instalação e funcionam perfeitamente em todos os computadores ou plataformas móveis onde o Telegram Messenger é executado. Configure o Bot do Telegram Instale o Telegram em seu laptop ou telefone e pesquise por BotFather. Por meio do BotFather, podemos criar um novo bot. Depois de criar um novo bot, temos que anotar o token que é a chave de interação entre o dispositivo e a API do bot do Telegram.

Etapa 4: Software

Baixe a biblioteca do Telegram Bot

Abra o IDE Arduino, vá em “Sketch”, selecione “Incluir biblioteca” e clique em “Adicionar biblioteca. ZIP”.

#incluir

#include #include // Inicializa a conexão Wifi ao roteador char ssid = "wifi"; // SSID (nome) senha de char = "12345678"; // sua chave de rede int status = 0; // Inicializar o telegrama BOT #define BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // token de @BotFather #define BOTname "ESP8266 FireBot" // nome do botT #define BOTusername, botto_botername "esp8266 nome_do_usuário do botto_bot" esp8266 botus_bot. int Bot_mtbs = 1000; // tempo de atualização longo Bot_lasttime; bool Start = false; bool isfire = false; bool haveid = false; int var = 0; String id; void Bot_EchoMessages () {for (int i = 1; i Bot_lasttime + Bot_mtbs) {bot.getUpdates (bot.message [0] [1]); Bot_EchoMessages (); // responde a mensagem com Echo Bot_lasttime = millis (); } alarm_if_fire (); } void handleInterrupt () {Serial.println ("Interrupção detectada"); isfire = true; }

Recomendado: