Benutzer-Werkzeuge

Webseiten-Werkzeuge


cocoaheads:radio_pi

View page as slide show


Diese Wiki Seite sieht etwas verhagelt aus, da sie in erster Linie im Präsentationsmodus funktionieren muß.

= 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 auf Diät * LPEG * 'richtige' Regexp als LPEG 'Modul'

== lua: html template engine

wie fast immer bei lua keine 'offizielle', aber

* 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.txt · Zuletzt geändert: 2015/12/15 13:36 von mro