Spisu treści:

Dynaframe - bogata w funkcje ramka do zdjęć/wideo!: 6 kroków
Dynaframe - bogata w funkcje ramka do zdjęć/wideo!: 6 kroków

Wideo: Dynaframe - bogata w funkcje ramka do zdjęć/wideo!: 6 kroków

Wideo: Dynaframe - bogata w funkcje ramka do zdjęć/wideo!: 6 kroków
Wideo: Magic Mirror Booth... MAGIC MIRROR SELFIE BOOTH. * Unlimited Clicking * Instant sharing on email, F 2024, Lipiec
Anonim
Image
Image
Dynaframe - bogata w funkcje ramka do zdjęć/wideo!
Dynaframe - bogata w funkcje ramka do zdjęć/wideo!

Uwaga: postanowiłem wprowadzić to do treści remiksu! Proszę o rozważenie mnie, jeśli uznasz ten projekt za przyjemny!

No hej! Dynaframe to cyfrowa ramka na zdjęcia, która ma się wyróżniać. Przejrzałem dziesiątki dostępnych tam implementacji, ale wszystkie wydawały się wspaniałymi pokazami slajdów, a wiele z nich wydawało się trudne do zaktualizowania (na przykład wymaganie usunięcia karty MicroSD). Więc nauczyłem się trochę pytona i nadałem mu własny spin. Oto funkcje, które ma Dynaframe (większość z nich jest pokazana w zwiastunie wideo powyżej)

  • Przesyłanie zdalne - Przede wszystkim nie chciałem dotykać karty SD, aby ją zaktualizować. Dynaframe obsługuje aktualizowanie multimediów za pośrednictwem udziału plików, a jeśli korzystasz z Allsync, możesz aktualizować je za pośrednictwem chmury. Mogę (i mam) poczekać na wymianę oleju i przeglądać dzieła sztuki, aby zaktualizować moją cyfrową ramkę w domu!
  • Obsługa wideo - obsługuje zarówno obrazy, jak i filmy. Oznacza to, że obsługuje również:

    • Wykresy - są tworzone podczas dodawania elementów wideo do obrazów nieruchomych (np. aplikacje Plotaverse/Werble mogą to robić)
    • Kinografiki - są to momenty, w których blokujesz fragmenty wideo, aby wyglądały prawie jak animowany gif
  • Obsługa automatyki domowej (MQTT z kontrolą przez Node-Red)

    Dynaframe może odbierać komunikaty MQTT informujące o odtwarzanej liście odtwarzania. Pozwala to na kontrolowanie go za pomocą wielu systemów automatyki domowej i pozwala na niesamowite scenki, takie jak wyświetlanie plakatów filmowych po uruchomieniu Netflix lub pokazywanie grafiki gry po zalogowaniu się do usługi Xbox Live. Można to również wykorzystać do wykonywania czynności związanych z obecnością, dzięki czemu gdy osoba wchodzi do pokoju, wyświetlana jest jej ulubiona grafika

  • Obsługa list odtwarzania - Dynaframe obsługuje odtwarzanie multimediów w folderach, traktując każdy folder jako „listę odtwarzania”. Jeśli więc zorganizujesz swoje multimedia tak, aby mieć komiksową grafikę w jednym folderze, sportową grafikę w innym, a grafikę plakatów filmowych w jeszcze innym… możesz wybrać folder multimediów, który chcesz odtwarzać, a będzie on przechodził przez niego. Dzięki temu pomieszczenie, w którym znajdują się ramki Dynaframe, ma „nastroje”. Czasem ustawiam swoje, żeby grać w grafiki z gier, czasem w grafiki filmowe. Czasem science fiction, czasem fantasy. Kiedy jestem w „trybie twórcy”, ustawiam go na folder z grafiką patentową i schematami. Starałem się, aby był elastyczny, ale łatwy w użyciu.
  • Zdalne sterowanie - każda ramka Dynaframe obsługuje serwer sieciowy, dzięki czemu można przejść do ramki i uzyskać hostowaną stronę internetową z listami odtwarzania. Możesz wtedy łatwo zmieniać listy odtwarzania. Ponieważ jest to serwer WWW, możesz to zrobić z dowolnego systemu operacyjnego z przeglądarką lub urządzeniem. Oznacza to, że możesz nim sterować za pomocą telefonów, tabletów, komputerów PC, a nawet niektórych telewizorów.
  • Wydajny energetycznie - rozwiązałem to za pomocą Zwave i automatyki domowej, ale zasadniczo Dynaframe jest zaprojektowany tak, aby nie zapisywać na karcie SD w żaden znaczący sposób (loguje tylko tu i tam). Więc możesz go nagle wyłączyć i ponownie uruchomić, a wszystko będzie dobrze. Od miesięcy używam wielu klatek bez żadnych problemów i wyłączają się wraz z moimi światłami, gdy wychodzę z pokoju. Mimo to, jeśli miałbyś utrzymać ramki przez cały rok, to około 13,00 dolarów za każdą, przy założeniu 0,08 USD za kW/h. (Z Zwave i 3 godzinami dziennie sprowadza to do około 1,50 USD rocznie!
  • Open source / Free software - znalazłem kilka rozwiązań, które wymagały miesięcznych płatności / umów serwisowych. Jestem tylko hobbystą i szukałem czegoś, w czym mając sprzęt, mógłbym po prostu załadować oprogramowanie i iść. Umieściłem oprogramowanie na GitHub, aby inni mogli używać, aktualizować i dodawać funkcje, jeśli sobie tego życzą.

Mam nadzieję, że dzięki tej liście widzisz, dlaczego podjąłem pracę, aby ponownie wymyślić koło. Zamierzam zgłosić to do konkursu Remix, ale to nie tyle remiks jednej rzeczy, co remiks kilkunastu:)

Krok 1: Krok 1: Czego potrzebujesz, aby to zrobić!?

Ok, po pierwsze… czego potrzebujemy?

  1. Raspberry pi 3 - mózg operacji
  2. Krótki kabel HDMI
  3. Monitor LG MK430H-B IPS 27" (możesz użyć dowolnego monitora, ale tego właśnie użyłem)
  4. Karta micro sd
  5. Zestaw do zawieszania ramki na zdjęcia z drutu
  6. Super klej

Opcjonalne, ale przydatne w przypadku rozszerzonych funkcji lub czystszego wyglądu:

  1. Wtyczki Z Wave (do włączania/wyłączania za pomocą automatyki domowej) -
  2. Konfiguracja automatyki domowej obsługująca MQTT (np. HomeSeer, Home Assistant lub Smart Things)
  3. Przewody maskujące przewody (zwykle tylko plastikowa szyna do prowadzenia przewodów… to pomaga ukryć przewody wychodzące z ram)
  4. Farba - służy do dopasowania kanału maskującego do ścian. Uważam, że jeśli poświęcisz na to trochę czasu, pomaga to stworzyć iluzję, że ramki po prostu unoszą się w powietrzu. Innym sposobem, aby to zrobić, byłoby oczywiście wprowadzenie drutu do / przez ścianę, ale to jest poza zakresem tej instrukcji

Krok 2: Krok 2: Składanie ramki

Krok 2: Łączenie ramki
Krok 2: Łączenie ramki
Krok 2: Łączenie ramki
Krok 2: Łączenie ramki

Szczerze, nie ma tu zbyt wiele magii. Proszę zobaczyć zdjęcia, aby wiedzieć, czego używałem… Super przykleiłem wiszący sprzęt po obu stronach tylnej części monitora, przeciągnąłem przez niego przewód, a następnie przymocowałem go jednym gwoździem do kołka w ścianie. Monitory nie są strasznie ciężkie, ale w razie potrzeby użyj śruby z kotwą. Możesz użyć dowolnego monitora, po prostu zamontuj go odpowiednio… na przykład, jeśli używasz 37-calowego telewizora, będziesz chciał zrobić zestaw do montażu na ścianie (tak naprawdę używam telewizora do montażu na ścianie jako jednego z moich ramki!)

Jedyną inną rzeczą, o którą należy się martwić, jest Raspberry pi… Po prostu podwójnie przykleiłem go do tylnej części monitora. Nie musi być tam dużo finezji. Nie dodaję wentylatorów ani żadnego aktywnego chłodzenia… ramki nie napędzają zbyt mocno Pi.

Zaletą zawieszenia na jednym gwoździu jest to, że możesz łatwo upewnić się, że rzeczy są wypoziomowane bez konieczności robienia kolejnych otworów w ścianie. Pamiętaj też, że istnieje wersja tego, w której możesz rozebrać ramkę i zrobić własną z drewna, aby wyglądała bardziej jak ramka na zdjęcia…. jednym z moich celów, kiedy to stworzyłem, było zrobienie tego w tak sposób, w jaki nie zniszczyłem monitora, na wypadek, gdybym uznał, że nie podoba mi się efekt (skończyło się na tym, że go pokochałem!). Z tego powodu wybrałem monitory z cienkimi prostymi ramkami. Montuję je również pionowo, aby wyglądały jak ramki do zdjęć!

