Archive Page 15



Ü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

——————————–

Nanode als webbasierter Datenlogger

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.

Nanode (Network Application Node) ist ein Arduino Clone mit integrierter Ethernet-Schnittstelle. Das Lowcost-Board, welches von Ken Boak vom London Hackspace entwickelt wurde, eignet sich für webbasierte Sensor-und Überwachungsanwendungen.

Bild (c) London Hackspace

Das Nanode-Board hat die gleichen Abmessungen wie ein Original-Arduino und bietet 3 Kommunikations-Schnittstellen:

Auf dem Board sind alle nötigen Komponenten platziert. Die Ethernet-Schnittstelle ist mit einem Ethernet-Controller ENC28J60 realisiert. Für die Ethernet-Connectivity wird mit dem Nanode kein zusätzliches Ethernet-Shield benötigt. Zu beachten ist dabei, dass die Standard-Ethernet-Library für Ethernet-Schnittstellen im dem genannten ENC28J60 nicht kompatibel sind. Für eigene Internet-Anwendungen steht eine eigene Library, EtherShield, zur Verfügung. Mit der Bibliothek werden verschiedene nützliche Beispiele mitgeliefert. Für Anwendungen mit der Internet-of-Things-Plattform Pachube realisieren will, der sollte sich die simpleClient-Beispiele genauer anschauen.

Die Programmerstellung erfolgt wie gewohnt über die Arduino IDE. Über ein angeschlossendes FTDI-Kabel oder einen USB zu Seriell-Wandler kann der Programmcode auf das Board hochgeladen werden. Eine USB-Schnittstelle ist auf dem Board hardwaremässig bereits aufgebaut, die Firmware ist aber noch in der Testphase.

Die Nanode-Boards werden zur Zeit nur als Bausatz ausgeliefert und kosten 25 EUR.

Das Aufbauen der Leiterplatte ist recht einfach. Dank der bebilderten Schrit-für-Schritt-Anleitung gelingt der Zusammenbau auch einem Elektronik-Anfänger. Etwas Löterfahrung ist aber von Vorteil.

Meine beiden Nanode Boards haben auf Anhieb funktioniert und mit den Anleitungen im Nu eine IP-Adresse von unserem internen Netzwerkrouter bekommen. Nun erfassen die Nanodes Umweltdaten und senden diese an die Internet-of-Things-Plattform Pachube. Die Applikationsseite im Nanode-Wiki ist ein guter Startpunkt für eigene webbasierte Anwendungen.

Anlässlich des Oxford Hackspace hat der Entwickler Ken Boark das Nanode Board präsentiert.

Teil 1:

Teil 2:

Ein wirklich spannendes Projekt dass ich weiter verfolgen werde. Aktuellste News gibts laufend beim Twitter User @Nanode_1.

Wer Interesse an einem Board hat, wendet sich direkt an Ken. Laufend werden Serien von Bausätzen zusammengestellt und ausgeliefert.

Informationen zum Nanode Projekt:

Auf der DIY-Plattform Instructables hat der User Matchlighter ein originelles Staubsauger-Projekt publiziert. Sein Roomba-Staubsauger wurde mit einem Arduino-Board erweitert und sendet via WiFly-Shield regelmässig einen Putzstatus an Twitter.

(c) matchlighter

Auf dem Twitteraccount @TheRoomba kann man den aktuellen Zustand des Staubsaugers abfragen.

(via Hack A Day)

High Speed Datalogging

Der Entwickler der SD Card Bibliothek SdFat hat im Arduino Forum ein neues Feature dieser Bibliothek vorgestellt.

Die neuste Version erlaubt das High Speed-Loggen von Daten auf die SD Card.

In verschiedenen Foren und Threads wird darüber diskutiert:

(via RSS Feed Arduino Forum)

Arduino Mega ADK for Android

In Kürze verfügbar: Arduino Mega ADK for Android

Bild (c) David Cuartielles

Gemäss Kommentar von David ist dieses Board in wenigen Tagen verfügbar:

„this is a new board that is coming out in a week or so. We will have simultaneous workshops to test it during the week of the 13th of June in Malmo, New York and Stockholm“

(via Arduino Forum)

Bewässerungsanwendung mit Sensoren für Bodenfeuchtigkeit sind Anwendungen welche gerne von Arduino-Anwendern realisiert werden. Dabei werden oftmals Selbstbau-Sensoren verwendet.

Auch das bekannte Projekt Botanicalls nutzt Nägel oder Metallstifte für die Ermittlung der Feuchtigkeit des Bodens im Garten oder der Topfpflanze.

Leider haben diese Selbstbausensoren kein lineares Verhalten und geben nur eine ungefähre Angabe über die Trockenheit der Erde.

Auch ich habe diese Variante schon ausgetestet und die Praxis zeigt dass die Messungen von Sensor zu Sensor unterschiedlich sind und genaue und reproduzierbare Resultate sind nicht möglich.

Die bisher beste und genaueste Lösung kann mit einem kommerziellen Feuchtesensor der Firma Vegetronix realisiert werden. Der Sensor VG400 gibt eine lineares Spannungssignal aus und beschreibt damit einen Bereich von 0-100% Feuchte im Boden.

Der gleiche Sensor kann auch für eine Wasserstandsmessung in einem kleinen Behälter oder Becken verwendet werden.

Nachteil dieser Lösung ist leider der Preis. Der Sensor kostet runde 30 USD. Für die Lieferung nach Europa kommen nochmals 35 USD dazu.

VG400 – Bodenfeuchte Sensor

Dank meinem Hoflieferanten für Arduino-Komponenten bin ich jetzt zu 2  Exemplaren des VG400 gekommen. Die Firma Telepixel bietet diese Sensoren in Zukunft unter dshop.ch an.

Hinweis:
da die Sensoren im Shop von Telepixel momentan noch nicht sichtbar sind, einfach bei Bedarf im Shop via Kontaktformular mit dem Anbieter Kontakt aufnehmen.

Anschluss-Shield

Das neue Proto Screw Shield ist das ultimative Shield wenn es um professionelle Anschlusstechnik geht. Auf diesem Anschluss-Shield sind alle Anschlüsse auf stabile Schraubklemmen geführt und erlauben eine Verdrahtung der externen Sensoren und Aktoren wie im professionellen Steuerungsbau. Zusätzlich bietet das Shield viel Platz für eigene Schaltungsaufbauten. Endlich kann man seine Motoren, Sensoren oder Schalter sicher anschliessen.

(Bild ladyada.net)

Der digitale Feuchtesensor SHT21 von Sensirion ist ein integrierter Sensor für die Messung von relativer Feuchte und Temperatur. Der Sensor ist im Gehäuse für die Oberflächenmontage (SMD) verfügbar und hat nur eine Grösse von 3x3mm.

Das Bild zeigt den Grössenvergleich zwischen einem 2-Cent-Stück und dem Sensor.

Durch die kleinen Abmessungen ist die saubere und sichere Montage auf der Leiterplatte für den Hobby-Anwender relativ schwierig. In der Praxis werden SMD-Komponenten maschinell bestückt und gelötet.

Für das Buchprojekt habe ich vom Hersteller ein Musterbauteil bekommen und dieses mittels einem selbstgebautem Breakout-Board in Betrieb genommen.

Dabei habe ich in einem ersten Schritt sehr dünne Anschlussdrähte an das Bauteil gelötet. Für das Anlöten wurde das Bauteil mit doppelseitigem Klebeband auf der Unterlage befestigt.

Als Anschlussdrähte wurde Wire-Wrap-Draht verwendet. Für das Anlöten der Drähte kam eine schmale Elektronik-Lötspitze und 0.1 mm -Lötzinn zum Einsatz.

Beim Anlöten ist zu beachten, dass man das Bauteil nicht überhitzt.

Nachdem die Anschlussdrähte montiert wurden, kann das Bauteil von der Klebefolie entfernt werden.

Als Grundplatte des Breakout-Board habe ich ein Stück von einer Experimentier-Leiterplatte verwendet. Am idealsten nimmt man eine Lochrasterplatine mit Streifen oder Lötpunkten. Zuerst muss die Leiterplatte ausgeschnitten werden. Das Musterbeispiel hat eine Grösse von 8×20 Millimeter. Ich habe einfach zwischen den Leiterbahnen mit der Laubsäge durchgesägt. Die Leiterplatte wird mit den Leiterbahnen nach oben verwendet. Dort wo das Sensor anschliessend platziert wird, müssen die Kupfer-Lötaugen mit einem scharfen Messer entfernt werden. Nun werden die Anschlussdrähte auf der Leiterplatte angelötet

Am linken und rechten Rand wird nun jeweils eine einreihige Stiftleiste mit 3 Pin angelötet. Diese Stiftleisten machen dann die Verbindung zum Steckbrett, in welches das Breakout-Board gesteckt wird.

Der Sensor SHT21 ist nun mit der Schaltung verbunden und kann in der Experimentierschaltung getestet werden. Alle zusätzlichen Komponenten der Schaltung, wie Pullup-Widerstände für den I2C-Bus und ein Abblockkondensator, werden direkt ins Steckbrett gesteckt.

Der ganze Aufbau ist recht empfindlich und eignet sich nur für Experimente. Im produktiven Einsatz sollte ein richtiges Breakoutboard verwendet werden.

Das Breakout-Board wurde mit handelsüblichen Komponenten und Werkzeug erstellt. Löterfahrung und eine ruhige Hand sind aber zwingend notwendig.

LikeLight für Facebook

Das „Gefällt mir“- oder „Like“-Icon von Facebook findet man immer öfters auf Webseiten und Blogs. Klickt man das Icon an, teilt man dem Inhaltsersteller mit, dass man seinen Content mag.

Das LikeLight von redpepper ist eine Lampe aus Lego mit einem Arduino als Logik, welche via Ethernet-Verbindung den Status des „Like“-Buttons im Internet abfragt. Falls ein Benutzer auf den Button geklickt hat, leuchtet die Lego-Lampe für 3 Sekunden.

(via Renato Mitra)




Kategorien