Odwiedza nas 75 gości oraz 0 użytkowników.

DVPi+

Spis treści

Aktualizacja 13-12-2024 - SVXreflector Panel kontrolny v.2024 

 

DVPi +  ( Analog & Digital Voice over Pi )

Koncept DVPi+ bazuje na oryginalnym DVPi by KD8CEC.

Założenie jest takie aby wycisnąć z tej konstrukcji jak najwięcej dla siebie i posiadać najwięcej możliwych opcji jakie umiem dodać.

DVPi+ to kontynuacja którą opisywałem krok po kroku w kilku artykułach - teraz postanowiłem połączyć wszystko co robiłem w jeden artykół.

Recepta na DVPi+  jest prosta i polega na dogrywaniu nowych opcji nie ingerując w sam program DVPi i co najważniejsze zachowując w pełni schemat oryginalnego urzadzenia DVPi.

Mając do dyspozycji ekran dotykowy, przyciski funkcyjne oraz rotary encoder, można postarać się zaadaptować te urządzenia do oprogramowania jakie chcemy wgrać.

 

DVPi to projekt kolegi KD8CEC opisany na stronie http://www.hamskey.com/ i z założenia jest to Network Radio bazujący na DVSwitch Server. Wstępnie projekt pozwalał na prace w sieci DMR i Dstar.

DVPi można było uruchomić w wersji z Single VFO-A  lub DUAL VFO VFO-A i VFO-B.

 

 

DVPi można obsługiwać dzięki ekranowi dotykowemu lub za pośrednictwem dedykowanych przycisków funkcyjnych i obrotowego encodera.

 

Oczywiście można ograniczyć się tylko do obsługi przycisku PTT

 

 

Ponieważ nie byliśmy zainteresowani używaniem modułu RF to zastąpiliśmy optoizolator diodą zieloną sygnalizującą stan RX.

 

 

 

 

 

 

 

Przedni panel posiada potencjometr głośności, gniazdo RJ45 dla mikrofonu, ekran dotykowy, miejsce na przyciski funkcyjne i obrotowy encoder.

 

Tylny panel posiada złącze LAN, w przyszłości USB-C 5V zasilanie, wiatrak chłodzenia, 12V gniazdo zasilania oraz 2xUSB dla urządzeń zewnętrznych.

 

Mikrofon posiada dwa przyciski które Dawid MSR zaadaptował jako przyciski funkcyjne. - Dlatego ich nie ma na przednim panelu.

 

 

 Tak wygląda BAZOWE urządzenie które stopniowo zostało poddane modyfikacji od strony programowej.

Proszę zapamiętać iż przedstawiowy schemat połączeń GPIO jest dla mnie standardem w/g DVPi i nie był zmieniany, a potencjalne "programy" zawsze musiały bazować na tym konkretnym przykładzie.

 

 

 


DVPi DSCAN

Kolega KD8CEC opublikował zwiastun na YT pokazujący możliwość użycia nakładki MMDVM jako odbiornika i przekonwertowanie odbieranego sygnału na dźwięk.

W oczekiwaniu na publikację dodaję to opcję do porządanej i z pewnością takie użycie MMDVM może być fajne.

 

https://www.youtube.com/watch?v=KTV-XD6yxUg

 

Aktualizacja 13-12-2024 - Po upływie kilku lat ten projekt nie pojawił się publicznie tak więc można to tylko potraktować jako ciekawostkę. Wydaje mi się że problemem jest jak zwykle DMR i  chore podejście do użytkowania zamkniętego kodu szyfrowania.


DVPi+ YSF

 

Aby dodać do naszego DVPi obsługę sieci YSF należy uruchomić funkcję DUAL VFO

 Generalnie należy rozpocząć od dodania do ustawień MMDVM_Bridge obsługi YSF Network

 

Taraz ja zrobiłem klona Analog_Bridge tak Aby pracował niezależnie i miał ustawienia dedykowane dla YSF tylko. Tak więc 2x Analog_Bridge 1x MMDVM_Bridge.

 

W uproszczeniu to chyba można wyjaśnić następująco:

VFO A  czyli DMR i DSTAR działa dzięki wbudowanemu DVswitch

VFO B wymaga doinstalowania kolejnego DVSwitch z konfiguracją na stałe do np. YSF lub M17

 


DVPi+ M17

 

Aby dodać do naszego DVPi 1.0 by KD8CEC  obsługę sieci M17 należy najpierw uruchomić funkcję DUAL VFO2  a następnie zainstalować program USRP2M17

Dzięki takiemu zabiegowi posiadamy sieci DMR i DSTAR na VFO A , natomiast VFO B będzie łączyć się z USRP mostem do  M17 Network.

 

Przy pomocy programu DVPi Manager  uruchamiamy DUAL VFO oraz dokonujemy zmian w ustawieniach TX/RX Port

 

Pokazane porty 34001/32001 są kompatybilne z programem USRP2M17 Bridge którego musimy zainstalować zgodnie z instrukcją https://wiki.m17.link/usrp2m17_bridge

 

sudo -s
mkdir
git cd git

git clone https://github.com/nostar/MMDVM_CM.git
...

 

Po poprawnej instalacji i uruchomieniu USRP2M17 mamy VFO A z DMR i DSTAR oraz VFO B z M17 NETWORK.

 

Zapamietaj:

1. Instalacja i konfiguracja USRP2M17 na DVPi

2. DVPi Manager - aktywacja DUAL VFO

3. Dopasować porty USRP: 34001/32001 i miłego użytkowania

 

Może kiedyś DVPi dorobi się aktualizacji i będzie można wybierać więcej sieci z menu.

 

 


DVPi MMDVMHost

 

MMDVM Hotspot to nic innego jak program MMDVMHost autorstwa G4KLX zmieniający nasz modem MMDVM w hotspot.

 

Modem MMDVM został podłączony do RaspberryPi poprzez USB-TTL a jego uruchomienie jest możliwe poprzez skrót ekranowy lub poprzez SVXReflector - Panel Sterowania v.0.05

 

 

 

 

 

 

 

 


DVPi SDR-RX

RTL-SDR także jest możliwy skoro już jest ekran dotykowy to dlaczego nie użyć.

Ten koncept został tylko uruchomiony w celu sprawdzenia czy RaspberryPi 3B+ da sobie z tym radę. Dalsza konfiguracja dopiero po podłączeniu ekranu dotykowego.

 

Opis instalacji:

https://learn.adafruit.com/freq-show-raspberry-pi-rtl-sdr-scanner/installation

 


DVPi SVXReflector 

 

 

Zachęcam do zapoznania się z moim zdaniem ciekawym i mającym potencjał projektem analogowej sieci krótkofalaskiej http://fm-poland.pl/. Opisy, schematy, linki do grup dyskusyjnych znajdziecie pod podanym adresem, wraz z kompletną informacją co do koncepcji tej sieci.

Koledzy z SVXReflector Polska opublikowali opis instalacji programu svxlink w wersji klient SVXReflector PL między innymi na RaspberryPi. 

Uznałem że skoro w DVPi posiada RPI3B+ , gotowy tor audio, sterowanie PTT i wszystko inne co jest niezbędne do uruchomienia klienta bez RF to dlaczego nie.

Słowem wstępu pragnę wyjaśnić iż dla mnie DVPi to nie tylko program ale i schemat połączeń GPIO, tymsamym pewnego rodziaju "standard" połączeń i konfiguracji dla tego urządzenia.

Dla przykładu to schemat połaczenia do RaspberryPi

 

 

 

Poniższe zdjęcie przedstawia podzespoły które biorą udział w pracy programu SVXLink w podstawowej jego konfiguracji.

GPIO20 PTT Switch

GPIO12 RX LED

 

 

 

 

Jeśli instalacja przebiegnie prawidłowo naszym oczom pod adresem IP naszej maliny pojawi się podobny dashboard

 

 

 

Ponieważ DVPi dysponuje wyświetlaczem dotykowym  to postanowiłem użyć funkcji dotyku aby móc zmieniać grupy TG.

Dlatego postanowiłem zmodyfikować (na własne potrzeby) dashboard, aby był w stanie na wyświetlaczu 3,5" o rozdzielczości 320x480px niezbędne informacje.

 

 Tak powstała wersja 0.01 Panelu sterowania SVXReflector client.

 

 

 

Całość uruchamia sie z poziomu pulpitu za pomocą skryptu uruchamiającego na poczatku animację a nastepnie wszystkie niezbędne usługi jakie są wymagane przez SVXLink oraz wyświetlanie dashboard poprzez przegladarke www w trybie pełnoekranowym.


 

Panel Sterowania v.0.02

 Główną bazą był dashboard opublikowany w ramach FM POLSKA, ja go jedynie adaptowałem do własnych potrzeb, skrypty w większości są znalezione w internecie. Mój wkład w ten projekt to jedynie 1% własnej tworczości i trochę czasu poświęconego na adaptację pod wyświetlacz 480x320px.

 

Dzięki aktualizacji ze strony kol. Waldka SP2ONG pojawiła się klawiatura DTMF co bardzo ułatwia pracę z poziomu dotykowego ekranu.

Dlatego główne okno posiada proste niezbędne informacje o statusie połaczenia z FM POLAND, następnie 5 klawiszy szybkiego wybierania i w dolnej części klawisze odnoszące się do innych funkcji.

Jeśli chodzi o 5 klawiszy szybkiego wybierania to można je zastąpić przyciskami   i dzięki temu bez posiadania fizycznego przycisku PTT będzie można prowadzić rozmowy tylko posiadając zestaw słuchawkowy.

 

 

 

I tak pierwszy od lewej to DTMF i wyświetla nam się okno z numeryczną klawiaturą dzięki której można wygenerować DTMF.

 

Kolejnym oknem jest TG czyli klawisze szybkiego wybierania grup rozmownych w FM POLAND

 

Svxlink to głównie także EchoLink ale i nie tylko dlatego mamy także klawisze szybkiego wyboru innych funkcji oraz szybkiego wyboru połączeń do wybranych stacji echolinkowych

 

Svxlink posiada zintegrowany moduł sieci FreeRadioNetwork ( nie mylić z FRN 446MHz ) to znalazło się także miejsce na menu które pozwala na zpewsonalizowanie połaczenia do trzech kanałów/serwerów

 

Na koniec zakładka Config. Tutaj przycisk POWER OFF został zastąpiony funkcją SVXlink OFF i wynika to z potrzeby zamknięcia wszystkiego co jest wymagane do pracy SVXlink , wyjście do pulpitu i umożliwić uruchomienie programu DVPi

 

 

Krótki film na Youtube przedstawiający pracę na ekranie dotykowym

Obejrzyj krótkie DEMO

 

 


 

Panel Sterowania v.0.03 - dostępny do pobrania na GitHub FM POLAND.

 

 Główną bazą był dashboard opublikowany w ramach FM POLSKA, ja go jedynie adaptowałem do własnych potrzeb, skrypty w większości są znalezione w internecie. Mój wkład w ten projekt to jedynie 1% własnej tworczości i trochę czasu poświęconego na adaptację pod wyświetlacz 480x320px.

 

 

 

 

Można także pobrać tylko Dashboard - https://github.com/FM-POLAND/hs_dashboard_dvpi

 

 


 

Panel Sterowania v.0.04 - dostępny w obrazie na RPI

 

Główną bazą był dashboard opublikowany w ramach FM POLSKA, ja go jedynie adaptowałem do własnych potrzeb, skrypty w większości są znalezione w internecie. Mój wkład w ten projekt to jedynie 1% własnej tworczości i trochę czasu poświęconego na adaptację pod wyświetlacz 480x320px.

 

 

Strona startowa

Po uruchomieniu pojawia nam się okno MAIN. Mamy na nim kilka podstawowych informacji o adresie IP naszego urządzenia, czasie uruchomienia czy temperaturze procesora. Mamy także informacje dotyczące samego SVXreflector w postaci informacji o monitorowanych grupach rozmownych TG Monitor oraz o aktywnej w tym momencie grupie TG Active.

Posiadamy także informacje o statusie połączenia z SVXReflector oraz informację  o aktywności. Aktywność przejawia się w postaci znaku osoby którą odbieramy lub o ostatniej słyszanej TG.

Poniżej mamy 4 przyciski szybkiego wyboru grup TG, ( QUICK MEMO ) które są zdefiniowane w pliku /var/www/html/480x320/include/config.php

 

Zmieniając wartości możemu sobie dokonać personalizacji, KEY111 do KEY114 są przypisane do 4 przycisków Quick Menu. Dla przykładu linia  define("KEY111", array('1','911#','green'));  poprzez modyfikację do define("KEY111", array('W/W','9191#','green')); daje nam nam przycisk w kolorze zielonym z napisem W/W i gereruje DTMF o wartości 9191# co jest w wiekszości SVXReflectorów przypisane do grupy WorldWide

 

 

 Sterowanie DTMF

Po wybraniu ikony tej uzyskujemy dostęp do panelu z klawiaturą numeryczną odpowiadającą kodom DTMF. Wystarczy przykładowo wybrać 91260# aby połączyć się z TG260 FM Polska. Dokładnie tak samo jakbyśmy używali wybierania DTMF w radiu, z tą różnicą że tu nie musimy wciskać PTT

 

 

 

 Memory

Memory to predefiniowane przyciski umożliwiające szybki dostęp do TG bez konieczności używania klawiszy DTMF

 

 

Personalizacja odbywa się poprzez edycję pliku /var/www/html/480x320/include/config.php gdzie podobnie jak w opisanym przypadku QUICK MEMORY.

 

 Patrząc na definicję od momentu array to wystarczy zmienic wartości według schematu 'nazwa','DTMF','color'

 

 

 

Last Heard

Ostatnio słyszane - to wewnętrzy wykaz stacji jakie były aktywne na  TG monitorowanych. Jest to ważne aby zrozumieć iż nie jest to aktywność serwera a jedynie naszego noda.

 

 

 

Dashboard serwera

Dashboard serwera jest kompatybilny obecnie jedynie z SVX dashboard  by https://github.com/SkyAndy

Na tym zdjęciu  widać dashboard serwera testowego https://www.d4a.uk/svxrdb-server/ który został zmodyfikowany na potrzeby wyświetlania niezbędnych informacji na wyświetlaczu 3,5"

 

W trakcie testów i prac nad tym  projektem zbudowaliśmy wraz z kolegami w pełni działający SVXReflector z cross do sieci DMR, M17, FreeRadioNetwork, YSF i Mumble oraz podłączonym RTL-SDR jako monitor lokalnego przemiennika.

 

Ale można bez problemu wyświetlić prawie każdy dashboard.

 

W tym celu trzeba edytować plik /var/www/html/480x320/dashboard.php

Wystarczy zmienić adres dashboard serwera i powinno działać. Oczywiście proszę pamietać iż nie każdy dashboard serwera zmieści się na tak małym wyświetlaczu.

 

 

SVXLink

SVXlink to zbiór przycisków do obsługi modułów takich jak MOTAR, PARROT, czy sam EchoLink.

 

Kolorem purpurowym oznaczone przyciski jakie możemy sobie sami zaprogramować. Mogą to być przykładowo przemienniki EchoLink.

Personalizacja odbywa się poprzez edycję pliku /var/www/html/480x320/include/config.php

i dokonanie tam stosownych zmian według klucza podanego przy okazji MEMORY czy QUICK MEMO  -  'nazwa','DTMF','color'

 

 

 

Free Radio Network

Ten panel umożliwia  podłączenie się do 3 zdefiniowanych serwerów FRN.

 

 

Mamy także dostęp do Dashboard serwera FRN jeśli on takowego posiada.  Ten wyświetlany to dashboard serwera testowego z którym domyślnie ten obraz się łączy

https://www.d4a.uk/FRN/

 

Oczywiście adres wyświetlanego serwera można zmianić poprzez edycję pliku /var/www/html/480x320/frndash.php i zmianę w nim adresu

 

FRN składa się z 3 klientów które można dowolnie konfigurować zdecydować gdzie i do jakiego serwera FRN będziemy łączyć, z jakim znakiem itp.

FRN1 - plik konfiguracyjny  /etc/svxlink/svxlink.d/ModuleFrn.conf

FRN2 - plik konfiguracyjny  /etc/svxlink/svxlink.d/ModuleFrn2.conf

FRN3 - plik konfiguracyjny  /etc/svxlink/svxlink.d/ModuleFrn3.conf

 

 

 

 

Konfiguracja

Konfiguracja to taki zestaw narzędzi pozwalający sterować całym tym wynalazkiem. Mamy tu do dyspozycji przyciski czerwone odpowiedzialne za wyłączanie/resetowanie albo samej aplikacji SVXLink albo samego RaspberryPi.

 

 

 

 

SVX Status - to strona wyświetlająca status programu SVXLink. ( dokładniej to jednego z nich, głównego - tego sterowalnego za pomocą ekranu dotykowego i omawianego do tej pory - więcej o tym na końcu )

 

 

 

HARDWARE - to zakładka pokazująca informacje o naszym sprzęcie - zajęcie procesora, pamięci , dysku itp.

 

 

AudioTest - to narzędzie do testowania poziomów audio z jakimi wchodzimy na SVXReflector. Pozwala na nagranie około 15 sekund naszego głosu a następnie odsłuchując się widzimy jaki jest poziom.

 

 

Audio Config - to graficzna nakładka na alsamixer pozwalająca na zmianę poziomów audio wejście i wyjście w celu znalezienia optymalnego poziomu audio.

 

 

 

 

RTL-SDR - Dzięki temu panelowi możemy opcjonalnie uruchomić "dodatkowy opcjonalny" klient SVXLink prekonfigurowany pod kątem użycia odbiornika RTL-SDR podłączonego za pośrednictwem portu USB.

Dodatkowy klient svxlinkrtl jest uruchamiany i konfigurowany równolegle do działającego głównego klienta SVXLink. Ten klient posiada własny plik konfiguracyjny.

 

Mamy do dyspozycji prosty dashboard informujący o STATUSie pracy modułu RTL-SDR.

 

Konfiguracja tego klienta możliwa jest poprzez edycję pliku /etc/svxlink/svxlink_rtl.conf

Program można uruchomić ręcznie svxlinkrtl --config=/etc/svxlink/svxlink_rtl.conf 

 

 

 

 

AnyRadio - To kolejny niezależny klient SVXLink ( jest on w fazie TESTOWEJ i nie mogę potrwierdzić poprawności działania - generalnie chodzi o starowanie DTMF )  Klient ten pozwala uruchomić dodatkowego niezależnego klienta SVXLink w połączeniu kartą CM108 USB FOB - zmodyfikowana w/g projektu AllStarLink.

 

AnyRadio posiadać będzie kiedyś także Dashboard.

 Konfiguracja tego klienta możliwa jest poprzez edycję pliku /etc/svxlink/svxlink2.conf

Program można uruchomić ręcznie svxlink2 --config=/etc/svxlink/svxlink2.conf 

 

 

LICENCE - Próba przedstawienia informacji z jakich programów i materiałów korzystałem podczas tych modyfikacji - jakich praw licencyjnych należy przestrzegać podczas używania tego wsadu.

 

 

 

 

 Rotary Encoder

Obsługa rotary encoder to temat marzenie którego nie udało mi się zrealizować.

 

Plan był taki aby encoder pozwalał "przeskakiwać" pomiędzy ikonami na dashboard a wciśnięcie encodera potwierdzenie wyboru.

 

Niestety nie umiałem tego wykonać i poprzestałem na tym co mi się udało zrobić. Mianowicie obecnie enkocoder robi za "kółko w myszce" i pozwala na przewijanie zawartości dashboard która nie zmieściła się w całości.

 

 

 

Materiały VIDEO

Postaram się wkleić tu albo linki do materiałów na YouTube albo moje robocze filmiki. Kiedyś zostanie to poukładane

 Najnowsze video by MSR Project

 Demo by M0IQF

 

 

Materiały źródłowe:

http://svxlink.pl:888/

https://github.com/FM-POLAND

http://svxreflector.org/svxlink/index.html

http://www.hamskey.com/

http://www.svxlink.org

 

 

 

Podziękowania dla Dawida z MSR Project za udostępnienie DVPi - bez tego nie byłoby mojego zainteresowania tym projektem DVPi i  w konsekwencji tego także SVX.

Podziękowania dla Waldka SP2ONG i FM Polska za materiały jakie tam udostępnili, a także dla społeczności SVXReflector Polska na telegramie która  była otwarta na mój niszowy projekt.

Podziękowania dla Daniela SP0DZ za cenne pomoce i rady

 


Aktualizacja: 13-12-2024

( wraz z postępami będzie większy opis ) - wiecej w artykule aDVPi - edycja 2024 - koncept

 

 

Panel Sterowania v.2024 - to modyfikacja panelu v.0.04

 Pasek wyświetlania aktywnych stacji został zmodyfikowany i teraz wyświetla informacje pochodzące z API serwera i to klienci podłączeni do reflektora decydują co dokładnie jest wyświetlane.

 

 

Nastąpiło trochę zmian w module FRN - mianowicie wyposażony on został w okno wyświetlania korespondenta.

 