Krok 3: Krok 3: Używanie gotowego obrazu Raspberry Pi

Image
Image

Istnieją dwie możliwości zbudowania tego. Zacznę od prostego, który polega na zobrazowaniu malinowego pi z obrazem, który przygotowałem, który wykonuje większość pozostałych kroków za Ciebie. Jeśli jednak chcesz mieć większą kontrolę nad obrazem, omówię kroki, które musisz skonfigurować ręcznie. Umożliwiłoby to dodanie tego do obrazu, który może mieć inne pożądane funkcje, takie jak oprogramowanie do automatyki domowej, serwery MQTT itp.

Pamiętaj, że film prowadzi Cię przez kolejne etapy części „gotowe”. Przejdę przez inne kroki w tej instrukcji, aby była jednak w pełni udokumentowana.

Aby użyć gotowej wersji, użyj Etchera, aby zapisać następujący obraz na karcie MicroSD:

1drv.ms/u/s!AqxjM4_uBDJguOsrwD3z4ovMJwFF9g (Aktualizacja 6.07.2019)

Ten obraz jest pełnym obrazem raspberry pi, w którym brakuje jednej rzeczy, biblioteki Pythona. Aby skonfigurować wszystko, co chcesz:

  1. Uruchom ten obraz na raspberry pi 3 lub nowszym (3B+ powinno działać dobrze)
  2. Uruchom wiersz poleceń i uruchom raspi-config
  3. Ustaw hasło na coś bezpiecznego
  4. Skonfiguruj swoje Wi-Fi
  5. Ustaw nazwę hosta na coś unikalnego, ale opisowego dla każdej konfigurowanej ramki
  6. Kiedy skończysz, zapisz i uruchom ponownie. Uruchom 'ifconfig', aby uzyskać adres IP ramki (powinien być wyświetlany jako WLAN0)
  7. Uruchom polecenie: "sudo pip3 install paho-mqtt". Spowoduje to zainstalowanie krytycznej biblioteki pozostawionej poza obrazem
  8. Restart

Dalej: Skopiuj pliki do raspberry pi, przechodząc do adresu IP, takiego jak: \{ipaddress}\Frame

W tym folderze utwórz podfolder dla każdej „playlisty”, którą chcesz i umieść w nim co najmniej jeden plik (jpg, mov lub mp4). Następnie możesz przejść do https://{ipaddress}:8000, aby zobaczyć interfejs sieciowy, i powinieneś zobaczyć wymienione foldery. Jeśli tak, to znaczy, że wszystko skonfigurowałeś poprawnie i jesteś gotowy do rock and rolla! Łatwe… Prawda? Na razie tak proste, jak tylko mogłem:)

Uwagi dotyczące obrazu:

1) Samba jest zainstalowana i skonfigurowana, ale skonfigurowana dla gościa. Będziesz chciał to zablokować, jeśli chcesz, aby było zabezpieczone.

2) Domyślne hasło/login to pi/raspberry. Które jest domyślnym hasłem Raspbian OS. Na pewno będziesz chciał to zmienić!

3) SSH I VNC są włączone, więc możesz zdalnie do pi, aby nim zarządzać, jeśli zajdzie taka potrzeba.

4) Folder „logs” w udziale Frame zawiera cronlog… jeśli coś wybuchnie, tam znajduje się dziennik.

5) Samba udostępnia folder „Frame”. To jest miejsce, do którego powinny trafić Twoje media… w podfolderach!

6) Istnieje serwer sieciowy, który nie ma autoryzacji. Ułatwia to nawigację do adresu IP (port 8000) ramki, aby ją kontrolować, jednak nie ujawniłbym go na zewnątrz w sposób, w jaki jest teraz skonfigurowany.

7) Domyślnym ustawieniem tego obrazu jest tryb portretowy (pionowy). Jeśli chcesz zmienić to na tryb poziomy, zajrzyj na: https://www.ceos3c.com/open-source/rotate-screen-r…, aby zmienić prawidłowe ustawienie.

W tym momencie jesteś gotowy i działa w „łatwy sposób”. Istnieją dwa bonusy, które możesz chcieć dodać:

1) Inteligentna wtyczka automatyki domowej jest przydatna, jeśli masz już przełącznik Zwave w pomieszczeniu, w którym je instalujesz. Następnie możesz skonfigurować automatykę, aby zsynchronizować ramkę ze światłami w pomieszczeniu. Na przykład, kiedy włączam światła w mojej przestrzeni tworzenia, moje ramki włączają się razem z nimi. Kiedy je wyłączam, ramki się wyłączają. Aby to zrobić, po prostu zasil sam monitor przez wtyczkę. Możesz również wybrać zasilanie pi… korzyścią, jeśli to zrobisz, jest krótki czas uruchamiania… ale stracisz pobór mocy pi. Aby naprawdę być "zielonym", trzymam moje pi i moje monitory na wtyczce i wyłączam oba, ale tak naprawdę to twój wybór.

2) Allwayssync (https://allwaysync.com/). Używam tego oprogramowania do synchronizowania pamięci onedrive / chmury z udziałami samby Dynaframe. To oprogramowanie może wykonywać dwukierunkową synchronizację, zarządzanie konfliktami i nie tylko. Uważam to za przydatne i działa bardzo dobrze dla mnie.

Reszta tej instrukcji będzie mówić o „ręcznym” sposobie ustawienia tego i w razie potrzeby zagłębić się w konfigurację Zwave / Allwayssync.

-

Krok 4: Krok 4: Kroki ręcznej konfiguracji

Jeśli wykonujesz te kroki na dłuższą metę, zakładam, że wiesz trochę o Linuksie i jak skonfigurować raspberry pi. W takim przypadku oto lista rzeczy, które chcesz zrobić. Wspaniałe w tej liście jest to, że użyłem tutaj Instructables, aby zrozumieć te rzeczy, więc będę mógł bezpośrednio połączyć się z Instructables, które umożliwiły to:)

1) Sklonuj repozytorium pod adresem: https://github.com/Geektoolkit/Dynaframe do folderu o nazwie „Frame”. Odwołam się do tego folderu Frame, aby pozostała część instrukcji była spójna, więc jeśli chcesz nazwać go czymś innym, będziesz wiedział, o którym folderze mówię. Tutaj musi znajdować się plik show.py.

2) Ustaw show.py jako wykonywalny

3) Zainstaluj Pythona 3, a także feh, Sambę i omxplayer. Są one wymagane do wykonywania skryptów

4) Będziesz chciał użyć pip3 do zainstalowania paho-mqtt (sudo pip3 install paho-mqtt), a także bibliotek HTTP dla Pythona.

5) Skonfiguruj skrypt bash, aby uruchomić show.py przy uruchomieniu. Użyłem tej instrukcji:

www.instructables.com/id/Raspberry-Pi-Laun…

6) Jeśli chcesz, aby był w trybie pionowym, ustaw prawidłową wartość obracania ekranu. Upewnij się, że żadne sterowniki OpenGL NIE są włączone (w przeciwnym razie rotacja zostanie zignorowana… debugowanie kosztowało mnie kilka godzin życia:))

www.ceos3c.com/open-source/rotate-screen-r…

7) Skonfiguruj Sambę, aby udostępnić folder Frame. Nie pamiętam, co robiłem kiedyś, ale te kroki są dobrze napisane;

everyday-tech.com/samba-share-on-your-rasp…

8) Skonfiguruj VNC i SSH, aby móc zdalnie zarządzać pi (bardzo polecam to, chyba że chcesz biegać z klawiaturami, aby zarządzać nimi później)

W tym momencie skrypt Pythona powinien rozpocząć się podczas rozruchu, powinieneś być w stanie zdalnie zarządzać pi, uruchomić plik Pythona i zobaczyć ładowanie obrazów i filmów.

9) Jeden opcjonalny składnik… prawdopodobnie będziesz chciał ustawić statyczny adres IP. Zdecydowanie ustaw nazwę hosta na coś unikalnego, jeśli nic innego, aby można było użyć go do pingowania urządzenia / przejścia do strony internetowej w celu kontroli

Jeśli jest mnóstwo pytań, mogę wypełnić więcej. Stworzyłem obraz, aby większość ludzi nie musiała ponownie przechodzić przez wszystkie te kroki!

Przejdźmy teraz trochę przez kod, abyś wiedział, gdzie go edytować, jeśli wybierzesz…

Krok 5: Krok 6: Opis kodu

Kod znajduje się pod adresem:

github.com/Geektoolkit/Dynaframe

Nie przejdę przez to wszystko, ale chcę wskazać kilka ważnych części:

W 'show.py' znajdują się części, które konfigurują serwer MQTT. Będziesz chciał je skonfigurować, jeśli zamierzasz używać automatyki domowej do sterowania ekranami. Ta część znajduje się na górze, dzięki czemu jest łatwa do edycji i wygląda następująco:

