Obsah:

Projeto IoT - Detektor systému De Fumaça: 5 krokov
Projeto IoT - Detektor systému De Fumaça: 5 krokov

Video: Projeto IoT - Detektor systému De Fumaça: 5 krokov

Video: Projeto IoT - Detektor systému De Fumaça: 5 krokov
Video: Zigbee датчик протечки с проводным сенсором, использование для DIY проектов 2024, Júl
Anonim
Projeto IoT - detektor systému De Fumaça
Projeto IoT - detektor systému De Fumaça

Úvod

O Detektor systému obsahuje väčšinu IoT aplikácií, ktoré obsahujú objekte povolenia a monitorovania alarmov vrátane rozšírenia rezidencie a použitia systému Android. O projekte a baseado em um microcontrolador que se comunica com and nuvem pela rede WiFi, enviando os sinais detectados por um sensor de fumaça. Informácie o vlastnenom systéme monitorovania a sledovaní súčasného systému aplikovateľných e -mailových upozornení prostredníctvom telegramu o ativação do alarme de incêndio.

Desenvolvedores

  • Bruno Gonçalves Pereira
  • João Paulo Tadeu Borges Paiva
  • Juliana Guimarães Soares Buére
  • Willan Alexander Condor Asenjo

Krok 1: Materiais Utilizados

Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados

Materiály, ktoré sa môžu použiť na výstavbu:

  • Modul WiFi ESP8266 NodeMcu ESP-12: Pamäťová karta s procesorom ESP8266 (komunikácia cez WiFi), rozhranie USB sériové a napäťové napätie 3,3 V. Programy, ktoré sú kompatibilné s IDE do Arduina, sú k dispozícii pre prenos cez micro USB.
  • Sensor de Gás MQ-135 para Gases Tóxicos: O Sensor de Gás MQ-135 é um módulo capaz de detector vários tipos de plyn 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 odpory 200Ω
  • Protoboard a jumpery môžu byť pripojené k protótipu

Krok 2: Configuração Do ThingSpeak

Configuração Do ThingSpeak
Configuração Do ThingSpeak
Configuração Do ThingSpeak
Configuração Do ThingSpeak
Configuração Do ThingSpeak
Configuração Do ThingSpeak

O ThingSpeak a poskytovaných službách IoT pre armazenar a rekuperačné jednotky používajú protokoly HTTP a MQTT pela Internet alebo port meio de uma rede local. Súhlas s ThingSpeak súhlasí, vizualizácia a analógový prenos údajov sú k dispozícii.

O ThingSpeak má k dispozícii mnoho ďalších služieb, ktoré vám pomôžu pri nákupe, ako aj pri nákupe (viac ako 3 milióny ľudí, ktorí majú k dispozícii približne 8 000 ľudí v priemere). Môžu sa líšiť od toho, či sa používajú v obchode alebo v obchode, alebo ako nakupujú. Štandardné, akademické, študentské a domáce.

Configuração de um canal no ThingSpeak

Môžete použiť kanál ThingSpeak, ako aj ďalší kanál. Os canais armazenam os dados enviados de um determinado projeto. Cada canal inclui 8 campos que podem conter qualquer tipo de dados, more 3 campos para dados de localização e 1 para dados de status. Naše obľúbené kanály môžu mať jednu z nasledujúcich možností: ThingSpeak, ktorý obsahuje analógovú a vizuálnu vizualizáciu.

Máme k dispozícii tieto hlavné kanály kanálov IoTProject-SmokeDetector, ktoré obsahujú tri rôzne oblasti:

  • Pole 1: Concentração de gás
  • Pole 2: Alarm
  • Pole 3: Comando desligar

Na "Súkromný pohľad" a môžete si pozrieť jeho vizualizáciu. Aktuálne projekty, foram criados:

  • 1 najväčšia sústredená skupina CO2, ktorá má tempo
  • 1 indikačné LED svetlá pre signalizáciu alarmu
  • 1 hrací automat pre väčšiu rýchlosť, ako zvládnuť tempo

Leitura e escrita no ThingSpeak

