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
  Kaufempfehlung 433Mhz Sender/Empfänger Set no_expert 3 100 20.02.2018 21:36
Letzter Beitrag: hotsystems
  Arduino Mega mit TFT Shield Diskusguppy 6 524 16.02.2018 10:35
Letzter Beitrag: Tommy56
  SunFounder 16 Channel 12 Bit PCA9685 PWM Servo I2C Driver Shield Bikandajyo 31 2.408 15.01.2018 15:11
Letzter Beitrag: Bikandajyo
  Probleme mit dem Arduino Ethernet-Shild jalu4601 46 4.583 26.12.2017 00:26
Letzter Beitrag: ArduTux
  Welches GSM Shield Kaufen ?? huber5093 7 435 19.12.2017 07:53
Letzter Beitrag: Chopp
  Box cases für arduino nano UNO etc mit ethernet buchse sepp01 8 782 22.11.2017 14:55
Letzter Beitrag: sepp01
  nano, micro oder? für LAN Shield sepp01 10 975 12.11.2017 11:30
Letzter Beitrag: sepp01
  Steckertyp von SD Card Shield V4.0? alpenpower 7 830 10.11.2017 10:04
Letzter Beitrag: SkobyMobil
  Display für ATMega 2560 mit Shield lion88 8 1.333 08.10.2017 18:27
Letzter Beitrag: SkobyMobil
  Adruino mit DHT22 und 433Mhz Sender Groej 4 1.603 10.08.2017 06:08
Letzter Beitrag: RMR

Gehe zu:


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