Entries tagged time

Simple MRBS Output from Database

Posted on 17. September 2013 Comments

I wrote a little PHP-script that extracts the most important and current data from MRBS’s MySQL database and just prints them in a simple HTML file. Its not pretty but good for bandwith and clarity. We use it to display information on an energy efficient e-ink screen in front of conference/computer rooms.

$date is set like this:

$date = date("Y-m-d");

The SELECT-statements go like this, where N is the ID of the room(in the database, not what you might call it)

SELECT name,description,from_unixtime(start_time),from_unixtime(end_time) FROM mrbs_entry WHERE from_unixtime(start_time) LIKE '%" . $date . "%' AND room_id = N;

I’m not gonna explain here how to establish a database connection in PHP, but you can have a  look at the whole sourcecode at github 😉

I then cut off the date with substr() because it’s always 10 characters in front of time->(YYYY-MM-DD) and printed it via echo. This is the simple version, there is a version with tables on github.

while($row=mysql_fetch_row($qry01)) {
echo "- <strong>Room</strong> 01 | <strong>Desc:</strong>" . $row[0]." - ".$row[1]." |  <strong>Time:</strong> ". substr($row[2],10) . " - " . substr($row[3],10) . " <br />";
}

update: I wrote another version that prints JSON objects which can be parsed on the other side. For easier parsing(e.g. if everything is in one String) I numbered them:

$jsonarray = array('begin' . $i => substr($row[2],11, 5), 'end' . $i => substr($row[3],11,5), 'name' . $i => $row['name'], 'description' . $i =>  $row['description']);

You’ll find the whole thing on github.

crond mit busybox auf einem nook simple touch

Posted on 9. August 2013 Comments

Ich habe einen Nook gemäß den Anleitungen von nookdevs.org gerootet. Danach ist busybox, eine Sammlung von Unix-Tools, verfügbar(update: falls nicht: nachinstallieren). Eines dieser Tools ist der Scheduler cron, mit dem sich regelmässig Tasks ausführen lassen. Ich setzt hier vorraus, dass das Android SDK/ADT installiert ist und ihr root-Zugriff über USB habt.

$ adb shell

# cd /system/bin

Unter /system/bin habe ich ein paar Skripte hinterlegt mit denen er Crons starten und beenden kann. Die Zeit ist wichtig, damit er das auch zu eurer Zeit ausführt, nicht  UTC oder wie auch immer.

#cat startcron
export TZ=Europe/Berlin
busybox crond -f -c /data/cron &

Die verschiedenen Crondienste stehen in der Datei /data/cron/root. Damit ich nicht immer diesen langen Befehl aufrufen muss gibt es dafür ebenfalls ein Shortcut dafür.

#cat editcron
busybox vi /data/cron/root

Zum Beenden benutze ich ganz einfach brutal den killall-Befehl

#cat killcron
busybox killall crond

Autostart und NTP beim Raspberry Pi

Posted on 16. Oktober 2012 Comments

Autostart: Es scheint zwar noch einen Weg über ~/.config/autostart zu geben, aber ich habe einfach meine Autostart Programme in /etc/xdg/lxsession/LXDE/autostart eingetragen, jeweils mit einem @-Zeichen davor.

NTP: Er wollte bei mir mit ntpdate nicht aktualisieren. Dann bin ich mit Hilfe von Left_Guard auf folgende Idee gekommen:

sudo ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

Danach habe ich folgende Befehle ausgeführt:

$ sudo /etc/init.d/ntp stop

$ sudo ntpdate <ntp-server-deiner-wahl>

$ sudo /etc/init.d/ntp start

$ sudo reboot

Nach diesem Reboot war meine Zeit richtig gesetzt.