תוכן עניינים:

Projeto IoT - גלאי סיסטמה דה פומסה: 5 שלבים
Projeto IoT - גלאי סיסטמה דה פומסה: 5 שלבים

וִידֵאוֹ: Projeto IoT - גלאי סיסטמה דה פומסה: 5 שלבים

וִידֵאוֹ: Projeto IoT - גלאי סיסטמה דה פומסה: 5 שלבים
וִידֵאוֹ: Курт Джаймунгал: реальность, сознание, теоретическая физика, интеграция эго [Часть 3] 2024, נוֹבֶמבֶּר
Anonim
Projeto IoT - גלאי סיסטמה דה פומסה
Projeto IoT - גלאי סיסטמה דה פומסה

Introdução

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 proprietário da residência consegue monitorar o systema através de um aplicativo e recebe notificações via Telegram em caso de ativação do alarme de incêndio.

Desenvolvedores

  • ברונו גונסאלבס פריירה
  • ז'או פאולו טדאו בורחס פייבה
  • ג'וליאנה גימאראס סוארס בואר
  • וילן אלכסנדר קונדור אסנג'ו

שלב 1: Materiais Utilizados

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

Os materiais utilizados para constructção do projeto foram:

  • Modulo WiFi ESP8266 NodeMcu ESP-12: Placa de desenvolvimento que combina or chip ESP8266 (comunicação WiFi), ממשק ממשק usb-serial ו- um regulador de tensão 3.3V. תוכנת תוכנה שתוכל להשתמש ב- IDE do Arduino, através da comunicação באמצעות cabo micro-usb.
  • Sensor de Gás MQ-135 עבור Gases Tóxicos: O Sensor de Gás MQ-135 הוא אחד המודלים שיכולים לזהות ולגלות גזים, כמו גם חומרים, דיאוקסידו של פחמן, בנזנו, אוקסידטו ניטריקו, או תאים.
  • Led vermelho
  • לד ורדה
  • 2 נגדים 200Ω
  • מגשרים של Protoboard e for conexão e teste do protótipo

שלב 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 אחד השירותים הפלטפורמת IoT עבור armazenar and recuperar dados usando o protocolo HTTP and MQTT for Internet or por meio de uma rede local. ThingSpeak להתיר אגרות, ויזואליזציה ואנליזה של שטויות.

O ThingSpeak יכול להגיש שירותים בחינם עבור כמה שיותר או יותר מוצרים (menos of 3 milhões of menagens por ano ou aproximadamente 8000 mensagens for dia). Para projetos maiores ou aplicações comerciais, quatro tipos diferentes de licença anual são oferecidos: Standard, Academic, Student and Home.

Configuração de um canal no ThingSpeak

אפוס criar uma conta no ThingSpeak, é nødvendário criar um channel. Os canais armazenam os dados enviados de um determinado projeto. Cada canal 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.

Para este projeto, foi criado um canal com nome IoTProject-SmokeDetector e 3 campos for envio de dados:

  • שדה 1: Concentração de gás
  • שדה 2: Alarme
  • שדה 3: Comando desligar

לאחר אבטחת "תצוגה פרטית" אפשר להציג כתבות כמו קטעי וידיאו. Neste projeto, foram criados:

  • 1 גרפיקה עם אופי של קונצנטציה של CO2 על כיף הקצב
  • 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 no ThingSpeak

O canal do ThingSpeak é criado com on identifierador único (ערוץ מזהה) que possibilita sua identificação for envio e leitura de dados. על פי "מפתחות API" ניתן להשתמש באפשרויות לתכונה (מפתח API לכתיבה) ולחיפוש (מפתח API לקריאה). כל זאת, ניתן להשתמש כבקשות API (בקשות לקבל

O זיהוי של תעלה e כמו chaves serão usadas posteriormente no código do microcontrolador. כן, כבקשות ה- API ניתן להשתמש בתכנות לאנדרואיד.

שלב 3: אפליקטיבי - ממציא האפליקציות של MIT

אפליקטיבי - ממציא האפליקציות של MIT
אפליקטיבי - ממציא האפליקציות של MIT
אפליקטיבי - ממציא האפליקציות של MIT
אפליקטיבי - ממציא האפליקציות של MIT
אפליקטיבי - ממציא האפליקציות של MIT
אפליקטיבי - ממציא האפליקציות של MIT
אפליקטיבי - ממציא האפליקציות של MIT
אפליקטיבי - ממציא האפליקציות של MIT

מידע נוסף על מעקב אחר מערכת ההפעלה של ממציא האפליקציות של MIT. ממציא האפליקציות של MIT הוא אתר אינטרנט חינם להורדת תוכנה לשילוב אינטגרלי של אפליקציות של המכון הטכנולוגי של מסצ'וסטס (MIT). כל התירויות אפשריות לתכנות של תוכנות לאנדרואיד ו- iOS.

לשם כך, לא יכול להיות שמדובר בממציא אפליקציות של MIT, אם אתה יכול להשתמש ב- IotProject_SmokeDetector.

לאחר מעצבים אפשריים כמו גם תכונות, אפשרויות בחירה (רכיבים, תוויות, תמונות וכו ') ללא תפריט לרוחב (לוח). על מנת לבחור את מרכיבי הבחירה, אפשר גם לשנות את הגדרות הליבה, הטאמאנה, הפוזיציה, והכלים מחוץ לתפריט לרוחב (נכסים).

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), או אפליקציה אפשרית לבקשת דאדאס אין תעלה ThingSpeak מאתרים את כתובת ה- URL של החיפושים שאפשר לצפות בהם על "מפתחות API". אם יש לנו חזרה לתגובות, או אם יש כתבי חיישנים בתגובות CO2 ו- mostrado to tela do aplicativo. Já o dado do alarme é testado:

  1. Se o alarme estiver acionado (alarmData = 1), a aplicativo mostra ao usuário a mensagem "Atenção! Sua casa está em perigo!" e o botão de desligar alarme (Button1) é habilitado.
  2. Se o alarme não estiver acionado (alarmData = 0), a 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, או aplicativo escreverá 1 no campo Field3: comando desligar criado no ThingSpeak, indicando que o comando de desligar alarme foi acionado. O dado é enviado ao ThingSpeak através da URL URL for escrita de dados que pode ser kopiada na aba "API Keys".

שלב 4: Montagem Do Protótipo

מונטאגם דו פרוטופו
מונטאגם דו פרוטופו

O 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 ורדה

  • חיבור אופרה לנגד 200Ω ללא פינו D5 ל- ESP8266
  • חיבור או אנודו של LED (חיובי - מאור פרנה) ונגד הנגד
  • חיבור או קטודו של LED (שלילי - חנוכה) אין GND עבור מודול ESP8266

LED vermelho

  • חיבור אונליין של 200Ω ללא פינו D7 לעשות מודול ESP8266.
  • חיבור או אנודו של LED (חיובי - מאור פרנה) ונגד הנגד
  • חיבור או קטודו של LED (שלילי - חנוכה) אין GND עבור מודול ESP8266

שלב 5: תכנית מיקרו -בקרה

מיקרו -בקרה של מודול ESP8266 לתוכנת שימוש IDE של ארדואינו (להורדה או הורדה).

או שתוכל להשלים את השימוש בלי שום פרוג'טו לא יכול להדריך לא אחרון (Iot_project.ino). אופן הפעולה העיקרי: התקנת לולאה.

התקנת Fluxo do:

  • Inicializa a סדרת פורטה
  • יציאות OS יציאה (Pinos Dos Leds)
  • גישה לאינטרנט אלחוטי
  • Inicializa o ThingSpeak

לולאת פלוקסו:

  • ניתן להשתמש בחיישן MQ135
  • אמיתות הבנה של CO2 אולטרה -פאסה או הגדרה מוגבלת (אידיאלי: CO2 <= 700 עמודים לדקה)

    • Liga o alarme (LED vermelho), desliga o LED de status (verde) e envia notificação pelo Telegram se o valor estiver acima do limite
    • Desliga o alarme (LED vermelho) e liga o LED de status (verde) se o valor estiver abaixo do limite
  • Lê o dado de "comando desligar alarme" לעשות ThingSpeak

    Se o comando = 1, desliga o alarme (LED vermelho) e liga o LED de status (verde)

  • Envia dados do sensor, do alarme e 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.

חיבור לאינטרנט אלחוטי

Abra a IDE do Arduino, או קובץ-> העדפות eadicione em כתובות URL נוספות של מנהל מועצת כתובת URL

אנו יכולים להשתמש בכלי-> לוחות-> מנהל לוחות ב- ESP8266, לחץ על התקנה והפעלה.

יש צורך בהגדרה 2 משתנים עבור השיתוף:

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

עבור WiFi בחינם, העתקה או ביטחון, אלטרנטיבי כמו משתנים עבור WIFI listadas acima e faça upload no moddulo ESP8266.

#include /*********************** ALTERE AS DEFINIÇÕES ABAIXO ******************* *******/ #define WIFI_SSID "SSID WIFI שלך" // שם ה- Rede wifi #הגדר WIFI_PASSWORD "סיסמת WIFI שלך" // לקוח WiFi WiFiClient Client; // 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); בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("obtido IP:"); Serial.println (WiFi.localIP ()); } // Setup da placa void setup () {Serial.begin (115200); עיכוב (50); // Conecta ao wifi ConnectToWiFi (); }

חיישן Lendo dados לעשות MQ135

לפרטים נוספים על חיישן MQ135, primeiramente deve-se baixar a biblioteca MQ135.h e adicioná-la na IDE do Arduino através do התפריט Skecth-> Include Library-> Add. ZIP Library.

Depois, copie o código abaixo and faça upload no módulo ESP8266 através do cabo micro-usb. O realization a leitura da concentração de CO2 em ppm e imprime os valores lidos no monitor serial.

#כלול "MQ135.h" #הגדר SMOKE_SENSOR A0 // IO do sensor de fumaça sensor floatValue; // Setup da placa void setup () {Serial.begin (115200); עיכוב (50); } // לולאה חלל ראשי של לולאה () {// 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 do ThingSpeak

Primeiro, adicione a Biblioteca do Thing Speak no Arduino IDE. כלי כלים-> לוחות-> מנהל לוחות digite ThingSpeak, לחץ על התקנה והפעלה.

חינם עבור ThingSpeak, העלאה של מספר הדוגמאות של 20 קבוצות, לכל היותר, אין אפשרות להבחין במבחן זה.

עבור comunicar com of ThingSpeak é nødvendário definir as variáveis abaixo:

  • myChannelNumber: número canal criado no ThingSpeak
  • myWriteAPIKey: chave de escrita לעשות תעלה לעשות ThingSpeak
  • myReadAPIKey: chave de leitura לעשות תעלה לעשות ThingSpeak

עבור teste de comunicação com של ThingSpeak, העתקה של קוד abaixo, אלטרנטיבי כמו variáveis para conexão na rede e as variáveis listadas acima e faça upload no módulo ESP8266.

#כלול ***** ***** dados ao ThingSpeak /*********************** ALTERE AS VARIÁVEIS ABAIXO ****************** ********/ myChannelNumber ארוך ללא חתום = 0000000; // מספר מספר תעלה ל- ThingSpeak const char * myWriteAPIKey = "מפתח ה- api שלך בכתיבה"; // Chave de escrita do canal do ThingSpeak const char * myReadAPIKey = "מפתח ה- api הקריא שלך"; // Chave de leitura do canal do ThingSpeak unsigned long lastTime; currentTime long unsigned; לקוח WiFiClient; // Função que faz a conexão wifi void ConnectToWiFi (void) {// Configura root root for 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 (לקוח); } // לולאה חלל ראשי של לולאה () {currentTime = millis (); // הגדר את הקצב האפשרי // 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 טלגרם

Primeiro, adicione a Biblioteca do Telegram no Arduino IDE. כלים-> לוחות-> מנהל לוחות digite UniversalTelegramBot, לחץ על התקנה והפעלה.

Abra o Telegram e siga as próximas etapas para criar um Bot. Primeiro, רכשו מאת botfather e clique nele. A janela a seguir deve abrir e você será solicitado a clicar no botão Iniciar. Digite /newbot e siga as instruções for 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. שיחת אסימון, פורקה, המציגה פרטים מדויקים על ESP8266.

Em seguida, em sua conta do Telegram, pesquise IDBot. תחילה, אנו יכולים לדבר על כך שאתה יכול להשתמש ב- e -book. 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 código abaixo, altere as variáveis de definições for conexão WIFI e fora comunicação com o Telegram (BOT_TOKEN e CHAT_ID) e faça upload no módulo ESP8266.

#כלול #כלול *******/ #define WIFI_SSID "SSID WIFI שלך" // Nome da rede wifi #הגדר WIFI_PASSWORD "סיסמת WIFI שלך" // Senha da rede wifi #הגדר BOT_TOKEN "CHANGEYOURTOKEN" // אסימון do bot do telegram # הגדר CHAT_ID "CHANGEYOURCHATID" // מזהה עשה צ'אט עשה מברק X509List cert (TELEGRAM_CERTIFICATE_ROOT); WiFiClientSecure clientSecure; בוט UniversalTelegramBot (BOT_TOKEN, clientSecure); // Envia notificação ao Telegram void SendTelegramNotification (הודעת מחרוזת) {bot.sendMessage (CHAT_ID, message, ""); Serial.println (הודעה); } // Função que faz a conexão wifi void ConnectToWiFi (void) {// Configura root certificate for 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 ("obtido IP:"); 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."); }

מוּמלָץ: