Archive Page 2



Das Arduino Blog berichtet heute über die Verbesserungen und Änderungen welche in Arduino 1.0 umgesetzt wurden. Der erste Release Candidate steht auf der Entwicklungs-Site für die Anwender zum Download bereit.
Die offizielle Version ist für Ende Oktober geplant.
(via Arduino Blog)

Nanode Workshop in Berlin

Amin von OptimaLabs organisiert am kommenden Freitag und Samstag in Berlin den Workshop Nanode soldering and hacking workshop.

Im Workshop wird ein Nanode Board, der Arduino Clone mit integrierter Ethernet-Schnittstelle, aufgebaut und zusammengelötet und anschliessend kann man coole Sensor-und Aktoranwendungen realisieren.

Der Nanode-Bausatz kann vor Beginn des Workshops zum Preis von 24.50 EUR (Take away) und für 27 EUR (Kit plus Workshop) gekauft werden.

Alle Details und Anmeldemöglichkeit gibts auf der Eventseite zum Workshop.

Arduino in Toronto

Während den Sommerferien in Toronto und Umgebung habe ich einen kurzen Besuch bei CREATRON Inc., dem Arduino-Distributor in Toronto gemacht. Lawrence, der Besitzer hat sich sehr über den Besuch aus Europa gefreut.

Lawrence (links), Thomas (rechts)
Tim (mitte), Nik (vorne)

Als Dankeschön für das Buch hat mir Lawrence ein Terminalshield geschenkt. Herzlichen Dank.

Neue Arduino-Produkte

Im Arduino-Blog werden nun endlich die lang erwarteten neuen Arduino-Komponenten, Arduino Ethernet und Mega ADK vorgestellt.

Wie schon länger gemunkelt wurde, gibt es nun mit dem neuen Arduino Ethernet ein Board, welches bereits Ethernet-Connectivity integriert hat. Zusätzlich kann man mit einem Modul zum Aufstecken die Technik PoE (Power over Ethernet) einsetzen, welche die Spannungsversorgung über das Ethernet-Kabel ermöglicht.

Diese und weitere neuen Module sind ab sofort im Arduino-Store und bei vielen Händlern verfügbar.

(via Arduino Blog)

Testreihe 3 gestartet

3. Testreihe gestartet.

Testprotokoll:

11.07.2011, 08:00 Uhr
Testfall “leichter Regen”

——————————–

15.07.2011, 21:00 Uhr
Testfall “leichter Regen”

——————————–

Der integrierte Umweltsensor DHT11 ist ein kostengünstiger Sensor für die Messung von Temperatur und relativer Luftfeuchtigkeit in einem Raum. Der Sensor wird über einen 1-Wire-Bus angesprochen. Eine ausführliche Anleitung von Ladyada und die passende Arduino-Library machen die Verwendung des Sensors zum Kinderspiel.

Das Beispiel aus der genannten Library kann auch auf einem Nanode Board betrieben werden, dabei wird als Datenport D5 verwendet.

In unserer Anwendung werden die Messwerte anschliessend an einen Pachubefeed gesendet und können online abgefragt werden.

Diese Sensorlösung eignet sich ideal für Indooranwendungen, da der kostengünstige DHT11 einen Messbereich von 0…50 Grad C (Temperatur) und 20…90 % (Luftfeuchtigkeit) abdeckt. Der etwas teurere DHT22 ermöglicht mit einem Messbereich von -40…125 Grad C (Temperatur) und 0…100 % (Luftfeuchtigkeit) auch Einsatzfälle im Aussenbereich.

Nach der ersten Testreihe mit den verschiedenen Sensoren zur Messung der Bodenfeuchtigkeit habe ich heute die 2. Testserie gestartet.

Der Topf mit der Erde wurde erneuert und die Sensoren gereinigt und neu montiert. Jeder der 3 Sensoren ist nun 45 mm tief in die Erde gesteckt.

Die erste Testreihe hat gezeigt, dass die Messwerterfassung recht empfindlich ist. Ein Verstellen oder Verschieben der Sensoren oder andere Einflüsse von aussen, ich habe die Spannungsversorgung über den USB-Port durch ein externes Netzteil verändert, hat die Messung unerwartet beeinflusst.

Die aktuellen Daten können wie bisher im öffentlichen Pachube-Feed mitverfolgt werden.

Testprotokoll (Testreihe 2):

30.06.2011, 18:00 Uhr
Testserie 2 gestartet

——————————–
01.07.2011, 06:00 Uhr
Testfall “leichter Regen”

——————————–
05.07.2011, 16:00 Uhr
Testfall “Bewässerung” (Erde oberflächlich ausgetrocknet)

——————————–

Über die Varianten von Sensoren zur Messung der Bodenfeuchtigkeit wurde bereits berichtet. Dabei wurde auch der Sensortyp VG400 erwähnt. Da kürzlich bei Twitter dieses Thema von einem Nanode-Anwender aufgegriffen wurde, habe ich eine Testreihe aufgebaut um verschiedene Varianten von Sensoren zu vergleichen.

In der Testreihe werden 2 Selbstbau-Sensoren mit dem VG400 von Vegetronix verglichen.

Selbstbauvariante 1 mit 2 Nägeln:

Selbstbauvariante 2 mit Nägel in Gipshülle:

Vegetronix VG400:

Für den Messaufbau werden alle 3 Sensoren in die Erde in einem kleinen Topf gesteckt. Die Anschlüsse werden auf einem kleinen Steckbrett zusammengeführt und am Arduino-Board angeschlossen. Über das zusätzliche Ethernet-Shield werden die Daten an Pachube gesendet.

Sensoren (oben), Steckbrett (links), Arduino mit Ethernet Shield (rechts)

Auf einem Datenfeed von pachube.com kann nun der Testverlauf mitverfolgt werden.

Testprotokoll:

27.06.2011, 15:00 Uhr
Start der Messung

27.06.2011, 16:15 Uhr
Testfall “Regen”

——————————–

28.06.2011, 07:40 Uhr
Testfall “Regenschauer”

28.06.2011, 16:30 Uhr
Testfall “Regen”

28.06.2011, 21:00 Uhr
Spannungsversorgung mit Netzteil, statt USB
kurze Bewässerung

——————————–

29.06.2011, 09:00 Uhr
VG400 Position verstellt, Wert ändert sich

——————————–
30.06.2011, 16:30 Uhr
1.Testserie beendet

——————————–

Mit der bereits integrierten Ethernet-Schnittstelle eignet sich das Nanode-Board ideal für die webbasierte Datenerfassung. Die über die analogen Ports erfassten Sensordaten können anschliessend über Ethernet an eine Webanwendung zur Datenerfassung im Internet oder Intranet gesendet werden.

Eine der bekanntesten Anwendungen im Internet ist Pachube, ein Real-Time Open Data Web Service, auf welchem man über eine API Daten speichern und anschliessend darstellen kann.

Für das Speichern der Daten über die Pachube-API kann ein Beispielsketch EtherShield_simpleClient_Pachube aus der EtherShield-Library verwendet werden.

Bild 1: Nanode als Datenlogger, Ethernet (rechts), Temperatursensor (oben)

Neben der oben genannten Datenspeicherung im Internet kann man seine gesammelten Daten auch im Intranet speichern. Für die Datenspeicherung kann beispielsweise eine MySQL-Datenbank verwendet werden, welche über ein PHP-Script mit Daten gefüllt wird.

Das Senden der Daten erfolgt dabei über einen URL-Aufruf.

Beispiel:
http://10.0.1.8/update-daten.php?temp=23.56

Damit nicht ungewollt Daten in die Datenbank gespeichert werden, kann man den URL-Aufruf mit einem zusätzlichen Parameter (Key) erweitert werden.

http://10.0.1.8/update-daten.php?temp=23.56&key=123456789ABCDEF

Vor dem Speichern der Daten in der MySQL-Datenbank prüft die Speicherfunktion ob der in der URL übergebene Key mit einem gespeicherten Key übereinstimmt.

In der Datenlogger-Hardware, in unserem Beispiel dem Nanode, wird für die Datenübergabe an die Intranet-Anwendung das leicht angepasste Beispiel EtherShield_simpleClient_Emoncms verwendet.

Das Beispiel ist universell aufgebaut und kann für viele verschiedene Client-Anwendungen mit dem Nanode verwendet werden.

#include <EtherShield.h>
byte mac[6] =     { 0x54,0x55,0x38,0x12,0x01,0x23};
byte ip[4] =      {10,0,1,100};
byte gateway[4] = {10,0,1,1};
byte server[4] =  {10, 0, 1, 8};

#define HOST ""  // Blank "" if on your local network
#define API "/update-daten.php?key=123456789ABCDEF&"

unsigned long lastupdate;

char str[50];
char fstr[10];
int dataReady=0;

void setup()
{
Serial.begin(9600);
Serial.println("EtherShield Datenlogger");

ethernet_setup(mac,ip,gateway,server,80);
}

void loop()
{
//--------------------------------------
// 1) Measurements and data preparation
//--------------------------------------
if ((millis()-lastupdate)>6000)
{
lastupdate = millis();

float a0 = analogRead(0);

// Build up a json string: {key:value,key:value}
// dtostrf - converts a double to a string!
// strcat  - adds a string to another string
// strcpy  - copies a string
strcpy(str,"temp=");
dtostrf(a0,0,2,fstr);
strcat(str,fstr);
strcat(str,"");

dataReady = 1;
}

//----------------------------------------
// 2) Send the data
//----------------------------------------
if (ethernet_ready() && dataReady==1)
{
ethernet_send_url(PSTR(HOST),PSTR(API),str);
Serial.println("sent"); dataReady = 0;
}

}

Mittels Chart-Funktion, beispielsweise der PHP-Library Libchart, können die in der Datenbank gespeicherten Sensordaten auf einer Webseite dargestellt werden.


Bild 2: Sensordaten auf Webseite darstellen

Mit dieser netzwerkinternen Lösung werden keine Daten ins Internet gesendet. Die Datenverarbeitung-und Speicherung erfolgt mit einer eigenen Lösung. Man hat den vollen Zugriff auf die Daten und kann diese nach Bedarf für andere Anwendungen nutzen.