Съдържание:

Лампа за дизайн на IoT с IFTTT: 7 стъпки (със снимки)
Лампа за дизайн на IoT с IFTTT: 7 стъпки (със снимки)

Видео: Лампа за дизайн на IoT с IFTTT: 7 стъпки (със снимки)

Видео: Лампа за дизайн на IoT с IFTTT: 7 стъпки (със снимки)
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Юли
Anonim
Лампа за дизайн на IoT с IFTTT
Лампа за дизайн на IoT с IFTTT
Лампа за дизайн на IoT с IFTTT
Лампа за дизайн на IoT с IFTTT

В тази инструкция ще ви насоча към създаването на свързана с интернет LED лампа, която да е функционална и стилна.

Този фънки дизайн обект може да се контролира с уеб приложение или онлайн услуга IFTTT. Последното прави възможно свързването на лампата към всички видове външни услуги като Google Асистент, Alexa, Известия за Android, Час и дата, Прогноза за времето и т.н. Този проект предполага основни познания за ESP8266 и редактора на Arduino.

Стъпка 1: Съберете електроника

Съберете електроника!
Съберете електроника!
Съберете електроника!
Съберете електроника!

За този проект ще ви трябва следното:

  • NodeMCU или друг микроконтролер ESP8266
  • Neopixel/WS2812B LED лента (1m 60LED/m)
  • Превключвател на нивата*
  • Прескачане на проводници (мъжки към женски)
  • Micro-USB кабел
  • USB стенен щепсел (5V)

LED лентата има три кабела: 5V в (червено), GND (бяло) и DATA в (зелено). ESP8266 работи при 3.3V, но има VU щифт. Този щифт е директно свързан към USB захранването, така че ако захранвате дъската си с 5V през USB, това напрежение ще бъде налично и на щифта на VU. Ще използваме този щифт за захранване на LED лентата. И така, накратко:

  • Свържете земята към земята (GND TO G)
  • Свържете 5V+ към Vu
  • Свържете Din към D2

* = В зависимост от вашия хардуер, това окабеляване може да не работи. Тъй като ESP8266 работи при 3.3V, сигналът за данни, който предоставя, също ще бъде при 3.3V. Тъй като WS2812B се захранва с 5V, сигналът за данни може да е твърде слаб, за да бъде правилно приет от лентата. Ако горното окабеляване не работи, ще ви е необходим превключвател на нива, който измества сигнала за данни от 3.3V на 5V. Вижте приложената схема на окабеляване.

Забележка! Някои LED ленти са по-склонни да се счупят от други. Ако никога не сте работили с тези ленти, силно препоръчвам да прочетете Neopixel Überguide за съвети за безопасно свързване на Neopixel LED лента.

Стъпка 2: FastLED

FastLED
FastLED

За да управляваме светодиодите, можем да използваме библиотеката FastLED. Ако още не сте го добавили, добавете тази библиотека към вашата среда на Arduino (Sketch> Include Library> Manage libraries> 'FastLED').

За да се уверите, че вашето окабеляване работи, може да искате да изпробвате един от многото примери, които се предлагат с библиотеката FastLED (Файл> Примери> FastLED). Не забравяйте да промените настройките във всеки пример (брой светодиоди = 60, пин за данни = 2), преди да ги качите на дъската си.

Бъдете внимателни, когато светодиодите са твърде ярки, докато платката е свързана към компютъра. Когато черпите повече от 500mA, компютърът ви може да изключи порта. Ако искате да използвате лентата с пълна яркост, я захранвайте с USB стенен щепсел, който може да захрани достатъчно висок ампераж.

Стъпка 3: Софтуер

Софтуер
Софтуер

Сега е време за персонализиран софтуер. Софтуерът е достъпен на GitHub:

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

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

Отидете на раздела Config и добавете името и паролата на вашата WiFi към тези редове:

const char* ssid = "";

const char* password = "";

Може да се наложи също да промените следното, в зависимост от вашия рутер:

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

const IPAddress шлюз (192, 168, 178, 1); // Gateway IP на подмрежата constIPAddress на рутера (255, 255, 255, 0); // Подмрежа на рутера