Dodatkowo zmieniony zostało okno DASHBOARD FRN, choć nazywanie tego zmianą to za dużo powiedziane. Zwyczajnie powstał "nowszy" FRN Dashboard 2024 i niejako zaimplementowane wyświetlanie zostało w aDVPi-2024. Oczywiście aby widzieć taki dashboard to sam serwer FRN musi go posiadać a nie klient. 

 

 

 

 

 

 

 

Więcej o koncepcyjne wersji znajdziecie w aDVPi - edycja 2024 - koncept 


 

Wygaszacz ekranu

 Dawno wspominany i jak zawsze przypadek sprawił że postanowiłem się tym zająć ( no i odrobina wolnego czasu wieczorem )

Pomysł na realizację wygaszacza zaczerpnięty ze strony https://www.ketzler.de/2017/12/exit-screensaver-on-raspberry-pi-with-motion-sensor/ i został zaadaptowany do potrzeb DVPi.

Proces instalacyjny opisany jest na powyższej stronie i przebiega bezproblemowo.

Konfiguracja już się różni i częściowo wynika to z wersji GPIO-Watch oraz specyfiki DVPi.

 

Bez wskazywania różnic przedstawię własną wersję konfiguracji oraz wykonania autostartu.

 

Konfiguracja

Należy utworzyć katalog /etc/gpio-scripts/ w którym będziemy tworzyli pliki z instrukcją co ma się stać gdy GPIO-Watch wykryje aktywność na GPIO.

I tu ważna uwaga odnośnie różnic jak DVPi aplikacja widzi GPIO a jak to widzi GPIO-Watch.

 

DVPi schemat GPIO

 

GPIO-Watch

 

Neleży stosownie policzyć co mamy na którym pinie i jaki to jest numer dla GPIO-Watch.  Moge podpowiedzieć iż w przypadku "standardowej" konfiguracji DVPi można utworzyć pliki o numerach 12  13  16  19  20  26  6.

 

Tak więc tworzymy plik 12 dla gpio numer 12  komendą  sudo nano /etc/gpio-scripts/12

 

i umieszczamy w pliku

#!/bin/sh
#echo 'set on'
xset s reset
xset dpms force on

 

Zapisujemy plik i nadajemy mu uprawnienia do uruchamiania komendą chmod +x /etc/gpio/scripts/12   W taki sposób przygotowywujemy pliki dla każdego portu GPIO jaki chcemy monitorować.

 

 

 

PIERWSZE URUCHOMIENIE TESTOWE

Uruchomienie musi się odbywać na ekranie DVPi i nie może być zrealizowane poprzez połaczenie SSH

 

 Wydając takie komendy w oknie terminala wykonacie konfigurację wygaszacza i ostatnia linijka to uruchomienie monitora GPIO.

xset dpms 120 120 120
xset s reset
xset dpms force on
gpio-watch -e rising 6 12 13 16 19 20 26

 

Wymieniona cyfra 120 to czas w sekundach - na potrzeby testu sugeryje zamienić na 20 lub 30 - te komendy nie zapisują się w systemie tak więc spokojnie.

 

Automatyczne uruchamianie

Jeśli testy z poziomu terminala przeszły pozytywnie można przejść do ostatniego elementu układanki AUTOSTARTU.

Tu należy wspomnieć o fakcie iż są dwa etapy. Pierwszy to samo włączenie wygaszacza ( komendy xset ) a drugi to wybudzenie czyli gpio-watch.

 

Zaczniemy od GPIO-Watch. Pierwsze co robimy to tworzymy scrypt uruchomienia monitora GPIO

sudo nano /home/pi/gpiowatch.sh

i wklejamy do niego

gpio-watch -e rising 6 12 13 16 19 20 26

 Proszę pamietać iż u Was mogą to być inne porty.

 

 Teraz czas uruchomić sam wygaszacz w systemie. W tym celu edytujemy plik sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

Zmieniamy wpisy z frazą xset i dopisujemy ścieżkę do naszego skryptu uruchomienia GPIO-Warch tak aby wyglądało to jak na zdjęciu

 

 

Generalnie to komenda xset dpms 120 120 120 zawiera w sobie trzy czasy i w zależności od posiadanego wyświetlacza LCD to tyle moze być fukcji. Dla przykładu komenda wyglądająca tak  xset dpms 100 200 300 pozwala na uruchomienie wygaszacza po 100sek, uspienie wyświetlacza po 200sek. i wyłączenie wyświetlacza po 300sek. Ja mogę jedynie mieć pierwszy paramert na wyświetlaczy Waveshare. Uzyskane efekty są uzależnione od posiadanej wersji wyświetlacza. Często na wyświetlaczach nie będzie można uzyskać efektu wyłączenia podświetlenia czy loga startowego.

 


 DVPi logo startowe

W trakcie uruchamiania raspberry nie pokazuje już więcej  informacji tekstowych a jedynie pojawi się na chwilę takie robocze logo.

UWAGA !!! Ta modyfikacja działa na ekranach HDMI.

 

Filmik pokazujący nowy sposób uruchamiania

 

LOGO startowe nie było możliwe do zrealizowania w przypadku wyświetlacza 3.5" na złączu GPIO. ( no nie udało mi się )

 

 


Kolega Dawid z MSR Project zaprojektował obudowę która bardzo podnosi walory estetyczne i użytkowe DVPi.

Miałem przyjemność używać tej obudowy przez kilka ładnych miesięcy i powiem że jest fajna, praktyczna i pozwala na ogrom modyfikacji wewnątrz.

 

 

 

 

 

 

 

Materiały źródłowe:

Zdjęcia dostarczone przez MSR Project

 

Linki do filmów na YouTube

https://youtu.be/vmVgb1WF-Qs

https://youtu.be/X_UhjVy1-Q8

https://youtu.be/STOVqy7bEiQ 

 

Jeśli ktoś jest zainteresowany taką obudową lub uzyskaniem większej ilości informacji - Prosze kontaktować za pośrednictwem portalu YouTube - linki wyżej.

 

 

 

 

Galeria zdjęć - zdjęcia pochodzą z rozbiórki

 

 

 

 

 

 

 


 ADVPi - obraz RaspberryPi

 

W poniższym materiale postaram się przedstawić opis tego co zamieściłem na TESTOWYM wsadzie na urządzenie RaspberryPi. To jedyny wsad jaki upubliczniłem i pomimo wielu błędów jakie tam można zobaczyć to finalnie to działa.

Mam świadomość iż jeśli tylko ktoś bardziej ogarnięty zabrał się za to to efekt będzie lepszy, niestety z powodu braku podobnych rozwiązań na rynku - postanowiłem coś sam ulepić na własne potrzeby.

 

 

 

ADVPi  klient bazuje na obrazie DVPi kolegi KD8CEC. Nadal mamy do dyspozycji program DVPi pozwalający pracować w sieciach DMR/Dstar w oryginale a po delikatnych modyfikacjach także YSF/M17.

Ponieważ posiadam takie urządzenie wykonane w/g opisu DVPi to postanowiłem dodać do niego kolejną funkcjonalność w postaci obsługi sieci analogowych.

Wersja BETA obrazu systemu na RaspberryPi. Postaram się w tym artukule wyjaśnić jak taki wsad sobie ustawić pod siebie.

 

Aby nie było nieporozumień - główną bazą był dashboard opublikowany w ramach FM POLSKA, ja go jedynie adaptowałem do własnych potrzeb, skrypty w większości są znalezione w internecie. Mój wkład w ten projekt to jedynie 1% własnej tworczości i trochę czasu poświęconego na adaptację pod wyświetlacz 480x320px.

 

Jeśli chodzi o specyfikację techniczną to proszę zapoznać się z projektem http://www.hamskey.com/ , niemniej można wspomnieć iż jest to RaspberryPi 3B+ ( rpi4 także potrafi działać ) z podłączonym ekranem 3,5" gpio, karta dźwiękowa USB oraz prosty interface PTT

 

 

Pierwsze uruchomienie

Po uruchomieniu pojawi się nam na ekranie taki pulpit 

 

W celu połączenia z własną siecią WiFi dodana została klawiatura która umożliwi wpisanie hasła.

Klawiatura może i nie jest optymalna dla tego ekranu ale na poczekaniu taką znalazłem.

 

 

Po połączeniu z naszą siecią lokalną możemu użyć także programu VNC do kontrolowania.

W tym celu trzeba wybrać połączenie z adresem IP naszego RaspberryPi a następnie wpisać hasło 595959.  Dokładnie tak samo jak w DVPi.

 

SSH połączenie możliwe poprzez login pi i hasło dvpi.

 

 

Na pulpicie mamy dwie interesujące ikony - DVPi oraz SVXlink. Ponieważ to opis poświęcony temu ostatniemu to zajmijmy się tym co się pojawia po uruchomieniu SVXlink.

Możemy bez problemu uruchomić zarówno DVPi jak SVXLink bez konieczności wstępnej konfiguracji ponieważ w konfiguracji zostawiłem ustawienia łączące wszystkie klienty z moimi prywatnymi serwerami na których można testować sobie bez limitu.

DVPi - https://www.d4a.uk/hbl/

SVXlink - https://www.d4a.uk/svxrdb-server/

FreeRadioNetwork - https://www.d4a.uk/FRN/

 

Wstępna konfiguracja

SVXLink główny -          /etc/svxlink/svxlink.conf

SVXLink RTL-SDR -      /etc/svxlink/svxlink_rtl.conf

SVXLink AnyRadio -     /etc/svxlink/svxlink2.conf

 APRS-IS -                   /etc/svxlink/aprsnet-pi

FRN1                           /etc/svxlink/svxlink.d/ModuleFrn.conf

FRN2                           /etc/svxlink/svxlink.d/ModuleFrn2.conf

FRN3                           /etc/svxlink/svxlink.d/ModuleFrn3.conf

 

 

 

Strona startowa

Po uruchomieniu pojawia nam się okno MAIN. Mamy na nim kilka podstawowych informacji o adresie IP naszego urządzenia, czasie uruchomienia czy temperaturze procesora. Mamy także informacje dotyczące samego SVXreflector w postaci informacji o monitorowanych grupach rozmownych TG Monitor oraz o aktywnej w tym momencie grupie TG Active.

Posiadamy także informacje o statusie połączenia z SVXReflector oraz informację  o aktywności. Aktywność przejawia się w postaci znaku osoby którą odbieramy lub o ostatniej słyszanej TG.

Poniżej mamy 4 przyciski szybkiego wyboru grup TG, ( QUICK MEMO ) które są zdefiniowane w pliku /var/www/html/480x320/include/config.php

 

