Arduino als Messgerät / Datenübermittlung

Hallo,

ich hab mal ein paar Fragen zu dem Thema was ich hier verfolge.

Die Grundidee ist, dass ich z.B 6 verschiedene Sensoren für irgendwas (Energiewerte, Temperatur, Feuchte (I2C) ..) an den Arduino anschließe und mir an eine SQL Datenbank weiterleite.

Ich hab es so umgesetzt, dass der Arduino sozusagen ein python (python + django) script (geht natürlich auch mit php) anwählt z.B in meinem Fall:

def data(request):
	query = request.GET.get('A0')
	TempToDatabase(query)
	return render_to_response('arduino/data.html', {
		'temperatur': query,
	})

und

def TempToDatabase(query):
	t = Temperature(zeit=datetime.now(), wert=query)
	print t
	t.save()

Funktioniert über Ethernet-Shield und WLAN-Shield, wobei das Sparkfun-Wifly Shield nur 9600baut zwischen dem Arduino und dem Shield hat :confused:

Jetzt hab ich aber das Problem, ich möchte gerne "extern" ein Intervall für die Messwerte vorgeben!

Meine erste Überlegung war, ich nehme mir eine http-Ausgabe und stelle z.B A0+300000 bereit, der Arduino liest das und setzt dann z.B einen delay von 5Minuten für A0. Hat auch funktioniert ^^ jedoch kostet das alles Berechnungszeit und ist glaube ich nicht optimal.

  • Aufbau der Verbindung
  • lesen von Einstellungen
  • letzen von A0 und delay(300000)
  • Lesen vom Sensor A0
  • Übermittlung an das Python-Script
  • delay(300000).

Das führt dazu, dass ich nur alle 5min und 10 Sekunden den Messwert bekomme anstatt genau 5Min.

Wie würdet ihr z.B den Intervall vorgeben? Per UDP an den Arduino senden? Ich bin jetzt noch nicht der starke Programmierer und mir fehlt so die "weitsicht" was geht - was nicht :slight_smile:

http://bildr.org/2011/06/arduino-ethernet-client/ diesen Quellcode habe ich etwas abgewandelt.

Ok, ich hab jetzt mich etwas im Forum umgesehen und denke ich werde eher an einer TCP/UDP Lösung arbeiten.

http://arduino.cc/forum/index.php/topic,102817.45.html anstatt mit php mit python.