Оглавление:
- Шаг 1: Materiais Utilizados
- Шаг 2. Настройка Do ThingSpeak
- Шаг 3. Aplicativo - изобретатель приложений MIT
- Шаг 4: Montagem Do Protótipo
- Шаг 5: Программирование микроконтроладора
Видео: Projeto IoT - Sistema Detector De Fumaça: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:47
Введение
Системный детектор Fumaça состоит из решения IoT с целью разрешения или мониторинга аварийных сигналов, связанных с приложениями Android. Этот проект является базовым для микроконтроллера, который поддерживает связь с новым Wi-Fi, и поддерживает обнаружение с помощью сенсора Fumaça. O proprietário da restência congue monitorar o sistema através de um aplicativo e Recebe notificações через Telegram em caso de ativação do alarme de incêndio.
Desenvolvedores
- Бруно Гонсалвеш Перейра
- Жоао Паулу Тадеу Борхес Пайва
- Джулиана Гимарайнш Соарес Буэре
- Виллан Александр Кондор Асенхо
Шаг 1: Materiais Utilizados
Os materiais utilizados para construção do projeto foram:
- Módulo WiFi ESP8266 NodeMcu ESP-12: Плата за преобразование в комбинацию микросхемы ESP8266 (коммуникационный WiFi), интерфейс USB-последовательный порт и напряжение 3,3 В. Программа позволяет использовать IDE для Arduino, обеспечивая связь через кабель micro-usb.
- Датчик газа MQ-135 для токсичных газов: Датчик газа MQ-135 - это устройство, способное обнаруживать различные типы газов, токсичных для амонии, диоксидо-де-карбоно, бензо, оксидо-нитрико и т.д.
- Led vermelho
- Led Verde
- 2 резистора 200 Ом
- Протоборд и прыгуны для испытаний и испытаний
Шаг 2. Настройка Do ThingSpeak
O ThingSpeak - это сервис платформы IoT для использования и восстановления данных или протокола HTTP и MQTT в Интернете или на локальном уровне. ThingSpeak позволяет просматривать, визуализировать и анализировать потоки данных на новом уровне.
O ThingSpeak предоставляет бесплатную услугу для pequenos projetos não comerciais (menos de 3 milhões de mensagens por ano ou aproximadamente 8000 mensagens por dia). Para projetos maiores or aplicações comerciais, quatro tipos Diferentes de licença anual são oferecidos: Standard, Academic, Student и Home.
Configuração de um canal no ThingSpeak
Após criar uma conta no ThingSpeak, это необходимо для канала. Os canais armazenam os dados enviados de umterminado projeto. Канал Cada включает 8 кампусов, которые проходят через квалификационные типы дадосов, в основном 3 зоны для локализационных дадов и 1 по статусам. Depois de coletar dados em um canal, voiceê pode usar os aplicativos ThingSpeak для анализа и визуализации.
Для этого проекта, для доступа к каналу com nome IoTProject-SmokeDetector и 3 объектам для окружающей среды:
- Поле 1: Concentração de gás
- Поле 2: Тревога
- Поле 3: Командо дезлигар
Na aba "Private View" - это возможно, как визуализация кадра ум душ кампос криадос. Neste projeto, foram criados:
- 1 график с концентрацией CO2 в темпе
- 1 световой индикатор для индикации тревоги
- 1 график комм. Os dados de comando de desligar alarme em função do tempo
Leitura e escrita no ThingSpeak
Канал делает ThingSpeak - это критический код для универсального идентификатора (идентификатор канала), который можно использовать для идентификации для окружающей среды и лекций. «Ключи API» не используются в качестве ключей для ключей («Запись ключа API») и лекций («Чтение ключа API») без доступа к каналу. Все, что вам нужно, это использовать как запросы API (HTTP-запросы на получение), которые используются для запросов и запросов.
O Identificador do canal e as chaves serão usadas posteriormente no código do microcontrolador. Já as API-запросы используются в приложениях для Android.
Шаг 3. Aplicativo - изобретатель приложений MIT
Это приложение для мониторинга системы, используемой в MIT App Inventor. MIT App Inventor - это бесплатный веб-сайт с открытым кодом для интеграции прикладных программ Массачусетского технологического института (MIT). Позвольте этой программе работать с приложениями для Android и iOS.
Для удобства, если вы не используете MIT App Inventor, этот проект работает с IotProject_SmokeDetector.
Na tela de Designer - возможный вид, как элементы, делающие aplicativo, выбор необходимых компонентов (боты, этикетки, изображения и т. Д.) No menu lateral esquerdo (Палитра). Para cada um dos components selecionados, é possible alterar configurações de cores, tamanho, posição, entre outras no menu lateral direito (Свойства).
Na tela Blocks - это приложение для логической программы. A programação é feita através de blocos, fastenando o desenvolvimento para iniciantes.
Explicação do código
Другие варианты местоположения são inicializadas: alarmData e sensorData.
Один шаг (определение Clock1), или приложение, которое используется для запроса данных без канала ThingSpeak, содержит URL-адрес данных, которые вы использовали для копирования на «API-ключи». Quando os dados são retornados, o dado do sensor corredente à concentration de gás CO2 is 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.
- Если тревога не действует (alarmData = 0), или приложение использует сообщение «Нет предварительной записи! e o botão de desligar alarme (Button1) é desabilitado.
Quando o botão de desligar alarme (Button1) для кликадо, o aplicativo escreverá 1 no campo Field3: comando desligar criado no ThingSpeak, indicando que o commando de desligar alarme foi acionado. Это приложение для ThingSpeak содержит URL-адрес, который используется для копирования данных на «API-ключи».
Шаг 4: Montagem Do Protótipo
O protótipo foi montado no protoboard conorme indicado na figura.
Датчик MQ135
- Pino AO: conectado ao pino AD0 do módulo ESP8266
- Pino GND: соединение и GND с модулем 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 резистор
- Conectar o catodo do LED (negativo - menor perna) no GND do módulo ESP8266
LED vermelho
- Conectar имеет дорезистор 200 Ом без подключения D7 к модулю ESP8266.
- Conectar o anodo do LED (positivo - maior perna) на outra perna do резистор
- Conectar o catodo do LED (negativo - menor perna) no GND do módulo ESP8266
Шаг 5: Программирование микроконтроладора
Микроконтроллер делает модуль ESP8266 для программы, использующей IDE для Arduino (доступ к загрузке).
Полное руководство по использованию проекта без окончательного учебного пособия (Iot_project.ino). Основные принципы работы: настройка и петля.
Настройка Fluxo do:
- Инициализация серийного порта
- Выходы inicializa os (светодиоды pinos dos)
- Conecta à rede WiFi
- Инициализация о ThingSpeak
Цикл Fluxo do:
- Lê os dados do сенсор MQ135
-
Проверьте концентрацию сверхвысокого уровня CO2 или определенную границу (идеальный вариант: CO2 <= 700 ppm)
- Liga o alarme (LED vermelho), desliga o LED de status (verde) и envia notificação pelo Telegram se o valor estiver acima do limit
- Desliga o alarme (LED vermelho) и liga o LED de status (verde) se o valor estiver abaixo do limit
-
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.
Conectando na rede WiFi
Откройте IDE для Arduino, а затем выберите File-> Preferences eadicione em Additional Board Manager URLs a URL
Выберите один из следующих инструментов: Инструменты-> Платы-> Диспетчер плат, цифровой ESP8266, нажмите кнопку, чтобы установить и загрузить.
Необходимо определить 2 варианта для одновременного использования:
- WIFI_SSID: нет доступа к Wi-Fi, подключенному к другой системе.
- WIFI_PASSWORD: senha da rede
Для тестирования подключения к Wi-Fi, копирования или подключения к сети, а также для других вариантов подключения к Wi-Fi списки подключенных и загружаемых фасадов без модуля ESP8266.
#include / *********************** ИЗМЕНИТЬ, КАК ОПРЕДЕЛЕНИЕ ABAIXO ******************* ******* / #define WIFI_SSID "ВАШ WIFI SSID" // Nome da rede wifi #define WIFI_PASSWORD "YOUR WIFI PASSWORD" // Senha da rede wifi WiFiClient client; // Функция подключения к Wi-Fi void ConnectToWiFi (void) {// Подключение к Wi-Fi Serial.println ("Подключение к Wi-Fi"); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); в то время как (WiFi.status ()! = WL_CONNECTED) {задержка (500); Serial.print ("."); } Serial.println (""); Serial.println («Wi-Fi conectado com sucesso!»); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // Настраиваем пустую настройку () {Serial.begin (115200); задержка (50); // Conecta ao wifi ConnectToWiFi (); }
Lendo dados do сенсор MQ135
Для того, чтобы сделать датчик MQ135, нужно создать новую библиотеку MQ135.h и добавить IDE для Arduino, сделав меню Skecth-> Include Library-> Add. ZIP Library.
Депо, копирование или запись на компьютере и на фасаде не загружайте модуль ESP8266, который можно подключить к кабелю micro-usb. Если вы хотите получить концентрацию CO2 в миллионных долях и не использовать серийный монитор.
#include "MQ135.h" #define SMOKE_SENSOR A0 // IO do sensor de fumaça float sensorValue; // Настраиваем пустую настройку () {Serial.begin (115200); задержка (50); } // Основной цикл void loop () {// Faz leitura do sensor MQ135 gasSensor = MQ135 (SMOKE_SENSOR); sensorValue = gasSensor.getPPM (); Serial.print («Концентрация CO2 (ppm):»); Serial.println (sensorValue); }
Escrevendo e lendo dados do ThingSpeak
Примейро, создатель библиотеки, делающей ThingSpeak без Arduino IDE. Используйте Инструменты-> Доски-> Менеджер плат Digite ThingSpeak, нажмите их, чтобы установить и загрузить.
Бесплатная версия для ThingSpeak, загружает данные, полученные в течение 20 секунд, пор иссо, не содержит кодов, используемых для тестирования, в настоящее время или в момент, когда они используются.
Для общения с ThingSpeak необходимо определить как различные варианты:
- 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, copy o código abaixo, altere as different para conexão na rede e as different listadas acima e faça upload 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 / *********************** ИЗМЕНИТЬ, КАК ВАРИАВЕЙС АБАЙСО ****************** ******** / unsigned long myChannelNumber = 0000000; // Número do canal do ThingSpeak const char * myWriteAPIKey = "ваш ключ api записи"; // Chave de escrita do canal do ThingSpeak const char * myReadAPIKey = "ваш ключ API чтения"; // Легенда канала делает ThingSpeak unsigned long lastTime; unsigned long currentTime; Клиент WiFiClient; // Função que faz a conexão wifi void ConnectToWiFi (void) {// Настроить корневой сертификат для api.telegram.org configTime (0, 0, "pool.ntp.org"); clientSecure.setTrustAnchors (& cert); // Подключение к Wi-Fi Serial.println («Подключить Wi-Fi»); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); в то время как (WiFi.status ()! = WL_CONNECTED) {задержка (500); Serial.print ("."); } Serial.println (""); Serial.println («Wi-Fi conectado com sucesso!»); Serial.println (WiFi.localIP ()); } // Настраиваем пустую настройку () {Serial.begin (115200); задержка (50); // Conecta ao wifi ConnectToWiFi (); // Инициализация ThingSpeak lastTime = 0; ThingSpeak.begin (клиент); } // Основной цикл цикла void loop () {currentTime = millis (); // настройка темпа // Lê dados do ThingSpeak int value = ThingSpeak.readIntField (myChannelNumber, 1, myReadAPIKey); Serial.println ("Дадо но кампо 1 делать ThingSpeak:"); Serial.println (значение); // Проверяем данные, полученные при помощи данных о ThingSpeak if ((currentTime - lastTime> THINGSPEAK_WRITE_INTERVAL)) {ThingSpeak.setField (1, 100); ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey); lastTime = currentTime; } задержка (20000); }
Уведомление об изменениях в Telegram
Примейро, создатель библиотеки Telegram без Arduino IDE. Используйте Инструменты-> Доски-> Диспетчер плат, цифровой UniversalTelegramBot, нажмите и установите и загрузите.
Abra o Telegram e siga as próximas etapas for crear um Bot. Примейро, достань отца-отца и клику Неле. A janela seguir deve abrir e voiceê será solicitado clicar no botão Iniciar. Digite / newbot e siga как инструкции для своего бота. Dê a element nome e nome de usuário. Seo seu bot for criado com sucesso, voiceêreceberá uma mensagem com um link for acessar or bot e or token do bot. Salve o token, Porque Você Precisará Dele Para Que o ESP8266 Possa Enviar notificações.
Следите за тем, чтобы продолжить работу с Telegram, используйте IDBot. Inicie Uma Conversa com esse bot e digite / getid. Você recberá uma resposta com seu ID de usuário. Salve o ID, Porque Você Precisará Dele Para enviar de notificações.
Для проверки отправки уведомлений о телеграмме, копии или исходного кода, изменения как различные параметры, определенные для подключения к WIFI и для связи с Telegram (BOT_TOKEN и CHAT_ID), и загрузки факсов без модуля ESP8266.
#include #include #include / ********************* АЛЬТЕРНЫЕ ОПРЕДЕЛЕНИЯ 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" // Токен для отправки телеграммы # define CHAT_ID "CHANGEYOURCHATID" // ID для чата в телеграмме X509List cert (TELEGRAM_CERTIFICATE_ROOT); WiFiClientSecure clientSecure; Бот UniversalTelegramBot (BOT_TOKEN, clientSecure); // Envia notificação ao Telegram void SendTelegramNotification (String message) {bot.sendMessage (CHAT_ID, message, ""); Serial.println (сообщение); } // Função que faz a conexão wifi void ConnectToWiFi (void) {// Настроить корневой сертификат для api.telegram.org configTime (0, 0, "pool.ntp.org"); clientSecure.setTrustAnchors (& cert); // Подключение к Wi-Fi Serial.println («Подключить Wi-Fi»); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); в то время как (WiFi.status ()! = WL_CONNECTED) {задержка (500); Serial.print ("."); } Serial.println (""); Serial.println («Wi-Fi 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."); }
Рекомендуемые:
Pequeno Projeto De Uma Casa Inteligente: 5 шагов
Pequeno Projeto De Uma Casa Inteligente: O projeto que faremos é uma casa inteligente. Основные возможности группы функций: · Мониторинг иллюминации и температуры
Projeto CoCoa: Um Colete De Comunicação Alternativa: 8 шагов
Projeto CoCoa: Um 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: Вы можете использовать самый лучший детектор для детектора, который выдает все, что нужно, чтобы обнаружить, что вы думаете о воспламенении. Усовершенствованный артефакт: Arduino: здесь есть точная сабля [Guia Completo]. Датчик изображения MQ-2O Датчик изображения MQ-2 чувствителен к фу
Projeto Lumos: 8 шагов
Projeto Lumos: Проект Lumos, состоящий из управления светом, является частью смартфона, подключенного к сети Wi-Fi. Для управления освещением для desenvolvido um aplicativo Android, чтобы разрешить apagar e acender и использовать все
Учебное пособие Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: 4 шага (с изображениями)
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: Нет desenvolvimento desse projeto doi using uma plataforma hibrida, так как это необходимо для того, чтобы получить доступ к рекурсивным платформам для Android или iOS. Для использования компьютера типо ноутбука с Windows 10. Платная платформа Ionic, q