Оглавление:

Лампа IoT Design с IFTTT: 7 шагов (с изображениями)
Лампа IoT Design с IFTTT: 7 шагов (с изображениями)

Видео: Лампа IoT Design с IFTTT: 7 шагов (с изображениями)

Видео: Лампа IoT Design с IFTTT: 7 шагов (с изображениями)
Видео: IoT#6 Часы на неоновых индикаторах, семисегментных и ЭЛТ 2024, Июль
Anonim
Лампа IoT Design с IFTTT
Лампа IoT Design с IFTTT
Лампа IoT Design с IFTTT
Лампа IoT Design с IFTTT

В этом руководстве я расскажу вам, как создать функциональную и стильную светодиодную лампу с подключением к Интернету.

Этим необычным дизайнерским объектом можно управлять с помощью веб-приложения или онлайн-сервиса IFTTT. Последний позволяет подключать лампу ко всем видам внешних сервисов, таких как Google Assistant, Alexa, Android-уведомления, время и дата, прогноз погоды и т. Д. Этот проект предполагает базовые знания ESP8266 и редактора Arduino.

Шаг 1: Соберите электронику

Собери электронику!
Собери электронику!
Собери электронику!
Собери электронику!

Для этого проекта вам понадобится следующее:

  • NodeMCU или другой микроконтроллер ESP8266
  • Светодиодная лента Neopixel / WS2812B (1м 60LED / м)
  • Переключатель уровня *
  • Перемычки (папа-мама)
  • Кабель Micro-USB
  • USB-штекер (5 В)

Светодиодная лента имеет три кабеля: 5V in (красный), GND (белый) и DATA in (зеленый). ESP8266 работает при напряжении 3,3 В, но имеет вывод VU. Этот вывод напрямую подключен к источнику питания USB, поэтому, если вы запитаете свою плату 5 В через USB, это напряжение также будет доступно на выводе VU. Мы будем использовать этот вывод для питания светодиодной ленты. Итак, вкратце:

  • Подключите заземление к земле (GND TO G)
  • Подключите 5V + к Vu
  • Подключите Din к D2

* = В зависимости от вашего конкретного оборудования, эта проводка может не работать. Поскольку ESP8266 работает при напряжении 3,3 В, передаваемый им сигнал данных также будет иметь напряжение 3,3 В. Поскольку WS2812B питается от 5 В, сигнал данных может быть слишком слабым для правильного приема полосой. Если вышеуказанная проводка не работает, вам понадобится переключатель уровня, который сдвигает сигнал данных с 3,3 В на 5 В. См. Прилагаемую схему подключения.

Примечание! Некоторые светодиодные ленты более подвержены поломке, чем другие. Если вы никогда не работали с этими полосами, я настоятельно рекомендую прочитать Убер-гид Neopixel, где есть советы по безопасному подключению светодиодной ленты Neopixel.

Шаг 2: FastLED

FastLED
FastLED

Для управления светодиодами мы можем использовать библиотеку FastLED. Если вы еще этого не сделали, добавьте эту библиотеку в среду Arduino (Sketch> Включить библиотеку> Управление библиотеками> FastLED).

Чтобы убедиться, что ваша проводка работает, вы можете попробовать один из многих примеров, поставляемых с библиотекой FastLED (Файл> Примеры> FastLED). Обязательно измените настройки в каждом примере (количество светодиодов = 60, контакт данных = 2), прежде чем загружать их на свою плату.

Будьте осторожны, устанавливая светодиоды слишком яркими, когда плата подключена к вашему компьютеру. При потреблении более 500 мА ваш компьютер может отключить порт. Если вы хотите использовать полосу на полной яркости, подключите ее к настенной розетке USB, которая может обеспечить достаточно высокую силу тока.

Шаг 3: Программное обеспечение

Программное обеспечение
Программное обеспечение

Пришло время для кастомного программного обеспечения. Программное обеспечение доступно на GitHub:

github.com/dpkn/lamp/tree/master/software

Загрузите файл программного обеспечения, разархивируйте его и откройте файл software.ino в редакторе Arduino. Убедитесь, что у вас установлены все библиотеки, упомянутые в этом файле.

Перейдите на вкладку Config и добавьте имя сети и пароль вашего Wi-Fi в эти строки:

const char * ssid = "";

const char * пароль = "";

Вам также может потребоваться изменить следующее, в зависимости от вашего маршрутизатора:

const IPAddress staticIp (192, 168, 178, 101); // Желаемый статический локальный IP-адрес устройства

const IPAddress шлюз (192, 168, 178, 1); // IP шлюза маршрутизатора constIPAddress subnet (255, 255, 255, 0); // Подсеть роутера

