Sadržaj:
- Korak 1: Upotreba materijala
- Korak 2: Konfigurirajte Do ThingSpeak
- Korak 3: Aplicativo - MIT App Inventor
- Korak 4: Montagem Do Protótipo
- Korak 5: Programirajte mikrokontrolador
Video: Projeto IoT - Detector Sistema De Fumaça: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Introdução
O Sistema Detector de Fumaça sastoji se u rješavanju IoT -a o objektima dozvole ili nadgledanju alarma u vezi sa dodacima preostalih zahtjeva za primjenu Androida. O projektovani i bazirani mikrokontroler koji se nalazi u komunikaciji s nulem pela rede WiFi, sa osnažnim detektorima putem senzora za fumaçu. Vlasnici da ostanu saglasni za nadgledanje sistema koji prima zahtjeve za primenu i prima obaveštenja putem Telegrama u slučaju aktiviranja alarma za uključivanje.
Desenvolvedores
- Bruno Gonçalves Pereira
- João Paulo Tadeu Borges Paiva
- Juliana Guimarães Soares Buére
- Willan Alexander Condor Asenjo
Korak 1: Upotreba materijala
Os materiais utilizados para construção do projeto foram:
- Upravljački modul WiFi ESP8266 NodeMcu ESP-12: Uređaj za uključivanje i isključivanje kombinira čip ESP8266 (komunikacijski WiFi), USB sučelje sa standardnim naponom od 3.3V. Program za podešavanje servera koji koristi IDE do Arduino, através da comunicação preko cabo micro-USB.
- Senzor za Gás MQ-135 za gasove Toksiko: O Sensor za Gas MQ-135 je u stanju da detektuje detektore u tipovima gasova u toksikologiji u amoniji, dioksidu karbona, benzena, oksido nitrika, i tambula fumaco ili o.
- Led vermelho
- Led verde
- 2 Otpori 200Ω
- Protoboard i kratkospojnici za povezivanje i testiranje do prototipa
Korak 2: Konfigurirajte Do ThingSpeak
O ThingSpeak -u je usluga plataformnog IoT -a za armazeran i rekuperativan način korištenja protokola HTTP -a i MQTT -a za pristup Internetu ili na lokalnom nivou. ThingSpeak dozvoljava agregat, vizualizirajući i analizirajući tok fluida u moru.
O ThingSpeak, está disponível como um serviço gratuito para pequenos projetos não comerciais (od 3 mil. H do mensagena ili otprilike 8000 poruka po dijagramu). Para projetos maiores ili applicações comerciais, quatro tipos diferentes de licence anual são oferecidos: Standard, Academic, Student i Home.
Konfiguracija kanala bez ThingSpeak -a
Após criar uma uma no ThingSpeak, é needário criar um channel. Os canais armazenam os dados enviados de um determinado projeto. Cada kanal uključuje 8 campos que podem conter qualquer tipo de dados, mais 3 campos para dados de localização i 1 para dados de status. Depois de coletar dados em um channel, você pode usar os aplicativos ThingSpeak para analisá-los e visualizá-los.
Za sve projekcije, foi criado um kanalskom komunikacijom IoTProject-SmokeDetector i 3 kamere za prikaz podataka:
- Polje 1: Concentração de gás
- Polje 2: Alarm
- Polje 3: Comando desligar
Na "Private View" možete vidjeti i vizualizaciju cada um campos criados. Neste projeto, foram criados:
- 1 gráfico com os dados de koncentração de gás CO2 em função do tempo
- 1 indikator indikatora za indikaciju alarma
- 1 gráfico com os dados de comando de desligar alarme em função do tempo
Nema uputstava za ThingSpeak
O kanalu do ThingSpeak -a govorite putem identifikacionog kanala (ID kanala) koji je moguć za identifikaciju za bilo koju drugu državu. Aba "API ključevi" nisu dostupni ni kao parametri za escrita (Write API Key) niti za čitanje (Read API Key) bez kanala. Osim toga, ne želite da se disponibilizuju kao API zahtevi (HTTP zahtevi za primanje), već morate da pošaljete podatke koji su nam potrebni za prilagođavanje zahteva i zahteva.
O identifikator kanala e kao chaves serão usadas posteriormente no código do microcontrolador. Kao API zahtijeva korištenje programa u aplikacijama za Android.
Korak 3: Aplicativo - MIT App Inventor
Aplikacija za praćenje sistema za desenvolvido korištenje MIT App Inventor. O MIT App Inventor -u, ambijentalna web stranica besplatna je i prilagođena za desenvolvimento integraciju primjene mantido na Massachusetts Institute of Technology (MIT). Dozvolite pokretanje početnih programa i aplikacija za Android i iOS.
Kako biste pronašli aplikaciju koja nije u MIT-ovom App Inventoru, criou-se um projektovao o nome IotProject_SmokeDetector.
Na kućištu Designer -a moguće je montirati sve aplikacije koje se primjenjuju, odabirom komponenti koje su neophodne (bote, naljepnice, slike itd.) Bez bočnog izbornika (paleta). Za odabir komponenti koje su odabrane, moguće je mijenjati konfiguracije jezgri, tamanho, pozicionirati, ulaziti izvan izbornika bočno (Svojstva).
Na tela Blocks je feita koja se bavi programiranjem i primjenom programa. Program koji podržava feravitetne blokove, olakšava desenvolvimento para iniciantes.
Explicação do código
Duas variáveis locais são inicializadas: alarmData i sensorData.
Zaključuje se 1 dodatak (definitivno Clock1), ili primjenjujte faz zahtjev za dodavanjem kanala ThingSpeak pribavite URL adresu za postavljanje kopije podataka na "API ključeve". Kada su u pitanju retorne, o senzoru koji odgovara senzoru koji koncentrira CO2 u većinu na tijelo do aplikacije. Já o dado do alarme é testado:
- Pošaljite alarme sve više (alarmData = 1), ili primijenite većinu ao korištenja izbornika "Atenção! Sua casa está em perigo!" e o bottao desligar alarme (Button1) i habilitado.
- Ako alarm više niste aktivni (alarmData = 0), primijenite mostru ili upotrijebite meni s porukom "Não se preocupe! Sua casa não está em perigo." e o botão de desligar alarme (Button1) i desabilitado.
Zahtjev za botu desligarnog alarma (Button1) za klik, za primjenu escreverá 1 bez campa Field3: Komando desligar krijada bez ThingSpeak -a, indikator za komandu za desligarni alarm za akciju. O tome morate dodati ThingSpeak através URL -u za pomoć pri postavljanju kopije podataka na "API ključeve".
Korak 4: Montagem Do Protótipo
O prototipu za montažu bez protokolarne konforme na slici.
Senzor MQ135
- Pino AO: povezivanje ao pino AD0 sa modulom ESP8266
- Pino GND: spojen na GND sa modulom ESP8266
- Pino Vcc: spojen na pino VIN sa modulom ESP8266
LED verde
- Spojite otpornik na otpornik od 200Ω bez pina D5 na modulu ESP8266
- Priključak ili anodo do LED (pozitivna - veća perna) na vanjski otpornik otpornika
- Priključivanje ili napajanje LED diodama (negativno - izvorno) nema GND za upravljanje ESP8266
LED vermelho
- Priključni umanski doresistor od 200 Ω nema pino D7 na modulu ESP8266.
- Priključak ili anodo do LED (pozitivna - veća perna) na vanjski otpornik otpornika
- Priključivanje ili napajanje LED diodama (negativno - izvorno) nema GND za upravljanje ESP8266
Korak 5: Programirajte mikrokontrolador
O mikrokontrolatoru za upravljanje ESP8266 za programe koji koriste IDE za Arduino (facu za preuzimanje aqui).
O codigo fonte do kraja upotrijebite nijedan projeto pode ser baixado nema konačni deste tutorial (Iot_project.ino). O principu tem duas funções principais: setup e loop.
Fluxo do postavljanje:
- Inicijalizacija porta serijala
- Inicializa os izlazi (pinos dos LED)
- Povežite se putem WiFi -a
- Inicijalizacija ili ThingSpeak
Fluxo do petlja:
- Pronađite senzor MQ135
-
Provjerite koncentraciju ugljikovog dioksida ultrazvučnom ili ograničenom definicijom (idealno: CO2 <= 700 ppm)
- Liga o alarmu (LED vermelho), desliga o LED statusu (verde) e envia notificação pelo Telegram se može pohvaliti još više do ograničenja
- Desliga o alarmu (LED vermelho) i liga o LED statusu (verde) se ocjenjuju hrabrošću do kraja
-
Ovo je "comando desligar alarme" za ThingSpeak
Komando = 1, desliga ili alarm (LED žaruljica) i liga o LED status (verde)
- Uz pomoć senzora, alarma i komande za ThingSpeak a cada 20 sekundi
Abaixo será descrita a programção de cada um dos principais módulos com o respectivo código para teste.
Povežite WiFi mrežu
Dodajte IDE na Arduino, u datoteci-> Postavke eadicione ili Dodatne URL adrese upravitelja odbora URL
Postavite, a zatim odaberite Alati-> Ploče-> Upravitelj ploča digitalan ESP8266, kliknite i instalirajte ih.
É neophodário definir 2 variáveis para conexão na rede:
- WIFI_SSID: ime za vraćanje WiFi mreže u vezu sa sistemom za povezivanje u sistemu
- WIFI_PASSWORD: senha da rede
Za povezivanje WiFi -a, povezivanja ili korištenja bežične veze, promijenite kao varijaciju za povezivanje WIFI -ja popise datoteka i faksa za prijenos bez ESP8266.
#include /************************ PROMJENI KAO DEFINICIJE ABAIXO ******************* *******/ #define WIFI_SSID "YOUR WIFI SSID" // Ime za rede wifi #define WIFI_PASSWORD "VAŠA WIFI LOZINKA" // Senha da rede wifi WiFiClient klijent; // Funkcioniše sa povezivanjem wifi -a void ConnectToWiFi (void) {// Tenta veza sa wi -fi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {kašnjenje (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi konekcija sa sucesom!"); Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ()); } // Postavljanje da placa void setup () {Serial.begin (115200); kašnjenje (50); // Conecta ao wifi ConnectToWiFi (); }
Dodatni senzori rade senzor MQ135
Parametri za senzor MQ135 omogućuju vam da pronađete biblioteku MQ135.h dodavanjem IDE-a u Arduino u meni Skecth-> Include Library-> Add. ZIP Library.
Depois, kopije o abaixo i fac fajlu ne prenose ESP8266 através do cabo micro-usb. Kako biste postigli koncentraciju CO2 u ppm -u i neprimjerenu vrijednost, bez serijskog monitora.
#include "MQ135.h" #define SMOKE_SENSOR A0 // IO radi senzor fumaça float sensorValue; // Postavljanje da placa void setup () {Serial.begin (115200); kašnjenje (50); } // Glavna petlja void petlje () {// Faz leitura do sensor MQ135 gasSensor = MQ135 (SMOKE_SENSOR); sensorValue = gasSensor.getPPM (); Serial.print ("Koncentracija CO2 (ppm):"); Serial.println (sensorValue); }
Escrevendo e lendo dados do ThingSpeak
Primeiro, dodaj u biblioteku do ThingSpeak -a bez Arduino IDE -a. Na raspolaganju Alati-> Ploče-> Upravitelji ploča digitalno ThingSpeak, kliknite i instalirajte ih.
Verzija besplatna za ThingSpeak, preuzmite otpremljene datoteke sa 20 sekundi unazad, bez isteka, bez provjere da li ste provjerili da li je trenutak ispravljen u odnosu na očeve.
Para comunicar com o ThingSpeak é needário definir as variáveis abaixo:
- myChannelNumber: broj kanala bez kanala ThingSpeak
- myWriteAPIKey: Chave de escrita do channel do ThingSpeak
- myReadAPIKey: Chave de leitura do canal do ThingSpeak
Para teste de comunicação com of ThingSpeak, copie o codigo abaixo, altere as variáveis para conexão to rede e as variáveis listadas acima e faça upload no módulo ESP8266.
#include #include /************************ PROMENI KAO DEFINICIJE ABAIXO ***************** *********/ #define WIFI_SSID "YOUR WIFI SSID" // Ime za rede wifi #define WIFI_PASSWORD "YOUR WIFI PASSWORD" // Senha to rede wifi #define THINGSPEAK_WRITE_INTERVAL 20000 // Intervalo em ms entre envios de dados ao ThingSpeak /************************ PROMJENI KAO VARIÁVEIS ABAIXO ****************** ********/ unsigned long myChannelNumber = 0000000; // Numerički kanal za ThingSpeak const char * myWriteAPIKey = "vaš API API ključ"; // Chave de escrita to channel to ThingSpeak const char * myReadAPIKey = "vaš read api ključ"; // Chave de leitura do channel do ThingSpeak unsigned long lastTime; unsigned long currentTime; WiFiClient klijent; // Funkcioniranje i povezivanje wifi -a void ConnectToWiFi (void) {// Konfiguriranje korijenskog certifikata za api.telegram.org configTime (0, 0, "pool.ntp.org"); clientSecure.setTrustAnchors (& cert); // Tenta conektar ao wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {odgoda (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi konekcija sa sucesom!"); Serial.println (WiFi.localIP ()); } // Postavljanje da placa void setup () {Serial.begin (115200); kašnjenje (50); // Conecta ao wifi ConnectToWiFi (); // Pokretanje ThingSpeak lastTime = 0; ThingSpeak.begin (klijent); } // Petlja glavne petlje void loop () {currentTime = millis (); // seta o tempu atualnog // Učitajte ThingSpeak int vrijednost = ThingSpeak.readIntField (myChannelNumber, 1, myReadAPIKey); Serial.println ("Dado no campo 1 do ThingSpeak:"); Serial.println (vrijednost); // Provjeriće se trenutak u kojem se nalazi ao ThingSpeak if ((currentTime - lastTime> THINGSPEAK_WRITE_INTERVAL)) {ThingSpeak.setField (1, 100); ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey); lastTime = currentTime; } kašnjenje (20000); }
Zabilježite obavijest o Telegramu
Primeiro, biblioteka za Telegram bez Arduino IDE. Na raspolaganju Alati-> Ploče-> Upravitelj ploča digitalan UniversalTelegramBot, kliknite i instalirajte ih.
Abra o Telegram e siga kao próximas etapas para criar um Bot. Primeiro, nabavite por botfather e clique nele. A janela a seguir deve abrir e você será solicado a clicar no botão Iniciar. Digite /newbot e siga kao instrukcije za kriju seu bot. Dê a ele um nome e nome de usuário. Se o seu bot za criado com sucesso, você receberá uma mensagem com um link para acessar o bot e o token do bot. Salve o token, porque você precizno brisanje para que ili ESP8266 pošiljaoca obavijesti.
Em seguida, em sua conta do Telegram, pesquise 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 telegram, copie o codigo abaixo, altere as variáveis de definiciõ para conexão WIFI or comunicação com o Telegram (BOT_TOKEN e CHAT_ID) e faça upload no módulo ESP8266.
#include #include #include /********************* ALTERARNE DEFINICIJE ABAIXO ******************* *******/ #define WIFI_SSID "YOUR WIFI SSID" // Ime za rede wifi #define WIFI_PASSWORD "YOUR WIFI PASSWORD" // Senha da rede wifi #define BOT_TOKEN "CHANGEYOURTOKEN" // Token do bot do telegram # definirati CHAT_ID "CHANGEYOURCHATID" // ID za razgovor do telegrama X509List cert (TELEGRAM_CERTIFICATE_ROOT); WiFiClientSecure clientSecure; UniversalTelegramBot bot (BOT_TOKEN, clientSecure); // Envia notificação ao Telegram void SendTelegramNotification (String poruka) {bot.sendMessage (CHAT_ID, poruka, ""); Serial.println (poruka); } // Funkcioniši sa povezivanjem wifi -a void ConnectToWiFi (void) {// Konfiguracija korijenskog certifikata za api.telegram.org configTime (0, 0, "pool.ntp.org"); clientSecure.setTrustAnchors (& cert); // Tenta conektar ao wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {kašnjenje (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi konekcija sa sucesom!"); Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ()); } // Postavljanje da placa void setup () {Serial.begin (115200); kašnjenje (50); // Conecta ao wifi ConnectToWiFi (); // Testa notificação pelo telegram SendTelegramNotification ("Testando envio de notificação."); }
Preporučuje se:
Pequeno Projeto De Uma Casa Inteligente: 5 koraka
Pequeno Projeto De Uma Casa Inteligente: O projekto que faremos é de uma casa inteligente. Osnovni zahtjevi su potrebni za funkcioniranje funkcionalnih funkcija: · Za praćenje osvjetljenja i temperature do kodoma. · Za nadgledanje popisa alimenta i nigelskih filtera na bazi geladeira.Não escrever
IOT projekat kućne automatizacije IOT #1: 7 koraka
IOT projekt kućne automatizacije IOT # 1: # UVOD Kućna automatizacija je proces automatizacije kućnih aparata poput izmjenične struje, ventilatora, hladnjaka, svjetala i lista se nastavlja, tako da se njima može upravljati telefonom, računarom ili čak daljinski. Ovaj projekt bavi se esp2866
Guia Do Sensor De Gás E Fumaça MQ-2 Com Arduino: 5 koraka
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 or the fumaça inflamator. Acesse meu último artigo: Arduino: tudo o que você precisa sabre [Guia Completo] .O senzor za MQ-2O senzor za fumaça MQ-2 je osjetljiv na fu
Projeto Fila Fácil: 7 koraka
Projekat Fila Fácil: Em nosso dia a dia vamos diversas vezes em locais onde é neophod á ria uma gest ã o de senhas de clientes para organizar e agilizar atendimentos. Em alguns estabelecimentos podemos demorar alguns minutos ou at é mesmo horas esp
Pokretanje pametne kuće - Projeto Konačno: 6 koraka
Pokretanje pametne kuće - Projeto Konačno: Projeto apresentado é parte do projeto final do curso de IoT aplicado a Smart Home.O projeto mostrado a seguir é parte do projeto final i serpoprezentacija bez kursa IoT primjenjuje Smart Home, que consiste de sensores e atuadores conec