ODROID U/X/XU

Alles zu mobilen Endgeräten (Smartphones und Tablets) mit purer Rechenkraft
Nachricht
Autor
Eric
Powerknopf-Verweigerer
Powerknopf-Verweigerer
Beiträge: 1411
Registriert: 07.05.2013 09:24

Re: ODROID U/X/XU

#49 Ungelesener Beitrag von Eric » 20.03.2014 08:29

Ich bin auch was am Vorbereiten:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Bild

Benutzeravatar
www.rekorn.de
Vereinsmitglied
Vereinsmitglied
Beiträge: 721
Registriert: 02.06.2003 15:11
Wohnort: Berlin

Re: ODROID U/X/XU

#50 Ungelesener Beitrag von www.rekorn.de » 21.03.2014 14:54

@Eric, du nutzt dein Raspi zum auslesen der CPU-Temperatur an deinen Odroids? Gäbe es für mich auch ne Möglichkeit die Temperatur meiner Odroids über einen Win-Rechner auszulesen?
shit happens, everyday
Bild

Eric
Powerknopf-Verweigerer
Powerknopf-Verweigerer
Beiträge: 1411
Registriert: 07.05.2013 09:24

Re: ODROID U/X/XU

#51 Ungelesener Beitrag von Eric » 21.03.2014 15:50

Puuh, das ist eine gute Frage. Ich würde mal sagen im Grundsatz schon. Man müsste mal schauen, welche Entsprechungen dann auf Windows notwendig sind um das zu realisieren.
Ich skizziere mal kurz meinen Lösungsansatz. Eine ausführliche Beschreibung bin ich dabei zu erstellen.

Auf dem RPi:
  • Webserver (lighttpd): zur Anzeige der Webseite mit den Diagrammen
  • FTP-Server (proftpd): die Odroid übertragen die Ergebnisse auf den FTP-Server
  • RRDTool: Round-Robin-Datenbank-Tool zum Speichern der Meßergebnisse und der grafischen Darstellung
  • Expect
Webserver, FTP-Server und RRDTool sind unter Windows kein Problem. Expect könnte eins werden.

Auf dem Odroid:
  • Rooted SSH/SFTP Daemon
  • BusyBox
Auf dem RPi wird per Cron ein Script ausgeführt dass eine SSH-Verbindung zum Odroid aufbaut und dort ein Script ausführt. Das Ausführen des Scriptes und Übertragen der Datei mit den Ergebnissen mittels FTP wird mit Expect über die SSH-Verbindung ausgeführt.
Die Ergebnisse werden dann aus der Datei gelesen und in die Datenbank(en) eingetragen. Eine php-Seite erzeugt dann beim Aufruf die Diagramme und zeigt sie an.

Ich denke die einzige Hürde unter Windows ist wie man per Kommandozeile über ssh auf dem Odroid ein Shell-Script ausführt. Ich habe mal kurz hier über Putty nachgelesen. Damit könnte es gehen. Putty lässt sich wohl auch von der Kommandozeile aufrufen und soll Kommandos die in einer Datei gespeichert sind ausführen können. Habe ich aber noch nicht ausprobiert.

Ich denke die Chance steht gut, dass das geht.

Edit:
Shell-Script monitoring.sh auf dem Odroid im Verzeichnis /data/monitoring (neues Verzeichnis!):

Code: Alles auswählen

#!/system/bin/sh
FTP_PATH=/data/monitoring
FTP_FILE=odroid_u3_android_mon.log
# Erst die Temperatur
cat /sys/devices/platform/tmu/temperature > $FTP_PATH/$FTP_FILE
# Dann die Taktfrequenz / 1000 zur Umrechnung in MHz
CPU_FREQ=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq`
echo "$((CPU_FREQ / 1000))" >> $FTP_PATH/$FTP_FILE
# Zum Schluss die CPU-Auslastung. Die Ausgabe ist mit einem % versehen, das wir entfernen
CPU_USAGE=`dumpsys cpuinfo | grep "TOTAL" | awk '{print $3}'`
echo "${CPU_USAGE%?}" >> $FTP_PATH/$FTP_FILE
ftpput -u <ftpuser> -p <ftpkennwort> <IP Windows FTP-Server> $FTP_FILE $FTP_PATH/$FTP_FILE
Mit chmod 777 monitoring.sh ausführbar machen. <ftpuser>, <ftpkennwort> und <IP Windows FTP-Server> musst Du noch anpassen.

Nochmal Edit:
<PfadZuPutty>putty.exe -ssh <sshuser>@<Odroid-Ip> -pw <Kennwort> -m <Datei mit Kommando>

Du musst Dir nur in die Kommando-Datei folgendes eintragen:

Code: Alles auswählen

sh /data/monitoring/monitoring.sh
Bild

Eric
Powerknopf-Verweigerer
Powerknopf-Verweigerer
Beiträge: 1411
Registriert: 07.05.2013 09:24

Re: ODROID U/X/XU

#52 Ungelesener Beitrag von Eric » 21.03.2014 16:36

Noch kurz ein paar weitere "Brocken" damit das alles geht:

Anlegen der Datenbank:

Code: Alles auswählen

rrdtool create u3_and_01_cpu.rrd --step 60 \
   DS:cpu_temp:GAUGE:1440:0:100 \
   DS:cpu_freq:GAUGE:1440:0:2000 \
   DS:cpu_usage:GAUGE:1440:0:100 \
   RRA:AVERAGE:0.5:1:1440 \
   RRA:MIN:0.5:1:1440 \
   RRA:MAX:0.5:1:1440
Ob Folgendes als Batch-Datei unter Windows funktioniert müsste man probieren bzw. umschreiben (Auf jeden Fall die Pfade):

Code: Alles auswählen

LOG_PATH=/var/www
LOG_FILE=odroid_u3_and_01_mon.log
i=0
while read LINE
do
    WERTE[$i]=$LINE
#    echo "${WERTE[$i]}"
    ((i=i+1))
done < $LOG_PATH/$LOG_FILE
rrdtool update u3_and_01_cpu.rrd N:${WERTE[0]}:${WERTE[1]}:${WERTE[2]}
rrdtool graph /home/pi/www/u3_and_01_cpu_temp.png -s 'now - 1 day' -e 'now' DEF:t=u3_and_01_cpu.rrd:cpu_temp:AVERAGE LINE2:t#FF0000:t VDEF:t_last=t,LAST "GPRINT:t_last:%1lf °C"
rrdtool graph /home/pi/www/u3_and_01_cpu_freq.png -s 'now - 1 day' -e 'now' DEF:t=u3_and_01_cpu.rrd:cpu_freq:AVERAGE LINE2:t#FF0000:t VDEF:t_last=t,LAST "GPRINT:t_last:%1lf MHz"
rrdtool graph /home/pi/www/u3_and_01_cpu_usage.png -s 'now - 1 day' -e 'now' DEF:t=u3_and_01_cpu.rrd:cpu_usage:AVERAGE LINE2:t#FF0000:t VDEF:t_last=t,LAST "GPRINT:t_last:%1lf Prozent"
Das liest die Datei aus und speichert die Werte in der Datenbank. Die Grafiken werden dann auch noch erzeugt.

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Monitoring</title>
</head>
<body>
<img src="u3_and_01_cpu_temp.png"></img>
<br>
<img src="u3_and_01_cpu_freq.png"></img>
<br>
<img src="u3_and_01_cpu_usage.png"></img>
</body>
</html>
Ich würde die Batch-Datei und den Putty-Aufruf in eine Datei packen und diese durch die Windows-Aufgabenplanung jede Minute ausführen lassen.

Das alles bezieht sich auf das Monitoring von einem Odroid. Man kann das jetzt natürlich für mehrere machen.
Mit dem rrdtool graph Befehl kann man auch aus mehreren Datenbanken die Werte in einer Grafik anzeigen lassen. Z.B.:

Code: Alles auswählen

rrdtool graph /home/pi/www/comb_temp.png -s 'now - 1 day' \
  --title="CPU-Temperatur" \
  'DEF:HAL9000-odroid=/home/pi/monitoring/u3_and_01_cpu.rrd:cpu_temp:AVERAGE' \
  'DEF:HAL9000-u3_and_01=/home/pi/monitoring/u3_and_02_cpu.rrd:cpu_temp:AVERAGE' \
  'DEF:HAL9000-raspi=/home/pi/monitoring/rpi_01_cpu.rrd:cpu_temp:AVERAGE' \
  'LINE1:HAL9000-odroid#ff0000:HAL9000-odroid' \
  'LINE1:HAL9000-u3_and_01#0400ff:HAL9000-u3_and_01' \
  'LINE1:HAL9000-raspi#00ff00:HAL9000-raspi' \
  'GPRINT:HAL9000-odroid:LAST:HAL9000-odroid Letzte Temperatur\: %2.1lf °C' \
  'GPRINT:HAL9000-u3_and_01:LAST:HAL9000-u3_and_01 Letzte Temperatur\: %2.1lf °C' \
  'GPRINT:HAL9000-raspi:LAST:HAL9000-raspi Letzte Temperatur\: %2.1lf °C
Bild

Eric
Powerknopf-Verweigerer
Powerknopf-Verweigerer
Beiträge: 1411
Registriert: 07.05.2013 09:24

Re: ODROID U/X/XU

#53 Ungelesener Beitrag von Eric » 22.03.2014 08:20

Zur Lösung mit Windows habe ich noch mal ein wenig nachgeforscht.
Webserver und FTP-Server sind unter Windows nicht notwendig solange man die HTML Seite nicht im Netzwerk anzeigen lassen will.
Wie oben schon geschrieben kann man mit Putty auf dem odroid dad Script starten. Die Zeile mit dem ftp kann man entfernen.
Statt dessen kann man mit WinSCP die Datei abholen:

Code: Alles auswählen

<PfadZuWinscp>winscp.exe /command "open sftp://user:kennwort@ip-adresse" "get /data/monitoring/*.log *.*" "exit"
user, kennwort, ip-adresse sind wieder anzupassen. *.* oben kopiert in den aktuellen Pfad unter Windows. Das müsste man auch anpassen.
Dann bleibt nur noch die Anpassung des Scripts unter Windows zum Lesen der Ergebnisse und Eintragen in die Datenbank.

Vielleicht komme ich in der nächsten Woche mal dazu es unter Windows auszuprobieren.

@All: Wäre das nicht was für das Wiki? Dann bräuchte ich allerdings Schreibrechte für das Wiki und ein wenig Unterstützung beim Anlegen der Seite. Ich würde dann die Varianten für Monitoring Odroid U2/U3 Android von Windows aus und vom Raspberry Pi aus beschreiben.
Bild

JagDoc
Vereinsmitglied
Vereinsmitglied
Beiträge: 333
Registriert: 03.12.2011 12:05

Re: ODROID U/X/XU

#54 Ungelesener Beitrag von JagDoc » 22.03.2014 10:22

Wäre es nicht einfacher wenn man auf den Odroids das Script mit dem SManager automatisch bei hochfahren startet?
https://play.google.com/store/apps/deta ... iptmanager

cu JagDoc
Bild

Eric
Powerknopf-Verweigerer
Powerknopf-Verweigerer
Beiträge: 1411
Registriert: 07.05.2013 09:24

Re: ODROID U/X/XU

#55 Ungelesener Beitrag von Eric » 22.03.2014 12:00

Prinzipiell schon. Man braucht aber unter Windows bzw. dem RPi trotzdem noch einen cronjob zum Aktualisieren der Datenbank und der Grafiken.
Bild

JagDoc
Vereinsmitglied
Vereinsmitglied
Beiträge: 333
Registriert: 03.12.2011 12:05

Re: ODROID U/X/XU

#56 Ungelesener Beitrag von JagDoc » 22.03.2014 12:30

Das ist mir klar.
Wäre nur etwas mühsam auf über 20 Odroid das Script über putty zu starten.
Da ist die Anzeige dann aber auch ein wenig unübersichtlich?

cu JagDoc
Bild

Tim
Vereinsvorstand
Vereinsvorstand
Beiträge: 936
Registriert: 05.04.2013 16:22
Wohnort: Schleswig-Holstein

Re: ODROID U/X/XU

#57 Ungelesener Beitrag von Tim » 22.03.2014 13:23

Eric hat geschrieben:[...]

@All: Wäre das nicht was für das Wiki? Dann bräuchte ich allerdings Schreibrechte für das Wiki und ein wenig Unterstützung beim Anlegen der Seite. Ich würde dann die Varianten für Monitoring Odroid U2/U3 Android von Windows aus und vom Raspberry Pi aus beschreiben.
Wenn du willst kann ich dir helfen, die Seite anzulegen. Schreibrechte im Wiki kann ich dir jedoch nicht geben. Wende dich dazu mal an MReed oder M. Franckenstein.

Eric
Powerknopf-Verweigerer
Powerknopf-Verweigerer
Beiträge: 1411
Registriert: 07.05.2013 09:24

Re: ODROID U/X/XU

#58 Ungelesener Beitrag von Eric » 22.03.2014 13:54

@JagDoc
Ja, in Deinem Fall würde das Sinn machen. Und ja bei sovielen Odroids wird es mit dem Diagramm unübersichtlich. Man könnte aber z. B. immer 4 Geräte in einem Diagramm zusammen fassen.
Der Ansatz ist eh der dass jedes Gerät seine eigene(n) Datenbank(en) bekommt. Damit kann man es bei weiteren Geräten erweitern. Getrennte Diagramme sind auch möglich. Ich wollte nur zeigen dass man auch Diagramme aus verschiedenen Datenbanken aggregiert darstellen kann.
Ich möchte erst einmal zeigen wie es prinzipiell funktioniert. Potential für Verbesserungen und Erweiterungen gibt es auf jeden Fall genug.

@Tim: Danke. Gerne.
Bild

JagDoc
Vereinsmitglied
Vereinsmitglied
Beiträge: 333
Registriert: 03.12.2011 12:05

Re: ODROID U/X/XU

#59 Ungelesener Beitrag von JagDoc » 22.03.2014 15:33

Super Arbeit was du da machst. :good:
Bei mehren/vielen Odroids wäre es zur Überwachung vielleicht sinnvoll auf die Grafik zu verzichten
und die aktuellen Werte in Tabellenform darzustellen.
Odroid*, Temp, Freq, Auslastung.
So ne kleine Sidebar unter Windows...

cu JagDoc
Bild

Eric
Powerknopf-Verweigerer
Powerknopf-Verweigerer
Beiträge: 1411
Registriert: 07.05.2013 09:24

Re: ODROID U/X/XU

#60 Ungelesener Beitrag von Eric » 22.03.2014 17:48

JagDoc hat geschrieben: So ne kleine Sidebar unter Windows...
:o 8) Mal schauen, ob ich so etwas hinbekomme... Habe ich bisher noch nicht gemacht. Könnte aber funktionieren, da diese Gadgets/Widgets aus XML, HTML und Javascript bestehen.
Mal schauen.
Bild

Zurück zu „Mobiles Verteiltes Rechnen & ARM-Systeme“