Generator ATV testne slike na Raspberry Pi

Program je razširjena različica atv3.py od PA3BWE za katere je dal predloge S51L. (English)



Razširjena verzija programa vsebuje:
  • konfiguracijske možnosti so preseljene v posebno datoteko (config.py)
  • interni generator tona z nastavljivo frekvenco
  • delovanje brez tipkovnice 
  • 4 vrstice prosto oblikovanega teksta (vsebina, barva, velikost, vertikalna pozicija), preklop prikazanih vrstic možen s tipko
  • tipka za izklop računalnika
  • dela tudi v konzoli (brez startx)
  • za razvojne namene lahko teče tudi na "velikem PC-ju" (brez gpio)
  • ura (priporočen je modul za uro če RasPi ni priklopljen na mrežo)
  • prosta izbira predpone za slike (možnost večih setov slik)
  • prosta izbira končnice slike (png slike so brez kompresijskih popačenj)
  • auto prilagoditev velikosti slike glede na resolucijo ekrana
  • priloženih je nekaj testnih slik
  • priložena datoteka za 1kHz ton
Program lahko snamete: fsatv.zip ali fsatv.tar.gz


Dodatne tipke priklopljene na Pi GPIO:
  • pin 21 (gpio 9) - preklapjla med prikazovanjem vrstic teksta (binarni modus), zagonska konfiguracija je nastavljiva v config.py spremenljivka otConf. Za več informacij poglejte komentarje.
  • pin 22 (gpio 25) - izklop Pi-ja
  • pin 23 (gpio 11) - vklop/izklop tona. Preklop med zunanjo wav datoteko in interno generiranim tonom. config.py spremenljivka intSoundFrq (0 = zunanja datoteka).
Program je možno poganjati iz USB ključa ali iz internega pomnilnika. (/media/usb/fsatv - /home/pi/fsatv)
Za lažje zaganjanje skopirajte datoteko atv v imenik /usr/bin (root - sudo!!!) in program zaženete z ukazom atv. Če je priklopljen ključ, se izvaja iz USB ključa, drugače pa iz internega diska.

Opis

Program fsatv je namenjen generiranju testne slike za ATV na računalniku Raspberry Pi. Razvit in testiran je bil na verziji B+ (512 MB RAM), vendar bi moral brez problema delovati tudi na ostalih verzijah. Napisan je v Python programskem jeziku in prepuščen v prosto uporabo, pod pogojem, da je ohranjena omemba obeh avtorjev (PA3BWE in fredek.net oz. fSOFT).
Program je možno poganjati iz internega pomnilnika ali pa iz vstavljenega USB ključa. Tipkovnica ni nujna, saj lahko na mini račinalnik priklopimo zunanje tipke. Deluje tudi brez vsega, opcije pa se nastavijo v konfiguracijski datoteki, kar omogoča uporabo na terenu.
Program nudi prikaz statičnih slik (do 12), nastavljivo osnovno sliko, preklop med slikami s tipkami ali naključni prikaz slik. Uporabimo lahko tudi možnost prikaza interno generirane slike. Za predvajanje zvoka je na voljo zunanja zvočna datoteka ali pa interno generirani ton poljubne frekvence. Na sliko lahko projeciramo do 4 vrstice poljubnega teksta (tudi pozivni znak), ki jih je možno prosto oblikovati (velikost črk, barva, vertikalna pozicija za vsako vrstico posebaj). Možen je tudi prikaz ure ki teče (prosto nastavljiva velikost, pozicija, barva in oblika izpisa).
S priklopom dodatnih tipk na gpio konektor RasPija ne potrebujemo tipkovnice za krmiljenje.

Delovanje

Po instalaciji program zaženemo z ukazom atv. Za testne namene pa ga lahko zaženemo tudi iz imenika, v katerem se nahaja (lahko tudi USB ključ) z ukazom sudo python fsatv.py.
Po kratkem nalaganju (in malo daljšem generiranju internega tona, če je vključen - procesor je pač šibek) se na zaslonu pokaže testna slika z vključenimi opcijami.
Če je priključena tipkovnica lahko za upravljanje programa uporabimo tipke:

  • F1 - F12 : preklop med naloženimi slikami. Izbira slik se lahko definira v config.py
  • s : vklop/izklop tona (ali tipka na gpio 11 - pin23)
  • r : naključno predvajanje slik (zamenjava cca vsakih 15 sek)
  • i : vklop/izklop interno generirane slike
  • t : vklop/izklop pozivnega znaka, ki potuje po ekranu in spreminja barvo
  • Esc ali q : izhod iz programa
  • o : preklop prikazovanja vrstic teksta (4 vrstice - 16 možnosti) (ali tipka na gpio 9 - pin 21)
  • gpio 25 - pin 22 : izklop RasPija - zelo priporočljivo za delovanje brez tipkovnice (=shutdown)
  • gpio 8 - pin 24 : naslednja slika
  • gpio 7 - pin 26 : prejšnja slika


Instalacija

Arhiv razpakiramo v imenik /home/pi ali pa v osnovni imenik USB ključa. Vse se nahaja v imeniku fsatv. Datoteko atv prekopiramo v imenik /usr/bin (sudo cp atv /usr/bin) in ji dodelimo pravice za izvajanje (sudo chmod a+x  /usr/bin/atv). Program potem lahko zaženemo z ukazom atv.

