Die frage wäre ja nun welche der vielen Systeme passt zu mir.
Das System muß 434MHz verarbeiten können also empfangen und senden und mehrere MPD Clienten.
Da die Kinder ihre Funksteckdosen per Fernbedienung ein / ausschalten muß das System dieses erkennen und entsprechend verarbeiten.
Die Sache mit dem MPD ist wie folgt, ein normales Radio bringt ja heut zutage nichts mehr. Alle CD's sind in mp3 auf einer NAS abgelegt, daher wäre für jedes Kind ein PI mit OpenELEC und Touchscreen sinnvoller aber der sollte von uns Eltern auch gesteuert werden können.
Lars
so schickt mein PI an den Webserver die empfangenen 434MHz daten, dort wertet eine PHP Datei den Datensatz aus und legt diese in der entsprechenden Datenbank ab. Nun wäre eben die idee ob der fast gleiche code auch für den ESP funktionieren würde.
/*
RFSniffer
Usage: ./RFSniffer [<pulseLength>]
[] = optional
*/
#include "../rc-switch/RCSwitch.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
RCSwitch mySwitch;
int main(int argc, char *argv[]) {
// This pin is not the first pin on the RPi GPIO header!
// Consult https://projects.drogon.net/raspberry-pi/wiringpi/pins/
// for more information.
int PIN = 2;
if(wiringPiSetup() == -1) {
printf("wiringPiSetup failed, exiting...");
return 0;
}
int pulseLength = 0;
if (argv[1] != NULL) pulseLength = atoi(argv[1]);
mySwitch = RCSwitch();
if (pulseLength != 0) mySwitch.setPulseLength(pulseLength);
mySwitch.enableReceive(PIN); // Receiver on interrupt 0 => that is pin #2
while(1) {
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
if (value == 0) {
printf("Unknown encoding\n");
} else {
char commandToExecute[80];
sprintf(commandToExecute, "wget http://192.168.5.91/smarthome/auswerten/rf_receive.php?code=%d", mySwitch.getReceivedValue() );
// system("clear");
system(commandToExecute);
// printf("Empfangen %i\n", mySwitch.getReceivedValue() );
}
mySwitch.resetAvailable();
}
}
exit(0);
}
Alles anzeigen