Tartalomjegyzék:
- 1. lépés: Materiais Utilizados
- 2. lépés: Configuração Do ThingSpeak
- 3. lépés: Aplicativo - MIT App Inventor
- 4. lépés: Montagem Do Protótipo
- 5. lépés: Programação Do Microcontrolador
Videó: Projeto IoT - Sistema Detector De Fumaça: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Introdução
A Fumaça rendszer érzékelője tartalmazza az IoT megoldását, vagy engedélyezi vagy felügyeli a riasztásokat, és bekapcsolja az Android alkalmazást. O projeto é baseado em um microcontrolador que se comunica com a nuvem pela rede WiFi, enviando os sinais detectados por um sensor de fumaça. O proprietário da residência consegue monitorar o system através de um aplicativo e recebe notificações via Telegram em caso de ativação do alarme de incêndio.
Fejlődési zavarok
- Bruno Gonçalves Pereira
- João Paulo Tadeu Borges Paiva
- Juliana Guimarães Soares Buére
- Willan Alexander Condor Asenjo
1. lépés: Materiais Utilizados
Os materiais utilizados para konstrukção do projeto foram:
- Módosított WiFi ESP8266 NodeMcu ESP-12: Az ESP8266 (comunicação WiFi) chip kombinációjának vagy kombinációjának csatlakoztatása, uma interfész USB-soros és 3.3V-os szabályozó. A programção pode ser feita usando IDE do Arduino, através da comunicação via cabo micro-usb.
- Sensor de Gás MQ-135 para Gases Tóxicos: O Sensor de Gás MQ-135 é um módulo capaz de detectar vários tipos de gases tóxicos como amônia, dióxido de carbono, benzeno, óxido nítrico, e também fumaça ou álcool.
- Led vermelho
- Led verde
- 2 Ellenállás 200Ω
- Protoboard és jumperek a conexão e teste do protótipo számára
2. lépés: Configuração Do ThingSpeak
O ThingSpeak és az IoT platform szolgáltatása, amely az armazenar és a recuperar dados usando vagy a protokoll HTTP és az MQTT játék Internet vagy a helyi szolgáltatás. A ThingSpeak tökéletesen megegyezik, megjeleníti és elemzi a fluxusokat.
O ThingSpeak, amely ingyenes szolgáltatást kínál ingyenesen, ha nincsenek komercípiai projektek (menos de 3 milhões de mensagens por ano ou aproximadamente 8000 mensagens por dia). Para projetos maiores ou aplicações comerciais, quatro tipos diferentes de licence anual são oferecidos: Standard, Academic, Student and Home.
Configuração de um canal no ThingSpeak
Após criar uma conta no ThingSpeak, é needsário criar um canal. Os canais armazenam os dados enviados de um determinado projeto. Cada canal inclui 8 campos que podem conter qualityquer tipo de dados, more 3 campos para dados de localização and 1 para dados de status. Depois de coletar dados em um canal, você pode usar os aplicativos ThingSpeak para analisá-los e visualizá-los.
Para este projeto, foi criado um canal com nome IoTProject-SmokeDetector e 3 campos para envio de dados:
- 1. mező: Concentração de gás
- 2. mező: Riasztás
- 3. mező: Comando desligar
A "Private View" és a legmagasabb színvonalú megjelenítés, mint a cada um dos campos criados megjelenítése. Neste projeto, foram criados:
- 1 gráfico com os dados de koncentração de gás CO2 em função do tempo
- 1 indikátor de led para indicação de alarme
- 1 gráfico com os dados de comando de desligar alarmme em função do tempo
Leitura e escrita no ThingSpeak
O canal do ThingSpeak é criado com um identifador único (Channel ID) ez a lehetőség az azonosításra para envio e leitura de dados. Az "API -kulcsok" a disponibilizadas as chaves para escrita (Write API Key) és a leitura (Read API Key) de dados no canal. Além disso, também são disponibilizadas as API Requests (HTTP get kérések) que também podem ser usadas para envio e requisição de dados.
O identifador do canal e as chaves serão usadas posteriormente no código do microcontrolador. Az API kéri, hogy használja az Android programjait.
3. lépés: Aplicativo - MIT App Inventor
Használja a monitoramento rendszere rendszer for desenvolvido utilizando vagy MIT App Inventor alkalmazását. Az MIT App Inventor ingyenes webcím és webkód, amely lehetővé teszi a Massachusetts Institute of Technology (MIT) alkalmazásintegrációs integrációját. Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Ingyenes Elfogadja a legújabb programokat az Android és iOS operációs rendszer alkalmazásaihoz.
Ez a program nem tartalmazza az MIT App Inventor programot, az IotProject_SmokeDetector programot.
A tervező és a tervező telepíti a telas do aplicativo, a selecionando os komponensek szükségleteit (botok, címkék, képek stb.) Nincs menüoldali esquerdo (paletta). Para cada um dos komponensek kiválasztása, magok konfigurálása, tamanho, posição, entre outras no menu lateral directito (Tulajdonságok).
Na tela Blocks é feita toda a lógica de programção do aplicativo. A programção é feita através de blocos, facilitando o desenvolvimento para iniciantes.
Explicação do código
Duas variáveis locais são inicializadas: alarmData e sensorData.
A cada 1 szegmens (definito pelo Clock1), vagy az alkalmazás kérése az apja nem csatorna ThingSpeak através da URL de leitura de dados que pode ser copiada and aba "API Keys". Quando os dados são retornados, o dado do sensor levelező à koncentráció a gás CO2 é mostrado na tela do aplicativo. Já o dado do alarme é testado:
- Lásd a alarmme estiver acionado (alarmData = 1), vagy aplicativo mostra ao usuário a mensagem "Atenção! Sua casa está em perigo!" e o botão de desligar alarmme (Button1) é habilitado.
- Se o alarmme não estiver acionado (alarmData = 0), vagy aplicativo mostra ao usuário a mensagem "Não se preocupe! Sua casa não está em perigo." e o botão de desligar alarme (Button1) é desabilitado.
Quando o botão de desligar alarm (Button1) clickado, vagy aplicativo escreverá 1 no campo Field3: comando desligar criado no ThingSpeak, indicando que o comando de desligar alarme foi acionado. A ThingSpeak az URL -címet az escrita de dados que pode -hoz másolja az "API -kulcsok" segítségével.
4. lépés: Montagem Do Protótipo
O protótipo foi montado no protoboard conforme indicado na figura.
MQ135 érzékelő
- Pino AO: conectado ao pino AD0 do módulo ESP8266
- Pino GND: kapcsolódik a GND módhoz ESP8266
- Pino Vcc: conectado ao pino VIN do mód ESP8266
LED világítás
- Conectar uma perna do ellenállás de 200Ω nincs pino D5 do mód ESP8266
- Conectar vagy anodo do LED (pozitiv - maior perna) és külső ellenállás
- Conectar o catodo do LED (negatív - menor perna) nincs GND mód ESP8266
LED vermelho
- Conectar uma perna doresistor de 200Ω no pino D7 do mode ESP8266.
- Conectar vagy anodo do LED (pozitiv - maior perna) és külső ellenállás
- Conectar o catodo do LED (negatív - menor perna) nincs GND mód ESP8266
5. lépés: Programação Do Microcontrolador
Az ESP8266 mikrokontrolador programja az IDE do Arduino program használatához (vagy letölthető).
O código fonte completeto utilizado no projeto pode ser baixado no final deste tutorial (Iot_project.ino). O código tem duas funções principais: setup e loop.
A Fluxo beállítása:
- Inicializa a porta sorozat
- Inicializa os kimenetek (pinos dos ledek)
- Conecta a wifi eléréséhez
- Inicializa vagy ThingSpeak
Fluxo do hurok:
- Nézze meg az MQ135 érzékelőt
-
Verifica se a koncentração de gás CO2 ultrapassa o limite definido (ideális: CO2 <= 700 ppm)
- Liga vagy riasztó (LED vermelho), desliga o LED de status (verde) e envia notificação pelo Telegram se o valor estiver acima do limite
- Desliga o alarmme (LED vermelho) and liga o LED de status (verde) se o valor estiver abaixo do limite
- A ThingSpeak "comando desligar alarmme" funkciója
Se o comando = 1, desliga o alarmme (LED vermelho) és liga o LED de status (verde)
- Envia dados do sensor, do alarmme e de comando para or ThingSpeak a cada 20 segundos
Abaixo será descrita a programção de cada um dos principais módulos com o respectivo código para teste.
Vegye fel a kapcsolatot a WiFi -vel
Abra és IDE do Arduino, vá em File-> Preferences eadicione em További Board Manager URL-ek URL-címek
Em seguida, vá em Tools-> Boards-> Boards Manager digite ESP8266, clique em instalar e fechar.
É needário definir 2 varáveis para conexão na rede:
- WIFI_SSID: node da rede WiFi que você deseja conectar seu rendszer
- WIFI_JELSZÓ: senha da rede
A Wi -Fi -kapcsolat tesztelése, másolás vagy másolás, más változatok, mint a WIFI -listák listája, és az oldal feltöltése mód nélkül ESP8266.
#include /************************ ALTERE AS DEFINIÇES ABAIXO ******************* *******/ #define WIFI_SSID "YOUR WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "YOUR WIFI JELSZÓ" // Senha da rede wifi WiFiClient kliens; // Função que faz a conexão wifi void ConnectToWiFi (void) {// Tenta conectar ao wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Soros.nyomtatás ("."); } Soros.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // Setup da placa void setup () {Serial.begin (115200); késleltetés (50); // Conecta ao wifi ConnectToWiFi (); }
Lendo dados do MQ135 érzékelő
Az MQ135 szenzorok, deve-se baixar and biblioteca MQ135.h és IDE do Arduino através menu Skecth-> Include Library-> Add. ZIP Library.
Depois, copie o código abaixo e faça upload no modeulo ESP8266 através do cabo micro-usb. O código realiza a leitura da koncentração de CO2 em ppm e imprime os valores lidos no serial monitor.
#include "MQ135.h" #define SMOKE_SENSOR A0 // IO do sensor de fumaça float sensorValue; // Setup da placa void setup () {Serial.begin (115200); késleltetés (50); } // Loop fő void loop () {// Faz leitura do sensor MQ135 gasSensor = MQ135 (SMOKE_SENSOR); sensorValue = gasSensor.getPPM (); Serial.print ("Concentracao de CO2 (ppm):"); Serial.println (sensorValue); }
Escrevendo és lendo dados a ThingSpeakhez
Primeiro, nézze meg a Biblioteca do ThingSpeak no Arduino IDE -t. Vá em Tools-> Boards-> Boards Manager digite ThingSpeak, clique em instalar e fechar.
Ingyenes A ThingSpeak ingyenes, aceita upload de dados apenas a cada 20 segundos, por isso, no código deve-se testar se é o momento correctto de enviar os dados.
Para comunicar com o ThingSpeak és szükségszerűség, mint variáveis abaixo:
- myChannelNumber: número do canal criado no ThingSpeak
- myWriteAPIKey: chave de escrita do canal do ThingSpeak
- myReadAPIKey: chave de leitura do canal do ThingSpeak
Para teste de comunicação com o ThingSpeak, copie o código abaixo, altere as variáveis para conexão na rede e as variáveis listadas acima and faça upload no mode ESP8266.
#include #include /************************* ALTERE AS DEFINIÇÕES ABAIXO ***************** *********/ #define WIFI_SSID "YOUR WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "YOUR WIFI PASSWORD" // Senha da rede wifi #define THINGSPEAK_WRITE_INTERVAL 20000 // Intervalo em ms entre envios dados ao ThingSpeak /*********************** ALTERE AS VARIÁVEIS ABAIXO ****************** ********/ előjel nélküli hosszú myChannelNumber = 0000000; // Número do canal do ThingSpeak const char * myWriteAPIKey = "your write api key"; // Chave de escrita do canal do ThingSpeak const char * myReadAPIKey = "az olvasott api kulcsa"; // Chave de leitura do canal do ThingSpeak unsigned long lastTime; előjel nélküli long currentTime; WiFiClient kliens; // Função que faz a conexão wifi void ConnectToWiFi (void) {// Configura root tanúsítvány para api.telegram.org configTime (0, 0, "pool.ntp.org"); clientSecure.setTrustAnchors (& cert); // Tenta conectar ao wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Soros.nyomtatás ("."); } Soros.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println (WiFi.localIP ()); } // Setup da placa void setup () {Serial.begin (115200); késleltetés (50); // Conecta ao wifi ConnectToWiFi (); // Inicializa ThingSpeak lastTime = 0; ThingSpeak.begin (kliens); } // Loop fő void loop () {currentTime = millis (); // seta o tempo atual // Lê dados do ThingSpeak int value = ThingSpeak.readIntField (myChannelNumber, 1, myReadAPIKey); Serial.println ("Dado no campo 1 do ThingSpeak:"); Serial.println (érték); // Verifica se é o momento de enviar dados ao ThingSpeak if ((currentTime - lastTime> THINGSPEAK_WRITE_INTERVAL)) {ThingSpeak.setField (1, 100); ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey); lastTime = aktuális idő; } késleltetés (20000); }
Enviando notificação pelo távirat
Primeiro, nézze meg a Biblioteca do Telegram no Arduino IDE -t. Vá em Tools-> Boards-> Boards Manager digite UniversalTelegramBot, clique em instalar e fechar.
Abra o Telegram e siga as próximas etapas para criar um Bot. Primeiro, szerezzen be botfather e clique nele. A janela a seguir deve abrir e você será solicitado a clickar no botão Iniciar. Digite /newbot e siga as instruções para criar seu bot. Dê a ele um nome e nome de usuário. Se o seu bot for criado com sucesso, você receberá uma mensagem com um link para acessar o bot e o token do bot. Salve o token, porque você precisará dele para que o ESP8266 possa enviar notificações.
Em seguida, em sua conta Tele Telegram, mosolygós IDBot. Inicie uma conversa com esse bot e digite/getid. Você receberá uma resposta com seu ID de usuário. Salve o ID, porque você precisará dele para enviar de notificações.
Para teste do envio de notificação pelo távirat, copie o código abaixo, altere as variáveis de definições para conexão WIFI e para comunicação com o Telegram (BOT_TOKEN e CHAT_ID) e faça upload no modeulo ESP8266.
#befoglalás #befoglalás #befoglalás /********************** ALTERAR DEFINIÇES ABAIXO ******************* *******/ #define WIFI_SSID "YOUR WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "YOUR WIFI PASSWORD" // Senha da rede wifi #define BOT_TOKEN "CHANGEYOURTOKEN" // Token do bot do telegram # define CHAT_ID "CHANGEYOURCHATID" // azonosító csevegés távirathoz X509List cert (TELEGRAM_CERTIFICATE_ROOT); WiFiClientSecure clientSecure; UniversalTelegramBot bot (BOT_TOKEN, clientSecure); // Envia notificação ao Telegram void SendTelegramNotification (String message) {bot.sendMessage (CHAT_ID, message, ""); Serial.println (üzenet); } // Função que faz a conexão wifi void ConnectToWiFi (void) {// Configura root tanúsítvány para api.telegram.org configTime (0, 0, "pool.ntp.org"); clientSecure.setTrustAnchors (& cert); // Tenta conectar ao wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Soros.nyomtatás ("."); } Soros.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // Setup da placa void setup () {Serial.begin (115200); késleltetés (50); // Conecta ao wifi ConnectToWiFi (); // Testa notificação pelo távirat SendTelegramNotification ("Testando envio de notificação."); }
Ajánlott:
Pequeno Projeto De Uma Casa Inteligente: 5 lépés
Pequeno Projeto De Uma Casa Inteligente: O projeto que faremos é de uma casa inteligente. Possui basicamente dois grupos de funcionalidades: · De monitoramento de iluminação and temperatura dos cômodos. · De monitoramente de list de alimentos e nível de água filterrada na geladeira.Não escrever
Projeto CoCoa: Um Colete De Comunicação Alternativa: 8 lépés
Projeto CoCoa: Um Colete De Comunicação Alternativa: A CoCoA Project egy hordható, az internethez csatlakoztatott mellény, amely lehetővé teszi az alternatív kommunikáció tapintható szimbólumainak összekapcsolását a beszéd- vagy nem verbális fogyatékossággal élők segítésére. O Colete de Comunicação Alternativa (CoCoA) consi
Guia Do Sensor De Gás E Fumaça MQ-2 Com Arduino: 5 lépés
Guia Do Sensor De Gás E Fumaça MQ-2 Com Arduino: Este guia mostra como criar um detector de fumaça que emite um bipe quando detecta gás ou fumaça gyulladás. Acesse meu último artigo: Arduino: tudo o que você precisa saber [Guia Completo] .O MQ-2O sensor de fumaça MQ-2 é sensível à fu
Projeto Lumos: 8 lépés
Projeto Lumos: O projeto Lumos consiste na konstrukció de uma luminária controlada and partir de um smartphone conectado à mesma rede móvel oru WiFi. Ellenőrizze a luminária foi desenvolvido um aplicativo Android, que permite apagar and acender a luz utilizando além
Oktatóanyag A Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: 4 lépés (képekkel)
Oktatóanyag A Projeto Final Do Curso IoT Applicada a Smart Home Inatel / Novembro 2017: No desenvolvimento desse projeto foi utilizada uma plataforma hibrida, sem ancedid de decessars for plataformas nativas do Android or IOS. Használja a számítógépe típusát notebook com windows 10. Essa plataforma chama-se Ionic, q