Dienstag, 18. März 2014

Nokia Display on A20




Folgende gits sind verfügbar:
https://github.com/N8body/DisplayC -> Library , die von Olimex stammt.
https://github.com/N8body/BitBang_A20_Python -> Python Library die um die Funktion für Bitbang-Spi erweitert wurde
https://github.com/N8body/pcd8544 -> Python Code. Mit beispielen

Dienstag, 11. März 2014

Olinuxino A20 - Erste Erweiterungen

Heute sind mir die passenden Erweiterungs-header angekommen. Benötigt werden sie,um zb den Microphone-Header oder die 5V Büchse rauszuführen. Nunden:
Die Header nennen sich :

JST 2.0 PH,falls jemand die nachkaufen möchte. Ich hab natürlich gleich ein 20ger-Pack für ungefähr 5 Euro gekauft(was an sich schon ein stolzer Preis ist,für ein wenig Plastik) Geheißen hat die kombination: "JST 2.0 PH 2-Pin Connector plug with Wire x 20 Sets". Natürlich hab ich beim Bestellen nicht wirklich auf die Farben geachtet sodas die mitgelieferten Kabel "falschfarbig" verdrahtet sind. Wichtig für die Stromführung ist das natürlich nicht,aber falschfarbige Käbel geben immer grundsätzlich eine zusätzliche Fehlerquelle. Zum Glück konnte man sie richtig "verdrahten" indem man die Header aufmacht und die beiden Drähte tauscht(rot und schwarz):
Rot rechts,Schwarz links.

Freitag, 28. Februar 2014

Olinuxino A20 - Mini Einrichtungstipps

Kurzer Tipp für alle:
folgende 2 zeilen in die ~/.bashrc rein,schon sieht die Welt ganz anders aus.

eval `dircolors`
alias ls='ls --color=auto '

 Datum: einfach folgendes eingeben und man hat immer ein normales Datum.
dpkg-reconfigure tzdata

Olinuxino A20 - Webcam aus dem Internet erreichbar machen

Nun um seine Webcam aus dem Internet erreichbar zu machen,muss man normalerweise seine Ports öffnen. Nicht mit mir. Es gibt das supertolle Programm namens NGrok(https://ngrok.com/),womit man sich einen Tunnel aufbauen kann. Das geschieht folgendermaßen:
1. Ngrok runterladen(es gibt einen linux-arm zweig)
2. ngrok binary in /usr/local/bin/ speichern(man kann auch einen anderen Ort wählen)
3. ngrok service machen:

#!/bin/sh
# /etc/init.d/ngrok


### BEGIN INIT INFO
# Provides:          ngrok
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Ngrok Nat Bypass
# Description:       Bypasses Nat with Ngrok
### END INIT INFO

BINARY=/usr/local/bin/ngrok
CONFIG=/usr/local/bin/ngrok-config
TUNNELS=webcam

start()
{
        echo "Starting ngrok..."
        screen -dmS ngrok $BINARY -config $CONFIG start $TUNNELS
}

stop()
{
  echo "Stopping ngrok..."
  kill -9 $(pidof ngrok) >/dev/null 2>&1
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    ;;
esac

exit 0


Olinuxino A20 Webcam Streaming Part 2

Nun kümmern wir uns um die Auslieferung des Bildes. Das geschieht mit Apache
Zuvor noch:
a2enmod rewrite
a2enmod mod_proxy

Danach eine htacess Datei im Root Ordner und dort folgendes rein:


RewriteEngine On
RewriteRule ^snapshot.jpg$ http://127.0.0.1:8080/?action=snapshot  [P]

das sorgt für das Bild. wenn man es jetzt mit dem <img src="snapshot.jpg"> anzeigt

Olinuxino A20 Webcam Streaming Part1

Jetzt kommen wir zum spannenden Teil mit der Webcam

Erstmal lädt man sich Mjpeg Streamer runter unter der folgenden URL:
  1. https://github.com/codewithpassion/mjpg-streamer runterladen. Die normale Version ist leider nicht auf die neuste V4L Version gepatcht.
  2. entpacken
  3. make USE_LIBV4L2=true 
  4. VERSION=$( sed -n '/SOURCE_VERSION/s/^.*"\(.*\)".*$/\1/gp' < mjpg_streamer.h ) 
  5. REVISION=$( svnversion -cn | sed "s/.*://" ) 
  6. sudo checkinstall --pkgname=mjpg-streamer --pkgversion="$VERSION+$REVISION~checkinstall" --default
  7. Danach erstellt man noch eine StartDatei für den Mjpeg

#!/bin/sh
# /etc/init.d/mjpg_streamer


### BEGIN INIT INFO
# Provides:          mjpg_streamer
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: MJPG-Streamer
# Description:       MJPG-Streamer takes JPGs from Linux-UVC compatible webcams and streams them as M-JPEG via HTTP.
### END INIT INFO
VIDEOSRC="/dev/video0"
RESOLUTION="640x480"
FRAMERATE="15"
LED="blink"
PARAMETERS=""

BINARY=/usr/local/bin/
LIB=/usr/local/lib/


start()
{
        echo "Starting mjpg-streamer..."
        $BINARY/mjpg_streamer -i "$LIB/input_uvc.so -d $VIDEOSRC -l $LED -n -y -r $RESOLUTION -f $FRAMERATE" -o "$LIB/output_http.so -n -w /usr/local/www -p 8080" >/dev/null 2>&1 &
}

stop()
{
  echo "Stopping mjpg-streamer..."
  kill -9 $(pidof mjpg_streamer) >/dev/null 2>&1
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    ;;
esac

exit 0

Unter Port 8080 erreicht man dann das Interface,in welchem das ganze dann zu finden ist.

Olinuxino A20 - Apache Installation mit Stats



Jetzt kommen wir zum Interessanten Teil: Apache Installation

1. apt-get install apache2 php5

2. a2enmod proxy_http (für später)


3. in /var/www folgende Sachen installieren:
http://phpsysinfo.sourceforge.net -> PHP System Info
Linfo http://linfo.sourceforge.net/