Show Posts
Pages: 1 ... 63 64 [65] 66 67 ... 94
961  International / Deutsch / Re: Ethernet shield externen DNS mitgeben? on: June 18, 2012, 09:59:33 am
Noch eine Ergänzung, das "Ethernet.begin()" wurde offensichtlich auch erweitert:

Code:
void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server, IPAddress gateway, IPAddress subnet);
Man kann also in der Reihenfolge (MAC,IP,DNS,GATEWAY,SUBNET) auch gleich am Anfang mit einen DNS-Server angeben. Dieser wird automatisch verwendet, wenn man ein EthernetClient.connect(char* hostname, int port) macht. Ein Auflösen von Hand ist da nicht mehr nötig.
Am besten mal auf die Referenz-Seite schauen: http://arduino.cc/en/Reference/EthernetBegin
Leider fehlt in der Referenz der Ethernet-Lib noch die Beschreibung der DNSClient und DhcpClass Klassen. Ich hab mir das gerade aus den Sourcen zusammengewürfelt.
Mario.
962  International / Deutsch / Re: Ethernet shield externen DNS mitgeben? on: June 18, 2012, 09:42:06 am
Ab Version 1.0 der IDE gibt es einen DNSClient.

Folgendes sollte klappen (achtung, ungetestet)
Code:
//DNS-Client
DNSClient dns;

//DNS-Server
IPAddress dnsserver(8,8,8,8);
IPAddress result;

void setup() {
    dns.begin(dnsserver);
...
}

void loop() {
...
    //namen auflösen. Ergebnis steht in result
    dns.getHostByName("www.arduino.cc",result);
}

Ausserdem kann man noch mit dns.inet_aton("1.2.3.4",result) einen IP-String in eine IP-Adresse umwandeln.
Es gibt bei den Examples auch ein Beispiel "DnsWebClient.ino".

Mario.
963  International / Deutsch / Re: Ausgang per Uhrzeit/Datum schalten on: June 18, 2012, 09:31:41 am
Hier mal ein kurzer Denkanstoss:

Was Du ja schon hast ist eine Funktion wo Du per PHP eine Zeit (z.B. 15min) übertragen. Das kannst Du ja problemlos auf zusätzliche Werte erweitern. Also zusätzlich zur Dauer noch den Wochentag, oder ein Datum und eine Uhrzeit oder was auch immer mitschicken. Du musst halt nur den Sketch zum auslesen der Kommandos erweitern.
Diese Werte für die Steuerung merkst Du Dir auf dem Arduino wieder in einem Array. Du merkst Dir also eigentlich den Start-Wert (Zeit) und den End-Wert (Zeit)
Der Trick ist nun folgender. Das Ventil wird nicht sofort geöffnet, sondern jede Sekunde wird geschaut, ob ein Ausgang geschaltet werden muss (Einschalten oder Ausschalten).

Mario.
964  International / Deutsch / Re: Kurze Frage zu char* on: June 18, 2012, 07:13:36 am
Quote
Das Ergebnis der Umwandlung sollte doch in dem character-array 'line' stehen.
Das ist richtig, nur hast Du kein Character-Array erstellt. Deine Variable "line" enthält nämlich nur einen Zeiger auf ein Chracter-Array, nicht das Array selbst.

Entweder machst Du einfach ein
Code:
char line[10];

Dann kannst Du "line" auch als "char*" Typ verwenden. Alternativ kannst Du auch mittels
Code:
char* line;
line = malloc(10);
den notwendigen Speicher (ich hab im Beispiel immer 10 Bytes genommen) reservieren.
965  International / Deutsch / Re: Messwerte in irgendeiner Form weiterverarbeiten? on: June 18, 2012, 04:47:08 am
Schau Dir mal "http://processing.org/" an. Das entspricht weitestgehend der Arduino-IDE und verwendet Java. Es gibt viele Beispiele, die auch mit dem Arduino arbeiten. Man kann sehr einfach Graphen u.ä. "zeichnen".
Mario.
966  International / Deutsch / Re: Ethernet - W-LAN on: May 25, 2012, 06:36:54 am
Du meinst sowas hier:
http://www.avm.de/de/Produkte/FRITZ_WLAN/FRITZ_WLAN_Repeater_300E/index.php
Quote
Am Gigabit-LAN-Anschluss verbundene Geräte (Computer, Drucker, Audio-Video-Zuspieler, u.a.) erhalten WLAN-Funktion (Ethernet, 10/100/1000 Base-T)

AVM ist nur ein Beispiel, es gibt sicher kleinere und preiswertere Geräte von anderen Herstellern.
967  International / Deutsch / Re: LED Cluster/Reihe Schalten on: May 24, 2012, 02:58:44 pm
Also das angegebene Beispiel mit dem Rotary Encoder mit LEDs läßt vermuten, das wohl doch alle LEDs einzeln geschalten werden sollen. Dann wird es doch etwas aufwändiger. Wenn auch 16 LEDs reichen, könnten auch zwei TLC5940 Verwendung finden, allerdings sind die Shiftregister wohl deutlich billiger.
Ein Trick wäre aber, sich 3 TLC 5940 als Sample direkt bei TI zu bestellen. Das habe ich letztens auch gemacht, die waren nach 4 Tagen aus USA bei mir.
Mario.
968  International / Deutsch / Re: Einstiegsfragen - Andruino Uno on: May 24, 2012, 03:19:21 am
Effektiver und auf lange Sicht günstiger sind da sicher 6x 1,2V AA R6 Akkus. Die in Reihe geschaltet liefern 7,2V und halten bei 600 bis 1200 mAh auch gut doppelt so lange durch. Hat man zwei Sätze davon, kann man einen Satz aufladen und den anderen benutzen.
Bei den meisten Elektronik-Shops gibt es auch passende Adaptergehäuse, um die 6 Akkus zu koppeln.
Mario.
969  International / Deutsch / Re: Arduino board mit ipod touch steuern ! on: May 23, 2012, 11:49:01 am
Die Lib für die standalone Variante gibt es hier:
https://github.com/recotana/ArdOSC
Das gibt es einen Button um die aktuelle Version als ZIP herunter zu laden.
Das ZIP entpackst Du in Deinen Documente/Arduino/libraries/ Ordner. Anschliessend muss man leider das Verzeichnis noch von "recotana-ArdOSC-b5db4d3" in "ArdOSC" umbenennen. Danach dann die IDE starten und Du hast unter "File" -> "Examples" -> "ArdOSC" die Beispiele um mit der Lib zu arbeiten.
Getestet habe ich das aber noch nicht.
970  International / Deutsch / Re: Arduino board mit ipod touch steuern ! on: May 23, 2012, 10:34:46 am
Du bekommst die Fehlermeldungen, weil der Sketch den Du auf den Arduino spielen willst, nicht für den Arduino ist. Sondern für die Processing-Umgebung, also den Teil der Software, der auf dem PC läuft.
Auf den Arduino muss die "firmata" Firmware gespielt werden:
http://arduino.cc/en/Reference/Firmata
Soweit ich das verstanden habe, kommuniziert die App auf Deinem Telefon mit dem Processing auf Deinem Rechner, welches dann den Arduino über die serielle Schnittstelle steuert.

