ዝርዝር ሁኔታ:
- ደረጃ 1: Materiais Utilizados
- ደረጃ 2: Configuração Do ThingSpeak ን ያድርጉ
- ደረጃ 3 - Aplicativo - MIT የመተግበሪያ ፈላጊ
- ደረጃ 4 ሞንታጋም ዶ ፕሮቶቲፖ
- ደረጃ 5: Programação ማይክሮ መቆጣጠሪያ መሣሪያን ያድርጉ
ቪዲዮ: Projeto IoT - Stema Detector De Fumaça: 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:29
መግቢያ
O Sistema Detector de Fumaça consiste em uma solução IoT com o objetivo de permitir o monitoramento de alarmes de incêndio de residências através de um aplicativo Android. O projeto é baseado em um microcontrolador que se comunica com a nuvem pela rede WiFi, enviando os sinais deteados por um sensor de fumaça. በቴሌግራም በኩል በባለቤትነት የሚስተዋለው የሪፖርተር ጋዜጣ ሞኒተራር ኦፕሬተርስዮ ቴሌግራም በኩል ነው።
Desenvolvedores
- ብሩኖ ጎንቫልስ ፔሬራ
- ጆአኦ ፓውሎ ታዱ ቦርጌስ ፓይቫ
- ጁሊያና ጉማሬስ ሶርስ ቡሬ
- ቪላን አሌክሳንደር ኮንዶር አሰንጆ
ደረጃ 1: Materiais Utilizados
ኦስ materiais utilizados para construção do projeto foram:
- Módulo WiFi ESP8266 NodeMcu ESP-12: Placa de desenvolvimento que combina o chip ESP8266 (comunicação WiFi) ፣ uma በይነገጽ usb-serial e um regulador de tensão 3.3V. A proramação pode ser feita usando a IDE do Arduino, através da comunicação በካቦ ማይክሮ ዩኤስቢ በኩል።
- Sensor de Gás MQ-135 para Gases Tóxicos: O Sensor de Gás MQ-135 é um módulo capaz de detear vários tipos de gases tóxicos como amônia, dióxido de carbono, benzeno, oxido nítrico, e também fumaça ou álcool.
- መሪ vermelho
- መሪ ቨርዴ
- 2 ይቃወማል 200Ω
- Protoboard e jumpers para conexão e teste do protótipo
ደረጃ 2: Configuração Do ThingSpeak ን ያድርጉ
ኦ ThingSpeak é um serviço de plataforma IoT para armazenar e recuperar dados usando o protocolo HTTP e MQTT pela Internet ou por meio de uma rede local. ThingSpeak permite agregar, visualizar e an ምክር fluxos de dados na nuvem.
ኦ ThingSpeak está disponível como um serviço gratuito para pequenos projetos não comerciais (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 licença anual são oferecidos: መደበኛ ፣ አካዳሚክ ፣ ተማሪ እና ቤት።
Configuração de um canal no ThingSpeak
አፖስ criar uma conta no ThingSpeak, é necessário criar um canal. ኦስ canais armazenam os dados enviados de um determinado projeto. ካዳ ቦይ inclui 8 campos que podem conter qualquer tipo de dados, mais 3 campos para dados de localização e 1 para dados de status. Depois de coletar dados em um canal, você pode usar os aplicativos ThingSpeak para analisá-los e visualizá-los.
ፓራራ ፕሮጄቶ ፣ ፎሪ criado um canal com noome IoTProject-SmokeDetector e 3 campos para envio de dados:
- መስክ 1: Concentração de gás
- መስክ 2 - ማንቂያ
- መስክ 3: Comando desligar
አሁን “የግል እይታ” እና እንደ visualizações de cada um dos campos criados. Neste projeto, foram criados:
- 1 gráfico com os dados de concentração de gás CO2 em função do tempo
- 1 indicador de led para indicação de alarme
- 1 gráfico com os dados de comando de desligar alarme em função do tempo
Leitura e escrita ምንም ThingSpeak የለም
እርስዎ ቦይ ማድረግ ThingSpeak é criado com um identificador único (Channel ID) que possibilita sua identificação para envio e leitura de dados. አሁን “የኤፒአይ ቁልፎች” são disponibilizadas as chaves para escrita (የኤፒአይ ቁልፍን ይፃፉ) እና leitura (የኤፒአይ ቁልፍን ያንብቡ) de dados no canal. Além disso ፣ também são disponibilizadas እንደ ኤፒአይ ጥያቄዎች (የኤችቲቲፒ ጥያቄዎችን ያግኙ) que também podem ser usadas para envio e requisição de dados.
ኦ identificadorador can do e e as chaves serão usadas posteriormente no código do microcontrolador. JA እንደ ኤፒአይ seriao utilizadas na programação do aplicativo Android ን ይጠይቃል።
ደረጃ 3 - Aplicativo - MIT የመተግበሪያ ፈላጊ
ኦ aplicativo para monitoramento do sistema foi desenvolvido utilizando o MIT App Inventor. የ MIT የመተግበሪያ ፈላጊ እና የአከባቢው ድር ግሬቲቶ ኢ ዴ código aberto para desenvolvimento integrado de aplicativos mantido pelo Massachusetts Institute of Technology (MIT)። በፔሮግራሙ ውስጥ የ Android እና የ iOS መተግበሪያዎችን በፔሮግራም ማስተዳደር ይችላሉ።
ከዚህ በላይ ፣ የ MIT መተግበሪያ ፈላጊ ፣ ክሪዮ-ሴ um projeto com o nome IotProject_SmokeDetector.
እንደ ቴላ አፕሊኬቲቮ ፣ ሴሌሲኖንዶ ኦስ ክፍሎች አስፈላጊዎች (ቦቴስ ፣ መለያዎች ፣ ምናባዊዎች ፣ ወዘተ) ምንም ምናሌ ላተራል esquerdo (Palette) የለም። Para cada um um dos componentses selecionados, é possível alterar configurações de cores, tamanho, posição, entre outras no menu lateral direito (Properties)።
Na tela Blocks é feita toda a lógica de programação do aplicativo. A programação é feita através de blocos, facilitando o desenvolvimento para iniciantes.
በግልፅ ያብራሩ
Duas variáveis locais são inicializadas: alarmData e sensorData.
አንድ 1 ሴጉንዶ (ዲሲዶዶ ፔሎ Clock1) ፣ ወይም አፕሊኬቲቭ ፋዝ ኦም ዲ ዳኦስ የለም ቦይ ThingSpeak através da URL de leitura de dados que pode ser copiada na aba “API ቁልፎች”። Quando os dados são retornados, o dado do sensor correspondente à concentração de gás CO2 é mostrado na tela do aplicativo. ስለዚህ እኔ ማንቂያ ደውል እና ሙከራ:
- Se o alarme estiver acionado (alarmData = 1) ፣ o aplicativo mostra ao usuário a mensagem "Atenção! Sua casa está em perigo!" e o botão de desligar alarme (Button1) é habilitado.
- Se o alarme não estiver acionado (alarmData = 0) ፣ o 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 alarme (Button1) ለ clicado, o aplicativo escreverá 1 no campo Field3: comando desligar criado no ThingSpeak, indicando que o comando de desligar alarme foi acionado. ኦህ ThingSpeak através da URL para escrita de dados que pode ser copiada na aba "API ቁልፎች".
ደረጃ 4 ሞንታጋም ዶ ፕሮቶቲፖ
ኦ protótipo foi montado no protoboard conforme indicado and figura.
ዳሳሽ MQ135
- Pino AO: conectado ao pino AD0 do módulo ESP8266
- Pino GND: conectado ao GND do módulo ESP8266
- Pino Vcc: conectado ao pino VIN do módulo ESP8266
LED ቨርዴ
- Conectar uma perna do resistor de 200Ω no pino D5 do módulo ESP8266
- Conectar o anodo LED (positivo - maior perna) ማድረግ NA outra perna አድርግ resistor
- Conectar o catodo do LED (negativo - menor perna) GND do módulo ESP8266 የለም
LED vermelho
- Conectar uma perna doresistor de 200Ω no pino D7 do módulo ESP8266.
- የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የማብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የማብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት / የመብራት መከላከያዎች ናቸው
- Conectar o catodo do LED (negativo - menor perna) GND do módulo ESP8266 የለም
ደረጃ 5: Programação ማይክሮ መቆጣጠሪያ መሣሪያን ያድርጉ
የማይክሮ ኮሎደርዶር በ ESP8266 foi programado utilizando a IDE do Arduino (faça o download aqui)።
O código fonte completo utilizado no projeto pode ser baixado no last deste tutorial (Iot_project.ino)። O código tem duas funções principais: setup e loop.
Fluxo do ማዋቀር;
- Inicializa a porta serial
- Inicializa os ውጤቶች (ፒኖስ ዶዝ ሊድስ)
- WiFi ን እንደገና ለማገናኘት
- Inicaliza ወይም ThingSpeak
Fluxo do loop:
- Lê os dados ዳሳሽ MQ135 ያድርጉ
-
Verifica se a concentração de gás CO2 ultrapassa o limite definido (ተስማሚ: CO2 <= 700 ppm)
- ሊግ ወይም ማንቂያ (LED vermelho) ፣ desliga ወይም LED de status (verde)
- ደሴሊጋ ወይም ደወል (LED vermelho) እና liga o LED de status (verde) se o valor estiver abaixo do limite
-
Ling o dado de “comando desligar alarme” ያድርጉ ThingSpeak
ሲ ኮማንዶ = 1 ፣ ደሊጋ ወይም ማንቂያ (LED vermelho) እና liga o LED de status (verde)
- ኤንቪያ ዳዶስ ዳሳሽ ያድርጉ ፣ አነቃቂውን ለ ‹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.
Wifi ን እንደገና ያስጀምሩ
አብራ አንድ አይዲኢ አርዱinoኖ ፣ vá em ፋይል-> ምርጫዎች eadicione em ተጨማሪ የቦርድ አስተዳዳሪ ዩአርኤሎች አንድ URL
ለምሳሌ ፣ መሣሪያዎች-> ቦርዶች-> የቦርዶች ሥራ አስኪያጅ ESP8266 ን አቆራኝተው ፣ ኢሜል ጫን።
É necessário definir 2 variáveis para conexão na rede:
- WIFI_SSID: የ Wi -Fi እና WIFI vo vo e con e siste siste siste siste ma
- WIFI_PASSWORD: senha da rede
Para teste de conexão WiFi, copie o código abaixo, altere as variáveis para conexão WIFI listadas acima e faça upload no módulo ESP8266.
#አካትት /************************ እንደ ተለይተው አባይክስ ******************* *******/ #ገላጭ WIFI_SSID “የእርስዎ WIFI SSID” // Nome da Rip wifi #ገላጭ WIFI_PASSWORD “የእርስዎ WIFI PASSWORD”/ Senha da rede wifi WiFiClient client; // Função que faz a conexão wifi void ConnectToWiFi (ባዶ) {// Tenta conectar ao wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID ፣ WIFI_PASSWORD); ሳለ (WiFi.status ()! = WL_CONNECTED) {መዘግየት (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // Setup da placa void setup () {Serial.begin (115200); መዘግየት (50); // Conecta ao wifi ConnectToWiFi (); }
ሌንዶ ዳዶስ ዳሳሽ MQ135 ያድርጉ
ፓራ ሌር ኦኤስ ዳዶስ ዳሳሽ MQ135 ን ፣ ፕሪሚየርሜንቴ ዴቪ-ሴ baixar a biblioteca MQ135.h e adicioná-la na IDE do Arduino através do menu Skecth-> Library ያካትቱ->. ZIP Library ን ያክሉ።
Depois, copie o código abaixo e faça upload no módulo ESP8266 através do cabo micro-usb. O código realiza a leitura da concentração de CO2 em ppm e imprime os valores lidos no serial monitor.
#"MQ135.h" ን #ይግለጹ SMOKE_SENSOR A0 // IO do sensor de fumaça float sensorValue; // Setup da placa void setup () {Serial.begin (115200); መዘግየት (50); } // Loop principal void loop () {// Faz leitura do sensor MQ135 gasSensor = MQ135 (SMOKE_SENSOR); sensorValue = gasSensor.getPPM (); Serial.print ("Concentracao de CO2 (ppm):"); Serial.println (sensorValue); }
Escrevendo e lendo dados ያድርጉ ThingSpeak
ፕሪሚሮ ፣ ቢቢዮቴካ ዶ ThingSpeak no Arduino IDE ን ያክብሩ። Vá em Tools-> Boards-> Boards Manager digit ThingSpeak, clique em instalar e fechar.
ThingSpeak ን በተከታታይ ያከናውኑ ፣ ኤሲታ ይስቀሉ ዴ ዳፖስ አፕኔስ እና ካዳ 20 ሴጉንዶስ ፣ እስከዚያ ድረስ ፣ ምንም código deve-se testar se é o momento correto de enviar os dados.
ThingSpeak እንደ አስፈላጊነቱ እንደ ቫሪአቪስ አባይxo ገለፃ
- myChannelNumber: numero 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 e faça upload no módulo ESP8266.
#አካትት #አካትት /************************ እንደ ተለይተው አባባው ***************** *********/ #ገላጭ WIFI_SSID “የእርስዎ WIFI SSID” // Nome da rede wifi #ገላጭ WIFI_PASSWORD “የእርስዎ WIFI PASSWORD”/ Senha da rede wifi #define THINGSPEAK_WRITE_INTERVAL 20000 // Intervalo em ms entre envios de de envios de dados ao ThingSpeak /************************ እንደ ቫሪቪቬስ አቢዮኦ ***************** ********/ ያልተፈረመ ረጅም myChannelNumber = 0000000; // Nuemero do canal do ThingSpeak const char * myWriteAPIKey = "የእርስዎ api ቁልፍ ይፃፉ"; // Chave de escrita do canal do ThingSpeak const char * myReadAPIKey = "የእርስዎ የንባብ api ቁልፍ"; // Chave de leitura do can do do ThingSpeak ያልተፈረመ ረጅም lastTime; ያልተፈረመ ረጅም የአሁኑ ጊዜ; የ WiFi ደንበኛ ደንበኛ; // Função que faz a conexão wifi ባዶነት ConnectToWiFi (ባዶ) {// Configura root certificate 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); ሳለ (WiFi.status ()! = WL_CONNECTED) {መዘግየት (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println (WiFi.localIP ()); } // Setup da placa void setup () {Serial.begin (115200); መዘግየት (50); // Conecta ao wifi ConnectToWiFi (); // Inicializa ThingSpeak lastTime = 0; ThingSpeak.begin (ደንበኛ); } // Loop principal 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 (እሴት); // Verifica se é o momento de enviar dados ao ThingSpeak if ((currentTime - lastTime> THINGSPEAK_WRITE_INTERVAL)) {ThingSpeak.setField (1, 100) ፤ ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey); lastTime = currentTime; } መዘግየት (20000); }
Enviando notificação pelo ቴሌግራም
ፕሪሚሮ ፣ ቢቢዮቴካ ቴሌግራም የለም አርዱinoኖ አይዲኢ። Vá em Tools-> Boards-> Boards Manager digite UniversalTelegramBot, clique em instalar e fechar.
አብራ o ቴሌግራም ኢ ሲጋ እንደ ፕሮክሲማስ ኢታፓስ ፓሪሪየም ኡም ቦት። ፕሪሚሮ ፣ ፖርቶ ቦትፓፕ እና ክሊኒክ ኔሌ ይግዙ። A janela a seguir deve abrir e você será solicitado a clicar no botão Iniciar. Digite /newbot e siga እንደ መመሪያ ሆኖ ለፓሪአሪ seu bot። ስለዚህ አንድ ኢም ኡም ኢ ኖሜ ደ ኡሱሪዮ። Se o seu bot for criado com sucesso, você receberá uma mensagem com um link para acessar o bot e o token do bot. ማስቀመጫ ፣ ማስመሰያ ፣ porque você precisará dele para que o ESP8266 possa enviar notificações.
ኢሜ ሴጉይዳ ፣ ቴሌግራም ፣ ኢዲቦትን አጣጥመው ይከታተሉ። Inicie uma conversa com esse bot e digite/getid. Você receberá uma resposta com seu ID de usuário. መታወቂያ ያስቀምጡ ፣ porque você precisará dele para enviar de notificações።
Para teste do envio de notificação pelo telegram, copie o código abaixo, altere as variáveis de definições para conexão WIFI e para comunicação com o ቴሌግራም (BOT_TOKEN e CHAT_ID) e faça upload no módulo ESP8266.
#አካትት #አካትት #አካት / *******/ #ገላጭ WIFI_SSID “የእርስዎ WIFI SSID” // Nome da Rif wifi #ገላጭ WIFI_PASSWORD “የእርስዎ WIFI PASSWORD”/ Senha da rede wifi #define BOT_TOKEN “CHANGEYOURTOKEN” // Token do bot do telegram # CHAT_ID "CHANGEYOURCHATID" // ቴሌግራም X509List cert (TELEGRAM_CERTIFICATE_ROOT) ለማድረግ ቻት ያድርጉ። WiFiClientSecure clientSecure; UniversalTelegramBot bot (BOT_TOKEN ፣ clientSecure) ፤ // Envia notificação ao ቴሌግራም ባዶ ላክ የቴሌግራም ማሳወቂያ (ሕብረቁምፊ መልእክት) {bot.sendMessage (CHAT_ID ፣ መልእክት ፣ ""); Serial.println (መልዕክት); } // Função que faz a conexão wifi ባዶነት ConnectToWiFi (ባዶ) {// Configura root certificate 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); ሳለ (WiFi.status ()! = WL_CONNECTED) {መዘግየት (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // Setup da placa void setup () {Serial.begin (115200); መዘግየት (50); // Conecta ao wifi ConnectToWiFi (); // Testa notificação pelo telegram SendTelegramNotification ("Testando envio de notificação."); }
የሚመከር:
Pequeno Projeto De Uma Casa Inteligente: 5 ደረጃዎች
Pequeno Projeto De Uma Casa Inteligente: O projeto que faremos é de uma casa inteligente። Possui baseamente dois grupos de funcionalidades: · ደ ሞኒቶራቶራቶ ደ ኢሉሚናçኦ እና የሙቀት መጠን dos cômodos. · De monitoramente de lista de alimentos e nível de água filtrada na geladeira.Não escrever
Projeto CoCoa: Um Colete De Comunicação Alternativa: 8 ደረጃዎች
Projeto CoCoa: Um Colete De Comunicação Alternativa: CoCoA ፕሮጀክት የንግግር ወይም የቃል እክል ያለባቸውን ሰዎች ለመርዳት አማራጭ የግንኙነት ንክኪ ምልክቶችን ለማጣመር የሚያስችል ከበይነመረቡ ጋር የተገናኘ የሚለበስ ቀሚስ ነው። O Colete de Comunicação Alternativa (CoCoA)
Guia Do Sensor De Gás E Fumaça MQ-2 Com Arduino: 5 ደረጃዎች
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 detea gás ou fumaça inflamável. Acesse meu último artigo: Arduino: tudo o que você precisa saber [Guia Completo] .O sensor de gás MQ-2O sensor de fumaça MQ-2 é sensível à fu
Projeto Lumos: 8 ደረጃዎች
Projeto Lumos: O projeto Lumos consiste na construção de uma luminária controlada a partir de um smartphone conectado à mesma rede móvel ou WiFi. ለ Android ፣ ለ Android መሣሪያ ፣ ለ perimite apagar እና acender a luz utilizando além
አጋዥ ስልጠና ዶ Projeto Final Do Curso IoT Aplicada Smart Home Inatel / Novembro 2017: 4 Steps (ከሥዕሎች ጋር)
የማጠናከሪያ ትምህርት Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembermbro 2017: ምንም ፍላጎት የለውም። መስኮቶች 10. Essa plataforma chama-se Ionic, q