Spisu treści:

Lampa projektowa IoT z IFTTT: 7 kroków (ze zdjęciami)
Lampa projektowa IoT z IFTTT: 7 kroków (ze zdjęciami)

Wideo: Lampa projektowa IoT z IFTTT: 7 kroków (ze zdjęciami)

Wideo: Lampa projektowa IoT z IFTTT: 7 kroków (ze zdjęciami)
Wideo: ПРОТОКОЛЫ УМНОГО ДОМА: Zigbee vs Z-Wave vs Matter | РАЗБОР 2024, Lipiec
Anonim
Lampa projektowa IoT z IFTTT
Lampa projektowa IoT z IFTTT
Lampa projektowa IoT z IFTTT
Lampa projektowa IoT z IFTTT

W tej instrukcji poprowadzę Cię w tworzeniu lampy LED podłączonej do Internetu, która jest zarówno funkcjonalna, jak i stylowa.

Ten modny obiekt projektowy można kontrolować za pomocą aplikacji internetowej lub usługi online IFTTT. Ta ostatnia umożliwia podpięcie lampy do wszelkiego rodzaju usług zewnętrznych, takich jak Asystent Google, Alexa, Powiadomienia Androida, Czas i Data, Prognoza pogody itp. Projekt ten zakłada podstawową znajomość ESP8266 i edytora Arduino.

Krok 1: Zbierz elektronikę

Zbierz elektronikę!
Zbierz elektronikę!
Zbierz elektronikę!
Zbierz elektronikę!

Do tego projektu będziesz potrzebować:

  • NodeMCU lub inny mikrokontroler ESP8266
  • Taśma LED Neopixel/WS2812B (1m 60LED/m)
  • Zmieniacz poziomu*
  • Przewody skokowe (męski-żeński)
  • Kabel micro-USB
  • Wtyczka USB (5V)

Taśma LED ma trzy przewody: 5V w (czerwony), GND (biały) i DATA (zielony). ESP8266 działa na 3,3 V, ale ma pin VU. Ten pin jest bezpośrednio podłączony do zasilania USB, więc jeśli zasilasz swoją płytę napięciem 5 V przez USB, to napięcie będzie również dostępne na pinie VU. Wykorzystamy ten pin do zasilania paska LED. W skrócie:

  • Podłącz uziemienie do uziemienia (GND DO G)
  • Podłącz 5V+ do Vu
  • Połącz Din z D2

* = W zależności od konkretnego sprzętu to okablowanie może nie działać. Ponieważ ESP8266 działa przy napięciu 3,3 V, dostarczany przez niego sygnał danych będzie również miał napięcie 3,3 V. Ponieważ WS2812B jest zasilany napięciem 5V, sygnał danych może być zbyt słaby, aby pasek mógł prawidłowo odbierać. Jeśli powyższe okablowanie nie działa, będziesz potrzebować przełącznika poziomu, który przesuwa sygnał danych z 3,3 V na 5 V. Zobacz załączony schemat okablowania.

Notatka! Niektóre taśmy LED są bardziej podatne na pękanie niż inne. Jeśli nigdy nie pracowałeś z tymi paskami, gorąco polecam przeczytanie Neopixel Überguide, aby uzyskać wskazówki dotyczące bezpiecznego podłączania paska LED Neopixel.

Krok 2: FastLED

FastLED
FastLED

Do sterowania diodami LED możemy wykorzystać bibliotekę FastLED. Jeśli jeszcze tego nie zrobiłeś, dodaj tę bibliotekę do środowiska Arduino (Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami> „FastLED”).

Aby upewnić się, że okablowanie działa prawidłowo, możesz wypróbować jeden z wielu przykładów dołączonych do biblioteki FastLED (Plik > Przykłady > FastLED). Pamiętaj, aby zmienić ustawienia w każdym przykładzie (liczba diod LED = 60, pin danych = 2) przed przesłaniem ich do tablicy.

Uważaj na ustawienie zbyt jasnych diod LED, gdy płyta jest podłączona do komputera. Podczas pobierania prądu powyżej 500 mA komputer może wyłączyć port. Jeśli chcesz używać paska przy pełnej jasności, zasil go za pomocą wtyczki ściennej USB, która może zapewnić wystarczająco wysoki prąd.

Krok 3: Oprogramowanie

Oprogramowanie
Oprogramowanie

Teraz nadszedł czas na oprogramowanie na zamówienie. Oprogramowanie jest dostępne na GitHubie:

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

Pobierz plik oprogramowania, rozpakuj go i otwórz plik software.ino w edytorze Arduino. Upewnij się, że masz zainstalowane wszystkie biblioteki wymienione w tym pliku.

Przejdź do zakładki Konfiguracja i dodaj nazwę sieci Wi-Fi i hasło do tych wierszy:

const char* ssid = "";

const char* hasło = "";

W zależności od routera może być również konieczna zmiana następujących elementów:

const adres IP staticIp(192, 168, 178, 101); // Pożądany statyczny lokalny adres IP urządzenia

const brama IPAddress (192, 168, 178, 1); // IP bramy routera constIPAddress subnet(255, 255, 255, 0); // Podsieć routera

W systemie MacOS te ustawienia można znaleźć w Preferencjach systemowych > Sieć > Zaawansowane > TCP/IP

Prześlij pliki na swoją tablicę. Jeśli wszystko pójdzie dobrze, pasek zaświeci się na biało, gdy będzie podłączony do sieci Wi-Fi. Otwórz Serial Monitor z prędkością 115200 bodów, aby sprawdzić dodatkowe informacje.

