Prosty wyświetlacz reklam na TV na przykładzie Kodi i Raspberry Pi

Stanąłem przed wyzwaniem stworzenia prostego (i taniego) wyświetlacza reklam w placówce handlowej. Na myśl przyszło mi urządzenie Raspberry Pi z zainstalowanym systemem operacyjnym LibreELEC oraz oprogramowaniem Kodi. Urządzenie to można podłączyć do każdego telewizora poprzez złącze HDMI.

Grafika wygenerowana przez AI https://www.bing.com/images/create

Zakładam, że posiadamy już płytkę Raspberry Pi, wyjmujemy z niej kartę pamięci i wkładamy do komputera. Następnie pobieramy program LibreELEC USB-SD Creator ze strony https://libreelec.tv/downloads/ lub wersję, na dzień pisania tego artykułu tutaj:

Uruchamiamy program i postępujemy zgodnie z krokami zaznaczonymi na kolorowo:

  1. Wybieramy wersję naszej Maliny.
  2. Klikamy przycisk Pobierz, program wyświetli okno z prośbą o wskazanie miejsca zapisu pliku. Jeżeli z jakiegoś powodu program nie chciał by pobrać pliku automatycznie, to można go pobrać ręcznie ze strony https://libreelec.tv/downloads/raspberry/ wybierając wersję odpowiednią dla posiadanego modelu płytki Raspberry Pi.
  3. Wybieramy literę dysku (naszej karty pamięci), na której ma być zainstalowany system LibreELEC.
  4. Klikamy Zapisz.

Poprawny zapis kończy się komunikatem Zapis udany!:

Po tym komunikacie wyjmujemy kartę pamięci z komputera, wkładamy do Maliny i uruchamiamy urządzenie. System dokończy teraz konfigurację i zrestartuje Raspberry Pi. Następnie uruchomi się i wyświetli powitalnego kreatora.

W kreatorze zwróćmy uwagę na krok Networking zapewniamy w nim połączenie z siecią (przewodowo lub WiFi). Natomiast w kroku Sharing and Remote Access włączamy obsługę SSH i ustawiamy silne hasło – przyda się to w kolejnych krokach konfiguracji.

Aby osiągnąć funkcję automatycznego uruchamiania slideshow obrazów po starcie systemu wykorzystamy dodatek service.autoexec.

Łączymy się z naszym urządzeniem za pomocą SSH. Można użyć klienta Putty, pobieramy go ze strony wydawcy lub tutaj:

Do wykonania połączenia potrzebny nam będzie adres IP urządzenia. Sprawdzamy go za pomocą ikonki System wybierając kolejno System information

Przepisujemy go do programu putty i klikamy open:

Logujemy się do na konto root podając wpisane w kreatorze pierwszego uruchomienia hasło do SSH:

przechodzimy do katalogu /storage/.kodi/addons/ i tworzymy w nim katalog o nazwie service.autoexec.

cd /storage/.kodi/addons/
mkdir service.autoexec

Przechodzimy do nowo utworzonego katalogu service.autoexec:

cd service.autoexec/

Dodajemy w tym katalogu plik autoexec.py przez edytor nano:

Wklejając następującą zawartość:

import xbmc, time
time.sleep(30)
xbmc.executebuiltin("Slideshow(/storage/pictures)")
time.sleep(30)
xbmc.executebuiltin("Action(Play)")

Zapisujemy przez CTRL + X odpowiadając na pytanie Save modified buffer? klawiszem Y i potwierdzamy Enter.

Powyższy plik zawiera akcje, które będą wykonane po restarcie naszego urządzenia. Uruchomią one pokaz slajdów z lokalizacji /storage/pictures. Są tam dodane polecenia time.slip(), po to by urządzenie miało czas na uruchomienie wszystkich usług. Wartości te można zmodyfikować wg własnych potrzeb. Przy mojej konfiguracji slideshow uruchomi się po jednej minucie od włączenia urządzenia.

Kolej teraz na dodanie pliku addon.xml. Robimy to analogicznie jak w przypadku pliku autoexec.py wklejając następującą zawartość:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="service.autoexec" name="Autoexec Service" version="1.0.0" provider-name="your username">
	<requires>
		<import addon="xbmc.python" version="3.0.0"/>
	</requires>
	<extension point="xbmc.service" library="autoexec.py">
	</extension>
	<extension point="xbmc.addon.metadata">
		<summary lang="en_GB">Automatically run python code when Kodi starts.</summary>
		<description lang="en_GB">The Autoexec Service will automatically be run on Kodi startup.</description>
		<platform>all</platform>
		<license>GNU GENERAL PUBLIC LICENSE Version 2</license>
	</extension>
</addon>

Musimy włączyć usługę, która po włączeniu urządzenia będzie uruchamiała skrypt zawarty w autoexec.py. W tym celu przechodzimy do Settings > Add-ons > My add-ons > Services > Autoexec Service i włączamy ją:

Teraz po restarcie urządzenia, na ekranie powinny się automatycznie pojawić zdjęcia z lokalizacji /storage/pictures w opcji slideshow.

Koniec 🙂

Jeżeli pomogłem to Postaw mi kawę na buycoffee.to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.


W zależności od wersji Kodi i wykorzystywanej wersji języka Python, jeżeli przy próbie włączenia usługi otrzymujemy komunikat, że dodatek nie jest kompatybilny z tą wersją Kodi. To możemy w pliku addon.xml zmienić wersję z:

<requires>
		<import addon="xbmc.python" version="3.0.0"/>
</requires>

Na:

<requires>
		<import addon="xbmc.python" version="2.25.0"/>
</requires>

W innej wersji Kodi o nazwie Chorus: ustawienie włączające usługę jest w: Settings -> Add-ons, szukamy xbmc.service i wtedy Autoexec Service -> Enable


Można dodatkowo ustawić w Settings/Player/Pictures

  • Use pan and zoom effects – no
  • Randomise – no
  • High quality downscaling – yes

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *