Мазмуну:

Projeto IoT - Система детектору De Fumaça: 5 кадам
Projeto IoT - Система детектору De Fumaça: 5 кадам

Video: Projeto IoT - Система детектору De Fumaça: 5 кадам

Video: Projeto IoT - Система детектору De Fumaça: 5 кадам
Video: Детектор дыма Интернета вещей с использованием датчика газа MQ135, Nodemcu ESP8266 и приложения Blynk 2024, Ноябрь
Anonim
Projeto IoT - Система детектору De Fumaça
Projeto IoT - Система детектору De Fumaça

Introdução

FoMa системасынын детектору, IoT коммюникесинде же Androidде орнотулганда, сигналдарды өчүрүп коюуга мүмкүндүк берет. Микроконтроллердин жардамы менен сиз WiFi жана Wi -Fi тармагын аныктай аласыз, сенсордун жардамы менен. Тейлөөнүн жеке маалыматы боюнча, Telegram аркылуу билдирүүлөрдү жөнөтүү системасынын атривациясы сизди кызыктырат.

Desenvolesore

  • Бруно Гонсалвес Перейра
  • Жоао Паулу Тадеу Боргес Пайва
  • Juliana Guimarães Soares Buére
  • Уилан Александр Кондор Асенжо

1 -кадам: Materiais Utilizados

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

Төмөнкү долбоорлорду ишке ашыруу үчүн:

  • Módulo WiFi ESP8266 NodeMcu ESP-12: ESP8266 чиптеринин комбинациясы (WiFi байланышы), usb-series интерфейси жана жөнгө салуу 3.3V. Ардуинодо IDE жана программалык камсыздоону орнотуу, cabo micro-usb аркылуу байланышуу.
  • Sensor de Gás MQ-135 para Gases Tóxicos: O Sensor de Gás MQ-135 é um módulo capas de detarar vários tipos deas gazes tóxicos como amônia, dióxido de karbono, benzeno, óxido nítrico, e também fumaça ou.
  • Led vermelho
  • Led verde
  • 2 каршылык 200Ω
  • Protoboard e jumpers for conexão e teste do prototipo

2 -кадам: ThingSpeakти конфигурациялоо

ThingSpeakти конфигурациялоо
ThingSpeakти конфигурациялоо
ThingSpeakти конфигурациялоо
ThingSpeakти конфигурациялоо
ThingSpeakти конфигурациялоо
ThingSpeakти конфигурациялоо

ThingSpeak жана IoT серверлери IoT үчүн эң керектүү болгон HTTP жана MQTT протоколдору Интернетти жергиликтүү деңгээлде калыбына келтирүү. ThingSpeak уруксаат берүүчү, анализдөө жана жаңылоо боюнча анализдөө.

O ThingSpeak эстутумду бөлүштүрүү үчүн акысыз кызмат көрсөтүүлөрдү бекер кылыңыз (менюну 3 миллионго чейин жеткирүү үчүн 8000 менсацент). Төмөнкү программалардын жардамы менен: стандарттык, академиялык, студенттик жана үй.

ThingSpeak каналынын конфигурациясы

ThingSpeak жок болгондон кийин, каналды тазалоо керек. Добуш берүү процесси эң маанилүү болуп саналат. Cada каналы 8 кампусту камтыйт, бирок бул жерде 3 кампус, атамекен жана 1 статус бар. Каналдын жардамы менен, ThingSpeak аналитикалык-аналитикалык программаларын колдонуңуз.

Төмөнкү пландаштырылган, IoTProject-SmokeDetector 3 каналынын жардамы менен:

  • 1 -талаа: Concentração de gás
  • 2 -талаа: Аларма
  • 3 -талаа: Comando desligar

"Жеке кароо" дегенди караңыз, бул жерде сиз өзүңүздү караңыз. Neste projeto, foram criados:

  • 1 тема боюнча CO2 менен темпти иштетүү
  • 1 signalador de led para indicação de alarme
  • 1 графикти орнотуу темпти басаңдатууну талап кылат

ThingSpeak жок