В MacOS можете да намерите тези настройки в Системни предпочитания> Мрежа> Разширени> TCP/IP

Качете файловете на дъската си. Ако всичко върви добре, лентата ще светне бяло, когато е свързана към вашата WiFi мрежа. Отворете серийния монитор на 115200 бода, за да проверите за допълнителна информация.

Стъпка 4: Контролирайте го локално

За да демонстрирам работата на лампата, направих малко уеб приложение, достъпно на https://lamp-app.surge.sh (източник на Codepen). Това приложение изпраща JSON заявки директно към ESP8266, което от своя страна актуализира светодиодите.

Горното ще работи само ако лампата и телефонът ви са свързани към една и съща WiFi мрежа, защото адресирате лампата по нейния локален IP адрес. За да можете да контролирате лампата отвсякъде, ще трябва да ровите в настройките на вашия рутер.

Стъпка 5: Контролирайте го отвсякъде

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

Този процес е различен за всяко устройство, така че ако не знаете как да направите това на вашия конкретен рутер, не забравяйте да потърсите в Google „пренасочване на портове“+ името на вашия рутер. Това са настройките, от които се нуждаете:

Външен старт/край порт: 300

Вътрешен начален/краен порт: 300

Вътрешен IP адрес: 192.168.178.101 (адресът, който е показан в серийния монитор)

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

Внимание! След като направите това, вашата лампа може да бъде контролирана от всеки, който знае вашия публичен IP и порта, на който лампата работи. Ако не мислите, че това е добра идея, се препоръчва прилагането на някакъв слой сигурност

За да проверите дали всичко е настроено правилно, въведете следното в браузъра си: (ако не знаете публичния си IP адрес, отидете на този уебсайт.)

[ВАШИЯТ ПУБЛИЧЕН IP]: 300

Трябва да видите съобщение за потвърждение на JSON. Вече можете да опитате да използвате приложението с вашия публичен IP адрес.

Стъпка 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Тук започва истинското забавление. Сега, когато нашата лампа е свързана към ~~ интернет ~~, можем да използваме уебсайта IFTTT, за да я свържем с всички различни видове услуги.

В този пример ще настроим команда на Google Асистент, която превръща светлините в червено, но можете да изберете друга услуга, която разпалва въображението ви.

  1. Отидете на IFTTT.com и създайте акаунт, ако все още не сте го направили
  2. Придвижете се до „Моите аплети“> „Нов аплет“
  3. За услугата за задействане потърсете „Google Assistant“
  4. Изберете „Кажете проста фраза“
  5. Измислете няколко уникални фрази
  6. За услугата за действие потърсете „Webhooks“
  7. Използвайте следните настройки:

URL: https:// [YOUR-PUBLIC-IP]: 300/api

Метод: POST Тип съдържание: application/json

А за тялото:

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

Стъпка 7: Направете го красив

Правейки го доста
Правейки го доста
Правейки го доста
Правейки го доста
Правейки го доста
Правейки го доста

Най -скъпата част от този проект е корпусът, в който се помещава LED лентата. Ако просто искате да изпробвате този проект, без да харчите твърде много пари за него, можете да помислите и за други форми или просто да направите тръбата от бяла хартия за принтер. В прикачен файл ще намерите телена рамка, която можете да разпечатате на хартия, за да сгънете някои стойки за тръбата, както е показано на снимките по -горе.

За по -здрав корпус използвах следните елементи:

  • Матирана акрилна тръба (дължина = 1160 мм, диаметър = 40 мм, дебелина на стената = 2 мм)
  • 2x пластмасова капачка
  • 20x2x30mm блок от иглолистна дървесина
  • 10x1160x2 мм метална лента

Самата LED лента е 1000 мм, оставяйки 80 мм в двата края на тръбата, за да скрие електрониката. Използвах хартия за принтер, навита в тръбата от двата края, за да ги направя непрозрачни. За да улесня вмъкването, залепих LED лентата върху дълга метална лента

Фрезовах щандовете от блок от иглолистна дървесина. Ако искате да направите същото, по -долу е предоставен.stl файлът. Можете също така да обмислите 3D печат на стойката.

Препоръчано: