<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux &#8211; bubuxblog</title>
	<atom:link href="https://www.bubuxblog.de/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bubuxblog.de</link>
	<description></description>
	<lastBuildDate>Mon, 02 Jan 2017 13:08:35 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Odroid C2 (vs Raspberry PI 2)</title>
		<link>https://www.bubuxblog.de/odroid-c2-vs-raspberry-pi-2/</link>
					<comments>https://www.bubuxblog.de/odroid-c2-vs-raspberry-pi-2/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Mon, 02 Jan 2017 11:28:44 +0000</pubDate>
				<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Odroid]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Hausautomatisierung]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=1257</guid>

					<description><![CDATA[Zuerst einmal noch ein frohes neues Jahr an alle! Die Tage habe ich ein neues Spielzeug bekommen (nein, nicht zu Weihnachten). Es ist ein Odroid C2 mit eMMC-Speicherkarte. Den gab es im Komplettpaket mit Odroid, eMMC, Gehäuse und Netzteil für 70€. Der Odroid besitzt einen Quad-Core mit 1,5 GHz, 2 GB RAM und ein Gigabit-LAN [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Zuerst einmal noch ein frohes neues Jahr an alle!</p>
<p>Die Tage habe ich ein neues Spielzeug bekommen (nein, nicht zu Weihnachten). Es ist ein Odroid C2 mit eMMC-Speicherkarte. Den gab es im Komplettpaket mit Odroid, eMMC, Gehäuse und Netzteil für 70€. Der Odroid besitzt einen Quad-Core mit 1,5 GHz, 2 GB RAM und ein Gigabit-LAN welches er sich, im Gegensatz zur Raspberry-Architektur, nicht mit den USB-Ports teilen muss. Somit sollte die Gesamtleistung in allen Belangen deutlich höher ausfallen als die des Raspberry 2 oder 3. Auf der eMMC war ein Ubuntu 16.04 LTS mit Mate Desktop vorinstalliert.</p>
<figure id="attachment_1259" aria-describedby="caption-attachment-1259" style="width: 768px" class="wp-caption alignnone"><a href="http://blog.bubux.de/wp-content/uploads/2016/12/IMG_9477.jpg"><img fetchpriority="high" decoding="async" class="wp-image-1259 size-large" src="http://blog.bubux.de/wp-content/uploads/2016/12/IMG_9477-e1482917785552-1024x739.jpg" alt="Odroid Oberseite" width="768" height="554" srcset="https://www.bubuxblog.de/wp-content/uploads/2016/12/IMG_9477-e1482917785552-1024x739.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2016/12/IMG_9477-e1482917785552-300x216.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2016/12/IMG_9477-e1482917785552-768x554.jpg 768w" sizes="(max-width: 768px) 100vw, 768px" /></a><figcaption id="caption-attachment-1259" class="wp-caption-text">Odroid Oberseite</figcaption></figure>
<p><span id="more-1257"></span></p>
<h2>Schneller Test versus schlampige Programmierung</h2>
<p>Ein erster schneller Test sollte die Geschwindigkeitsmessung bei der Anzeige meiner Intranet-Seite für die mitgeloggten Daten (Temperaturen, Gasverbrauch, Stromverbrauch, &#8230;) sein. Die Tabellen sind in den letzten 3 Jahren teilweise doch recht groß geworden und der Raspberry 2 tut sich mit der Anzeige der ein oder anderen Auswertung merklich schwer. Zum Beispiel dauert die Abfrage des wöchentlichen Wasserverbrauches rund 38 Sekunden&#8230;nichts für ungeduldige Gemüter.</p>
<figure id="attachment_1261" aria-describedby="caption-attachment-1261" style="width: 300px" class="wp-caption alignleft"><a href="http://blog.bubux.de/wp-content/uploads/2016/12/IMG_9485-e1482920354556.jpg"><img decoding="async" class="wp-image-1261 size-medium" src="http://blog.bubux.de/wp-content/uploads/2016/12/IMG_9485-e1482920354556-300x216.jpg" alt="Odoid Unterseite" width="300" height="216" srcset="https://www.bubuxblog.de/wp-content/uploads/2016/12/IMG_9485-e1482920354556-300x216.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2016/12/IMG_9485-e1482920354556-768x554.jpg 768w, https://www.bubuxblog.de/wp-content/uploads/2016/12/IMG_9485-e1482920354556-1024x738.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-1261" class="wp-caption-text">Odroid Unterseite mit der eMMC-Karte (roter Aufkleber)</figcaption></figure>
<p>Also MySQL, Apache und PHP installiert. Dabei ließ sich MySQL nach der Installation nicht starten. Da scheint es einen bekannten <a href="https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1573279" target="_blank">Fehler</a> zu geben. Ich habe mich dann einen halben Tag mit Versuchen rumgeschlagen es ans laufen zu bekommen. Letztendlich habe ich mich dann geschlagen gegeben und MariaDB installiert. MariaDB funktionierte auf Anhieb inkl. des Datenimportes der Daten aus der MySQL-Datenbank des Raspberrys. Die Installation von Apache und PHP 7 funktionierte auf Anhieb. Dann die PHP-Scripte auf den Odroid kopiert, einen Browser geöffnet und &#8230; nichts gesehen außer einer weißen Seite. Nach kurzem Blick in das Apache-Log dann die Ernüchterung: Einfach die Scripte kopieren ist nicht, da ich in der Vergangenheit schlampig programmiert hatte. So unterstützt PHP 7 unter anderem nur noch M<em>ySQLi</em> (<a href="http://php.net/manual/de/book.mysqli.php" target="_blank"><em>i</em> wie improved</a>). So hatte ich mir das nicht vorgestellt, aber es ist ein guter Anlass um den kompletten Code zu überarbeiten. Und ein Downgrade auf PHP 5.x ist wohl auch <a href="https://www.heise.de/newsticker/meldung/Ende-des-aktiven-Supports-fuer-PHP-5-3583353.html" target="_blank">keine Alternative mehr</a>.</p>
<h2>Code-Korrektur</h2>
<p>Um trotzdem die Geschwindigkeit testen zu können, habe ich die Seite zur Anzeige des wöchentlichen Wasserverbrauches PHP 7-tauglich gemacht. In dieser Seite wird eine kleine Datenbanktabelle mit ~ 700 Zeilen ausgelesen (den Wasserzähler habe ich noch nicht so lange). Die beiden SQL-Statements die im Script verwendet werden sehen folgendermaßen aus:</p>
<p>Folgendes Select liest den Gesamtzählerstand aus:</p>
<pre class="">SELECT zaehlerstand FROM wasserzaehler</pre>
<p>Das etwas länglichere Select liest den Verbrauch der letzten 7 Tage, gruppiert nach Wochentag, aus:</p>
<pre class="">SELECT
CASE DATE_FORMAT(wz1.timestamp,'%w')
WHEN 0 THEN 'Sonntag'
WHEN 1 THEN 'Montag'
WHEN 2 THEN 'Dienstag'
WHEN 3 THEN 'Mittwoch'
WHEN 4 THEN 'Donnerstag'
WHEN 5 THEN 'Freitag'
WHEN 6 THEN 'Samstag'
ELSE 'fehler' END,
wz1.zaehlerstand - IFNULL(wz2.zaehlerstand, 0) AS verbrauch
FROM wasserzaehler wz1
LEFT JOIN wasserzaehler wz2
ON wz2.timestamp = (
SELECT MAX(timestamp) FROM wasserzaehler wz3 WHERE wz3.timestamp &lt; wz1.timestamp
)
WHERE DATE(wz1.timestamp) &gt;= DATE_SUB(NOW(),INTERVAL 7 DAY) GROUP BY day(wz1.timestamp)
ORDER BY wz1.timestamp";</pre>
<p>Das Ergebnis ist eine Übersicht des Gesamtverbrauch und des Wasserverbrauches der letzten 7 Tage:</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2016/12/wasserzähler.png"><img decoding="async" class="alignnone size-full wp-image-1263" src="http://blog.bubux.de/wp-content/uploads/2016/12/wasserzähler.png" alt="" width="818" height="462" srcset="https://www.bubuxblog.de/wp-content/uploads/2016/12/wasserzähler.png 818w, https://www.bubuxblog.de/wp-content/uploads/2016/12/wasserzähler-300x169.png 300w, https://www.bubuxblog.de/wp-content/uploads/2016/12/wasserzähler-768x434.png 768w" sizes="(max-width: 818px) 100vw, 818px" /></a></p>
<h2>Warpgeschwindigkeit</h2>
<p>Der Raspberry 2 benötigt bis zur Anzeige dieser Seite geschlagene 38 Sekunden. Der Odroid etwas mehr als 1 Sekunde! Diesen eklatanten Geschwindigkeitsunterschied hätte ich nicht erwartet. Allerdings weiß ich auch nicht, was den Raspberry bei der Auswertung dieser kleinen Tabelle genau überfordert. Es ist jedenfalls mal ein dicker Pluspunkt für den Odroid. Mal sehen wie er sich mit den anderen Abfragen schlägt sobald ich die restlichen PHP-Scripte angepasst habe.</p>
<p>Das wird allerdings neben der PHP-Problematik noch ein steiniger Weg werden, da ich die komplette <a href="http://blog.bubux.de/raspberry-pi-heimautomatisierung-mit-coc-und-fhem/" target="_blank">FHEM-Implementierung</a> irgendwie vom Raspberry auf den Odroid bekommen muss. Problem ist dabei wahrscheinlich weniger FHEM selber, sondern die COC-Hardware die auf den GPIOs des Raspberry sitzt und die GPIOs des Raspberry nicht kompatibel mit denen des Odroid sind. Dazu aber mehr, wenn es soweit ist.</p>
<p>Nebenbei habe ich bei dieser Gelegenheit auch noch kurz den Leistungsmesser dazwischen gehangen. Im Leerlauf (die Abfrage des Wasserzählers kann man nicht als mehr bezeichnen) konsumiert der Odroid etwa 3 Watt.</p>
<p>&nbsp;</p>
<p>Gruß Chris</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/odroid-c2-vs-raspberry-pi-2/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