ThingSpeak каналынын идентификатору (каналдын идентификатору) мүмкүн болгон нерселерди аныктоо үчүн эң ыңгайлуу болуп саналат. "API ачкычтары" деген эмне экенин билбей эле коюңуз (API ачкычын жазыңыз) жана эч нерсе жок (API ачкычын окуу). Башкача айтканда, API суроо -талаптары (HTTP сурамдарды алуу) катары колдонулган файлдарды колдонууга мүмкүндүк берет.

Каналдын идентификатору - бул микроконтроллерди иштетүү эмес. API'лер Android'дин программалык камсыздоолорун колдонуу үчүн колдонулат.

3 -кадам: Aplicativo - MIT App Inventor

Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor
Aplicativo - MIT App Inventor

Бул MIT App Inventor программасынын жардамы менен көзөмөлгө алынат. MIT App ойлоп табуучусу Массачусетс Технология Институтунун (MIT) интерфейсинде интеграцияланган интерфейске ээ. Android жана iOS үчүн колдонмону иштетүү керек.

Мисалы, MIT App Inventor программасын ойлобогула, бул IotProject_SmokeDetector программасы.

Дизайнердин жардамы менен монтар телеканалдарды колдонууга мүмкүндүк берет, керектүү компоненттерди тандоо керек (ботолор, этикеткалар, сүрөттөр ж. Төмөнкү компоненттерди тандап алыңыз, өзөктөрдүн конфигурациясын, конфигурациясын, позициясын, менюдан тышкаркы менеджерди (Properties) жок кылыңыз.

Блокторду өчүрүү программасы колдонмонун эң чоң программасы болуп саналат. А блоктордун программасы, аларды жеңилдетүү жана жеңилдетүү.

Explicação do código

Ар кандай маалыматты табуу: alarmData жана sensorData.

Бул 1 -сегментте (Clock1 аныкталганда), ал эми "API ачкычтары" деген аталышта ThingSpeak атрибута да, URL дареги да жок. Бул жерде сенсордун корреспонденциясы бар, ал эми CO2 жана башка байланыштар CO2 менен байланышат. Сыноо үчүн:

  1. Эскерткичтер (alarmData = 1), же колдонмону колдонуу үчүн "Атенсация! Кандай гана болбосун!" e o botão de desligar alarme (Button1) eabilabilado.
  2. Эскертүү жок (alarmData = 0), ал эми "Үйрөнбөңүз! Эч нерсе эмес!" e o botão de desligar alarme (Button1) e desabilitado.

Clicado үчүн кнопканы басуу (Button1), Field3 кампосу жок 1: кампада эч кандай ThingSpeak жок, демек, сиз да сигнализацияңызды жок кылсаңыз болот. ThingSpeak através же URL даректери боюнча "API ачкычтары" көчүрмөсүн өчүрүү керек.

4 -кадам: Montagem Do Protótipo

Montagem Do Protótipo
Montagem Do Protótipo

О прототиптер эч кандай протоколго ээ эмес.

Сенсор MQ135

  • Pino AO: AD0 менен ESP8266 байланышкан
  • Pino GND: GSP жана ESP8266 менен байланышкан
  • Pino Vcc: ESP8266 менен VIN туташуу

LED верде

  • Каршылык көрсөтүүчү резервуар 200 Ω жок, D5 жана ESP8266 модулу жок.
  • Жарык диоддун конструкциясы (позитивдүү) - резистор
  • Жарык диоддун конструкциясы (негатив - менор) GND жана ESP8266 менен иштебейт

LED vermelho

  • Контракт 200 эсе да DSP жана ESP8266 жок.
  • Жарык берүүчү LED (позитивдүү) - резистор
  • Жарык диоддун контуру (негативдүү - менордук) эч кандай GND жана ESP8266

5 -кадам: Microcontrolador программасы

Микроконтроллер ESP8266 программасы Arduino IDE программасын колдонууга мүмкүндүк берет (жүктөп алуу үчүн акысыз).

Ооба, бул жерде эч кандай акыркы окуу куралы жок (Iot_project.ino). Негизги функциялар: орнотуу электрондук цикли.

Fluxo орнотуу:

  • Порталдын сериясы
  • Inicializa os outputs (pinos dos leds)
  • WiFi'ди кайра иштетүү
  • ThingSpeak

Fluxo do loop:

  • Сенсор MQ135
  • CO2 концентрациясын аныктоодо (идеалдуу: CO2 <= 700 ppm)

    • Лиганын сигнализациясы (LED велому), же LED статусун (версиясын) көрүү үчүн телеграмманы колдонуңуз.
    • Сүрөттөмө кайра англисче (Кошмо Штаттар) тилине которулсун Которуу Desliga o alarme (LED vermelho) e liga o LED de status (verde) se o valor estiver abaixo do limite.
  • ThingSpeak'ти иштеткенден кийин "комментарий берүү" керек

    Команда = 1, сигнализация (LED вермело) e liga o LED де статусу (верде)

  • Сенсорлорду иштетүү, ThingSpeak жана башка 20 дабалоо сигналдарын берүү

Abaixo программасы программаны иштеп чыгуунун негизги принциптери болуп саналат.

WiFi менен иштөө

Абу IDE Arduino менен, File-> Preferences eadicione кошумча башкармалыктын менеджери URL даректери

Башкача айтканда, Аспаптар-> Такта-> Такта менеджери ESP8266, ESC8266 жана башкалар.

Төмөнкү эки вариантты аныктоо керек:

  • WIFI_SSID: Wi -Fi тармагын калыбына келтирүү системасы
  • WIFI_PASSWORD: сиз дагы жооп бериңиз

Wifi конфигурацияланганда, WIFI тизмелерин жүктөөдө эч кандай күч ESP8266 жок.

#кошуу /************************ ABAIXO АФИНИФИКАТЫНДА АЛТАРА ******************* *******/ #define WIFI_SSID "YOUR WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "your WIFI PASSWORD" // Сенха да rede wifi WiFiClient client; ConnectToWiFi (жараксыз) {/ Tech conectar ao wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {кечигүү (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP дареги:"); Serial.println (WiFi.localIP ()); } // Орнотуу void орнотуу () {Serial.begin (115200); кечиктирүү (50); // ConnectToWiFi (же Wi -Fi менен байланышуу); }

Lendo dados сенсор MQ135

MQ135 сенсорунун жардамы менен, MQ135.h жана bdulioteca китептеринин тизмеси MU135.h жана IDE менен Arduino атравелеринин менюсундагы Skecth-> Include Library-> Add. ZIP Library.

Депоиз, көчүрмөнү жүктөбөңүз, ESP8266 атрибуттарын микро-USBге жүктөбөңүз. CO2 эмнени аныктайт жана CO2 эмнени көрсөтөт, сериялык монитор жок.

#кошуу "MQ135.h" #аныктоо SMOKE_SENSOR A0 // IO do sensor de fumaça float sensorValue; // Орнотуу void void setup () {Serial.begin (115200); кечиктирүү (50); } // Loop main void loop () {// FQ leitura do sensor MQ135 gasSensor = MQ135 (SMOKE_SENSOR); sensorValue = gasSensor.getPPM (); Serial.print ("CO2 Concentracao (ppm):"); Serial.println (sensorValue); }

ThingSpeakти жасаңыз

Primeiro, Biblioteca do ThingSpeak no Arduino IDE. Аспаптар-> Такта-> Такта менеджери ThingSpeakти орнотуп, аларды орнотуп коюңуз.

ThingSpeak акысыз жүктөп берүү, жүктөө 20 күндүн ичинде, атүгүл жүктөлүп берилгенде, эч кандай жаңылыктар жок, бирок алар эч качан жок кылынбайт.

ThingSpeak комментарийлеринин шарттары aaixo катары аныкталат:

  • myChannelNumber: ThingSpeak каналынын каналы жок
  • myWriteAPIKey: ThingSpeak каналына кирүү
  • myReadAPIKey: ThingSpeak каналына кирүү

ThingSpeak комментарийлеринин көчүрмөлөрү, көчүрүү же жок кылуу, ESP8266 жүктөө үчүн эч кандай өзгөрүү болбогондой эле, аларды алмаштыруу керек.

#кошуу #кошуу /************************ ABAIXO ДЕФИНИЦИВАСЫНА ӨЗГӨРТҮҮ ***************** *********/ #define WIFI_SSID "YOUR WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "YOUR WIFI PASSWORD" // Сенха да rede wifi #define THINGSPEAK_WRITE_INTERVAL 20000 // Интервалдар жана интервьюлар dados ao ThingSpeak /************************ VARIÁVEIS ABAIXO АЛТЫНДА ****************** ********/ unsigned long myChannelNumber = 0000000; // ThingSpeak const char * myWriteAPIKey = "канал жазуу api ачкычы"; // ThingSpeak const char * myReadAPIKey = "окуу api ачкычы" каналын иштетүү; // ThingSpeak unsigned long lastTime каналын иштетүү; кол коюлбаган узак currentTime; WiFiClient кардары; ConnectToWiFi (жараксыз) {wifi vexexxx} {// api.telegram.org configTime (0, 0, "pool.ntp.org") үчүн тамыр сертификатынын конфигурациясы; clientSecure.setTrustAnchors (& cert); // Wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {кечигүү (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println (WiFi.localIP ()); } // Орнотуу void орнотуу () {Serial.begin (115200); кечиктирүү (50); // ConnectToWiFi (же Wi -Fi менен байланышуу); // In ThingSpeak lastTime = 0; ThingSpeak.begin (кардар); } // Loop main void loop () {currentTime = millis (); // тез темпте // ThingSpeak int value = ThingSpeak.readIntField (myChannelNumber, 1, myReadAPIKey); Serial.println ("Ding no campo 1 do ThingSpeak:"); Serial.println (мааниси); // ThingSpeak if ((currentTime - lastTime> THINGSPEAK_WRITE_INTERVAL)) {ThingSpeak.setField (1, 100); ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey); lastTime = currentTime; } кечигүү (20000); }

Enviando notificação pelo Telegram

Премьер -министр, Biblioteca do Telegram no Arduino IDE. Аспаптар-> Такта-> Такта менеджери UniversalTelegramBotтун тизмесине кирет, жана алар орнотулат.

Телеграмма электрондук почта дарегине жазылгыла, анткени бул Бот. Primeiro, bot botfather e clique nele сатып алыңыз. Дагы бир жаңылык, бул жерде эч кандай көйгөй жок. Дисциплинасы /newbot электрондук почта көрсөтмөлөрү боюнча. Колдонуу шарттары. Ботту иштетүү үчүн бот, үн каттарын алуу мен үчүн эң маанилүү шилтеме. ESP8266 эскертмелери үчүн эскертмелерди жана дайындарды сактап коюңуз.

Телеграм, IDBot жана башка көптөгөн нерселерди жасаңыз. Которуу комментарийлеринин тизмеси/маалыматы. Административдик кодуңузду колдонуңуз. ID'ди сактап коюңуз, эскертмелериңизди толтуруңуз.

Телеграммада, WIFIде жана WIFIде кат алышуу үчүн, телеграмманы көчүрүү, ESP8266 жүктөө жок.

#кошуу #кошуу #кошуу /********************* ALTERAR DEFINIÇCHES ABAIXO ******************* *******/ #Define WIFI_SSID "YOUR WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "your WIFI PASSWORD" // Senha da rede wifi #define BOT_TOKEN "CHANGEYOURTOKEN" // Токен do bot do telegram # CHAT_ID "CHANGEYOURCHATID" аныктаңыз // ID X509List cert телеграммасында чатта болуу (TELEGRAM_CERTIFICATE_ROOT); WiFiClientSecure clientSecure; UniversalTelegramBot боту (BOT_TOKEN, clientSecure); // Envia notificação ao Teo void SendTelegramNotification (String message) {bot.sendMessage (CHAT_ID, билдирүү, ""); Serial.println (билдирүү); } // FunTão wifi void vint ConnectToWiFi (void) {// api.telegram.org configTime (0, 0, "pool.ntp.org") үчүн тамыр сертификатынын конфигурациясы; clientSecure.setTrustAnchors (& cert); // Wifi Serial.println ("Conectando à rede WiFi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {кечигүү (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP дареги:"); Serial.println (WiFi.localIP ()); } // Орнотуу void орнотуу () {Serial.begin (115200); кечиктирүү (50); // ConnectToWiFi (же Wi -Fi менен байланышуу); // TestTo notificação pelo telegram SendTelegramNotification ("Testando envio de notificação."); }

Сунушталууда: