Pages: [1]   Go Down
Author Topic: Mydooropener Projekt  (Read 785 times)
0 Members and 1 Guest are viewing this topic.
Deutschland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Leute,

ich hab folgendes Problem.
Meine Haupt Idee ist eigentlich, mein Garagentor über das Internet mittels meines iPhones in Verbindung mit dem App Mydooropener zu öffnen.
Die 'Hardware' hab ich schon richtig zusammen gestöpselt nur ist mein Problem jetzt mehr die Software smiley-wink
Ich bin erstmal darauf gestoßen, das ich meinem Ethernet Shield seine eigene Mac Adresse vom Sticker vergeben muss und nicht die Beispiel Mac smiley-grin
Alles bereit gestellt ins Internet gestöpselt, iPhone App meckert nicht mehr das es nichts finden kann, was nur am Port 80 lag, jedoch geht der Rest noch nicht :S

Ich hab jetzt auch schon ein kleines Test Programm für mein Ethernet Shield ausprobiert, was nur im internen Netz laufen soll und es passiert trotzdem nichts. Hier mal der Code dazu :
Code:
#include <SPI.h>
#include <Ethernet.h>
 
/* Mats-Vanselow.de
 
Lizenz (Deutsch): creative commons Namensnennung - Keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported - http://creativecommons.org/licenses/by-nc-sa/3.0/deed.de
Bei Verwendung und Weitergabe des Quellcodes muss ein Verweis auf den Autor und die Webseite erfolgen. In Begleitdokumentationen ist ebenfalls in angemessener Weise dieser Verweis anzubringen.
 
License (English): creative commons Attribution-Noncommercial-Share Alike 3.0 Unported - http://creativecommons.org/licenses/by-nc-sa/3.0/
When using and distributing this source code a reference to the author and the web page must take place. In accompanying documents this reference must also be attached.
 
Code by Mats Vanselow - http://www.mats-vanselow.de
 
*/
 
byte mac[] = {0xBl, 0xAa, 0xbl, 0xii, 0xbl, 0xub };           // MAC Adresse des Arduino Boards
byte ip[] = {192, 168, 6, 123 };                              // IP Adresse des Arduino Boards
//byte gateway[] = { 192, 168, 6, XXX };               // Gateway (optional)
//byte subnet[] = { 255, 255, XXX, 0 };             // Subnet Maske (optional)
Server server = Server(80);                       // Port Einstellung (Standard 80)
 
void setup() {
  Ethernet.begin(mac, ip);//, gateway, subnet);   // Ethernet initialisieren
  server.begin();                                 // Auf Clients warten
}
 
void loop() {
  Client client = server.available();             // Prüfen, ob Client Seite aufruft
  if (client) {                                   // Seitenaufruf durch User
    server.print("HTTP/1.0 200 OK\r\nServer: arduino\r\nContent-Type: text/html\r\n\r\n");
    server.print("<HTML><HEAD><TITLE>");
    server.print("Arduino Board");
    server.print("</TITLE>");
    server.print("</HEAD><BODY>");
    server.print("<b>Hello World!</b>");
    server.print("</BODY></HTML>");
    delay(3000);                                    // Kurz warten, um Daten zu senden
    client.stop();                                // Verbindung mit dem Client trennen
  }
}

Meine Vermutung liegt jetzt darin, dass das Ethernet Shield nur in einem 192.168.0/1.XXX Subnetz funktionieren kann.
Stimmt das? Kann mir jemand sagen was ich falsch mache?
Wäre sehr freundlich smiley
Will nicht schon aufgeben müssen.

MfG
mrlowalowa
« Last Edit: July 21, 2011, 03:38:02 pm by mrlowalowa » Logged

Freiburg-Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 23
Azubi Elektroniker für G&S
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Schau dich doch mal in deinem Router Konfigurationsprogramm nach dem Stichwort Portweiterleitung bzw. Dynamischer DNS um.
Das ganze sagt dem Router dann wohin es eine extern (Internet) eintreffende Verbindung intern (Hausnetzwerk) weiterleiten soll.
Für die Dynamische DNS( öffentliche IP adresse) gibt es verschiedene Kostenlose Anbieter(DynDNS.org, ...). Google hilft dir da sicher weiter.
Ob das ganze dann auch funktioniert und ob die DNS adresse zuverlässig weitergeleitet kannst du einfach testen indem du versuchst deinen PC über VNC damit fernzusteuern(vom Nachbar oder Freund aus der nicht in deinem Hausnetzwerk hängt). Wenn das funktioniert einfach die IP im Router auf das Ethernetshield umschreiben und im Iphone die DNS Adresse angeben.

Das ganze trifft natürlich nicht zu wenn du dein Iphone ausschließlich vor dem Haus verwenden willst wo es sich dann mit deinem Wlan Netzwerk verbindet. Dann ist es natürlich wieder ein Hausinterner Befehl und wird über 192.168.x.xxx adressiert.

viel Glück
LG m²
« Last Edit: July 22, 2011, 02:19:01 am by squaremeter » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 49
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ja, ohne gateway kannst du nur innerhalb des eigenen netzes arbeiten.
trage das gateway ein und schon sollte auch ein zugriff weiter z.b. ins internet möglich sein.
ob du dann aber auch vom internet aus auf die private adresse kommst, hängt von deiner routerkonfiguration ab.
da musst du ggf noch ein nat-mapping eintragen oder der firewall sagen dass die pakete aus dem internet für deinen arduino sind.
auch solltest du wissen ob du eine feste, offizielle hast, oder ob du eine dyndns-adresse brauchst.

wenn du mit dem alles nichts anfangen kannst, dann bitte erst einmal genauer einlesen in die thematik.
denn ohne das grobe wissen frustiert das alles nur weil es nicht funktioniert wie du willst.

...eok
Logged

Deutschland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja ok des mit der dyn dns hab ich hinbekommen. Zumindest teilweise. Wenn ich die im internen Netzwerk eingeb komm ich auf meinen Router und wenn ich die über GSM eingeb kommt nichts. Also über einen normalen Browser. Fernsteuerung muss ich erst noch probieren, mach ich aber heut Abend.

Noch ne Frage zu der Porterweiterung. Ich kann bei meinem Router einen UDP Port aufmachen und einen listen UDP und einen trap UDP. Welchen muss ich da jetz nehmen?
Und vorallem in der Pde von der Webseite muss ich ja Port 80 lassen, weil er nur über den was erkennt :S helft mir mal bitte weiter.
Hab hier leider nicht nur ne öde fritzbox Rum stehen sondern sehr sehr viel anderen Kram.
Danke schon mal
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 49
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi mrlowalowa,

genau das meinte ich... natürlich kann ich dir nun das eine oder andere so sagen dass es klappt, aber kapiert hast du es dann leider dennoch nicht. das ist aber die voraussetzung, dass nicht nach dem kleinen schritt dann gleich wieder die nächsten fragen aufpoppen.

und du willst doch dabei was lernen.. oder?

oder anders gefragt...
willst du ein bild selber malen können, oder willst du mit "malen nach zahlen" einfach nur stur was nachmalen? ;-)

dann versuch mal zu verstehen wie das mit den ip's und dem router so funktioniert.
was eine NAT ist...
und vor allem den unterschied "tcp" und "udp"... dann erübrigt sich deine frage von ganz alleine und dir wird die lösung selbst kommen und du wirst merken, dass es eigentlich garnet sooo schwer ist.... denn computer und router sind wahrlich nicht intelligent.. und selbst die können das...  ;-)

...eok (ich weis, ich bin gemein) ;-)
Logged

Pages: [1]   Go Up
Jump to: