Digital PDC/VPS analyzer/recorder 

UPDATE 7.7.2013: Nová verze 1.2, používající autotools. Další vývoj probíhá na GitHubu.
UPDATE 5.4.2010: Nová verze 1.1, doplněn text o MI.

Již poměrně dlouho se tu a tam zabývám otázkou přesného nahrávání TV pořadů, tedy řízením domácích videorekordérů informací přidruženou k vysílání. Zatímco u VHS jde o běžnou funkci, moderní alternativy domácích rekordérů, jako jsou PVR, či DVD rekordéry tuto funkci nenabízejí.

Nyní jsem se rozhodl, že už nastal čas vyrobit rekordér, který by nahrával pořady podle položky Running_status v EIT tabulkách digitálního vysílání. Nakonec jsem však udělal mezikrok v podobě rozšíření VPS rekordéru o příjem PDC dat v teletextovém vysílání. Díky tomu, je možné přesně nahrávat i programy ČT24 a ČT4.

Download:
vpsrecord-1.2 - requires zvbi version 0.2.33 or newest.

This is a simple DVB TS recorder with VPS Programme Delivery Control (ETSI EN 300 231) support. It requires TV channel to broadcast VPS data on line 16 of Vertical Blanking Interval or PDC descriptors in Teletext packet 8/30/2. It automatically starts recording when the programme really starts and stop recording after programme finish.
Číst dále...
[ zobrazit záznam ] ( 2473 zobrazení ) trvalý odkaz ( 3 / 15298 )
Installfest 2010 

Opět mi bylo ctí účastnit se Installfestu. Tentokrát jsem přispěl přednáškou "Úvod do síťování". Příslušně materiály najdete mezi přednáškami SUT a již brzy také na stránkách akce.
[ zobrazit záznam ] ( 777 zobrazení ) trvalý odkaz související odkaz ( 3 / 22089 )
Skriptík pro KOS 

Přihlášení do KOSu může být problém (Nevíte-li, co je KOS, netřeba dál číst). Získání telnet klienta s podporou SSL je problém, ale má řešení, například JayBeeho ebuildy.

Horší je to se správným nastavením terminálu. Klasická textová konzole bez Unicode režimu funguje dobře, v X je ale problém. Nakonec jsem vyhrabal skriptík, který jsem kdysi někde získal, a který nastaví Xterm, jak je třeba:
#!/bin/sh

