25 апреля, 2024

Безопасный запуск фейерверков через Wi-Fi при помощи платы ESP8266 Board и Arduino

Содержание:

Грядёт Новый год, а вместе с ним грядут петарды, хлопушки и фейерверки. Хотя это может быть весело, не исключена вероятность случайных травм и ожогов. Подобными развлечениями лучше заниматься с расстояния. Чтобы добиться этого, мы возьмём стандартные фейерверки и оснастим их нихромовым проводом, реле, платой для дистанционного запуска через сеть Wi-Fi при помощи компьютера или смартфона.

Зачем запускать фейерверки с расстояния?

Хотя запуск фейерверков может быть интересным занятием, это опасное дело. Если фейерверк сработает раньше необходимого или неожиданным образом, можно получить травму. Если же запускать фейерверк дистанционно, даже когда что-то пойдёт не так, серьёзных последствий можно будет избежать. Вы повредите разве что зажимы-«крокодилы» или недорогой микроконтроллер.

Помимо безопасности, дистанционный запуск фейерверка позволит любому человеку с подключенным к Wi-Fi устройством принять участие в запуске без необходимости подходить близко. Даже маленьким детям будет легко нажать на экран планшета или смартфона для запуска фейерверка. Вероятность того, что что-то не получится, значительно снижается.

Ещё дистанционный запуск фейерверка позволяет автоматизировать процесс при помощи программы. Можно указать, в какое время фейерверк будет запущен, задать координаты для множества фейерверков, чтобы они смогли создать уникальные эффекты.

Процесс модификации фейерверка связан с электричеством и из-за этого влечёт за собой некоторые риски. Придётся работать с напряжением и измерять проводимость, зато запуск фейерверков станет более автоматизированным и менее подверженным ошибкам. Вряд ли запуск станет быстрее, поскольку требуется время на обработку фейерверка и тестирование проводимости. Зато появится больше контроля и более богатый выбор фейерверков и места их расположения.

Как запускать фейерверк дистанционно?

Реле работает как выключатель света, оно контролируется при помощи включения и выключения магнита. Когда на электромагнит подаётся питание, металлический переключатель внутри притягивается и переворачивается, замыкая цепь. В результате появляется возможность отказаться от крупного источника питания для нагрева нихромовой катушки в пользу небольшого и безопасного источника для включения и выключения реле.

Чтобы обеспечить расстояние между людьми и фейерверками при запуске, можно рассмотреть несколько вариантов.

Во-первых, можно использовать пару очень длинных проводов, которые идут от реле до нихромового провода, обмотанного вокруг фитиля фейерверка. Один из длинных проводов заземляется на батарею, другой присоединяется к обычно отключенному контакту на реле. При такой простой сборке реле можно использовать для подачи и отключения тока и вручную подавать питание от батареи, чтобы нихромовый провод разогревался и поджигал фитиль.

Во втором варианте проводов меньше, зато применяется микроконтроллер ESP8266, который управляет реле вместо человека. После подключения к реле платы на основе ESP8266, вроде модели D1 Mini, можно создать точку доступа Wi-Fi. Она позволяет переключать реле дистанционно. Можно запрограммировать эти действия при помощи запроса CURL, чтобы быстро активировать D1 Mini. Контакт на плате даёт возможность управлять реле в автоматическом режиме при помощи программы.

Что потребуется для этого проекта?

Для реализации нашей задумки нужны следующие компоненты:

  • Микроконтроллер ESP8266 (желательно плата D1 Mini)
  • Кабель microUSB
  • Небольшое реле (желательно D1 Mini Relay Shield)
  • Монтажная плата
  • Соединительные провода монтажной платы
  • Батарея на 9 В
  • Соединительные провода с зажимами «крокодил» (как минимум 3 набора)
  • Провода (если провода с зажимами «крокодил» окажутся недостаточно длинными)
  • Нихромовый провод 32-AWG
  • Алюминиевый скотч
  • Изолента
  • Цифровой мультиметр
  • Два болта ¼ и две гайки ¼ (необязательно, для создания контактов пускового устройства)
Читать также:  Как устранить ошибки подключения по Wi-Fi в Windows 10

Эти компоненты дадут всё необходимое для создания цепи, которая разогревается при прохождении по ней тока. Алюминиевый скотч и нихромовый провод позволят модифицировать фейерверк, чтобы он мог воспламениться.

Шаг 1: подключение ESP8266 и реле

Для начала нужно скачать код проекта с сайта GitHub. Запустите окно командной строки и наберите следующие команды:

~$ git clone https://github.com/skickar/AirduinoFireworks.git
~$ cd AirduinoFireworks

Теперь у вас есть схема для управления ESP8266 и скрипт для запуска фейерверка.

Дальше выполняется подключение ESP8266 и реле. На контроллере ESP8266 есть контакт, который вы будете использовать для управления фейерверком. В данном случае это контакт D1. Его необходимо подключить к контакту D1 на реле. Если вы используете предохранитель, можно установить реле прямо на ESP8266, как показано на изображении.