Es scheint aber auch einen direkten Weg, ohne Processing zu geben. Und damit direkt vom Smartphone auf den Arduino:
http://recotana.com/recotanablog/closet
971  International / Deutsch / Re: [Einsteiger] Nachbau eines Projektes, doch Wifi statt Ethernet Shield? on: May 23, 2012, 04:55:45 am
Das ist doch ein guter Anfang. Es gibt eine Lib und Beispiel-Sketche mit denen Du die ersten Schritte machen kannst.
Als Ausgangspunkt für Deine Klingelsteuerung kannst Du dann später z.B. prima das WebClient.ino Example verwenden. Denn am Ende macht das "Klingel-Push" Programm auch nichts anderes als einen Webserver "anfunken". Du musst dann nur die Funktion "void sendToPushingBox" aus Deinem Klingel-Sketch in den WebClient Sketch vom RedFly übernehmen und anpassen.
Mario.
972  International / Deutsch / Re: [Einsteiger] Nachbau eines Projektes, doch Wifi statt Ethernet Shield? on: May 23, 2012, 03:13:07 am
So aufwändig ist es nicht, und das Forum hier ist ja auch noch da. Welches WiFi Shield hast du denn zur Verfügung? (am besten mit Link zum Anbieter oder Shop)
973  International / Deutsch / Re: [Einsteiger] Nachbau eines Projektes, doch Wifi statt Ethernet Shield? on: May 23, 2012, 02:44:42 am
Sonderlich kompliziert sollte das nicht werden. Am besten gehst Du schrittweise vor.
Als erstes solltest Du das WiFi-Shield in Deinem WLAN zum laufen bringen, dafür gibt es sicher eine passende Lib und Beispiel-Sketche.
Wenn das geklappt hat, kannst Du dann den Code der Bush-Box um die WLAN-Lib erweitern und den Teil des Codes anpassen, damit Du statt "Ethernet.begin(mac)" und alles was da dran hängt, den WLAN-Code verwenden kannst.
974  International / Deutsch / Re: Ausgang per Web schalten mit PHP on: May 22, 2012, 07:42:34 am
Kannst Du bitte den Code posten mit dem Du arbeitest (Arduino und PHP), denn so ganz folgen kann ich Dir gerade nicht.
Welches "Socket-Beispiel vom Arduino " meinst Du genau?
Btw. wäre es evtl. gut einen neuen Thread zu starten, da dieser hier ja eigentlich abgeschlossen war.
Mario.
975  International / Deutsch / Re: Ausgang per Web schalten mit PHP on: May 22, 2012, 06:54:46 am
Im Prinzip ist es so. Dein Router fungiert in Deinem Fall aber nur als "Switch", bzw. WLAN-Access Point für das WLAN Shield und nicht primär als Router.

Von welchem Port genau redest Du?
1) Der Port auf dem der Arduino auf eine ankommende Verbidung vom Webserver-Script lauscht (im Beispiel-Code wäre das Port 23)?
2) Vom Port auf dem der Webserver auf eine ankommende Verbndung (HTTP-Anfrage) vom Browser wartet?
Das mußt Du ganz klar unterscheiden.

Wenn Du Deine Webanwendung z.B. bei Strato hostest, dann müßtest Du den Port auf dem der Arduino lauscht im Router freigeben und auf die IP-Adresse die der Arduino hat weiterleiten, damit Dein Script bei Strato auf den Arduino zugreifen kann. Davon würde ich aber abraten, denn der Sketch auf dem Arduino hat keinerlei Sicherheitsmassnahmen eingebaut. Ist der Port im Router auf den Arduino weitergeleitet, kann JEDER im Internet darauf zugreifen. Da reichen schon die ganzen Bots, welche die Provider-IPs scannen und dort Verbindungen aufbauen, irgendwelche bytes senden die sicher immer und je nachdem auf was der Sketch reagiert, kann das "lustige" Effekte auslösen.

Der bessere Weg wäre, wenn Du auch den Webserver lokal in Deinem Netz hast und dort entsprechende Sicherheitsfeatures wie z.B. https oder eine Passwort-Abfrage etc. einbaust. Im Router leitest Du dann den Port auf dem der Webserver lauscht (in der Regel Port 80, oder 443 bei HTTPS) auf die interne IP des Webservers um.

In beiden Fällen mußt Du natürlich dafür sorgen, das Arduino oder Webserver intern immer die gleiche IP haben, sonst klappt das nicht.
Mario.
Pages: 1 ... 63 64 [65] 66 67 ... 94