Zmieniając wartości możemu sobie dokonać personalizacji, KEY111 do KEY114 są przypisane do 4 przycisków Quick Menu. Dla przykładu linia  define("KEY111", array('1','911#','green'));  poprzez modyfikację do define("KEY111", array('W/W','9191#','green')); daje nam nam przycisk w kolorze zielonym z napisem W/W i gereruje DTMF o wartości 9191# co jest w wiekszości SVXReflectorów przypisane do grupy WorldWide

 

 

 Sterowanie DTMF

Po wybraniu ikony tej uzyskujemy dostęp do panelu z klawiaturą numeryczną odpowiadającą kodom DTMF. Wystarczy przykładowo wybrać 91260# aby połączyć się z TG260 FM Polska. Dokładnie tak samo jakbyśmy używali wybierania DTMF w radiu, z tą różnicą że tu nie musimy wciskać PTT

 

 

 

 Memory

Memory to predefiniowane przyciski umożliwiające szybki dostęp do TG bez konieczności używania klawiszy DTMF

 

 

Personalizacja odbywa się poprzez edycję pliku /var/www/html/480x320/include/config.php gdzie podobnie jak w opisanym przypadku QUICK MEMORY.

 

 Patrząc na definicję od momentu array to wystarczy zmienic wartości według schematu 'nazwa','DTMF','color'

 

 

 

Last Heard

Ostatnio słyszane - to wewnętrzy wykaz stacji jakie były aktywne na  TG monitorowanych. Jest to ważne aby zrozumieć iż nie jest to aktywność serwera a jedynie naszego noda.

 

 

 

Dashboard serwera

Dashboard serwera jest kompatybilny obecnie jedynie z SVX dashboard  by https://github.com/SkyAndy

Na tym zdjęciu  widać dashboard serwera testowego https://www.d4a.uk/svxrdb-server/ który został zmodyfikowany na potrzeby wyświetlania niezbędnych informacji na wyświetlaczu 3,5"

 

W trakcie testów i prac nad tym  projektem zbudowaliśmy wraz z kolegami w pełni działający SVXReflector z cross do sieci DMR, M17, FreeRadioNetwork, YSF i Mumble oraz podłączonym RTL-SDR jako monitor lokalnego przemiennika.

 

Ale można bez problemu wyświetlić prawie każdy dashboard.

 

W tym celu trzeba edytować plik /var/www/html/480x320/dashboard.php

Wystarczy zmienić adres dashboard serwera i powinno działać. Oczywiście proszę pamietać iż nie każdy dashboard serwera zmieści się na tak małym wyświetlaczu.

 

 

SVXLink

SVXlink to zbiór przycisków do obsługi modułów takich jak MOTAR, PARROT, czy sam EchoLink.

 

Kolorem purpurowym oznaczone przyciski jakie możemy sobie sami zaprogramować. Mogą to być przykładowo przemienniki EchoLink.

Personalizacja odbywa się poprzez edycję pliku /var/www/html/480x320/include/config.php

i dokonanie tam stosownych zmian według klucza podanego przy okazji MEMORY czy QUICK MEMO  -  'nazwa','DTMF','color'

 

 

 

Free Radio Network

Ten panel umożliwia  podłączenie się do 3 zdefiniowanych serwerów FRN.

 

 

Mamy także dostęp do Dashboard serwera FRN jeśli on takowego posiada.  Ten wyświetlany to dashboard serwera testowego z którym domyślnie ten obraz się łączy

https://www.d4a.uk/FRN/

 

Oczywiście adres wyświetlanego serwera można zmianić poprzez edycję pliku /var/www/html/480x320/frndash.php i zmianę w nim adresu

 

FRN składa się z 3 klientów które można dowolnie konfigurować zdecydować gdzie i do jakiego serwera FRN będziemy łączyć, z jakim znakiem itp.

FRN1 - plik konfiguracyjny  /etc/svxlink/svxlink.d/ModuleFrn.conf

FRN2 - plik konfiguracyjny  /etc/svxlink/svxlink.d/ModuleFrn2.conf

FRN3 - plik konfiguracyjny  /etc/svxlink/svxlink.d/ModuleFrn3.conf

 

 

 

 

Konfiguracja

Konfiguracja to taki zestaw narzędzi pozwalający sterować całym tym wynalazkiem. Mamy tu do dyspozycji przyciski czerwone odpowiedzialne za wyłączanie/resetowanie albo samej aplikacji SVXLink albo samego RaspberryPi.

 

 

 

 

SVX Status - to strona wyświetlająca status programu SVXLink. ( dokładniej to jednego z nich, głównego - tego sterowalnego za pomocą ekranu dotykowego i omawianego do tej pory - więcej o tym na końcu )

 

 

 

HARDWARE - to zakładka pokazująca informacje o naszym sprzęcie - zajęcie procesora, pamięci , dysku itp.

 

 

AudioTest - to narzędzie do testowania poziomów audio z jakimi wchodzimy na SVXReflector. Pozwala na nagranie około 15 sekund naszego głosu a następnie odsłuchując się widzimy jaki jest poziom.

 

 

Audio Config - to graficzna nakładka na alsamixer pozwalająca na zmianę poziomów audio wejście i wyjście w celu znalezienia optymalnego poziomu audio.

 

 

 

 

RTL-SDR - Dzięki temu panelowi możemy opcjonalnie uruchomić "dodatkowy opcjonalny" klient SVXLink prekonfigurowany pod kątem użycia odbiornika RTL-SDR podłączonego za pośrednictwem portu USB.

