Raspberry Pi 3 i start z dysku/pendrive USB

Dzień dobry.
’Do odważnych świat należy’, jak to mówią.
Do tej pory Raspberry startowałem z karty SD, później system był już ładowany z dysku HDD (http://blog.asobczak.pl/2018/01/31/przechodzimy-na-malinie-z-karty-sd-na-dysk-hdd-ssd/). Skoro jednak podjąłem decyzję o przejściu z Domoticz na Home Assistant, a po zmianie w bartopie na Raspberry Pi 4 została mi jedna wolna malinka w wersji trzeciej – 'raz kozie śmierć!’ pomyślałem i wykonałem jeden wpis w /boot/config.txt. Znamienny. 
Oczywiście żarty żartami, żadnych poważnych reperkusji to nie powoduje. Priorytetem jest zawsze karta SD i jeżeli znajdzie się w gnieździe – Raspberry wystartuje najpierw z niej.
Jak wcześniej napisałem – w /boot/config.txt dopisujemy jedną linię:
program_usb_boot_mode=1
i to w zasadzie cała filozofia. Przestawiany jest bit tak zwany OTP – One-time programmable, czyli taki, którego zawartość można zmienić wyłącznie raz. Nie można operacji odwrócić. Z tego co pamiętam w Raspberry Pi 3b+ jest już ustawiany domyślnie, fabrycznie.

Po wykonaniu komendy
vcgencmd otp_dump | grep 17:
ujrzymy informację po 17:. Jeżeli jest inna niż 3020000a znaczy to, że bit nie jest przestawiony. Czyli tak jak poniżej, przed restartem.

Ok, wpis w config.txt mamy, sprawdziliśmy czy już nie był ustawiony, robimy restart.
Bang, po chwili możemy sprawdzić, czy udało się poprawnie to zrobić:

3020000a jest zapisane, można wyjąć kartę i startować z SSD/USB/HDD. Działa, sprawdzałem. Tak przez pewien czas miałem uruchomiony Home Assistant. Aż do momentu gdy przeszedłem na Intel NUC 😉

DietPi – czyli jak zainstalować tonę oprogramowania za jednym naciśnięciem guzika

Zawsze mnie interesował https://dietpi.com/. Odchudzona wersja systemu, jeszcze mniej zasobożerna niż Raspbian Lite, z wieloma usprawnieniami a do tego z OGROMEM oprogramowania dostępnego za naciśnięciem Enter.
Na wolnym Raspberry Pi 1 nie było sensu go instalować, ale skoro Pi 4 czeka na kompatybilne RetroPie, to można próbować do woli 😀
O instalacji nie ma się co rozwodzić – jest obraz, pobieramy, zgrywamy na kartę, ruszamy. Co do zgrywania – albo Belena Etcher, albo Win32DiskImager, zależnie od formatu.

Poniżej kilka ekranów konfiguracyjnych, hasło, SSH, itp.

Kiedy już to przejdziecie macie możliwość wyboru programów jakie chcecie zainstalować. Nie ma sensu opisywać tutaj wszystkich, listę macie dostępną pod adresem: https://dietpi.com/dietpi-software.html. Warto jedynie napisać, że są one podzielone na kategorie, jak:
– SSH servers
– Desktops
– Remote Desktops
– Media Systems – KODI, mpd, Plex, Emby, Roon i inne
– Download tools – Transmission, Deluge, Sonarr, Radarr, CouchPotato
– Emulation/Gaming – np. AmiBerry
– Camera – MotionEye
– Cloud/Backups – ownCloud, NextCloud, Pydio, Syncthing
– Social – WordPress, phpBB3, Baikal,
– Home Automation – Home Assistant
– Hardware Projects – Google AIY, PiJuice, RPi.GPIO, Node-Red, Mosquitto, InfluxDB, Grafana
– Remote Access – Remot3.it, itp.
– Stats – RPi Monitor, Webmin, Linux Dash
– Security – Fail2Ban
– Webserver Stacks – Apache2, nginx, PhpMyAdmin, Tomcat8
– File Servers – Samba Server, NFS, ProFTP
– VPN
– DNS Server – Pi-hole
– Printing

Jak widać – MNÓSTWO, po prostu mnóstwo oprogramowania dostępnego do zainstalowania automatycznie.

Ważne jest, aby po wybraniu przejść na sam koniec listy i wybrać Install -> Go >> Start

Zobaczycie podsumowanie Waszych wyborów i po akceptacji…

Zacznie się instalacja. Oczywiście, zależnie od ilości wybranego oprogramowania, wielkości, szybkości karty, połączenia internetowego może to potrwać dość długo.

Jeżeli później będziecie chcieli zmienić Wasze parametry konfiguracyjne, możecie wpisać
sudo dietpi-software

Każde z tego oprogramowania uruchamia się na innych portach RaspberryPi, dokładnie opisy znajdziecie pod adresem: https://dietpi.com/phpbb/viewtopic.php?f=8&t=5#p5

Dzięki temu mam teraz na Raspberry Pi 4 zainstalowane bez problemu:
– serwer Plex
– Logitech Media Center
– Home Assistant
– mc
– Docker
i wiele innych.

Plan jest taki, aby Home Assistant przenieść z hass.io na DietPi w kontenerze Docker, czyli trochę inaczej niż tutaj, ale o tym innym razem.

Home Assistant – pierwsze konfiguracje i plik secrets.yaml

Dzisiaj przybliżę podstawową konfigurację komponentów w Hass.io.

Przy okazji zaznajomimy się z funkcjonalnością pliku secrets.yaml, który to umożliwia na przykład dzielenie się konfiguracją z innymi użytkownikami bez konieczności ciągłego zastępowania swoich haseł innymi tekstami.

Po pierwsze, tak jak opisałem na dole strony http://cezarowy.blogspot.com/2019/05/home-assistant-zaczynamy-instalacja-za.html – musimy edytować plik configuration.yaml.

Zawartość tego pliku (configuration.yaml) u mnie aktualnie wygląda tak jak poniżej, coraz więcej ciekawych rzeczy się pojawia.

Pozwolę sobie opisać kolejne sekcje. Nie jest to zbyt czytelne na początek, ale konieczne aby zrozumieć zasadę działania Home Assistant. Przesiadając się z Domoticz trzeba zmienić podejście, dość radykalnie. Domoticz ma 'niższy próg wejścia’, bez dwóch zdań, ale gdy już 'zaskoczyłem’ jak i co zrobić w Home Assistant – jestem pewien, że nie wrócę i powoli przepisuję wszystkie elementy i umieszczam je w HA. Niewiele już zostało.

W niedalekiej przyszłości moja konfiguracja znajdzie się na github, skąd będziecie mogli ją pobrać, sprawdzać, edytować i dostosować do swoich potrzeb.

Każda deklaracja 'elementu’ HA, encji, integracji, itp. musi kończyć się znakiem ’:’. Uważajcie na wcięcia i przed każdym restartem serwera sprawdzajcie poprawność pliku konfiguracyjnego!

homeassistant:
  # Nazwa naszej lokalizacji
  name: Dom
  # Poniżej koordynaty naszego domu, aby poprawnie odczytywać wschód/zachód słońca
  latitude: !secret home_lat
  longitude: !secret home_long
  # Poniższe mam również wpływ na zachody słońca – położenie nad poziomem morza
  elevation: 466
  # System metryczny?
  unit_system: metric
  # Strefa czasowa: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: Europe/Warsaw

# Plik mogący zawierać dane dotyczące wyglądu ikon, polskich nazw elementów, etc.
  customize: !include customize.yaml

# Włączamy możliwość konfiguracji i wykrywania użytkowników systemu
person:

# Configure a default setup of Home Assistant (frontend, api, etc)
#default_config:
config:

# Czy włączyć automatyczne wykrywanie urządzeń? Jakie ignorować?
discovery:
  ignore:
  – philips_hue

# Deklaracja dotycząca komponentu dającego informacje o systemie na którym działa HA
https://www.home-assistant.io/integrations/system_health/  
system_health:

# Jeżeli chcecie używać aplikacji mobilnej:
https://www.home-assistant.io/integrations/mobile_app/
mobile_app:

# Aby plik był bardziej estetyczny i czytelny dobrze jest podzielić integracje na grupy.
# Do każdego z plików można dodać elementy, który mogłyby się znaleźć w głównej konfiguracji, 
# na dłuższą metę jednak będzie to 'nie do ogarnięcia’
history: !include history.yaml
logger: !include logger.yaml
sensor: !include sensors.yaml
binary_sensor: !include binary_sensors.yaml
device_tracker: !include device_tracker.yaml
media_player: !include media_player.yaml
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
switch: !include switches.yaml

# System notyfikacji. Ja postawiłem na e-maile
notify:
  – name: Cezar
    platform: smtp
    server: !secret email_server
    port: 587
    timeout: 15
    sender: !secret email_sender
    encryption: starttls
    username: !secret email_username
    password: !secret email_password
    recipient:
      – !secret email_cezar
    sender_name: My Home Assistant

# Tutaj konfiguracja kamer i podobnych elementów – na przykład wykresów pogody
camera:
  – platform: generic
    name: Weather
    still_image_url: https://www.yr.no/place/Poland/Lesser_Poland/Klucze/meteogram.svg
    content_type: 'image/svg+xml’

  – platform: mjpeg
    name: Salon
    still_image_url: http://192.168.1.155/cgi/jpg/image.cgi
    mjpeg_url: http://192.168.1.155/cgi/jpg/image.cgi
    username: admin
    password: !secret my_password
    
  – platform: mjpeg
    name: PrzedDomem
    still_image_url: http://192.168.1.156/image/jpeg.cgi
    mjpeg_url: http://192.168.1.156/image/jpeg.cgi
    username: admin
    password: !secret my_password

# Tu sobie zostawiłem konfigurację Xiaomi Air Purifier
fan:
  – platform: xiaomi_miio
    host: 192.168.1.115
    token: !secret airpurifier
    model: zhimi.airpurifier.v2

# Konfiguracja związana z iPhone
ios:

# Klient Transmission, które mam na swoim NAS postawionym na OMV  
transmission:
  host: 192.168.1.124
  username: admin
  password: !secret my_password

# System Xiaomi – dane to centralki
xiaomi_aqara:
  discovery_retry: 5
  gateways:
    – key: !secret xiaomi_gw_key

# Informacja o połączeniu internetowym    
speedtestdotnet:
  manual: false
  monitored_conditions:
    – download
    – upload
    – ping

# Pogoda    
weather:
  – platform: darksky
    api_key: !secret dark_sky_api

# Token github to Home Assistant Community Store
hacs:
  token: !secret github

Zawartość pliku secrets.yaml:

home_lat: xx.xxxx
home_long: xx.xxxx
my_password: xxxx
xiaomi_gw_key: xxxx
dark_sky_api: xxxxx
mqtt_broker_ip: xxxx
mqtt_user: xxx
mqtt_pass: xxxx
airpurifier: xxx
github: xxxxxx
airly_api_key: xxxx
burze_dzis_net.api_key: xxxx
malina3_ip: xxx.xxx.xxx.xxx
iphone_adam: xxx.xxx.xxx.xxx
mibox_ip: xxx.xxx.xxx.xxx
email_password: xxxxx
email_cezar: xxxxxx@gmail.com
email_server: mail.xxxxxxx.pl
email_sender: xxxx@xxxxx.pl
email_username: xxxxxxx

A history.yaml wygląda z kolei na przykład tak:

include:
  entities:
    – sensor.speedtest_download
    – sensor.speedtest_ping
    – sensor.speedtest_upload
    – person.Cezar

Plik binary_sensors:

– platform: ping
  host: 192.168.1.200
  name: raspberry_status
  count: 2
  scan_interval: 180

– platform: workday
  country: „PL”

– platform: template
  sensors:
    playstation_status:
      value_template: „{{ is_state(’device_tracker.PS4′, 'home’) }}”
      friendly_name: „PlayStation 4”
    tv_status:
      value_template: „{{ is_state(’device_tracker.SamsungTV’, 'home’) }}”
      friendly_name: „Telewizor”
    nas_status:
      value_template: „{{ is_state(’device_tracker.OMVCezar’, 'home’) }}”
      friendly_name: „NAS”

Volumio jak odtwarzacz audio na Raspberry Pi

Dobry wieczór. 
Kilka tygodni temu oczekując na Raspberry Pi 4, a mając w zanadrzu wolne Raspberry Pi 1 postanowiłem, tak bardziej dla sprawdzenia i testów, uruchomić Volumio. Przedstawiają się jako Audiophile Music Player, co czytając opinie ludzi zgadza się z prawdą. Mnie dane było wyłącznie przetestować sam wygląd i działanie programu, ponieważ żadnego DAC’a (Digital to Analog Converter) nie mam w domu, a bez niego wykorzystanie wbudowanej w Raspberry Pi karty dźwiękowej jest trochę kpiną. Ale taki był mój zamysł – sprawdzić 'z czym się to je’, głównym sprzętem grającym pozostaje wzmacniacz Denon.
Volumio reklamuje się odtwarzaniem plików w formatach mp3, FLAC, WAV, AAC, ALAC, DSD, do tego DLNA, Airplay, Spotify i radia internetowe. Na bogato. Do tego interfejs webowy jest dopasowany do tabletów, telefonów komórkowych i oczywiście komputerów.
Proces instalacji i uruchomienia jest w sumie standardowy jak w przypadku wielu programów/systemów na Raspberry Pi – wchodzimy na stronę https://volumio.org/get-started/, pobieramy obraz (u mnie na Raspberry Pi), później pobieramy i instalujemy Etcher, wskazujemy pobrany plik obrazu w ZIP, zapisujemy obraz na kartę pamięci, wkładamy kartę do Raspberry Pi i uruchamiamy z wpiętym kablem sieciowym. Później Advanced IP Scanner i wyszukanie adresu naszego Raspberry Pi.
Widok dostępnych pod IP folderów i zamapowanych folderów/udziałów przedstawia się jak poniżej:

Po wejściu na adres IP w przeglądarce uruchomi się kreator konfiguracji Volumio, który poprowadzi nas przez proces instalacji.

Jeżeli nie posiadamy DAC możemy wybrać po prostu wyjście audio Jack. Dźwięk będzie, jednak jakość pozostawia wiele do życzenia.

Kreator Volumio daje możliwość wyboru instalacji prostej jak i bardziej zaawansowanej. Gdybym konfigurował odtwarzacz – wystarczy wybrać pierwszą opcję, ale chciałem sprawdzić jak wyglądają możliwości systemu.

Po wybraniu sieci bezprzewodowej możemy po skończeniu konfiguracji odpiąć kabel i pobierać dane z sieci WiFi.

System od razu umożliwia dodanie zasobów naszej sieci bogatych w mp3/flac zgrane z oryginalnych płyt Audio.

Jak widać poniżej – sam wykrywa dostępne sprzęty w naszej sieci domowej.

Muszę przyznać, że główny wygląd aplikacji przedstawia się nad wyraz dobrze i schludnie. Do tego jest bardzo intuicyjny.

Po lewej ulubione, na środku aktualnie odtwarzany kawałek, po prawej sterowanie głośnością. Po rozwinięciu paska z boku mamy możliwość konfigurowania dostępu do kolekcji, wyglądu, wtyczek i innych elementów systemu.

Bardzo szybko można dodać swoje foldery do biblioteki, system przeskanuje je i zapisze w swoim archiwum.

Volumio pozwala instalować również wtyczki (plugins) które rozszerzają jego możliwości. Jest ich mnóstwo , między innymi:
– korektory dźwięku
– Kodi
– miniDLNA
– Play on connect – odtwórz utwory kiedy adres IP został wykryty w sieci
– obsługa ekranów dotykowych
– LastFM
– Logitech Media Server
– Pandora
– Podcasty
– Spotify
– youtube
– obsługa kontroli IR

Na razie traktuję go jako ciekawostkę, ale warto będzie w przyszłości dokładniej go sprawdzić.

Raspberry Pi 4 na rynku!

Dzień dobry,

Śledzący rynek wiedzą już, że pojawiła się znienacka nowa wersja Raspberry Pi 4.

Zmian jest wiele, wygląda na to, że wszystkie na plus:
– szybszy, nowszy procesor
– 2xUSB 3.0, 2xUSB 2.0
– w końcu 1GB Ethernet
– trzy wersje do wyboru, w zależności od RAM: 1GB, 2GB oraz 4GB

Nowa płytka została już dobrze opisana i przetestowana przez wiele portali, do których wolę odesłać, gdyż podeszli do recenzji bardzo profesjonalnie:

Po opis polski odsyłam na stronę Forbot,

https://forbot.pl/blog/raspberry-pi-4-juz-jest-co-nowego-pelna-specyfikacja-i-ceny-id36997

Tom’s Hardware natomiast przygotował dokładne testy wydajnościowe.

https://www.tomshardware.com/reviews/raspberry-pi-4-b,6193.html

Szykuje się bomba, ja wybieram wersję z 2GB RAM, ale zakupu dokonam dopiero gdy pojawi się odpowiednia wersja RetroPie, bo do tego będzie mi służyła.

Home Assistant – dodajemy kolejne komponenty i konfigurujemy!

Dobry wieczór. Pozwolę sobie kontynuować serię artykułów o Home Assistant, a dokładnie rzecz biorąc to poprzez instalację Hass.io.

Home Assistant różni się od Domoticz wieloma elementami.

Podejście do komponentów umożliwiających komunikację z urządzeniami, serwisami pogodowymi, itp. jest zrealizowane inaczej niż w Domoticz. Jest oficjalna strona z setkami dodatków, które po prostu konfiguruje się w systemie. To była dla mnie największa bariera (nadmieniam, że raczej mentalna) w konfigurowaniu systemu. Można dodawać nieoficjalne repozytoria, ale na to mam jeszcze zbyt mało wiedzy, ale ilość dostępnych i tak przytłacza!

Muszę też powiedzieć jedno – łatwiej mi jest się przestawiać na Home Assistant głównie dlatego, że większość problemów, poszukiwań rozwiązań, elementów systemu miałem już skonfigurowane po stronie Domoticz. W takim wypadku wystarczyło je po prostu dodać. Nie otwierałem drzwi ponownie, nie walczyłem z materią. Widać, że czas poświęcony na naukę 'nie poszedł w las’. Nie musiałem szukać klucza do Xiaomi Gateway ani Air Purifier. Nie musiałem flashować sprzętów Sonoff – już to miałem zrobione. Pozyskanie obrazu z kamery również już przećwiczyłem.

Nadal nie wiem jak programować automatykę, ale wszelkie elementy to tego potrzebne mam już działające. To będzie kolejny krok.

Zacznijmy od prostego przykładu:

https://www.home-assistant.io/components/moon/

Fazy księżyca. W Domoticz pisaliśmy skrypty, przypisywaliśmy w nich wartości do konkretnych IDX, wstawialiśmy w CRON albo w skrypty uruchamiane przez Domoticz. Tu jest inaczej.

W sekcji sensor dodajemy wpis – platform: moon

# Sensors
sensor:
  – platform: moon

UWAŻAJCIE NA WCIĘCIA W TEKŚCIE! Jest to niezmiernie ważne w procesie konfiguracji i dodawania nowych elementów systemu.

Restart konfiguracji i możemy zacząć dodawanie.

Teraz ważny temat. Hassio (trochę podobnie jak Dashticz) może opierać się na automatycznym dodawaniu elementów na pulpit. Ale akurat to wyłączyłem dość szybko, bo przecież wszystko chcemy zrobić sami tak jak nam się podoba, a nie powierzyć automatom.

W tym celu musicie wybrać 'trzy kropki’ po prawej stronie, Configure UI i przestawić system w tryb manualnej edycji wyglądu interfejsu. Zostaniecie poproszeni o potwierdzenie tej operacji stosownym komunikatem.

Kolejną przydatną funkcją jest 'Unused entities’. Pokaże Wam jakie elementy skonfigurowaliście już, ale nie wrzuciliście na pulpit.

Pomarańczowym 'Plusem’ w prawym dolnym rogu (pokazanym na kolejnych ekranach) wywołujemy menu z dostępnymi opcjami. Zwróćcie uwagę, że są logicznie podzielone na pewne sekcje – Entity, Gauge (czyli wskaźnik, miernik), Glance (podgląd na przykład kamer), Light, Map, Media Control, Plant status, Sensor, Weather forecast, itp. W znakomitej większości Home Assistant rozpozna odpowiedni typ i będzie mogli wybierać z przypisanych elementów po prostu z 'Drop down listy’.

Na ten moment udajmy się do ENTITIES.

Tam zobaczycie opcje konfiguracji karty. Po lewej konfiguracja, po prawej efekt.

Wybieramy nasze Entity – sensor.moon i po chwili widzimy podgląd po prawej.

Po zapisaniu karta została dodana do systemu. Zrobione na szybko, bez tytułu, ale chodzi o efekt.

Podobnie trzeba zrobić z innymi komponentami, jak na przykład: haveibeenpwned, pogoda, dane systemowe, szybkość połączenia internetowego, itp. Budujecie z klocków.

Jeżeli chcecie klocki przesunąć, możecie to zrobić strzałkami, albo dodać kolejny element menu na górze i tam przesunąć swój komponent.

Ja przesunąłem sobie część elementów na zakładkę Użytkowe (Speed test, obciążenie Raspberry, UPS, Xiaomi WiFi Repeater, Have I Been Pwned, Air Purifier, itp.)

A część na Multimedia (Amplituner Denon z HEOS, MiBox3, Spotify z LMS, kamery, graficzna prezentacja pogody, itp.):

Czyli w sumie wszystko to, co potrafił Domoticz w połączeniu z Dashticz. Jest nieźle!

Jeden temat mi trochę krążył po głowie, ale udało się go szybko znaleźć. Standardowe elementy dodawane są na podstawie ID. Mniej lub bardziej jasnego do odczytu. Można te nazwy oczywiście zmieniać. Trzeba wybrać daną nazwę na pulpicie, wybrać ikonę 'trybika’:

Nadpisać i zapisać.

Voila!

W kolejnym kroku zajrzymy dokładniej do configuration.yaml i ukryjemy pewne sekrety.

Dobranoc!

RetroPie, zaawansowane opcje oraz najważniejsze problemy

Dzień dobry. Ostatni, końcowy wpis w temacie Arcade Bartop. Sprawdza się świetnie, włączenie go to czysta przyjemność, dlatego miło mi się o nim pisze 🙂

Jak do tej pory opisałem:
– Zamysł, sposób budowy: http://blog.asobczak.pl/2018/11/03/arcade-bartop-opis-budowy-opus-magnum-aktualne-bo-nie-jest-wykluczone-ze-zrobie-wkrotce-cos-ciekawszego-d/
– Sprzęt, jakiego użyłem do budowy: http://blog.asobczak.pl/2018/11/05/arcade-bartop-sprzetowo/
– Sterowanie, dokładnie: http://blog.asobczak.pl/2018/11/03/arcade-bartop-sterowanie/
– Audio, osobny wpis: http://blog.asobczak.pl/2018/11/03/arcade-bartop-audio/
– Wstępna konfiguracja: http://blog.asobczak.pl/2018/11/03/retropie-konfiguracja/
– Upiększanie, informacje o grach: http://blog.asobczak.pl/2018/11/03/retropie-wyglad-okladki-do-gier-scrapping/
– Atari, C64, ZX Spectrum: http://blog.asobczak.pl/2018/11/10/retropie-i-atari-c64-zx-spectrum/
– Amiga: http://blog.asobczak.pl/2018/11/03/retropie-i-amiga/
– Dodatki, mniej popularne emulatory: http://blog.asobczak.pl/2018/12/retropie-i-dodatki-oraz-inne-emulatory.html

Pora na informacje zaawansowane, które jak na razie udało mi się znaleźć i niektóre problemy, które udało się rozwiązać.

Po pierwsze, niestety, prawie na pewno wraz z rozwojem systemu natkniecie się na 'White screen of death’. Wskutek podejścia do ładowania obrazów tła w locie w EmulationStation/RetroPie, system czasem 'gubi’ obrazy, które powinny się pojawić. Niestety, wygląda to źle, nie da się w sumie korzystać wtedy z systemu, w tle pojawia się błąd GlGetError, czasem prowadząc aż do wyjścia do basha. Ten problem pojawia się wraz z ilością systemów dostępnych do emulowania, szczególnie widoczny przy 'skórkach’, które mają wiele obrazów. Niby sugerują zwiększenie Memory split dla grafiki w raspi-config (co miałem i tak zrobione), zmniejszenie VRAM w opcjach, niby błąd został poprawiony w wersji 4.2 (mam 4.4) i dalej występuje…

Nic to, rozwiązania niestety są kompromisowe:
– albo zmieniamy skórkę na jakąś z 'rodziny’ Carbon, Pixel, Eudora, Turtle-Pi, Canela – one mają jedno, statyczne tło dla wszystkich emulatorów
– albo zmniejszamy ilość emulowanych systemów, przez co nie będą się pojawiać w EmulationStation

Drugi sposób ma sens, bo po sprawdzeniu jakiejś gry na przykład z Virtual Boy’a, raczej nie ma ochoty na kolejną…

W najgorszym wypadku, jeżeli coś kompletnie zepsujecie, zostaje ręczna edycja wpisu domyślnej skórki na Carbon, jak poniżej.

sudo nano /opt/retropie/configs/all/emulationstation/es_settings.cfg

Kolejna sprawa – nowy system. Zasadniczo dodanie kolejnego za pomocą konfiguratora dopisuje automatycznie do pliku z definicją systemów. Powiedzmy jednak, że chcecie dodać swoją wersję emulatora Sam Coupe.

Warto zapamiętać, że domyślna konfiguracja zdefiniowanych systemów jest zapisana w /etc/emulationstation/es_systems.cfg. Czyli przy aktualizacji zostanie nadpisana. Aby mieć swoją zawsze z zanadrzu, trzeba ją skopiować do folderu /opt/retropie/configs/all/emulationstation/. Jeżeli EmulationStation nie znajdzie tam pliku, pobierze domyślny.

sudo cp /etc/emulationstation/es_systems.cfg /opt/retropie/configs/all/emulationstation/es_systems.cfg

Aby dodać kolejny system trzeba w tym pliku dodać wpis zgodnie z tym, co poniżej:

<system>
<name>samcoupe</name>
<fullname>SAM Coupe</fullname>
<path>/home/pi/RetroPie/roms/samcoupe</path>
<extension>.DSK</extension>
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS samcoupe %ROM%</command>
<platform>samcoupe</platform>
<theme>samcoupe</theme>
<directlaunch/>
</system>

Mamy podaną nazwę, pełną nazwę systemu, lokalizację plików, rozszerzenie plików, komendę uruchamiającą, nazwę platformy (aby skórki wiedziały co ładować, jeżeli system jest mniej lub bardziej standardowy). Zgodnie z zasadą działania RetroPie i EmulationStation – sprawdzić rozszerzenia plików, bo może się okazać, że emulator nie będzie widoczny! Jeżeli trzeba – dopiszcie na przykład w sekcji <extension> .zip </extension>.

W zasadzie zapewne nie będzie Wam to potrzebne, ale jeżeli chcecie na przykład podzielić systemy PC-Engine i TurboGrafx 16 na osobne foldery, możecie to zrobić tym sposobem.

Kompletnie zaawansowanym tematem jest tworzenie zestawień składających się z:
– opisu gry
– zrzutu ekranu
– a nawet (!) krótkiego filmu w formacie mp4.
– wraz z pełną listą gier

Wygląda to piorunująco, używamy do tego zaawansowanego Scrapera, który jest dostępny w RetroPie Setup -> Manage packages -> Manage optional packages -> na samym dole jest scraper. Najlepiej postępować jak poniżej:

Po instalacji pojawi się w menu możliwość konfiguracji:

Możecie wybrać systemy do przeskanowania, bo operacja będzie trwała dość długo…

Ważna jest opcja 9 – Use rom folder for gamelist & images – załaduje dane (listę gier, obrazy i filmy) na podłączony pendrive/dysk – będzie to łatwiejsze do robienia kopii. To akurat w przeciwieństwie do standardowego scrapera, dostępnego z menu Emulation Station. Albo – nie potrafię go odpowiednio skonfigurować. Jeszcze 😉

Jeszcze dwie kwestie – nie każda skórka wspiera wyświetlanie filmów! Carbon tak, inne – musicie próbować.

Kolejna – warto włączyć sprzętowe wsparcie dla odtwarzania filmów – będzie miejscami płynniej.

Oraz typ widoku listy gier:

To już koniec. Oczywiście, jeżeli dowiem się czegoś więcej, zostanie dodana nowa opcja, pojawi się coś ciekawego – z przyjemnością to opiszę.

Najpiękniejsze w tym wszystkim jest to, że z początkowego 'A, zrobię sobie emulator Atari, bo mi się na strych chodzić nie chce’ wessało mnie kompletnie i (jak zwykle!) okazało się, że temat jest przebogaty, z możliwościami rozwoju, konfiguracji, wykazania się w wielu sferach. Zachęcam, zachęcam i jeszcze raz zachęcam!

Dobranoc.

RetroPie i Atari, C64, ZX Spectrum

Atari. Początek mojej pasji. Jakże mógłbym odpuścić go w mojej maszynie arcade!

Tak przy okazji, mała dygresja – Atari 800XL/65XE/130XE, C64 czy też ZX Spectrum/ZX Spectrum +/128/Timex 2048 były komputerami, a nie konsolami do gier. Z tego powodu próba grania w Jet Set Willy może skończyć się niemiłym rozczarowaniem, bo jak zastąpić sześcioma przyciskami pełną klawiaturę? Czy nawet wcisnąć Start na klawiaturze Atari? Z tego powodu potrzebujemy klawiatury. Najprostsze jest podłączenie klawiatury USB. I działa dobrze. Mnie gdzieś, kiedyś udało się kupić i zbić punktami klawiaturę na Bluetooth. Ładowana przez Micro USB, magnetyczna z tyłu, z pokrowcem. Nie jest idealnie praktyczna (polskich znaków na niej raczej nie dam rady wpisać), ale do wybrania Fn+F4 (Start w Atari) nadaje się świetnie. Czy nawet wpisania prostego programu w Basic 😉

Edycja: Artykuł jest częścią większego opisu: http://blog.asobczak.pl/2018/11/03/arcade-bartop-opis-budowy-opus-magnum-aktualne-bo-nie-jest-wykluczone-ze-zrobie-wkrotce-cos-ciekawszego-d/

WAŻNE w RetroPie.

W momencie uruchamiania jakiejkolwiek gry, jeżeli przytrzymacie dłużej jakiś klawisz na klawiaturze, przejdziecie to konfiguracji podstawowych opcji – jak na przykład wyboru domyślnego emulatora dla danego systemu. Pokazuję to dokładnie w przypadku Commodore 64.

Każdy z emulatorów ma dziesiątki (jeżeli nie setki) opcji – wielkość pamięci RAM, wersja komputera, podłączone dodatki, itp., itd. Jest tego mnóstwo – specjalistom w każdym temacie wiele powie.

Wracając do Atari.
Jak się okazało – edycja wgrana domyślnie z LibRetro (czyli z przedrostkiem lr-) jest, delikatnie mówiąc, zepsuta. Konieczne okazało się zainstalowanie innej wersji, na szczęście dostępnej bez problemu z poziomu instalatora RetroPie.

Ogólnie macie trzy możliwe opcje konfiguracji (dostępne z poziomu RetroPie -> RetroPie Setup):
– Manage packages i tam

  • Manage core packages – tam retroarch, emulationstation, retropiemenu, runcommand – instalacja/aktualizacja
  • Manage main packages – tam jest większość domyślnych emulatorów, przeważnie już zainstalowanych
  • Manage optional packages – tam jest na przykład inny emulator Atari, DosBox, Amiberry, Fuse i mnóstwo innych (hatari, frotz, daphne, capricerpi (Amstrad), basilisk (Macintosh)), SCUMM
  • Manage driver packages – sterowniki na przykład do pada PS3, arcade – na szczęście mnie się wszystkie załadowały odpowiednie automatycznie
  • Manage experimental packages – tutaj już czasem niesamowicie orientalne emulatory – Sharp X68000, Oric 1/Oric Atmos, NEC, TRS-80, ZX81, Minecraft, Quake client, Attract mode (), Pegasus, 

Przepraszam za zrzuty ekranu robione telefonem, ale dopiero jestem na temacie zapoznawania się jak robić zrzuty ekranu w RetroPie 😉 Chyba jest to HotKey (czyli domyślnie Select) + F8 na klawiaturze, ale jeszcze nie miałem okazji próbować. Poza tym – nie wiem czy działa w menu, bo w instrukcji jest w sekcji robienia zrzutów z gier.

Klawisze funkcyjne odpowiadają za:
– F1 – Menu emulatora
– F2 – Option
– F3 – Select
– F4 – Start
– F5 – Warm reset – dla niewtajemniczonych – przeciśniecie klawisza Reset, ale kontrolowane sprzętowo, czyli możliwe do przejęcia
– Shift + F5 – Cold reset, czyli jakby wyłączenie/włączenie komputera

Więcej na: https://retropie.org.uk/docs/Atari-800-and-5200/

Nie zapomnijcie zapisać konfiguracji w Menu -> Emulator Configuration -> Save Configuration File.

Znalezienie i dogranie ROM Atari pozostawiam już Wam. Nie mogę sugerować żadnych sposobów, ze względu na prawa autorskie.

Commodore 64 to w sumie jedna możliwa opcja – Vice. Tutaj nie ma żadnych czarów, ale muszę powiedzieć, że dziwi mnie trochę 'bezwładność’ tego emulatora. Jakoś nie mogłem się w niego wgryźć. Aż do momentu, kiedy okazało się, że znowu podpowiedziała się jakaś dziwna wersja emulatora 😀 x64sc zamiast zwykłego x64. Po zmianie przy dłuższym naciśnięciu klawisza w momencie startu emulatora i zmianie – wszystko już jest poprawnie.

Tutaj w konfigurację wchodzimy po naciśnięciu F12, obsługujemy go klawiszami Prawo, Lewo, po zmianach zapisujemy konfigurację w Settings management -> Save current settings.

Więcej na stronie https://retropie.org.uk/docs/Commodore-64-VIC-20-PET/

Co do ZX Spectrum – emulator Fuse. Znowu zainstalowany jest taki, w którym nie mogłem zmienić konfiguracji klawiszy, ani żadnych innych parametrów. Domyślnie jest lr-fuse i nie wiem jak w nim zmienić mapowanie klawiszy, wejść w opcje, itp. Zainstalowałem fuse z listy jak poniżej i menu się pojawiło, co bardzo mnie ucieszyło.

Jak powyżej – najważniejsze klawisze to na przykład F1 – Opcje emulatora, F2 – zapis zrzutu ekranu, F4 – opcje emulatora, F5 – reset, F9 – wybór typu komputera – Spectrum 48K, Spectrum 128K, Spectrum +2, Timex 2048 i podobne, F10 – wyjście z emulatora.

Więcej na stronie https://retropie.org.uk/docs/ZX-Spectrum/

Przepraszam za spisanie wyłącznie najważniejszych informacji, ale opisanie wszystkiego dokładnie jest niesamowicie trudne, wymaga specjalistycznej 'retro-wiedzy’ (a tą mam wyłącznie w strefie Atari) i jest przeznaczona dla maniaków konkretnej maszyny. A Ci – znajdą informacje sami 😉

Arcade bartop – Sprzętowo

W tym wpisie skupię się wyłącznie na wątkach sprzętowych dotyczących Arcade Bartop.

Edycja: Artykuł jest częścią większego opisu: http://blog.asobczak.pl/2018/11/03/arcade-bartop-opis-budowy-opus-magnum-aktualne-bo-nie-jest-wykluczone-ze-zrobie-wkrotce-cos-ciekawszego-d/

Wraz z kosztami przestawia się to następująco.

Sprzęt 'główny’:

Raspberry Pi 3 lub wyższe – 120 PLN
Karta 8 GB – kilkanaście złotych, ale przeważnie każdy jakąś w domu już posiada.
Pendrive 32 GB – 25 PLN

Arcade sticks – 150 PLN
’Daisy’ – 21 PLN
Port USB z mocowaniem – 5 PLN

Włącznik IEC – 10 PLN
Hub USB – 20 PLN

Obraz:

Monitor 19 cali 4:3 z DVI – 50 PLN
Kabel HDMI – DVI

Dźwięk:

Głośniki – 35 PLN
Wzmacniacz Yamaha – 15 PLN

Sklejka plus wycięcie – 150 PLN

Pozostałe:

Śruby, listewki – 40 PLN
Bejca – 15 PLN
Papier ścierny, pilnik, piła, wiertarka, wiertła do drewna.

Razem około 700 PLN.

Dlaczego osobny pendrive a nie wszystko na karcie SD?

Karty SD (a szczególnie ich system plików) lubią się zepsuć. Szkoda by było aby nasza kolekcja przepadła wraz z kartą. W naszym przypadku po skończonej konfiguracji robimy kopię całej karty 8/16GB Win32DiskImager i śpimy spokojnie. To po pierwsze.

Po drugie – pendrive można wypiąć i prosto dograć kolejne plik. Tak, owszem, większość z Was zapewne jest świetnie obeznana z Putty, FTP czy bezpośrednim dostępem do folderów, ale większość osób woli 'standardowe’ podejście Kopiuj/Wklej.

Po trzecie – jeżeli kolekcja się powiększy – bez problemu i dodatkowej konfiguracji podłączycie dysk SSD. Wystarczy przenieść całą zawartość pendrive w inne miejsce.

Na początek próba ogniowa i odpowiedź na pytanie – Czy w ogóle jest mi to potrzebne i naprawdę będę grał? Wybaczcie, ale czasem mój pragmatyzm przygniata mnie samego.

Zaskoczyło, będę grał 😀
Zacznijmy od galerii Arcade stick’a. Tutaj już naprawdę 'wolna amerykanka’. Ceny od stonowanych 150-200 PLN aż po Sanwa za 700-1000. Do wyboru, do koloru. Dosłownie. Ja na początek spróbowałem z czymś tańszym.

Wraz z Raspberry Pi.

Monitor. Wbrew pozorom nie jest tak łatwo znaleźć teraz monitor 4:3 z DVI. Niestety, nie udało mi się znaleźć w pobliżu egzemplarza z głośnikami. Byłoby łatwiej.

HUB USB przyda się gdy będziemy chcieli podłączyć coś pod port zewnętrzny – może się okazać, że zasilacz do Raspberry Pi będzie niewystarczający.
Głośniki zakupione na jednym z portali aukcyjnych wraz z kablami z gotowymi końcówkami:
To tyle na dzisiaj. Sprzęt zebrany, sklejka gotowa, przycięta i pomalowana. Pora składać…

Arcade Bartop – Audio

Co do dźwięku – postanowiłem poświęcić mu osobny wpis, ponieważ temat nie jest na jedną linijkę tekstu.
Najlepiej i najłatwiej byłoby znaleźć monitor z głośnikami, podłączyć do Raspberry Pi i koniec tematu.
Ale… Nie znalazłem takiego 🙁 Do tego – kupiłem kiedyś w promocji mały wzmacniacz na chipach Yamaha – XM-M531 (https://www.ebay.com/itm/XH-M531-Yamaha-2-20W-Digital-HIFI-Audio-Stereo-Class-D-Amplifier-Board-YDA138-E-/112209877103), który leżał i kurzył się. Uparłem się, że go wykorzystam.
No i się zaczęło 😀 Jak go zasilić? Jakie głośniki podłączyć? Jak je zamontować?
Poniżej rozwiązania wraz z przemyśleniami.
Głośniki kupiłem tanie, jakie udało mi się znaleźć na jednym z serwisów aukcyjnych, koszt z przesyłką to 35 PLN. Philips, więc nawet nie jest źle.

Zasilić to cholerstwo trzeba było już z większego zasilacza, do tego kolega dorobił mi radiator i podstawkę, żeby się nasza drewniana buda nie spaliła 🙂

Pierwsze testy (na dole tablet z odpalonym Dashticz) wypadły bardzo pomyślnie. Troszkę buczy jeżeli nie ma dźwięku, ale cudów za te pieniądze się nie spodziewałem… A gra potężnie.

Kolejna kwestia – montaż. Jak się okazało, nie przemyślałem tego zbyt dokładnie, rozmiar głośników jest zbyt duży na włożenie ich 'gdzie bądź’. Myślałem, że zamontuję je nad monitorem, ale wstępny projekt zakładał, że będzie tam zabudowana przestrzeń, czego nie zauważyłem. Pozostały boki (a tutaj szkoda mi było psuć pięknych nadruków), góra (czy ja wiem czy to dobry pomysł…) lub przemodelowanie projektu przez montażem i zamontowanie głośników nad obrazem.

Stanęło na tym, że wywierciłem jednak dziury na monitorem i tam przykręciłem głośniki. Cóż, kompromis. Ale dają radę i to całkiem dobrze!

Zamontowałem je powyżej monitora.