Led ticker

From NURDspace
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Led ticker
Ledtickerns.jpg
Participants Flok
Skills
Status Active
Niche
Purpose
Tool No
Location Space
Cost
Tool category

Led ticker

Ledtickerns.jpg {{#if:No | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:No | [[Tool Cost::{{{Cost}}} | }}


plegde voor meer panelen

  • bigmacfoobar: 10 ekkies
  • flok: 10 ekkies
  • niz jaaaaaaaaa 10 floepies
  • boots: vijf

...

algemeen

  • wordt gestart door
    • /usr/src/led-ticker.sh => /usr/src/NURDSpaceScroller-ng/examples-api-use/nurdspace --led-chain=4 --led-rows=16 -b 50 -i 10.208.42.159
      • --led-chain=4: er zijn 4 panelen
      • --led-rows=16: elk paneel is 16 pixel-rijen hoog
      • -b 50: brightness 50%
      • -i: op welk ip-adres dat-ie moet luisteren

tekst

  • luistert op port 5001 UDP voor teksten:
  • stuur tekst om te tonen via een udp bericht
  • escapes:
    • $C...$ voorgrond kleur
    • $B...$ achtergrond kleur
    • $T$ transparant (alleen voorgrond pixels worden getekend)
      • formaat kleur: xxyyzz waarbij xx een hexadecimale waarden tussen 00 en ff is
    • $o$ zet outline kleur uit
    • $d...$ hoelang de tekst op 't scherm zetten
    • $i$ deze tekst is de "idle tekst"; als er niks anders voorbij scrolled, dan wordt deze tekst (NIET-scrollend) getoond, goed een beetje dan
    • $f$ knipper 'n bietje
    • $a$ add to existing line. use $i$$a$ to add to idle line

Dus bijvoorbeeld:

  • $f$$Cff0000$Hallo! Dit is een rode tekst.
  • $i$Deze tekst wordt getoond als er verder niks te scrollen is.

pixelflut

  • er zit ook een pixelflut server in
  • port 5003: udp berichten met tekst(!)
    • voor iedere pixel (meerdere pixels per udp bericht mogelijk:
      • PX x y rrggbb\nPX x y rrggbb\n
  • port 5004/tcp: dat is ook tcp en ook tekst
  • port 5004: udp berichten met het "echte" udp pixelflut protocol - dat is het binaire dingetje:
    • 1 byte versie (0x01)
    • 1 byte rgb of rgba (rgba is 0x01, rgb is 0x00) -> de ledticker negeerd vooralsnog het alpha kanaal
    • en dan voor iedere pixel die je wil updaten (meerdere per udp bericht mogelijk):
      • 16 bit x, lsb first
      • 2 bytes y, lsb first
      • 1 byte r
      • 1 byte g
      • 1 byte b
      • [1 byte a]
    • of eigenlijk zie: https://github.com/JanKlopper/pixelvloed/blob/master/protocol.md

cron

  • de daily events enzo worden vanuit cron gestart, de cron van root
  • wordt gestart vanuit /etc/rc.local
  • root password is dat ene korte


koppelingen

  • nurdbot: /home/nurdbot/.jsb/releases/NURDbot/jsb/plugs/socket/udp.py (voor berichten van de deur) en myplugs/socket/wautemp.py (voor !ticker bla)
  • asterisk: /usr/local/bin/ticker-send.py en /usr/local/bin/push-it.sh (voor bellers)
  • spacenanny: /usr/local/sbin/deurbel.py ("deurbel!!!")
  • Space status: /opt/status/status.py (space status: open/closed)
  • Scrollert: /usr/local/bin/door-to-ticker.sh (wie doet er de deur open)
  • Scrollert: /usr/local/bin/send-ticker.py (used for periodic messages, see crontab of root user)

Linux CLI example

  • echo -n "test" > /dev/udp/10.208.42.159/5001
  • echo "PX 100 10 00ff00" > /dev/udp/10.208.42.159/5003

links

zie ook LED_banner_wall