LC_CTYPE="cs_CZ" \
exec xterm -T KOS -tn xterm \
-font -*-fixed-*-*-*-*-20-*-*-*-*-*-iso8859-2 \
-xrm "XTerm*VT100*underLine: off" \
-xrm "XTerm*VT100*OldXtermFKeys: on" \
-xrm "XTerm*BackarrowKeyIsErase: false" \
-xrm "XTerm*VT100*colorULMode: on" \
-xrm "XTerm*VT100*colorUL: blue4" \
-xrm "XTerm*VT100.Translations: #override \
<Key>F1: string(0x1b) string("[11~") \n\
<Key>F2: string(0x1b) string("[12~") \n\
<Key>F3: string(0x1b) string("[13~") \n\
<Key>F4: string(0x1b) string("[14~") \n\
<Key>Home: string(0x1b) string(\"[8~\") \n\
<Key>End: string(0x1b) string(\"[7~\") \n\
<Key>Insert: string(0x1b) string(\"[1~\") " \
-e telnet-ssl kos.cvut.cz 2223 &


No a pokud je nemáte ani SSL telnet, mám tu ještě instantní standalone balíček.
[ zobrazit záznam ] ( 679 zobrazení ) trvalý odkaz ( 3 / 15888 )
Koverze HDV 1080i25 do 720p50 

Během předmětu Studiová technika jsem natočil toto video:


Protože jsem chtěl být aspoň trochu future-proof, zvolil jsem natáčení kamerou Z1 do formátu HDV 1080i25, tedy v prokládaném režimu na 50 půlsnímků za sekundu. Díky výkonným počítačům ve škole jsem měl šanci celé video i v tomto formátu zpracovat. Problém nastává ve finálním přehrávání.

Dnes už totiž v podstatě neexistují CRT obrazovky, které jako jediné dokáží nativně zobrazovat prokládaný materiál. Proto také EBU doporučuje jako kvalitnější formát 720p50, tedy padesát úplných snímků za sekundu s rozlišením 1280x720. Tento formát má mnoho výhod - není prokládaný, přitom neztrácí plynulost rychlých pohybů a pro rychle se pohybující scény má dokonce vyšší rozlišení, než 1080i (720 vs. 540 řádků).Navíc je přehrávání HDV formátu 720p50 s datovým tokem 19Mbps MPEG-2 méně náročné, takže ho lze přehrát i na slabších strojích s jednojádrovými procerory.

Nakonec se mi podařilo osvojit postup, kterak video v 1080i25 do 720p50 převést. Nejsem si zcela jist, zda je 100% HDV kompatibilní, protože nemám k dispozici příslušný HW.
Číst dále...
[ zobrazit záznam ] ( 936 zobrazení ) trvalý odkaz ( 3 / 18625 )
Měření teploty, verze 2 


Minulý rok jsem tu psal o poměrně svérázném využití VESA DDC rozhraní jako I2C sběrnice pro přímé připojení teplotního čidla DS1631. Rok se s rokem sešel a želva u nás opět zimuje. Oproti minulému roku letos nemáme elektroměr zaseklý na nízkém tarifu*, takže přidání dalšího trvale běžícího PC jen kvůli měření teploty jsem bral jako krajní řešení.

Nakonec se ukázalo, že ke sklepu vede jeden UTP kabel, sice využívaný pro IP telefon, ale jak známo, ve (Fast) Ethernetu jsou 4 dráty navíc. Stačilo trochu naprosto neprofesionálního krimpování jakýchsi Y-kabelů a už byla ve sklepě natažena sériová linka RS-232. I když je to celkem nějakých 35 metrů, při rychlosti 9600 Bd to spolehlivě funguje.

Zbývalo vyřešit, jak převést sběrnici I2C na RS232. Nakonec jsem to vyřešil mikrokontrolérem DS89C450, kam jsem za pár hodin v Céčku vyrobil (a pomocí SDCC přeložil) program, který místo pouze hloupého převodu protokolů také realizuje vlastní odečet teploty. S výhodou jsem využil I2C podprogramy, co jsem napsal ve škole v rámci předmětu Praktika z mikroprocesorové techniky, takže největší prací bylo nastudovat, jak v tomto typu procesoru pracují vestavěné periferie.

No a nakonec bylo potřeba vyřešit, kterak obsloužit sériový kanál na straně PC a ukládat načtená data do MySQL databáze. Shellový skriptík jsem pro sériovou komunikaci zavrhl. Místo toho jsem udělal program v C, který je více méně neprůstřelný - vyprazdňuje buffery, má timeout na čtení dat, takže nezůstane viset, atd. Protože jsem ale líný studovat, jak se v Cčku připojuje k MySQL, vyřešil jsem to tak, že prográmek generuje textový dotaz, který se rourou předá do řádkového klienta mysql. :)

Nad databází je pak jednoduchý PHP frontend, který pomocí knihovny jpgraph generuje moc pěkné** grafy. Tato knihovna je taky jediná, kterou jsem našel, co dokáže korektně vykreslit X-Y graf, kde osu X tvoří datum a čas.

Jsem sám zvědav, co vymyslím napřesrok. Možná by to chtělo aspoň stávající zapojení předělat z nepájivého pole na desku tištěných spojů :)

Zdrojové kódy všech uvedených komponent neuvádím, protože nejsou dostatečně zobecnitelné a nemyslím si, že by je někdo užil. Pokud by snad přeci jen měl někdo zájem, nechť se ozve.

*) Ono se nakonec ukázalo, že to až tak výhodně není - po zjištění poruchy provedla distribuční společnost v souladu §16 vyhlášky 51/2006Sb. energetického regulačního úřadu přepočet na spotřebu obdobnou v předchozím období.

**) Odborníci jistě prominou použití fontu Comic Sans :)
[ zobrazit záznam ] ( 685 zobrazení ) trvalý odkaz související odkaz ( 3 / 17564 )

<<První <Zpět | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Další> Poslední>>