Если предохранителя нет, потребуется подключить контакт 5 В контроллера ESP8266 к контакту 5 В на реле, а также контакт заземления ESP8266 к контакту заземления реле. После этого можно подключать контакт D1 к контакту D1 на реле, как показано на изображении ниже.

Шаг 2: доступ к плате в среде разработки Arduino IDE

Подключите ESP8266 к компьютеру при помощи кабеля microUSB. В программном обеспечении Arduino IDE, которое можно скачать и установить с сайта Arduino, потребуется выбрать правильную плату с ESP8266 из списка «Инструменты» (Tools). Возможно, необходимая вам модель в этом списке отсутствует.

В таком случае в меню «Настройки» (Preferences) нажмите на ссылку «Менеджер адресов дополнительных плат» (Additional Board Manager URLs) и вставьте туда следующий адрес:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

После этого вы сможете выбрать плату на основе ESP8266 в программной среде Arduino IDE в разделе Инструменты > Платы (Tools > Board).

Шаг 3: запись кода в ESP8266

В приложении Arduino запустите схему AirduinoFireworks.ino, которую скачали в шаге 1. Вы увидите следующий код:

/*
  This a simple example of the aREST Library for the ESP8266 WiFi chip.
  See the README file for more details.

  Written in 2015 by Marco Schwartz under a GPL license.
*/

// Import required libraries
#include <ESP8266WiFi.h>
#include <aREST.h>

// Create aREST instance
aREST rest = aREST();

// WiFi parameters
const char* ssid = "Fudruckers";
const char* password = "00000000";

// The port to listen for incoming TCP connections
#define LISTEN_PORT           80

// Create an instance of the server
WiFiServer server(LISTEN_PORT);

// Variables to be exposed to the API
int temperature;
int humidity;

// Declare functions to be exposed to the API
int ledControl(String command);

void setup(void)
{
  // Start Serial
  Serial.begin(115200);

  // Init variables and expose them to REST API
  temperature = 24;
  humidity = 40;
  rest.variable("temperature",&temperature);
  rest.variable("humidity",&humidity);

  // Function to be exposed
  rest.function("led",ledControl);

  // Give name & ID to the device (ID should be 6 characters long)
  rest.set_id("1");
  rest.set_name("esp8266");

  // Setup WiFi network
  WiFi.softAP(ssid, password);
  Serial.println("");
  Serial.println("WiFi created");

  // Start the server
  server.begin();
  Serial.println("Server started");

  // Print the IP address
  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);
}

void loop() {

  // Handle REST calls
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  while(!client.available()){
    delay(1);
  }
  rest.handle(client);

}

// Custom function accessible by the API
int ledControl(String command) {

  // Get state from command
  int state = command.toInt();

  digitalWrite(6,state);
  return 1;
}

Этот код создаёт точку доступа Wi-Fi и позволяет отправлять через интернет запросы для управления контактами на плате ESP8266. Нажмите на кнопку загрузки в виде направленной вправо стрелки, чтобы установить этот код на ESP8266, и дождитесь завершения процесса. После этого можно протестировать управление при помощи реле.

Читать также:  Как настроить сервер VPN на Windows 10

Шаг 4: подключение к сети Wi-Fi для управления реле

На компьютере, с которого вы собираетесь управлять запуском фейерверка, подключитесь к сети Wi-Fi управления реле под названием Fudruckers и введите пароль 00000000. После подключения к сети убедитесь, что вы выбрали нужную сеть. Дальше необходимо выполнить тесты, чтобы убедиться в правильном функционировании реле. Мы будем использовать автоматическую программу запуска, чтобы отправлять через беспроводную сеть запросы для тестирования реле.

Шаг 5: запуск скрипта firing.sh

В окне командной строки на компьютере запустите скрипт для тестирования реле. Перейдите в папку firing.sh, где находится этот скрипт. Её вы скачали в шаге 1 с GitHub. Запустите этот скрипт при помощи указанных ниже команд. Если он работает, через несколько секунд вы услышите щелчок реле.

~$ bash firing.sh

{"message": "Pin D1 set to 1", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}
{"message": "Pin D1 set to 1", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}
{"message": "Pin D1 set to 0", "id": "1", "name": "esp8266", "hardware": "esp8266", "connected": true}

Если всё сработало, можно подключать провода и начинать настоящее тестирование фейерверка.

Шаг 6: подключение двух проводов к реле

На реле нужно прикрутить провода к контакту посередине, который также известен как общий контакт, и обычно открытому контакту с пометкой NO. Связь между ними отсутствует, пока вы не активируете реле.

Когда вы подсоединили провода, замотайте концы изолентой, чтобы они случайно не коснулись друг друга. Подключённый к общему контакту провод другим концом позже подсоедините к плюсу на батарее, а подключенный к контакту NO провод подключается к нихромовому проводу.

Шаг 7: наполовину замотайте фейерверк алюминиевым скотчем

С той стороны, где находится фитиль, обмотайте половину фейерверка при помощи алюминиевого скотча, чтобы он не заходил на другую половину. Вторую половину замотайте изолентой, оставив между двумя обмотками пространство.

Для стабильности можно добавить ножки, скрутив алюминиевый скотч и прикрепив его к каждой половине фейерверка. Прежде чем подсоединять нихромовый провод, протестируйте подключение, прикоснувшись мультиметром к обеим половинам фейерверка. Между ними не должен идти электрический ток.

Шаг 8: обрежьте и установите нихромовый провод

Отрежьте необходимое количество нихромового провода, затем сверните его в форме буквы V. Согните верхнюю часть провода, как показано на изображении ниже. Если ваш провод толще, чем 36 AWG, вместо этого попробуйте намотать небольшое количество вокруг фитиля.

Дальше поместите нижнюю часть провода в форме V в место вхождения фитиля внутрь фейерверка.

Наконец, примотайте нихромовый провод к фейерверку, заполняя зазор между двумя алюминиевыми сторонами. Используйте дополнительный алюминиевый скотч. Убедитесь, что он не соединяет две половины фейерверка. Это должен делать только нихромовый провод.

Теперь пора измерить соединение между двумя половинами алюминия. Прежде чем начать, вынесите фейерверк на открытый воздух за пределы помещения. При измерении по цепи протекает ток. Хотя вероятность невелика, всё же есть небольшой шанс воспламенения.

Читать также:  Лучшие VPN для Kodi (все расширения): быстрый и конфиденциальный стриминг

Шаги 9: протестируйте соединение и установите фейерверк

Установите фейерверк в надёжное место подальше от воспламеняющихся объектов. Убедитесь, что основание пускового устройства надёжно закреплено.

Когда фейерверк установлен, возьмите мультиметр и проверьте соединение между двумя сторонами фейерверка при помощи зажимов-«крокодилов». Если электричество способно проходить с одной стороны фейерверка на другую через нихромовый провод, всё готово к запуску.

Если на экране мультиметра вы видите значение 1, ток не проходит. Попробуйте добавить больше алюминиевого скотча обратной стороной. Клей на скотче плохо проводит электричество и может блокировать соединение.

Когда вы стабильно получаете положительный результат, можно заняться окончательными приготовлениями к запуску фейерверка.

Если он запускается из трубы вроде мортиры или ракеты, она должна быть абсолютно гладкой. В репозитории Github можно найти идеи по созданию пусковых установок. Как можно увидеть на изображении выше, можно создать слоты с алюминиевым скотчем на пусковой установке, чтобы он подходил под алюминиевые ножки фейерверка.

Шаг 10: подключение батареи

Последний шаг заключается в подсоединении плюса батареи 9 В к общему контакту реле. После этого ток может проходить, когда отправляется команда с платы D1 Mini. Без самого фейерверка цепь будет выглядеть так:

Когда вы подключили батарею, отойдите на безопасное расстояние и начните процедуру запуска.

Шаг 11: подключение к сети управления и запуск скрипта firing.sh

На компьютере снова подключитесь к сети Wi-Fi под названием Fudruckers, если вы прежде отключились от неё. Введите пароль 00000000. В папке AirduinoFireworks вы найдёте скрипт под названием firing.sh, который осуществляет управление реле. Содержимое скрипта представлено ниже:

#! bin/bash

sleep 5 && say "the computer has control, counting down from 5" && curl http://192.168.4.1/analog/1/1 && sleep 5 && say "firing" && curl http://192.168.4.1/digital/1/1 && sleep 5 && say "Safe" && curl http://192.168.4.1/digital/1/0

Чтобы запустить реле, очистите окно командной строки и введите следующую команду:

~$ bash firing.sh

Происходит громкое оповещение, что реле собирается осуществить запуск. Реле активируется на 5 секунд и затем отключается.

Запуск фейерверка с мобильного устройства

Для запуска фейерверка со смартфона на Android или iPhone подключитесь к сети Wi-Fi Fudruckers со смартфона при помощи указанного выше пароля. В адресной строке браузера запустите указанные команды, одну за другой. Или можно сделать это в окне командной строки на компьютере, поместив перед URL curl и пробел.

Чтобы запустить реле, отправьте команду для активации контакта 1. Это позволит активировать его достаточно, чтобы загорелся светодиодный индикатор на реле, но не возбудить катушку.

http://192.168.4.1/analog/1/1

Чтобы запустить активированный контакт, отправьте следующую команду:

http://192.168.4.1/digital/1/1

Наконец, чтобы отключить контакт, нужно перевести его состояние в 0:

http://192.168.4.1/digital/1/0

Предупреждение: любой подключившийся к сети Fudruckers может проделать всё это. Убедитесь, что вокруг нет посторонних, которые могли бы дистанционно активировать фейерверк.

Заключение

При работе над этим проектом нужно соблюдать меры предосторожности:

  • Никогда не направляйте фейерверк себе в лицо!
  • Не тестируйте соединение модифицированного фейерверка в помещении.
  • Надёжно закрепите основание пусковой установки.
  • Если запуск фейерверка не удался, не нужно сразу же снимать его. Необходимо отключить сеть и подождать. Сначала проверьте наличие соединения при помощи мультиметра.
  • После запуска сразу отсоедините батарею.

Добавить комментарий