Benutzer-Werkzeuge

Webseiten-Werkzeuge


cocoaheads:radio_pi

Dies ist eine alte Version des Dokuments!


View page as slide show

= Radio × Pi

© apple.com := © br.de + © raspberrypi.org + © lua.org + © ruby-lang.org + © streamripper.org + © lighttpd.net

Radio Rekorder mit lua,ruby,lighttpd,cron,streamripper auf einem Raspberry Pi.

Vortrag am 14. Februar 2013

== Motivation: RSS Feeds meiner Lieblingssendungen

* Zündfunk * B2 Radiokrimi sendungsbild_radiokrimi100_v-image256_-a42a29b6703dc477fd0848bc845b8be5c48c1667.jpg * break beat action == Amuse-Gueule

* Installation in 3min

== Scrape B2: Sendungsinfos

* BR Scraper (nokogiri/ruby) * Kalender * Sendezeiten * Sendungstexte + Bild * zum Schluß: meta nach stdout und broadcast-render.lua pipen!


== Storage: noDB, nur statische html Seiten

* pro Sendung eine html Datei, * Filesystem == Website == Datenbank * Dateinamen yyyy/mm/dd/HHMM abc.html * ''meta'' Tags angelehnt an Dublin Core PBMI


== Render + parse simple xhtml

* html ist selbst geschrieben, * also bekannt, * also einfach zu parsen == lua: wieso?

* extrem schneller Start der Runtime * extrem sparsame Runtime (RAM) * jedes Jahr eine neue Sprache ;-) == lua: wie sieht das aus?

* lua BNF * Beispiel: broadcast-render.lua * Beispiel: broadcast_from_file == lua: pattern matching

* lua patterns != regexp * LPEG == lua: html template engine

* slt2 * Beispiel: broadcast.slt2.html * Beispiel: broadcast_to_html

== lua: war's das?

Bei weitem nicht:

* Metatables * OOP * Functional * C bridge. Beispiel: msleep == Publish: lighttpd

* cgi * redirects * http digest auth (mp3/Privatkopie)


== Rip

* streamripper

* taglib (wieder per ruby)


== Probleme

* lausiger I/O Durchsatz zur USB Platte (vielleicht mach ich auch was falsch) == Vielen Dank

für Eure Aufmerksamkeit.

Feedback willkommmen an Marcus Rohrmoser

Die Folien zum Nachlesen gibt's hier:

oder http://wiki.mro.name/cocoaheads/


cocoaheads/radio_pi.1360862219.txt.gz · Zuletzt geändert: 2013/02/14 18:16 von mro