Krok 4: Kontrolowanie lokalnie

Aby zademonstrować działanie lampy, stworzyłem małą aplikację internetową, która jest dostępna pod adresem https://lamp-app.surge.sh (źródło na Codepen). Ta aplikacja wysyła żądania JSON bezpośrednio do ESP8266, który z kolei aktualizuje diody LED.

Powyższe zadziała tylko wtedy, gdy twoja lampa i telefon są podłączone do tej samej sieci Wi-Fi, ponieważ adresujesz lampę za pomocą jej lokalnego adresu IP. Aby móc sterować lampą z dowolnego miejsca, musisz zagłębić się w ustawienia routera.

Krok 5: Kontrolowanie z dowolnego miejsca

Aby otworzyć twoją lampę na magiczną rzecz, jaką jest sieć WWW, musimy zrobić coś, co nazywa się przekierowaniem portów. Zasadniczo przekieruje to żądania adresowane na twój publiczny adres IP (ten, który jest dostarczany przez twojego dostawcę usług internetowych) i numer portu (w tym przykładzie arbitralnie ustawiony na 300) na wewnętrzny, lokalny adres IP, na którym adresowany jest twój ESP8266.

Ten proces jest inny dla każdego urządzenia, więc jeśli nie wiesz, jak to zrobić na konkretnym routerze, upewnij się, że wpiszesz w Google „przekierowanie portów” + nazwę routera. Oto ustawienia, których będziesz potrzebować:

Zewnętrzny port początkowy/końcowy: 300

Wewnętrzny port początkowy/końcowy: 300

Wewnętrzny adres IP: 192.168.178.101 (adres wyświetlany w monitorze szeregowym)

Protokół: TCP/UDP

Ostrzeżenie! Po wykonaniu tej czynności Twoja lampa może być kontrolowana przez każdego, kto zna Twój publiczny adres IP i port, na którym działa lampa. Jeśli uważasz, że to nie jest dobry pomysł, zaleca się wdrożenie jakiejś warstwy zabezpieczeń

Aby sprawdzić, czy wszystko jest poprawnie skonfigurowane, wprowadź w przeglądarce następujące informacje: (jeśli nie znasz swojego publicznego adresu IP, przejdź do tej witryny).

[TWÓJ PUBLICZNY IP]:300

Powinieneś zobaczyć komunikat potwierdzający JSON. Możesz teraz spróbować użyć aplikacji przy użyciu swojego publicznego adresu IP.

Krok 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Tu zaczyna się prawdziwa zabawa. Teraz, gdy nasza lampa jest podłączona do ~~ internetu ~~, możemy użyć strony internetowej IFTTT, aby podłączyć ją do różnych rodzajów usług.

W tym przykładzie skonfigurujemy polecenie Asystenta Google, które zaświeci na czerwono, ale możesz wybrać inną usługę, która pobudzi Twoją wyobraźnię.

  1. Wejdź na IFTTT.com i utwórz konto, jeśli jeszcze tego nie zrobiłeś
  2. Przejdź do „Moje aplety” > „Nowy aplet”
  3. W przypadku usługi wyzwalacza wyszukaj „Asystent Google”
  4. Wybierz „Powiedz proste zdanie”
  5. Wymyśl kilka unikalnych fraz
  6. W przypadku usługi akcji wyszukaj „Webhooki”
  7. Użyj następujących ustawień:

URL:

Metoda: Typ treści POST: application/json

A dla Ciała:

{ "jasność": 120, "state":4, "color":"red" }

Teraz, gdy wypowiemy wybrane zdanie, Asystent Google wyśle żądanie do IFTTT, który z kolei wyśle żądanie JSON do naszej lampy. Koniecznie wypróbuj to! Zanurz się w kodzie, aby zobaczyć, co jeszcze możesz zrobić z paskiem.

Krok 7: Upiększanie

Robienie tego ładnie
Robienie tego ładnie
Robienie tego ładnie
Robienie tego ładnie
Robienie tego ładnie
Robienie tego ładnie

Najdroższą częścią tego projektu jest obudowa, w której znajduje się taśma LED. Jeśli chcesz po prostu wypróbować ten projekt bez wydawania na niego zbyt dużych pieniędzy, możesz również rozważyć inne kształty lub po prostu zrobić tubkę z białego papieru do drukarki. W załączeniu znajdziesz szkielet, który możesz wydrukować na papierze, aby złożyć kilka stojaków na tubę, jak pokazano na powyższych zdjęciach.

Do solidniejszej obudowy użyłem następujących elementów:

  • Rura akrylowa matowa (długość = 1160mm, średnica = 40mm, grubość ścianki = 2mm)
  • 2x plastikowa nasadka
  • Blok 20x2x30mm z drewna iglastego
  • Pasek metalowy 10x1160x2mm

Sama taśma LED ma 1000 mm, pozostawiając 80 mm na obu końcach tuby, aby ukryć elektronikę. Użyłem papieru do drukarki zwiniętego w tubę na obu końcach, aby były nieprzezroczyste. Aby ułatwić wkładanie, przykleiłem taśmę LED do długiego metalowego paska

Wyfrezowałem stojaki z bloku drewna iglastego. Jeśli chcesz zrobić to samo, plik.stl znajduje się poniżej. Możesz również rozważyć wydrukowanie stoiska w 3D.

Zalecana: