INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Uno R3 + Ethernet Shield + RF Sender
15.07.2015, 21:50
Beitrag #1
Question Arduino Uno R3 + Ethernet Shield + RF Sender
Hallo Zusammen,

seit Kurzem beschäftige ich mich teils erfolgreich, teils weniger erfolgreich mit meinem Arduino Uno. Bisherige Projektchen wie das Steuern einer Led/Relais über mein Ethernet Lan Shield Modul W5100 haben auch super geklappt. Nun habe ich jedoch weniger die Möglichkeit meine Lichter über Relais zu schalten (zumindest nicht ohne meine Wände aufzuklopfen) und würde daher das ganze gerne über einen RF Sender machen.

Als Erstes habe ich den Sender mit einem Blinklicht über eine Baumarkt Funksteckdose getestet, hier hat auch alles super geklappt. Nun möchte ich das Ganze jedoch über eine kleine Html Seite steuern und habe es mit diesem Code:

/*
A simple RCSwitch/Ethernet/Webserver demo

http://code.google.com/p/rc-switch/
*/

#include <SPI.h>
#include <Ethernet.h>
#include <RCSwitch.h>

// Ethernet configuration
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MAC Address
byte ip[] = { 192,168,0, 2 }; // IP Address
EthernetServer server(80); // Server Port 80

// RCSwitch configuration
RCSwitch mySwitch = RCSwitch();
int RCTransmissionPin = 6;

// More to do...
// You should also modify the processCommand() and
// httpResponseHome() functions to fit your needs.



/**
* Setup
*/
void setup() {
Ethernet.begin(mac, ip);
server.begin();
mySwitch.enableTransmit( RCTransmissionPin );
}

/**
* Loop
*/
void loop() {
char* command = httpServer();
}

/**
* Command dispatcher
*/
void processCommand(char* command) {
if (strcmp(command, "1-on") == 0) {
mySwitch.switchOn("11111", "00100");
} else if (strcmp(command, "1-off") == 0) {
mySwitch.switchOff("11111", "00100");
} else if (strcmp(command, "2-on") == 0) {
mySwitch.switchOn(1,2);
} else if (strcmp(command, "2-off") == 0) {
mySwitch.switchOff(1,2);
}
}

/**
* HTTP Response with homepage
*/
void httpResponseHome(EthernetClient c) {
c.println("HTTP/1.1 200 OK");
c.println("Content-Type: text/html");
c.println();
c.println("<html>");
c.println("<head>");
c.println( "<title>RCSwitch Webserver Demo</title>");
c.println( "<style>");
c.println( "body { font-family: Arial, sans-serif; font-size:12px; }");
c.println( "</style>");
c.println("</head>");
c.println("<body>");
c.println( "<h1>RCSwitch Webserver Demo</h1>");
c.println( "<ul>");
c.println( "<li><a href=\"/?1-on\">Switch #1 on</a></li>");
c.println( "<li><a href=\"/?1-off\">Switch #1 off</a></li>");
c.println( "</ul>");
c.println( "<ul>");
c.println( "<li><a href=\"./?2-on\">Switch #2 on</a></li>");
c.println( "<li><a href=\"./?2-off\">Switch #2 off</a></li>");
c.println( "</ul>");
c.println( "<hr>");
c.println( "<a href=\"http://code.google.com/p/rc-switch/\">http://code.google.com/p/rc-switch/</a>");
c.println("</body>");
c.println("</html>");
}

/**
* HTTP Redirect to homepage
*/
void httpResponseRedirect(EthernetClient c) {
c.println("HTTP/1.1 301 Found");
c.println("Location: /");
c.println();
}

/**
* HTTP Response 414 error
* Command must not be longer than 30 characters
**/
void httpResponse414(EthernetClient c) {
c.println("HTTP/1.1 414 Request URI too long");
c.println("Content-Type: text/plain");
c.println();
c.println("414 Request URI too long");
}

/**
* Process HTTP requests, parse first request header line and
* call processCommand with GET query string (everything after
* the ? question mark in the URL).
*/
char* httpServer() {
EthernetClient client = server.available();
if (client) {
char sReturnCommand[32];
int nCommandPos=-1;
sReturnCommand[0] = '\0';
while (client.connected()) {
if (client.available()) {
char c = client.read();
if ((c == '\n') || (c == ' ' && nCommandPos>-1)) {
sReturnCommand[nCommandPos] = '\0';
if (strcmp(sReturnCommand, "\0") == 0) {
httpResponseHome(client);
} else {
processCommand(sReturnCommand);
httpResponseRedirect(client);
}
break;
}
if (nCommandPos>-1) {
sReturnCommand[nCommandPos++] = c;
}
if (c == '?' && nCommandPos == -1) {
nCommandPos = 0;
}
}
if (nCommandPos > 30) {
httpResponse414(client);
sReturnCommand[0] = '\0';
break;
}
}
if (nCommandPos!=-1) {
sReturnCommand[nCommandPos] = '\0';
}
// give the web browser time to receive the data
delay(1);
client.stop();

return sReturnCommand;
}
return '\0';
}

Versucht.

Die Seite lässt sich auch aufrufen, nur leider passiert nichts an der Steckdose, wenn ich versuche das Licht über den Button anzuschalten.

Meine Änderungen des Codes sind eigentlich nur bei der IP und dem Code der Funksteckdose. Hat jemand eine Ahnung, woran es liegen könnte?

Danke und liebe Grüße
Marten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  3 Arduino Mega, 2 Sender 1 Empfänger claudius 22 649 18.10.2016 17:32
Letzter Beitrag: Pardini
  Schrittmotor ruckelt beim Start und im laufenden Betrieb - Arduino+Motor Shield grt35a 3 276 21.09.2016 06:56
Letzter Beitrag: Bitklopfer
  Steuerung eines Schrittmotor und eines Lüfters auf einem Shield phischmi 7 283 18.08.2016 20:58
Letzter Beitrag: phischmi
  Avr NetIO als Arduino mit Ethernet-Shield amithlon 2 538 18.08.2016 17:42
Letzter Beitrag: amithlon
  Welches WiFi-Shield? alpenpower 1 347 14.07.2016 11:19
Letzter Beitrag: alpenpower
Star Bitte um hilfe bei Aurel Empfänger & Sender Mischa 3 523 08.06.2016 15:26
Letzter Beitrag: hotsystems
  Probleme mit dem Arduino Ethernet-Shild jalu4601 25 1.361 06.06.2016 16:09
Letzter Beitrag: Bitklopfer
  Motor Shield wird Heiß erwin 8 1.137 24.03.2016 11:29
Letzter Beitrag: hotsystems
  Per Keypad Shield zwischen zwei Programmen schalten Rob-LE 9 929 09.03.2016 14:27
Letzter Beitrag: iks77
  Multi functional Expansion Board Sensor Shield Astropikus 5 789 03.03.2016 22:32
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste