Ovládání LED panelu Sigma ASC 105

LED panel Proces, jímž se z teček na papíře či z barevných světélek LED vytvářejí písmena a obrazce mne fascinuje už dvacet let. Strašně rád si s podobnými věcmi hraju, takže když jsem v Makru spatřil LED displej Sigma ASC 105, bylo rozhodnuto. Jedná se o jednořádkový trojbarevný svítivý panel, kterému se říká “běžící text” nebo “světelné noviny”. Taková ta věc, kterou najdete třeba v novějších dopravních prostředcích, kterak ukazuje názvy zastávek.

Za cenu okolo 2500 Kč se může pochlubit schopnostmi, kterými jinak disponují zařízení s několikanásobnou cenou. Vkládání textů se děje prostřednictvím dost příšerného dálkového ovládání, nebo ještě příšernějšího programu, který komunikuje přes sériový port. Možnost automatizace veškerá žádná, protokol není nijak popsaný, API neexistuje.

Jak se hackuje sériová komunikace

Prvním krokem tedy bylo rozlousknout komunikační protokol. Z logiky věci vyplývá, že s největší pravděpodobností půjde o jednoduchý textový protokol, doplněný nějakými řídícími znaky. V zásadě by tedy mělo stačit poslat do panelu z dodaného programu dostatečné množství známých instrukcí a sledovat, co nám teče po lince.

Možností odposlechu sériové komunikace je několik. Nejrobustnější je hardwarové řešení, ale to jsem neměl k dispozici. Softwarové řešení nabízí třeba HHD Software, dokonce dostupné zdarma. Free Serial Port Monitor dokáže odchytávat komunikaci na lince a zobrazovat ji mnoha různými způsoby. Mimochodem: stejná firma nabízí velmi mocné nástroje na sledování téměř čehokoliv, včetně USB a síťové komunikace.

Problém v mém případě spočíval v tom, že používám 64-bitový systém, na kterém popsaný program neběží. To jsem vyřešil pomocí Virtual PC: to umí emulovaný sériový port virtuálního počítače napojit na skuteční COM port hostitele, takže stačilo do virtuálu nainstalovat 32-bitová XPčka a všechno běželo perfektně. Výsledkem usilovného snažení byla stoha papírů, potištěných šestnáctkovými číslicemi.

Pár dnů nato se cestujícím v Pendolinu SC 135 z Prahy do Brna naskytl zajímavý pohled na zarostlého chlapa, an s československým vlčákem u nohou rozkládá po vlakovém stolečku papíry s podivnými hieroglyfy a za polohlasného mumlání po nich čmárá šipky a kolečka.

Jak se programuje

Vlastní implementace pak je vcelku triviální, protože sériovou komunikaci zvládá .NET Framework od verze 2.0 velmi dobře. V zásadě se jedná o čtení a zápis do streamu, stejně jako v případě souboru, síťové komunikace a kdečeho dalšího.

Napsal jsem univerzální knihovnu, která umožňuje programovat panel z libovolné .NET aplikace. Její použití je vcelku triviální: Vytvoří se instance třídy Message, do které se pomocí metody Write zapisuje text a speciální znaky, pomocí metody WriteLine se vkládá “nový řádek” s některým z podporovaných přechodových efektů a pomocí odpovídajících metod se nastavuje použitý font a jeho barva. Pomocí třídy ControlClient se potom tato zpráva odešle do panelu.

Zadání složitější zprávy může vypadat nějak takto:

using (Message msg = new Message(new LineTransitionOptions { Animation = AnimationType.ScrollUp, Color = Color.LayerMix, Font = Font.Fixed11x07 })) {

    msg.Write("DEMO OF");

 

    // Using several colors in one line (you can change the font using SetFont method as well)

    msg.WriteLine(new LineTransitionOptions { Font = Font.Fixed06x07, Color = Color.Red });

    msg.Write("SIGMA ");

    msg.SetColor(Color.Orange);

    msg.Write("ASC 105");

 

    msg.WriteLine(new LineTransitionOptions { Color = Color.Yellow });

    msg.Write("Control Lib");

 

    msg.WriteLine(new LineTransitionOptions { Color = Color.Orange, Animation = AnimationType.OpenFromSides });

    msg.Write(Glyph.ArrowRight);

    msg.SetColor(Color.Green);

    msg.Write("made by");

    msg.SetColor(Color.Orange);

    msg.Write(Glyph.ArrowLeft);

 

    msg.WriteLine(new LineTransitionOptions { Color = Color.Yellow, Font = Font.Fixed06x05 });

    msg.Write("Altairis LLC");

 

    msg.WriteLine(new LineTransitionOptions { Color = Color.Green, Font = Font.Fixed06x07 });

    msg.Write("http://www.codeplex.com/SigmaASC105lib/");

 

    msg.WriteLine(new LineTransitionOptions { Color = Color.Red, Animation = AnimationType.CoverFromCenter });

    msg.Write(SpecialFunction.CurrentDate);

 

    msg.WriteLine();

    msg.Write(SpecialFunction.CurrentTime);

 

    using (ControlClient client = new ControlClient(PortName)) {

        Console.Write("Sending {0} bytes to {1}...", msg.Length, PortName);

        client.SendMessage(msg);

        Console.WriteLine("OK");

    }

}

