USBlink433

USBlink433 ist ein USB-Funksender für AM, welcher in der Lage ist,

auf der Frequenz von handelsüblichen Funksteckdosen zu arbeiten.

Damit ist es möglich, einen großen Teil der im Haus vorhandenen Elektrogeräte zu automatisieren.

Die Software spricht das HX2262 Protokoll. Dazu wird die RCswitch Implementation verwendet.

/*
USBLink433 Firmware
Written 2012 by Tobias Mädel
http://tbspace.de
*/
//Configuration - Serial
#define baudrate 57600

//Configuration - Pins
#define datapin 10  //Encoded data output for transmitter
#define powerled 13 //Green led
#define sendled 12  //Red led

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();
void setup() {
  Serial.begin(baudrate);
  pinMode(powerled, OUTPUT);
  pinMode(sendled,  OUTPUT);
  digitalWrite(powerled, HIGH);
  mySwitch.enableTransmit(datapin);  
}

void loop() {
  if (Serial.available() >= 3) {
    String housecode = String(Serial.read(), BIN); //Read byte 1 - housecode
    int    deviceid  = Serial.read();           //Read byte 2 - deviceid 
    int    state     = Serial.read();           //Read byte 3 - state (asc. 0/1)
    
    char   houseid[6];                //define char array for housecode
    housecode.toCharArray(houseid, 6); //convert String housecode to chararray

    if (state == 1){
        digitalWrite(sendled, HIGH);
        mySwitch.switchOn (houseid, deviceid);
        digitalWrite(sendled, LOW);
    } else {
        digitalWrite(sendled, HIGH);
        mySwitch.switchOff(houseid, deviceid); 
        digitalWrite(sendled, LOW);
    }
  } 
}

Downloads:

Protokolldokumentation (.pdf)

Schaltplan (.png)

Schaltplan (.sch, Eagle)

Board (.brd, ungetestet)