Dodatkowy klient svxlinkrtl jest uruchamiany i konfigurowany równolegle do działającego głównego klienta SVXLink. Ten klient posiada własny plik konfiguracyjny.

 

Mamy do dyspozycji prosty dashboard informujący o STATUSie pracy modułu RTL-SDR.

 

Konfiguracja tego klienta możliwa jest poprzez edycję pliku /etc/svxlink/svxlink_rtl.conf

Program można uruchomić ręcznie svxlinkrtl --config=/etc/svxlink/svxlink_rtl.conf 

 

 

 

 

AnyRadio - To kolejny niezależny klient SVXLink ( jest on w fazie TESTOWEJ i nie mogę potrwierdzić poprawności działania - generalnie chodzi o starowanie DTMF )  Klient ten pozwala uruchomić dodatkowego niezależnego klienta SVXLink w połączeniu kartą CM108 USB FOB - zmodyfikowana w/g projektu AllStarLink.

 

AnyRadio posiadać będzie kiedyś także Dashboard.

 Konfiguracja tego klienta możliwa jest poprzez edycję pliku /etc/svxlink/svxlink2.conf

Program można uruchomić ręcznie svxlink2 --config=/etc/svxlink/svxlink2.conf 

 

 

LICENCE - Próba przedstawienia informacji z jakich programów i materiałów korzystałem podczas tych modyfikacji - jakich praw licencyjnych należy przestrzegać podczas używania tego wsadu.

 

 

APRS

Obraz ma uruchomioną usługę wysyłania ramek do serwerów APRS-IS

 

 Modyfikację danych wyświetlanych za pośrednictwem APRS-IS należy edytować plik /etc/svxlink/aprsnet-pi

Można oczywiście wyłączyć ten moduł poprzez edyscję pliku /etc/cron.d/svxlink i wstawienie znaku # przed linią */10 * * * * root /etc/svxlink/aprsnet-pi 2>&1 >/dev/null

 

 

 

SVXLink TX/RX LED

 ADVPi został wyposażony w skrypt umożliwiający na sygnalizację LED TX bez konieczności fizycznego brania sygnału z przycisku PTT. Dzięki temu mamy pełną już sygnalizację TX/RX bez konieczności zmieniania schematu GPIO pinout DVPi

 

Napisanie dodatkowego skryptu było konieczne aby nie ingerować w domyślny schemat połączeń GPIO w/g schematu DVPi

Prosze zauważyć iż o ile GPIO ma diodę czerwoną TX ale nie jest ona połączona z przyciskiem PTT, jednocześnie SVXLink nie posiada opcji wytransportowania sygnału nadawania.

Skrypt mieści się w /home/pi/svxpttled.py

i jest dopisany do skryptu start jak i stop co powoduje że jedynie SVXLink gdy pracuje to ten skrypt jest aktywny.

 

 

 

 Rotary Encoder

Obsługa rotary encoder to temat marzenie którego nie udało mi się zrealizować.

 

Plan był taki aby encoder pozwalał "przeskakiwać" pomiędzy ikonami na dashboard a wciśnięcie encodera potwierdzenie wyboru.

 

Niestety nie umiałem tego wykonać i poprzestałem na tym co mi się udało zrobić. Mianowicie obecnie enkocoder robi za "kółko w myszce" i pozwala na przewijanie zawartości dashboard która nie zmieściła się w całości.

 

 

POBIERANIE

Jeśli jakaś wersja będzie dostępna do pobrania to prosze szukać w dziale DOWNLOAD i RaspberryPi - Tam powinna być pod nazwą aDVPi

 

 

 

 

Nie opublikowane

W tej wersji nie znalazła się opcjonalna obsługa MMDVM , GPS lub komunikatów audio. Wynika to ze stopnia zawansowania prac na nimi. Sam moduł MMDVM-USB jest działący - brakuje mu dashboard, komunikaty audio także działają ( ale mam jeszcze kilka pomysłów, choćby obsługę RTL-SDR z poziomu ekranu i encodera )  Są to wynalazki z gatunku "Pimp My Radio" - i upychania do jednego RaspberryPi jak najwięcej tylko dlatego że koszty zakupu  i dostępność na rynku powoduje że nie jest to tania zabawka i bedziemy ich dziesiątki stawiać na półce.

 

 

 

Materiały VIDEO

Postaram się wkleić tu albo linki do materiałów na YouTube albo moje robocze filmiki. Kiedyś zostanie to poukładane

 Najnowsze video by MSR Project

 Demo by M0IQF

 

 

Materiały źródłowe:

http://svxlink.pl:888/

https://github.com/FM-POLAND

http://svxreflector.org/svxlink/index.html

http://www.hamskey.com/

http://www.svxlink.org

 

 

 

 

 

Podziękowania dla Dawida z MSR Project za udostępnienie radia DVPi - bez tego nie byłoby mojego zainteresowania tym projektem DVPi i  w konsekwencji tego także.

Podziękowania dla Waldka SP2ONG i FM Polska za materiały jakie tam udostępnili, a także dla społeczności SVXReflector Polska na telegramie która  była otwarta na mój niszowy projekt.

Podziękowania dla Daniela SP0DZ za cenne pomoce i rady

 

 

 

 

© est. 2006 Digit4all_GROUP. Designed By WebKomp

Logowanie