جدول المحتويات:
- الخطوة 1: Materiais Utilizados
- الخطوة 2: Configuração Do ThingSpeak
- الخطوة الثالثة: Aplicativo - MIT App Inventor
- الخطوة 4: Montagem Do Protótipo
- الخطوة 5: Programação Do Microcontrolador
فيديو: Projeto IoT - جهاز كشف سيستيما دي فوماكا: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:35
انترودوساو
O Sistema Detector de Fumaça يتألف من حلول إنترنت الأشياء التي تسمح لك بمراقبة أجهزة الإنذار في أماكن الإقامة في تطبيقات Android. O projeto é baseado em um microcontrolador que se comunica com a nuvem pela rede WiFi، enviando os sinais detados by um sensor de fumaça. O proprietário da stayência consegue monitorar o sistema através de um aplicativo e recebe notificações عبر Telegram em caso de ativação do alarme de incêndio.
ديسينفولفولوريس
- برونو غونسالفيس بيريرا
- جواو باولو تادو بورجيس بايفا
- جوليانا غيماريش سواريس بيوري
- ويلان ألكسندر كوندور أسينجو
الخطوة 1: Materiais Utilizados
Os 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 programação pode ser feita usando a IDE do Arduino، através da comunicação via cabo micro-usb.
- Sensor de Gás MQ-135 بالنسبة للغازات 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 á também fumacool.
- ليد فيرميلهو
- قاد الأخضر
- 2 يقاوم 200 درجة
- لاعبي Protoboard و Conexão e teste do protótipo
الخطوة 2: Configuração Do ThingSpeak
O ThingSpeak é um serviço de plataforma IoT para armazenar e recuperar dados usando o Protocolo HTTP e MQTT pela Internet or by meio de uma rede local. الشيء يسمح بالكلام ، والتخيل ، والتحليل المتدفق من dados na nuvem.
O ThingSpeak está disponível como um serviço free for pequenos projetos não comerciais (menos de 3 milhões de mensagens for ano ou aproximadamente 8000 mensagens por dia). الفقرة 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
Após criar uma conta no ThingSpeak، é mustário criar um canal. Os canais armazenam os dados enviados de umerminado 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 para envio de dados:
- الحقل 1: Concentração de gás
- الحقل 2: المنبه
- الحقل 3: Comando desligar
Na aba "Private View" é Posível criar as 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 no ThingSpeak
O canal do ThingSpeak é criado com um identificador único (Channel ID) que possible sua identificação para envio e leitura de dados. Na aba "API Keys" são disponibilizadas مثل chaves para escrita (اكتب مفتاح API) و leitura (قراءة مفتاح API) من dados no canal. Além disso، também são disponibilizadas كطلبات API (طلبات الحصول على HTTP) que também podem ser usadas para envio e Requisição de dados.
O identificador do canal e as chaves serão usadas posteriormente no código do microcontrolador. Já مثل واجهة برمجة التطبيقات (API) تطلب استخدامًا حقيقيًا في برنامج تشغيل Android.
الخطوة الثالثة: Aplicativo - MIT App Inventor
يمكنك استخدام تطبيق MIT App Inventor. O MIT App Inventor é um ambiente web gratuito e de código aberto para desenvolvimento Integrado de aplicativos mantido pelo Massachusetts Institute of Technology (MIT). يسمح لك بتثبيت البرامج على تطبيقات Android و iOS.
Para começar، após criar uma conta no MIT App Inventor، criou-se um projeto com o nome IotProject_SmokeDetector.
لا توجد قائمة للتطبيقات الجانبية (لوحة). Para cada um dos componentes selecionados، é possible alternar configurações de cores، tamanho، posição، entre outras no menu lateral direito (Properties).
كتل Na tela é feita toda a lógica de programação do aplicativo. برنامج é feita através de blocos ، يُسهِم في إعداد الفقرة غير الربحية.
شرح دو código
ادعية متنوعة: التنبيه ، البيانات ، الاستشعار ، البيانات.
A cada 1 segundo (تعريف الساعة 1) ، o طلب تطبيق faz um de dados no canal ThingSpeak através da URL de leitura de dados que pode ser copiada na aba "API Keys". Quando os dados são retornados، o dado do sensor developerente à Concentração de gás CO2 é mostrado na tela do aplicativo. Já o dado do alarme é testado:
- 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) for clicado، o 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 para escrita de dados que pode ser copiada na aba "API Keys".
الخطوة 4: Montagem Do Protótipo
O protótipo foi montado no protoboard matche indicado na figura.
مستشعر MQ135
- Pino AO: conectado ao pino AD0 do módulo ESP8266
- بينو GND: conectado ao GND do módulo ESP8266
- بينو Vcc: conectado ao pino VIN do módulo ESP8266
الصمام الأخضر
- Conectar uma perna do المقاوم 200Ω no pino D5 do módulo ESP8266
- Conectar o anodo do LED (positivo - maior perna) na outra perna do المقاوم
- Conectar o catodo do LED (نيجاتيفو - مينور بيرنا) لا GND do módulo ESP8266
LED فيرميلهو
- Conectar uma perna doresistor de 200Ω no pino D7 do módulo ESP8266.
- Conectar o anodo do LED (positivo - maior perna) na outra perna do المقاوم
- Conectar o catodo do LED (نيجاتيفو - مينور بيرنا) لا GND do módulo ESP8266
الخطوة 5: Programação Do Microcontrolador
O microcontrolador do módulo ESP8266 foi programado utilizando a IDE do Arduino (faça o download aqui).
يمكنك استخدام أي برنامج تعليمي بدون برنامج تعليمي نهائي (Iot_project.ino). O código tem duas funções Principais: setup e loop.
إعداد Fluxo do:
- Inicializa مسلسل بورتا
- مخرجات نظام التشغيل Inicializa (مصابيح LED Pinos)
- Conecta à rede WiFi
- Inicializa o ThingSpeak
حلقة عمل Fluxo:
- مستشعر Lê os dados do MQ135
-
Verifica se a concração de gás CO2 ultrapassa o limite selectido (مثالي: 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" do 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.
الاتصال بشبكة WiFi
Abra a IDE do Arduino ، vá em File-> Preferences eadicione em عنوان URL لمدير مجلس الإدارة الإضافي
قم بتشغيل الأدوات-> اللوحات-> مدير اللوحات الرقمية ESP8266 ، قم بالتثبيت والتثبيت.
ضرورة التحديد 2 المتغيرات للفقرة المتعارف عليها:
- WIFI_SSID: nome da rede WiFi que você deseja conectar seu sistema
- 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 download no módulo ESP8266.
#include / ************************ بدلًا من تعريفات ABAIXO ********************* ******* / #define WIFI_SSID "YOUR WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "YOUR 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) ؛ while (WiFi.status ()! = WL_CONNECTED) {delay (500) ؛ Serial.print (".") ؛ } Serial.println ("") ؛ Serial.println ("WiFi conectado com sucesso!") ؛ Serial.println ("عنوان IP:")؛ Serial.println (WiFi.localIP ()) ؛ } // Setup da placa void setup () {Serial.begin (115200)؛ تأخير (50) ؛ // Conecta ao wifi ConnectToWiFi () ؛ }
ليندو دادوس يفعل حساس MQ135
الفقرة ler os dados do sensor MQ135 ، deve-se baixar a biblioteca MQ135.h e adicioná-la na IDE do Arduino através do menu Skecth-> Include Library-> Add. ZIP Library.
Depois، copie o código abaixo e faça تحميل no módulo ESP8266 através do cabo micro-usb. لا توجد شاشة تسلسلية.
# تضمين "MQ135.h" # تعريف SMOKE_SENSOR A0 // IO do sensor de fumaça float sensorValue؛ // إعداد إعداد da placa void () {Serial.begin (115200) ؛ تأخير (50) ؛ } // Loop main 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 do ThingSpeak
Primeiro ، adicione a Biblioteca do ThingSpeak no Arduino IDE. Vá em Tools-> Boards-> Boards manager digite ThingSpeak ، clique em instalar e fechar.
نسخة مجانية من ThingSpeak ، aceita download de dados apenas a cada 20 segundos، por isso، no código deve-se testar se é o momento correto de enviar os dados.
Para comunicar com o ThingSpeak é Requário Definir as 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 e faça download no módulo ESP8266.
#include # include / ************************** بدلًا من تعريفات 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 de dados ao ThingSpeak / ************************** ALTERE AS VARIÁVEIS ABAIXO ******************** ******** / بلا توقيع طويل 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 = "your read api key"؛ // Chave de leitura do canal do ThingSpeak بدون توقيع long lastTime؛ الوقت الحالي الطويل بدون توقيع ؛ عميل WiFiClient ؛ // Função que faz a conexão wifi void 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) ؛ while (WiFi.status ()! = WL_CONNECTED) {delay (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 main 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 Telegram
Primeiro ، adicione a Biblioteca do Telegram no Arduino IDE. 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 ، تدبير من قبل الأب والطفلة nele. A janela a seguir deve abrir e você será solicitado a clicar no botão Iniciar. Digite / newbot e siga مثل 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ê ensberá 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 الممكن أن تكون إشعارات بيئية.
Em seguida، em sua conta do Telegram، pesquise IDBot. Inicie uma Conversa com esse bot e digite / getid. Vocêeceberá uma resposta com seu ID de usuário. بطاقة التعريف ، العنوان المعلق.
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 Telegram (BOT_TOKEN e CHAT_ID) e faça download no módulo ESP8266.
#include # include # include / ************************************************************************************************************* ******* / #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 # عرّف CHAT_ID "CHANGEYOURCHATID" // ID do chat do telegram X509List cert (TELEGRAM_CERTIFICATE_ROOT) ؛ عميل WiFiClientSecure ؛ برنامج 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 (باطل) {// 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) ؛ while (WiFi.status ()! = WL_CONNECTED) {delay (500) ؛ Serial.print (".") ؛ } Serial.println ("") ؛ Serial.println ("WiFi conectado com sucesso!") ؛ Serial.println ("عنوان 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.") ؛ }
موصى به:
كشف الاهتزازات باستخدام وحدة استشعار ضغط الصدمات الكهرضغطية: 6 خطوات
كشف الاهتزازات باستخدام وحدة مستشعر ضغط الصدمات الكهروإجهادية: في هذا البرنامج التعليمي سوف نتعلم كيفية اكتشاف اهتزازات الصدمات باستخدام وحدة اهتزاز حساس كهرضغطية بسيطة و Visuino
كيف تصنع جرس باب لا يعمل باللمس ، كشف درجة حرارة الجسم ، GY-906 ، 433 ميجاهرتز باستخدام Arduino: 3 خطوات
كيفية صنع جرس باب لا يعمل باللمس ، واكتشاف درجة حرارة الجسم ، GY-906 ، 433 ميجاهرتز باستخدام Arduino: اليوم سنصنع جرس باب لا يعمل باللمس ، وسوف يكتشف درجة حرارة جسمك. في الوقت الحالي ، من المهم جدًا معرفة ما إذا كانت درجة حرارة جسم شخص ما أعلى من المعتاد ، عندما يقوم شخص ما بالتصادم ، سيظهر هذا المشروع الضوء الأحمر إذا اكتشف أي
كشف الزومبي عن بومة الأمان الذكية (التعلم العميق): 10 خطوات (بالصور)
بومة الأمان الذكية للكشف عن الزومبي (التعلم العميق): مرحبًا بالجميع ، ومرحبًا بكم في T3chFlicks! في هذا البرنامج التعليمي لعيد الهالوين ، سنعرض لك كيف نضع تطورًا مخيفًا للغاية على منزل تقليدي عادي: الكاميرا الأمنية. كيف؟! لقد صنعنا بومة للرؤية الليلية تستخدم معالجة الصور لتتبع الأشخاص
كشف العقبات بشكل غير متزامن باستخدام الموجات فوق الصوتية: 4 خطوات
اكتشف العوائق بشكل غير متزامن باستخدام الموجات فوق الصوتية: أقوم ببناء روبوت من أجل المتعة أريد أن أتحرك فيه بشكل مستقل داخل المنزل. إنه عمل طويل وأنا أقوم به خطوة بخطوة. هذا التركيز القابل للتوجيه على اكتشاف العوائق باستخدام Arduino Mega. أجهزة الاستشعار بالموجات فوق الصوتية HC-SR04 مقابل HY-SRF05 رخيصة الثمن
موفر الدراجات: سيستيما دي إليرتا DIY Para Ciclistas: 4 خطوات
Bikesaver: Sistema De Alerta DIY Para Ciclistas: Bikesaver es un sistema de Iluminación y alerta que involucra un enfoque de la comunidad Maker para que un ciclista pueda crear su propio sistema de iluminridación، así mejorar su seguridadur sus ya ولا شيء آخر