O kanáli ThingSpeak a najdôležitejších identifikátoroch únikového kanála (ID kanála) je možné identifikovať viac ako jednu z najdôležitejších tém. K dispozícii sú "kľúče API", ktoré sú k dispozícii ako hlavné parametre (kľúč API pre zápis) a leitura (kľúč rozhrania API) pre žiadny kanál. Všetky možnosti sú k dispozícii ako požiadavky API (žiadosti o získanie protokolu HTTP), takže môžete získať všetky potrebné údaje o svojich požiadavkách.

Identifikácia kanála môže viesť k mikrokontrolátoru. Ako požiadavky API používam systém Android a používam ho.

Krok 3: Aplicativo - MIT App Inventor

Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor

Aplikáciu je možné monitorovať alebo používať spoločne s aplikáciou MIT App Inventor. O MIT App Inventor and web ambient web gratuito and de código aberto para desenvolvimento integrado de aplicativos mantido pelo Massachusetts Institute of Technology (MIT). Všetky možnosti spustenia programu a aplikácií pre Android a iOS.

Viac informácií nájdete v časti Žiadny vynálezca aplikácie MIT, ktorá sa zaoberá predovšetkým IotProject_SmokeDetector.

Na dizajnéri a montéroch je možné použiť rôzne aplikácie, ako aj výber komponentov (fľaše, štítky, obrázky atď.), Bez bočného menu (paleta). Vybrané položky môžu mať jednu alebo viac konfigurácií jadier, tamanho, posição, všetky položky bez bočného menu (Vlastnosti).

Na telese blokov a programoch programovania aplikácií. Programy a hlavné atribúty blokov, ktoré môžu mať za následok prvé spustenie.

Explicação do código

Duo variáveis locais são initializadas: alarmData e sensorData.

Jedna sekcia (definovaná ako Clock1), alebo viac aplikácií, ktoré môžu požadovať žiadny kanál, ThingSpeak at URL adresa URL súboru alebo odkaz na "API kľúče". Väčšina údajov môže mať za následok zodpovedajúcu koncentráciu senzorov a koncentrácií CO2 a väčšiny telesných hmôt. Moje oudo do alarme a testado:

  1. Se o alarme estiver acionado (alarmData = 1), or aplicativo mostra ao usuário and mensagem "Atenção! Sua casa está em perigo!" čo sa týka alarmu desligar (Button1) a habilitado.
  2. Vyberte alarm, ktorý sa má aktivovať (alarmData = 0), alebo sa najviac aplikuje na "Načo sa preocupe! Sua casa não está em perigo." alarm alarmu (Button1) a dostupnosť.

Quando o botão de desligar alarme (Button1) for clicado, or aplicativo escreverá 1 no campo Field3: comando desligar criado no ThingSpeak, indicando que o comando de desligar alarme fori acionado. Ďalšie informácie nájdete v téme ThingSpeak, ktorá obsahuje jednu z najdôležitejších adries URL, a preto kopíruje „API Keys“.

Krok 4: Montagem Do Protótipo

Montagem Do Protótipo
Montagem Do Protótipo

O protótipo foi montado no protoboard conforme indicado na figura.

Senzor MQ135

  • Pino AO: pripojenie a pino AD0 do modulu ESP8266
  • Pino GND: pripojenie a GND k modulu ESP8266
  • Pino Vcc: pripojenie a VIN VIN do modulu ESP8266

LED verde

  • Kónický pripojovací odpor do 200Ω bez pina D5 do modulu ESP8266
  • Conectar o anodo do LED (positivo - maior perna) and outra perna do resistor
  • Conectar alebo catodo do LED (negatívne - menor perna) no GND do modulu ESP8266

LED vermelho

  • Conectar uma perna doresistor de 200Ω no pino D7 do módulo ESP8266.
  • Conectar o anodo do LED (positivo - maior perna) and outra perna do resistor
  • Conectar alebo catodo do LED (negatívne - menor perna) no GND do modulu ESP8266

Krok 5: Programujte mikrokontrolér

Mikrokontrolér obsahuje modul ESP8266, ktorý používa program IDE do Arduina (sťahovanie alebo sťahovanie).

Ďalšie informácie o použití tohto dokumentu nie sú k dispozícii, a teda nie sú k dispozícii žiadne záverečné návody (Iot_project.ino). Hlavné princípy fungovania: nastavenie slučky.

Nastavenie Fluxo:

  • Začnite sériou Porta
  • Počiatočné výstupy operačného systému (LED diódy)
  • Pripojte sa k WiFi
  • Inicializa o ThingSpeak

Slučka Fluxo do:

  • Prevezmite snímač MQ135
  • Overte svoju koncentráciu CO2 a získajte maximálne množstvo CO2 (ideálne: CO2 <= 700 ppm)

    • Väčšina výstražných svetiel (LED), signalizácia stavu LED diód (zelená) a upozornenie na telegrafiu Telegram o valor estiver acima do limite
    • Desliga o alarme (LED vermelho) and liga o LED de status (verde) se o valor estiver abaixo do limite
  • Prečítajte si viac informácií o ThingSpeak

    Typ = 1, desliga o alarme (LED vermelho) a liga o LED de status (verde)

  • Envia dados do sensor, do alarme and de comando para o ThingSpeak a cada 20 segundos

Abaixo será descrita a programação de cada um dos principais módulos com o respectivo código para teste.

Pripojte sa k WiFi

Abre a IDE do Arduino, via em File-> Preferences eadicione em additional Board Manager URLs a URL

Nástroje,> Nástroje-> Dosky-> Správca dosiek digite ESP8266, klique em installr e fechar.

Potrebné sú 2 rôzne varianty pripojenia:

  • WIFI_SSID: nome da rede WiFi que você deseja conectar seu sistema
  • WIFI_PASSWORD: senha da rede

Para teste de conexão WiFi, copy of código abaixo, altere as variáveis para conexão WIFI listadas acima e faça upload no módulock ESP8266.

#include /************************ ALTERE AS DEFINIÇÕES ABAIXO ******************* *******/ #define WIFI_SSID "VAŠA WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "YOUR WIFI PASSWORD" // Senha da rede wifi WiFiClient client; // Funkcie a možnosti pripojenia wifi neplatné ConnectToWiFi (neplatné) {// Pripojenie siete Wi -Fi Serial.println („Pripojenie k WiFi“); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {oneskorenie (500); Serial.print ("."); } Serial.println (""); Serial.println („Pripojenie WiFi k úspechu!“); Serial.println ("obtiažnosť IP:"); Serial.println (WiFi.localIP ()); } // Nastaviť neplatné nastavenie () {Serial.begin (115200); oneskorenie (50); // Conecta ao wifi ConnectToWiFi (); }

Ďalej sú k dispozícii snímače MQ135

Viac informácií nájdete v článku Senzor MQ135, ktorý je k dispozícii v rôznych verziách a v databáze MQ135. Ďalšie informácie o IDE v Arduino nájdete v ponuke Skecth-> Include Library-> Add. ZIP Library.

Depois, copy or código abaixo and faça upload no módulock ESP8266 através do cabo micro-usb. Realizácia a koncentrácia CO2 a ppm empresií a údajov bez sériového monitora.

#include "MQ135.h" #define SMOKE_SENSOR A0 // IO to sensor de fumaça float sensorValue; // Nastavenie neplatného nastavenia () {Serial.begin (115200); oneskorenie (50); } // Hlavná slučka prázdnej slučky () {// Najlepšia funkcia snímača MQ135 gasSensor = MQ135 (SMOKE_SENSOR); sensorValue = gasSensor.getPPM (); Serial.print ("Koncentracao de CO2 (ppm):"); Serial.println (sensorValue); }

Ecrevendo a lendo dados to ThingSpeak

Primeiro, a Biblioteca do ThingSpeak no Arduino IDE. Vá em Tools-> Board-> Boards Manager digite ThingSpeak, clique em installr e fechar.

A versao gratuita do ThingSpeak, aceita upload de dados apenas and cada 20 segundos, por isso, no código deve-se testar se é o momento correto de enviar os dados.

Para comunicar com o ThingSpeak é needário definir as variáveis abaixo:

  • myChannelNumber: número do canal criado no ThingSpeak
  • myWriteAPIKey: chave de escrita do canal to ThingSpeak
  • myReadAPIKey: chave de leitura do canal to ThingSpeak

Para testes of commununicação com o ThingSpeak, copy of código abaixo, altere as variáve para conexão on rede e as variáveis listadas acima e faça upload no módulo ESP8266.