"Lotanje"

Zunajne tipke priklopimo na RasPija tako, da en pol povežemo s pinom na GPIO konektorju, drugega pa z maso.
Lep prikaz konektorja za vse tipe je tukaj.

Konfiguracija

Opcije programa se lahko nastavljajo v datoteki config.py. To je navadna txt datoteka, ki jo lahko spreminjamo v vsakem običajnem txt urejevalniku. Primeren je nano (nano config.py), če urejamo na Pi-ju. Po spremembah shranimo s kombinacijo tipk Ctrl-x, nato y in enter. Za urejanje na USB ključu v Windows okolju priporočam program Crimson Editor, ker običajni urejevalnik v Oknih ne razume oznak za konec vrstice, ki jih uporablja Linux na Pi-ju.

Pa še kratka razlaga spremenljivk, ki jih lahko nastavimo kot osnovno konfiguracijo (glej tudi komentarje v datoteki).
Vsaka vrstica ki se začne z # je komentar in jo program ignorira.

  • runOnPi = True|False postavimo na False če program želimo poganjati na velikem računalniku za razvojne namene. GPIO funkcije Pi-ja takrat ne delujejo.
  • ovText[] - prosim ne popravljati
  • ovTextYpos - vertikalna pozicija vrstice texta (prvi parameter se ignorira)
  • ovTextSize - velikost črk vrstice (prvi parameter se ignorira)
  • ovTextLogo = True|False - izklop logotipa na dnu ekrana (povezave do te strani)
  • ovTextColor - barva posamezne vrstice texta  (prvi parameter se ignorira) za opis glej povezavo v datoteki
  • callsign - nastavimo svoj pozivni znak
  • ovText[1] - [4] - vsebina posamezne vrstice texta (lahko tudi prazno ("")) ali pa callsign za ispis pozivnega znaka
  • otConf - začetni prikaz vklopljenih vrstic (preklop z 'o') 0=nič, 15=vse 
  • clockEnable = True|False - vklop/izklop prikaza ure
  • clockFormat - format izpisa ure (glej link v datoteki)
  • clockColor - barva črk ure
  • clockBckgColor - barva ozadja ure
  • clockYpos - vertikalna pozicija ure
  • clockTextSize - velikost črk ure
  • intSoundFrq - frekvenca interno generiranega tona v Hz ali pa 0 za zunanjo datoteko. Priložen je zvok 1kHz.
  • enablePoff  = True|False  omogoči tipko za izklop
  • imgPrefix - predpona serije slik (ime oblike abc3.jpg)
  • imgPostfix - končnica slike (jpg ali png)
  • size_h, size_v - za testne namene velikost okna, ko teče na Pi-ju se velikost avtomatično določi glede na velikost ekrana
  • internalPicture - start programa z interno generirano sliko (tipka 'i')
  • randomPicture - start programa z naključnim preklapljanjem slike (tipka 'r')

Triki in nasveti

Za zagon programa ob zagonu RasPi-ja v datoteki /etc/inittab (sudo nano /etc/inittab) poiščite vrstico v kateri piše "1:2345:respawn:/sbin/getty --noclear 38400 tty1" in jo spremenite v "1:2345:respawn:/usr/bin/atv --noclear 38400 tty1" (brez narekovajev!).

Za preprečitev zatemnitve ekrana po določenem času v datoteki /etc/kbd/config vrstico BLANK_TIME nastavite na 0.

Za automatsko montiranje usb ključa instalirajte program usbmount (sudo apt-get install usbmount)

Za centriranje slike se poigrajte s parametri overscan v datoteki /boot/config.txt (pobrišite #), parameter disable_overscan=0.

Program deluje tudi na najcenejši različici RasPi-ja (A+), ki stane cca 20€. Lahko naročite tukaj (preverjena in hitra dobava).

Primeren modul za uro lahko dobite pri istem dobavitelju tukaj, žal je potrebno plačati poštnino (verjetno zaradi baterije). Modul je zelo priporočljiv če želite uporabljati generator na terenu, ker običajno ni možnosti priklopa na internet in želite prikazovati uro.

Zaključek

Pri uporabi programa Vam želim veliko zadovoljstva in seveda uspehov. Za izboljšave in popravke pa je vedno na voljo tudi odprto uho.
Za slovnične napake pa se že vnaprej opravičujem, saj se moj autoračunalniški slovar zadnje čase nekam čudno obnaša in mi vsiljuje novoslovenske besede prenesene iz bogvekaterega jezika. Se zanesem na to, da staroslovenski tehnični izrazi, ki smo se jih naučili v šoli, še kaj veljajo. Če kje manjka kaka vejica, jih je tukaj nekaj za rezervo ( , , , , , ), če pa je katera preveč, pa še nekaj pobrisajev v obliki "je manjše" ( < ,< ,< ,< ,< ,< ), da bo imelo vse svoj red.

In ... kot rečejo na televiziji (tudi amaterski) ... bodite lepo še naprej.

FAQ - PZV  (Pogosto Zastavljena Vprašanja)

Upam da je vse jasno, sicer sem na voljo....



Ni komentarjev:

Objavite komentar