Celou knihovnu včetně zdrojového kódu jsem dal k dispozici pod Microsoft Public License (Ms-PL) na CodePlex, kdežtě si ji můžete stáhnout.

Tak, a teď ještě pro celou tu věc vymyslet nějaké praktické využití, než na to přijde moje přítelkyně a začne mi lát, za co jsem to zase vyhodil prachy :-) Pokud vás něco napadá, dejte mi vědět v komentářích.

Titulek:
Text komentáře:
Vaše jméno:
Váš e-mail: (nebude zveřejněn)

WWW stránka:
Opište text z obrázku:
odpovědětodpovědět Gravatar

pouzitie

18.9.2008 9:46:0118.9.2008 9:46:01 SmadSmad ---.212-5-201.telecom.sk

nad záchodovými dverami: Obsanedé/Voľné :)

Vždycky jsem si přál mít takový displej za oknem v autě a pomocí pár přednastavených tlačítek psát ostatním řidičům hlášky jako "nelep se mi na zadek", "a co blinkry?", "sorry", "nesvitis" apod. :)

Díky Tvému snažení jsem tomuto zas o kousek blíž.

To by bylo dobré místo třetího brzdového svtla - "BRZDÍM" :)

odpovědětodpovědět Gravatar

Do provozu

20.9.2008 14:44:2320.9.2008 14:44:23 PavelPavel http://www.odetka.czhttp://www.odetka.cz ---.43.broadband9.iol.cz

Já bych navrhoval zobrazení informací dělníkům, ev. mistrům do provozů kde je kravál a neslyší vlastního slova. Zobrazovat třeba teplotu z teploměru od Papoucha, otáčky či cojávím jaké veličiny ten který provoz potřebuje znát. V lepších továrnách je v provozu vidět kolik kusů, metrů, kg a pod bylo za směnu již vyrobeno. Pokud to někdo již někam eviduje do pc, pak je jistě možné s minimálním úsilím udělat malý softík, který by tato data zobrazoval na panelu. Prostě takové extralevné řešení výstupu průmyslového informačního systému. Asi to u nás taky zkusím udělat s tvou knihovničkou. Díky za TIP Michale, jen tak dál.

odpovědětodpovědět Gravatar

RE: Do provozu

10.10.2008 9:12:0210.10.2008 9:12:02 arciarci ---.sntcz.cz

Panel je určitě levný, ale do provozu bych ho asi nedal. Tam se musí totiž často vyřešit jeho dobrý čitelnost na určenou vzdálenost a fakt že polovina mistrů na dílně nosí brýle buď na dálku nebo na blízko a cena zase nebývá takový problém (víte kolik stojí soustruh starý skoro 100 let?)

odpovědětodpovědět Gravatar

RE: Do provozu

13.10.2008 10:38:2313.10.2008 10:38:23 PavelPavel ---.98.broadband10.iol.cz

.. no na tom něco bude :-)

odpovědětodpovědět Gravatar

Panel jako vizualizace měřených hodnot

Super, umím si panel představit pro zobrazení měřených hodnot mého solárního systému, kde mám jak .NET servisu , která naměřená napětí posílá do databáze a aspx pro zobrazení naměřených hodnot.

http://visualprog.cz/Solar/SolarStatisti…

http://visualprog.cz/Solar/SolarStatisti…

Vlastní měření je na jednočipech, které to po 433,92MHz posílají na seriovou linku úsporného PCčka s W2000, kde je zmíněná servisa. Ještě dodělávam měření proudu.

odpovědětodpovědět Gravatar

třetí brzdové světlo - ale za kolik

18.2.2009 10:27:5718.2.2009 10:27:57 Tomáš H.Tomáš H. ---.terminal.cz
Hezký využití, taky kolik by to muselo stát aby jste si to koupily "za třetí brzdové světlo". Aby se to vyplácelo vyrabět.

Dobrý den, kde se ten panel dá koupit? Potřeboval bych něco podobného do výlohy. Děkuji. Ivo

V Makru. Nebo tam jsem to aspoň koupil já. Mají víc typů, vypadá to zatím, že moje knihovna je kompatibilní se všemi.
odpovědětodpovědět Gravatar

Stopky na závody

23.2.2010 7:27:2223.2.2010 7:27:22 FrantaFranta ---.kochtrans.cz

Já bych to využil jako stopky pro běžecké závody. Šlo by jen o to, jak do této věci přenášet zhruba 600 pulsů a ty potom přepracovat na čas. Například v EXCELU.

Díky za pomoc

odpovědětodpovědět Gravatar

Trochu bastlování...

Především je potřeba upozornit na to, že se nutné přepnout DIP přepínač,který je uvnitř do polohy ON.Nevím jestli všechny panely jsou takto blbě nastaveny z výroby, ale já takovou zkušenost mám. Bez přepnutí panel v žádném přpípadě fungovat nebude. Zadní hlinikový krt, kterýi drží celou desku se nemusí sundávat, jde to velmi obtížně. Odšroubuje se pravý boční plastový kryt( při pohlkedu zepředu) a dřevěnou špachtlí ( nic kovového ) se přehodí vypínanač DIP do polohy ON. POkud jsou kolíky vypínače blíže zadní stěně je vypínač OFF, pokud jsou kolíky blíže středu pak je ON. DIP vypínač je z pravého boku poněkud při horním okraji na desce v hloubce 65 mm od okraje desky plošných spojů.Tlačítko SPA na ovladači je mezera v textu. V návodu o tom nic není !

odpovědětodpovědět Gravatar

RE: Trochu bastlování...

23.3.2010 21:10:3523.3.2010 21:10:35 FrantaFranta ---.zno.skynet.cz

Dobrý večer pánové, sháním právě něco takového na zobrazování jednoduchých informací pro truhlářství.

Nevíte někdo něco bližšího ohledně velikostí a cen?

Díky Franta

odpovědětodpovědět Gravatar

SW k panelu ASC 105 a ASC 334

Koupil jsem v MAKRU LED panely, ale není k tomu čeký SW. Ani dálkové ovládání neumí psát v češtině.

Prosím o radu jak sehnat SW pro češtinu nebo jak psát dálkovým ovládačem v češtině.

Děkuje Santarius

odpovědětodpovědět Gravatar

A co čeština?

25.9.2010 12:14:1325.9.2010 12:14:13 JarekJarek ---.net.upcbroadband.cz

A zvládl by ten panel se softem i české znaky?

Tak teoreticky by bylo možné tam tu funkci doprogramovat, protože to umí omezené množství uživatelský definovaných znaků, kam by šla nahrát čeština. Pokud jste ochoten do toho investovat, rád vám to naprogramuju.

Ale obecně ne, neumí. Moje knihovna diakritiku ořeže.

odpovědětodpovědět Gravatar

Závada Sigma ASC 105.

28.1.2011 9:42:5728.1.2011 9:42:57 zbyněkzbyněk ---.fitcraft.cz

Ahoj, LED panel je asi v poruše.

Pořád píská a zobrazí blikne jenom jedna řada LED diod.

Díky za radu.

odpovědětodpovědět Gravatar

Tip na využití LED panelu

22.3.2011 14:30:2122.3.2011 14:30:21 MarekMarek ---.242.broadband9.iol.cz

Ahoj,

měl bych tip na využití LED panelu jako zobrazovač RSS čtečky

odpovědětodpovědět Gravatar

Mám displej SIGMA ASC 333

1.5.2011 13:08:551.5.2011 13:08:55 AMCAMC 88.208.110.---

Mám displej SIGMA ASC 333, který také umí být programován po drátě, ale v době nákupu nebyl s žádným SW dodáván (zapojení kabelu je ale v příručce popsáno a nebude problém jej vyrobit). Myslíte, že by na něj fungoval nějaký novější SW nebo vaše knihovna? Nemáte prosím někdo ten originální SW? Děkuji za odpovědi. Artur

odpovědětodpovědět Gravatar

RE: Mám displej SIGMA ASC 333

Ahoj, také vlastním panel SIGMA ASC 333. Bohužel jsem někde ztratil návod a marně ho sháním. Nemužete mně pomoci. Děkuji Josef Moravec.

odpovědětodpovědět Gravatar

RE: Mám displej SIGMA ASC 333

Zdravím, návod mám ale nemám kód jak se do toho dostat.

Pošlu návod za kód.

odpovědětodpovědět Gravatar

RE: Tip

1.5.2011 13:11:041.5.2011 13:11:04 AMCAMC 88.208.110.---

Jooo! Tak přesně tohle jsem si vždycky přál. Děkuji za tip na sqelý výrobek!

odpovědětodpovědět Gravatar

AS 227

30.9.2011 11:52:4130.9.2011 11:52:41 MarcelMarcel ---.207.broadband12.iol.cz

Zdravím všechny, nemá někdo instalační cd k tomuto panelu Sigma AS 227? Při stěhování jsem ho ztratil. Dálkové ovládání mám, ale je to zdlouhavé. Odměna !! Díky případně za info, kde se to dá stáhnout.

odpovědětodpovědět Gravatar

PC KABEL ASC 434

Zdravím.Sháním pc kabel na propojení počítače s led panelem ASC 434,nebo by mi stačilo schéma zapojení.Najde se někdo kdo tomu rozumí?:-) Předem děkuji za info.

  • Altairis
  • Nemesis
  • Microsoft MVP
  • IIS
  • ASP.NET