#include #include /************************* ALTERE AS DEFINIÇÕES ABAIXO ***************** *********/ #definovať WIFI_SSID „VAŠA 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 ****************** ********/ nepodpísané dlhé myChannelNumber = 0000000; // Número to canal to ThingSpeak const char * myWriteAPIKey = "your write api key"; // Chránené textom do kanála ThingSpeak const char * myReadAPIKey = "váš kľúč api na čítanie"; // Chave de leitura do canal do ThingSpeak unsigned long lastTime; nepodpísaný dlhý aktuálny čas; Klient WiFiClient; // Funkcie a možnosti pripojenia wifi neplatné ConnectToWiFi (neplatné) {// Konfiguračný koreňový certifikát 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) {oneskorenie (500); Serial.print ("."); } Serial.println (""); Serial.println („Pripojenie WiFi k úspechu!“); Serial.println (WiFi.localIP ()); } // Nastaviť neplatné nastavenie () {Serial.begin (115200); oneskorenie (50); // Conecta ao wifi ConnectToWiFi (); // Inicializa ThingSpeak lastTime = 0; ThingSpeak.begin (klient); } // Princip slučky void loop () {currentTime = millis (); // seta o temp atual // Lê dados do ThingSpeak int value = ThingSpeak.readIntField (myChannelNumber, 1, myReadAPIKey); Serial.println ("Dado no campo 1 do ThingSpeak:"); Serial.println (hodnota); // Verifikácia sa týka hlavne tých, ktorí to robia, napríklad ThingSpeak if ((currentTime - lastTime> THINGSPEAK_WRITE_INTERVAL)) {ThingSpeak.setField (1, 100); ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey); lastTime = currentTime; } oneskorenie (20 000); }

Oznámenie o telegrame

Primeiro, a Biblioteca do Telegram no Arduino IDE. Vá em nástroje-> Dosky-> Dosky Manager digite UniversalTelegramBot, klique em installr e fechar.

Abra o Telegram e siga as próximas etapas para criar um Bot. Primeiro, zaobstarajte si nákup a kúpte si kliku. A janela a seguir deve abrir e você será solicitado a clicar no Botão Iniciar. Digite /newbot e siga as instructionsõs para criar seu bot. Dê a ele um nome e nome de usuário. Vyberte si svoj robot, ktorý vám pomôže, prepojte svoj odkaz s odkazom na prístup k robotovi a overte ho. Poznamenajte si viac, ako by ste mali vedieť o ESP8266.

Em seguida, em sua conta to telegram, pesquise IDBot. Začíname s konverziou, ktorá prebieha alebo končí. Você receberá uma resposta com seu ID de usuário. Uveďte ID, porque você precisará dele para enviar de notificações.

Nasledujúce správy môžu obsahovať telegramy kopírovania, kopírovania a odosielania rôznych telegramov, ako sú napríklad prípojky WIFI a para komunikácií k telegramu (BOT_TOKEN e CHAT_ID) a odosielanie súborov bez modulu ESP8266.

#include #include #include /********************** ALTERAR DEFINIÇÕES ABAIXO ******************* *******/ #define WIFI_SSID "VAŠA 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 # definujte CHAT_ID "CHANGEYOURCHATID" // ID do rozhovoru do telegramu X509List cert (TELEGRAM_CERTIFICATE_ROOT); WiFiClientSecure clientSecure; Bot UniversalTelegramBot (BOT_TOKEN, clientSecure); // Envia notificação ao Telegram void SendTelegramNotification (String message) {bot.sendMessage (CHAT_ID, message, ""); Serial.println (správa); } // Funkcie a možnosti wifi neplatné ConnectToWiFi (neplatné) {// Konfiguračný koreňový certifikát 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) {oneskorenie (500); Serial.print ("."); } Serial.println (""); Serial.println („Pripojenie WiFi k úspechu!“); Serial.println ("obtiažnosť IP:"); Serial.println (WiFi.localIP ()); } // Nastaviť neplatné nastavenie () {Serial.begin (115200); oneskorenie (50); // Conecta ao wifi ConnectToWiFi (); // Telefónny záznam oznámenia odoslaný SendTelegramNotification ("Testando envio de notificação."); }

Odporúča: