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
  Steckertyp von SD Card Shield V4.0? alpenpower 2 107 17.07.2017 09:50
Letzter Beitrag: Tommy56
  CAN-Shield iVm 3,3V Arduino Pro Mini Clubsport 12 640 13.04.2017 22:56
Letzter Beitrag: Bitklopfer
  SM5100B GSM shield huber5093 2 279 01.02.2017 04:19
Letzter Beitrag: bergfrei
  CNC Shield V3 + Nema 17 relay 2 892 26.12.2016 15:01
Letzter Beitrag: Ralla1
  Grundsatz Frage: Ethernet Shield 2 + SQL-Anbindung Beercules 7 530 16.12.2016 13:40
Letzter Beitrag: ardu_arne
  3 Arduino Mega, 2 Sender 1 Empfänger claudius 22 1.253 18.10.2016 17:32
Letzter Beitrag: Pardini
  Schrittmotor ruckelt beim Start und im laufenden Betrieb - Arduino+Motor Shield grt35a 3 894 21.09.2016 06:56
Letzter Beitrag: Bitklopfer
  Steuerung eines Schrittmotor und eines Lüfters auf einem Shield phischmi 7 593 18.08.2016 20:58
Letzter Beitrag: phischmi
  Avr NetIO als Arduino mit Ethernet-Shield amithlon 2 1.458 18.08.2016 17:42
Letzter Beitrag: amithlon
  Welches WiFi-Shield? alpenpower 1 581 14.07.2016 11:19
Letzter Beitrag: alpenpower

Gehe zu:


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