ELRO AB440SA 433.92Mhz-es konnektorokat szeretnék Webről kapcsolni. Egy kedves kollégám kimérte, hogy a távirányító milyen kódokat küld, én leprogramoztam, működik.
Ja és, hogy mire használnám? Akváriumok világítás be/ki éjszaka, standby fogyasztók ki, ha nem vagyunk otthon, illetve éjszaka, udvar világítás be/ki, hogy ezért se kelljen kiszállni a kocsiból (mobilról) stb...
Íme a kód (Arduino 0021)
Kód: Egész kijelölése
#include <WString.h>
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = {
192, 168, 1, 250 };
byte gateway[] = {
192, 168, 1, 100 };
byte subnet[] = {
255, 255, 255, 0 };
Server server(80);
String readString;
int transmitter = 7;
void setup(){
Ethernet.begin(mac, ip, gateway, subnet);
pinMode(transmitter, OUTPUT);
Serial.begin(9600);
}
void loop(){
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 30)
{
readString += c;
}
if (c == '\n') {
if(readString.indexOf("GET /?out=1bekap HTTP/1.1") >=0)
{
Serial.println("A is On");
for (int i=0; i <= 3; i++){
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
one();
zero();
one();
zero();
one();
zero();
one();
zero();
zero();
zero();
one();
zero();
delay(1);
}
}
if(readString.indexOf("GET /?out=1kikap HTTP/1.1") >=0)
{
Serial.println("A is Off");
for (int i=0; i <= 3; i++){
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
one();
zero();
one();
zero();
one();
zero();
one();
zero();
one();
zero();
zero();
zero();
delay(1);
}
}
if(readString.indexOf("GET /?out=2bekap HTTP/1.1") >=0)
{
Serial.println("B is On");
for (int i=0; i <= 3; i++){
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
one();
zero();
zero();
zero();
one();
zero();
one();
zero();
one();
zero();
zero();
zero();
one();
zero();
delay(1);
}
}
if(readString.indexOf("GET /?out=2kikap HTTP/1.1") >=0)
{
Serial.println("B is Off");
for (int i=0; i <= 3; i++){
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
zero();
one();
zero();
zero();
zero();
one();
zero();
one();
zero();
one();
zero();
one();
zero();
zero();
zero();
delay(1);
}
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<h1>Easy home</h1>");
client.println("<h3>Nappali 1</h3>");
client.println("<FORM><INPUT TYPE=\"BUTTON\" VALUE=\"On\" ONCLICK=\"window.location.href='http://192.168.1.250/?out=1bekap'\"><INPUT TYPE=\"BUTTON\" VALUE=\"Off\" ONCLICK=\"window.location.href='http://192.168.1.250/?out=1kikap'\"></FORM>");
client.println();
client.println("<h3>Nappali 2</h3>");
client.println("<FORM><INPUT TYPE=\"BUTTON\" VALUE=\"On\" ONCLICK=\"window.location.href='http://192.168.1.250/?out=2bekap'\"><INPUT TYPE=\"BUTTON\" VALUE=\"Off\" ONCLICK=\"window.location.href='http://192.168.1.250/?out=2kikap'\"></FORM>");
client.println();
client.stop();
readString="";
Serial.println();
}
}
}
}
}
void zero(void){
digitalWrite(transmitter, HIGH);
delayMicroseconds(400);
digitalWrite(transmitter, LOW);
delayMicroseconds(900);
return;
}
void one(void){
digitalWrite(transmitter, HIGH);
delayMicroseconds(1000);
digitalWrite(transmitter, LOW);
delayMicroseconds(200);
return;
}
Laci