# dostosuj przed użyciem! brokeraddress = "test.mosquitto.org" # możesz użyć tego jako brokera testowego lub ustawić msoquitto na rpi jako broker wewnętrzny

mqttclient = "dynaframe1" # musi być unikalny dla każdej ramki…

port maklerski = 1883

subskrypcja = "jfarro/house/makerspace/display" # powinien to być ciąg znaków, który jest unikalny i opisuje, gdzie jest twoja ramka

Wspomniana w kodzie „Webpagebody” to jeden długi ciąg, który jest odsyłany, gdy przeglądarka nawiguje do ramki. W tym ciągu zobaczysz CSS, który należy edytować, jeśli chcesz skonfigurować stronę, która jest obsługiwana, aby była… ładniejsza:) Czasami nie jestem świetny w projektowaniu. Zdecydowanie można to ulepszyć.

Ta zmienna:

refreshInterval = 30 # liczba sekund między obrazami w pokazie slajdów

w ten sposób ustawiasz czas wyświetlania obrazów. Jest to jedna z rzeczy, które możesz chcieć skonfigurować, jeśli nie chcesz, aby strony przewracały się co 30 sekund (chociaż uważam to za odświeżające… Zawsze pojawia się nowa grafika!)

Ok, to są główne sekcje kodu, które będziesz chciał edytować, aby uczynić to „twoje”. Jest to całkowicie opcjonalne, ale chciałem to podkreślić.

Krok 6: Krok 7: Co dalej? i kilka wskazówek…

Krok 7: Co dalej? i kilka wskazówek…
Krok 7: Co dalej? i kilka wskazówek…
Krok 7: Co dalej? i kilka wskazówek…
Krok 7: Co dalej? i kilka wskazówek…

Mam nadzieję, że wszystko poszło dobrze, a jeśli to budujesz, masz działającą cyfrową ramkę do zdjęć z napędem Raspberry Pi, która obsługuje filmy i mnóstwo innych gadżetów i sztuczek! Nadal pracuję nad dodaniem funkcji do tego.. Następnie chciałbym dodać możliwość korzystania z adresów URL stron internetowych dla obrazów, kanałów RSS lub witryn internetowych, takich jak ruch/pogoda. Widzę, że są to wyświetlacze artystyczne, które mogą stać się funkcjonalne w mgnieniu oka… nawet stając się chwilowymi ekranami gier / emulacji (za pośrednictwem kontrolera Bluetooth). Zaktualizuję tę instrukcję, gdy dodam rzeczy.

Kilka szybkich wskazówek:

1) Jest przeznaczony do pracy w rozdzielczości 1080p. 4K byłoby świetne, ale potem podnosi koszty wszystkiego, a ja pracowałem z ceną docelową 150 USD (co nieco przegapiłem)

2) Raspberry Pi 3 A+ nie wyszedł, kiedy to stworzyłem. To znacznie lepiej dopasowany moduł i obniża cenę o 10 dolarów!

3) Ponieważ jest zaprojektowany dla 1080p, wszystkie grafiki działają najlepiej, jeśli zmienisz ich rozmiar na 16:9 (lub 9:16 w przypadku portretu) i 1080p. Tam uzyskasz najostrzejsze obrazy

4) Aby stworzyć doskonałą zabawną zawartość, która się porusza (tam, gdzie to naprawdę błyszczy), możesz użyć Werble (iPhone) lub Plotaverse (lub pakietu Enlight). Zasadniczo, jeśli wyszukasz „plotograf” i „kinograf”, możesz stworzyć dla nich niesamowite treści, które naprawdę sprawią, że będą błyszczeć.

5) Wyszukiwanie grafiki w formacie 9:16 / 1080p może doprowadzić Cię do niektórych witryn, które projektują tapety tła dla telefonów komórkowych… to świetne źródło sztuki. DeviantArt też był niesamowity.

6) Jeśli szukasz na youtube 1080x1920, od razu znajdziesz materiały wideo, które dobrze działają z tymi ramkami!

Myślę, że na razie to wszystko. Będę dodawał jak idę. Mam nadzieję, że możesz zobaczyć filmy, które zrobiłem i co udostępniłem tutaj… są to IMO o krok wyżej niż wszelkie ramki do zdjęć! Dzięki i do następnego razu…

Rozważ proszę głosowanie na mnie w konkursie na „remiks”, jeśli Ci się spodoba!

Zalecana: