সুচিপত্র:
- ধাপ 1: ম্যাটারিয়াইজ ইউটিলিজাডোস
- ধাপ 2: কনফিগারেশন ডু থিংসস্পিক
- ধাপ 3: অ্যাপলিক্যাটিভো - এমআইটি অ্যাপ উদ্ভাবক
- ধাপ 4: Montagem Do Protótipo
- ধাপ 5: মাইক্রোকন্ট্রোলোডার প্রোগ্রাম করুন
ভিডিও: প্রজেটো আইওটি - সিস্টেম ডিটেক্টর ডি ফুমানা: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
ভূমিকা
O Sistema Detector de Fumaça consiste em uma solução IoT com o objetivo de permitir o monitoramento de alarms 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 detectados por um sensor de fumaça। O proprietário da residência consegue monitorar o sistema através de um aplicativo e recebe notificações via Telegram em caso de ativação do alarme de incêndio।
Desenvolvedores
- ব্রুনো গোনালভেস পেরেইরা
- জোয়াও পাওলো তাদেউ বোর্হেস পাইভা
- জুলিয়ানা গুইমারিস সোয়ারেস বুয়ার
- উইলান আলেকজান্ডার কন্ডর আসেনজো
ধাপ 1: ম্যাটারিয়াইজ ইউটিলিজাডোস
Ma materiais utilizados para construção do projeto foram:
- Muldulo WiFi ESP8266 NodeMcu ESP-12: Placa de desenvolvimento que combina o chip ESP8266 (comunicação WiFi), uma interface usb-serial e um regulador de tensão 3.3V। A programmeção pode ser feita usando a IDE do Arduino, através da comunicação via cabo micro-usb।
- Sensor de Gás MQ-135 para Gases Tóxicos: O Sensor de Gás MQ-135 é um muldulo 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
- নেতৃত্বে vermelho
- নেতৃত্বাধীন
- 2 প্রতিরোধক 200Ω
- Protoboard e jumpers para conexão e teste do protótipo
ধাপ 2: কনফিগারেশন ডু থিংসস্পিক
O 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 analisar fluxos de dados na nuvem।
O 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)। প্যারা প্রজেক্টোস মেইওরস আউ এপ্লিকেশনস কমার্সাইস, কোয়াট্রো টিপোস ডিফারেন্টস ডি লাইসেন্স এ্যানুয়াল সেও অফ এরেসিডোস: স্ট্যান্ডার্ড, একাডেমিক, স্টুডেন্ট এবং হোম।
কনফিগুরাও ডি উম খাল নো থিংসস্পিক
Após criar uma conta no ThingSpeak, é needário criar um খাল। Os canais armazenam os dados enviados de um determinado projeto। Cada খাল 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: কোমান্ডো দেশলিগার
Na aba "Private View" é possível criar as visualizações de cada um dos campos 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 এলার্ম em função do tempo
Leitura e escrita no ThingSpeak
O Canal do ThingSpeak é criado com um identificador único (Channel ID) que possibilita sua identificação para envio e leitura de dados। Na aba "API কী" são disponibilizadas as chaves para escrita (API কী লিখুন) e leitura (পড়ুন API কী) de dados no খাল। Al dism disso, também são disponibilizadas as API Requests (HTTP get request) 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 এপিআই রিকোয়েস্টের জন্য অ্যান্ড্রয়েড অ্যাপলিকেশন ব্যবহার করে।
ধাপ 3: অ্যাপলিক্যাটিভো - এমআইটি অ্যাপ উদ্ভাবক
O aplicativo para monitoramento do systeme foi desenvolvido utilizando o MIT App Inventor। হে এমআইটি অ্যাপ উদ্ভাবক অ্যান্ড্রয়েড এবং আইওএস -এর জন্য এই অ্যাপটি ব্যবহার করা যেতে পারে।
Para começar, após criar uma conta no MIT App Inventor, criou-se um projeto com o nome IotProject_SmokeDetector।
Na tela de Designer é possível montar as telas do aplicativo, selecionando os ingredientses essentialários (botões, labels, imagen, etc.) no menu lateral esquerdo (Palette)। Para cada um dos ingredientses 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 programmação do aplicativo। একটি কর্মসূচী é feita através de blocos, facilitando o desenvolvimento para iniciantes।
Clicdigo এর ব্যাখ্যা
Duas variáveis locais são inicializadas: alarmData e sensorData।
A cada 1 segundo (definido pelo Clock1), o aplicativo faz um request de dados no canal 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। Já o dado do alarm é testado:
- Se o alarm 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 এলার্ম (Button1) é habilitado।
- Se o alarm 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 এলার্ম (Button1) é desabilitado।
Quado 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 কী"।
ধাপ 4: Montagem Do Protótipo
O protótipo foi montado no protoboard conforme indicado na 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 verde
- Conectar uma perna do resistor de 200Ω no pino D5 do módulo ESP8266
- Conectar o anodo do LED (positivo - maior perna) এবং outra perna do resistor
- কানেক্টর ও ক্যাটোডো ডু এলইডি (নেগেটিভো - মেনোর পারনা) কোন জিএনডি ডু ইডু ইএসপি 8266
LED vermelho
- Conectar uma perna doresistor de 200Ω no pino D7 do módulo ESP8266।
- Conectar o anodo do LED (positivo - maior perna) এবং outra perna do resistor
- কানেক্টর ও কাতোডো ডু এলইডি (নেগেটিভো - মেনোর পারনা) কোন জিএনডি মডুলো ইএসপি 8266
ধাপ 5: মাইক্রোকন্ট্রোলোডার প্রোগ্রাম করুন
O microcontrolador do módulo ESP8266 foi programmado utilizando a IDE do Arduino (faça o download aqui)।
O código fonte completo utilizado no projeto pode ser baixado no final deste tutorial (Iot_project.ino)। O código tem duas funções Principais: setup e loop।
ফ্লাক্সো সেটআপ করুন:
- Inicializa একটি পোর্টা সিরিয়াল
- Inicializa os আউটপুট (pinos dos leds)
- ওয়াইফাই সংযোগ করুন
- Inicializa o ThingSpeak
Fluxo do লুপ:
- Lê os dados do sensor MQ135
-
Verifica se a concentração de gás CO2 ultrapassa o limite definido (আদর্শ: CO2 <= 700 ppm)
- লিগা হে এলার্ম (এলইডি ভার্মেলহো), ডেসলিগা ও এলইডি ডি স্ট্যাটাস (ভার্ডে) ই এনভিয়া নোটিফিকেশন পেলো টেলিগ্রাম সে ও ভ্যালার এস্টিভার এসিমা ডো লিমিটেড
- Desliga o এলার্ম (LED vermelho) e liga o LED de status (verde) se o valor estiver abaixo do limite
-
Lê o dado de "comando desligar alarm" do ThingSpeak
Se o comando = 1, desliga o alarme (LED vermelho) e liga o LED de status (verde)
- Envia dados do sensor, do a alarm e de comando para o ThingSpeak a cada 20 segundos
Abaixo será descrita a programmação de cada um dos Principais módulos com o respectivo código para teste।
ওয়াইফাই সংযোগ করুন
Abdu a IDE do Arduino, vá em File-> Preferences eadicione em অতিরিক্ত বোর্ড ম্যানেজার ইউআরএল একটি URL
Em seguida, vá em Tools-> Boards-> Boards Manager digite ESP8266, clique em instalar e fechar।
É needário definir 2 variáveis para conexão na rede:
- WIFI_SSID: Nome da rede WiFi que você deseja conectar seu systemema
- ওয়াইফাই_ পাসওয়ার্ড: সেনহা দা রেড
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।
#অন্তর্ভুক্ত /************************************ ***** // 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.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // সেটআপ দা প্লাকা অকার্যকর সেটআপ () {Serial.begin (115200); বিলম্ব (50); // Conecta ao wifi ConnectToWiFi (); }
Lendo dados do সেন্সর MQ135
Para ler os dados do sensor MQ135, primeiramente 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 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; // সেটআপ দা প্লাকা অকার্যকর সেটআপ () {Serial.begin (115200); বিলম্ব (50); } // লুপ প্রিন্সিপাল ভয়েড লুপ () {// ফাজ লেইটুর ডু সেন্সর MQ135 গ্যাসসেন্সর = 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।
A versão gratuita do ThingSpeak, aceita upload 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 é essentialá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 upload no módulo ESP8266।
#অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন ******* দাদোস আও থিংসস্পিক ********/ স্বাক্ষরবিহীন দীর্ঘ myChannelNumber = 0000000; // Nromero do Canal do ThingSpeak const char * myWriteAPIKey = "your write api key"; // Chave de escrita do Canal do ThingSpeak const char * myReadAPIKey = "আপনার পড়া api কী"; // চ্যাভ দে লেটুরা ডু ক্যানাল ডু থিংসস্পিক স্বাক্ষরবিহীন দীর্ঘ শেষ সময়; স্বাক্ষরবিহীন দীর্ঘ কারেন্টটাইম; ওয়াইফাই ক্লায়েন্ট ক্লায়েন্ট; // Função que faz a conexão wifi void ConnectToWiFi (void) {// 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.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println (WiFi.localIP ()); } // সেটআপ দা প্লাকা অকার্যকর সেটআপ () {Serial.begin (115200); বিলম্ব (50); // Conecta ao wifi ConnectToWiFi (); // Inicializa ThingSpeak lastTime = 0; ThingSpeak.begin (ক্লায়েন্ট); } // লুপ প্রিন্সিপাল ভয়েড লুপ () {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); শেষ সময় = বর্তমান সময়; } বিলম্ব (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। প্রাইমিরো, প্রোকোর পোর বটফাদার ই ক্লিক নেলে। A janela a seguir deve abrir e você será solicitado a clicar no botão Iniciar। Digite /newbot e siga যন্ত্র হিসাবে para 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। Salve o token, porque você precisará dele para que o O ESP8266 possa enviar notificações।
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 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 Telegram (BOT_TOKEN e CHAT_ID) e faça upload no módulo ESP8266
#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #*** *******/ #Difine WIFI_SSID "YOUR WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "YOUR WIFI PASSWORD" // Senha da rede wifi #define BOT_TOKEN "CHANGEYOURTOKOKEN" CHAT_ID "CHANGEYOURCHATID" সংজ্ঞায়িত করুন WiFiClientSecure clientSecure; ইউনিভার্সাল টেলিগ্রামবট বট (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 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.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // সেটআপ দা প্লাকা অকার্যকর সেটআপ () {Serial.begin (115200); বিলম্ব (50); // Conecta ao wifi ConnectToWiFi (); // Testa notificação pelo telegram SendTelegramNotification ("Testando envio de notificação।"); }
প্রস্তাবিত:
সহজ আইওটি - মধ্যম পরিসরের আইওটি ডিভাইসের জন্য অ্যাপ নিয়ন্ত্রিত আরএফ সেন্সর হাব: 4 টি ধাপ
সহজ আইওটি - মধ্যম পরিসরের আইওটি ডিভাইসের জন্য অ্যাপ নিয়ন্ত্রিত আরএফ সেন্সর হাব: এই সিরিজের টিউটোরিয়ালগুলিতে, আমরা এমন একটি ডিভাইস তৈরি করব যা একটি কেন্দ্রীয় হাব ডিভাইস থেকে একটি রেডিও লিঙ্কের মাধ্যমে নিয়ন্ত্রণ করা যাবে। ওয়াইফাই বা ব্লুটুথের পরিবর্তে 433 মেগাহার্টজ সিরিয়াল রেডিও সংযোগ ব্যবহারের সুবিধা হল অনেক বেশি পরিসীমা (ভাল
আইওটি পাওয়ার মডিউল: আমার সোলার চার্জ কন্ট্রোলারে আইওটি পাওয়ার মেজারমেন্ট ফিচার যোগ করা: ১ Ste টি ধাপ (ছবি সহ)
আইওটি পাওয়ার মডিউল: আমার সোলার চার্জ কন্ট্রোলারে একটি আইওটি পাওয়ার মেজারমেন্ট ফিচার যোগ করা: সবাইকে হ্যালো, আমি আশা করি আপনারা সবাই দারুণ! এই নির্দেশে আমি আপনাকে দেখাতে যাচ্ছি কিভাবে আমি একটি আইওটি পাওয়ার মেজারমেন্ট মডিউল তৈরি করেছি যা আমার সৌর প্যানেল দ্বারা উত্পন্ন বিদ্যুতের পরিমাণ গণনা করে, যা আমার সৌর চার্জ নিয়ন্ত্রক দ্বারা ব্যবহৃত হচ্ছে
আইওটি মেইনস কন্ট্রোলার। পার্ট 9: আইওটি, হোম অটোমেশন: 10 টি ধাপ (ছবি সহ)
আইওটি মেইনস কন্ট্রোলার। পার্ট 9: আইওটি, হোম অটোমেশন: এই দাবীটি সর্বপ্রথম পড়ুন এই নির্দেশযোগ্য একটি প্রকল্প যা মূল শক্তি ব্যবহার করে (এই ক্ষেত্রে ইউকে 240VAC RMS), যখন নিরাপদ অনুশীলন এবং ভাল ডিজাইনের নীতিগুলি ব্যবহার করার জন্য প্রতিটি যত্ন নেওয়া হয়েছে সেখানে সর্বদা সম্ভাব্য প্রাণঘাতী ঝুঁকি রয়েছে নির্বাচন করুন
IOT স্মোক ডিটেক্টর: IOT দিয়ে বিদ্যমান স্মোক ডিটেক্টর আপডেট করুন: 6 টি ধাপ (ছবি সহ)
আইওটি স্মোক ডিটেক্টর: আইওটি সহ বিদ্যমান স্মোক ডিটেক্টর আপডেট করুন: অবদানকারীদের তালিকা, আবিষ্কারক: টান সিউ চিন, টান ইয়েট পেং, ট্যান উই হেনং সুপারভাইজার: ডক্টর চিয়া কিম সেং মেকাট্রনিক এবং রোবটিক ইঞ্জিনিয়ারিং বিভাগ, ইলেকট্রিক্যাল অ্যান্ড ইলেকট্রনিক ইঞ্জিনিয়ারিং অনুষদ, ইউনিভার্সিটি টিউন হুসেইন অন মালয়েশিয়া ডিস্ট্রিবিউট
ডিং ডং ডাইচ রোবট: 19 টি ধাপ
ডিং ডং ডাইচ রোবট: আপনার পালঙ্ক থেকে কেলেঙ্কারির উপায়