В MacOS эти настройки можно найти в Системных настройках> Сеть> Дополнительно> TCP / IP.

Загрузите файлы на свою доску. Если все пойдет хорошо, полоска загорится белым, когда она подключена к вашей сети Wi-Fi. Откройте Serial Monitor на скорости 115200 бод, чтобы получить дополнительную информацию.

Шаг 4: управление им локально

Чтобы продемонстрировать работу лампы, я сделал небольшое веб-приложение, которое доступно по адресу https://lamp-app.surge.sh (источник на Codepen). Это приложение отправляет запросы JSON непосредственно на ESP8266, который, в свою очередь, обновляет светодиоды.

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

Шаг 5: управление им откуда угодно

Чтобы открыть вашу лампу для волшебной вещи, которой является всемирная паутина, нам нужно сделать что-то, что называется переадресацией портов. По сути, это будет перенаправлять запросы, адресованные на ваш общедоступный IP-адрес (тот, который предоставляется вашим интернет-провайдером) и номер порта (в этом примере произвольно установлен на 300) на внутренний локальный IP-адрес, на который адресуется ваш ESP8266.

Этот процесс отличается для каждого устройства, поэтому, если вы не знаете, как это сделать на вашем конкретном маршрутизаторе, обязательно укажите в Google «переадресацию портов» + имя вашего маршрутизатора. Вот настройки, которые вам понадобятся:

Внешний начальный / конечный порт: 300

Внутренний начальный / конечный порт: 300

Внутренний IP-адрес: 192.168.178.101 (адрес, который отображается в Serial Monitor)

Протокол: TCP / UDP

Предупреждение! После этого вашей лампой может управлять любой, кто знает ваш общедоступный IP-адрес и порт, на котором работает лампа. Если вы не думаете, что это отличная идея, рекомендуется реализовать некоторый уровень безопасности

Чтобы проверить, все ли настроено правильно, введите в браузере следующее: (если вы не знаете, что ваш общедоступный IP-адрес, перейдите на этот веб-сайт.)

[ВАШ ОБЩЕСТВЕННЫЙ IP]: 300

Вы должны увидеть подтверждающее сообщение JSON. Теперь вы можете попробовать использовать приложение со своим общедоступным IP-адресом.

Шаг 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Здесь начинается самое интересное. Теперь, когда наша лампа подключена к ~~ Интернету ~~, мы можем использовать веб-сайт IFTTT, чтобы подключить ее ко всем видам услуг.

В этом примере мы настроим команду Google Assistant, которая загорится красным светом, но вы можете выбрать другую службу, которая пробудит ваше воображение.

  1. Перейдите на IFTTT.com и создайте учетную запись, если вы еще этого не сделали.
  2. Перейдите в «Мои апплеты»> «Новый апплет».
  3. Для службы триггера выполните поиск по запросу "Google Ассистент".
  4. Выберите "Скажи простую фразу".
  5. Придумайте несколько уникальных фраз
  6. Для службы действий выполните поиск по запросу "Webhooks".
  7. Используйте следующие настройки:

URL: https:// [ВАШ-ОБЩЕСТВЕННЫЙ-IP]: 300 / api

Метод: POST Тип содержимого: application / json

А для Тела:

Теперь, когда мы произносим выбранное предложение, Google Assistant отправит запрос в IFTTT, который, в свою очередь, отправит запрос JSON нашей лампе. Обязательно попробуйте! Погрузитесь в код, чтобы увидеть, что еще можно сделать с полосой.

Шаг 7: Сделайте это красивым

Сделать это красиво
Сделать это красиво
Сделать это красиво
Сделать это красиво
Сделать это красиво
Сделать это красиво

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

Для более прочного корпуса я использовал следующие элементы:

  • Матовая акриловая трубка (длина = 1160 мм, диаметр = 40 мм, толщина стенки = 2 мм)
  • 2x пластиковый колпачок
  • Брусок хвойных пород 20х2х30мм
  • Металлическая полоса 10x1160x2 мм

Сама светодиодная полоса имеет длину 1000 мм, оставляя 80 мм на обоих концах трубки, чтобы скрыть электронику. Я использовал бумагу для принтера, свернутую в трубку с обоих концов, чтобы сделать их непрозрачными. Чтобы облегчить вставку, наклеил светодиодную ленту на длинную металлическую ленту.

Я фрезеровал стойки из бруска хвойных пород. Если вы хотите сделать то же самое, ниже представлен файл.stl. Также можно рассмотреть вариант 3D-печати подставки.

Рекомендуемые: