USB 2 RFM12
Das Herzstück meiner Hausautomatisierung ist ein USB Modul. Dieses vermittelt die Daten zwischen den Funkmodulen (433Mhz) und meinem Hausserver.
Die Hauptarbeit hat mir zum Glück Das Labor mit ihrem Rfm12usb Modul abgenommen. Da ich aber noch mit Streifenraster Platinen arbeite musste ich mir das Layout für diese entwerfen.
Benötigte Bauteile
Anzahl | Position | Bezeichnung | Artikelnummer |
---|---|---|---|
1 | ATMega AVR-RISC-Controller, PDIP-28 | ATMEGA 8-16 DIP (Reichelt) | |
1 | IC-Sockel, 28-polig, doppelter Federkontakt | GS 28 (Reichelt) | |
1 | Wannenstecker, 6-polig, gerade | WSL 6G (Reichelt) | |
2 | 10pol. Buchsenleiste, gerade, RM 2,54, H: 8,5mm | BL 1X10G8 2,54 (Reichelt) | |
1 | 36pol. Stiftleiste, gerade, RM 2,54 | SL 1X36G 2,54 (Reichelt) | |
1 | USB-Einbaubuchse, Serie B, gew., Printmontage | USB BW (Reichelt) | |
2 | R1, R2 | Kohleschichtwiderstand 1/4W, 5%, 68 Ohm | 1/4W 68 (Reichelt) |
3 | R3, R4, R5 | Kohleschichtwiderstand 1/4W, 5%, 1,5 K-Ohm | 1/4W 1,5K (Reichelt) |
2 | R6, R7 | Kohleschichtwiderstand 1/4W, 5%, 10 K-Ohm | 1/4W 10K (Reichelt) |
2 | D1, D2 | Zener-Diode 0,5W 3,6V | ZF 3,6 (Reichelt) |
2 | C1, C4 | Keramik-Kondensator 100N | KERKO 100N (Reichelt) |
2 | C2, C3 | Keramik-Kondensator 22P | KERKO 22P (Reichelt) |
2 | R6, R7 | Kohleschichtwiderstand 1/4W, 5%, 10 K-Ohm | 1/4W 10K (Reichelt) |
1 | Q1 | Standardquarz, Grundton, 16,0 MHz | 16,0000-HC18 (Reichelt) |
1 | D3 | LED 5mm Grün | LED 5MM ST GN (Reichelt) |
1 | D3 | LED 5mm Gelb | LED 5MM ST GE (Reichelt) |
1 | Funkmodul RFM12-433 Sende-/Empfangsmodul | 810 049 (Pollin) | |
1 | Schaltdraht YV, 0,5 mm, rot | 560 353 (Pollin) | |
1 | Schaltdraht YV, 0,5 mm, schwarz | 560 348 (Pollin) | |
1 | Schaltdraht YV, 0,5 mm, blau | 560 360 (Pollin) | |
1 | Kunststoffgehäuse 021-002-173 | 460 006 (Pollin) |
Fertig gelötet kommt dann das rechts zu sehende bei raus. Das Drahtstück ist 17,5cm lang und war meine erste Version einer Antenne (Im Layout als Lötnagel zu sehen).
Das Funkmodul habe ich auf eine kleine extra Platine gelötet. Diese hat an den Seiten 2 Stiftleisten und kann so auf die Buchsenleisten auf der Platine gesteckt werden.
Später habe ich dann noch Octamex entdeckt. Diese haben schöne Antennen für 433Mhz im Angebot und passende Anschlußkabel.
Für die LEDs habe ich 2 kleine Löcher gebohrt. Unter diese habe ich 2 Stücke eines schwarzen Strohhalms mit Heißkleber festgemacht. Diese Strohhalm Stummel stecken direkt auf den LEDs.
Auf dem Server läuft ein kleines C Programm das von den Beispielen von Das Labor inspiriert ist. Dieses sendet an eine Schnittstelle von Gibson OS Daten von dem Modul auch andersrum.
Daten Typen
Wert | Beschreibung |
---|---|
0 | Empfangsbestätigung |
1 | Handshake |
2 | Status |
255 | Daten |
Protokoll
Um nun mit verschieden Modulen zu arbeiten habe ich das Protokoll von Das Labor erweitert. Für die Moduladresse nutze ich Type von der rfm12lib.
Empfangsbestätigung
Länge | Bytenummer | |
---|---|---|
Daten Typ | 1 | 1 |
Checksumme | 1 | 2 |
Handshake empfangen
Länge | Bytenummer | |
---|---|---|
Daten Typ | 1 | 1 |
Modul Typ | 1 | 2 |
Modulname | 1-16 | 3-18 |
Checksumme | 1 | 4-19 |
Handshake senden
Länge | Bytenummer | |
---|---|---|
Daten Typ | 1 | 1 |
Adresse | 1 | 2 |
Gruppen Adresse 1 | 1 | 3 |
Gruppen Adresse 2 | 1 | 4 |
Gruppen Adresse 3 | 1 | 5 |
Gruppen Adresse 4 | 1 | 6 |
Modulnamen Länge | 1 | 7 |
Modulname | 1-16 | 8-15 |
Checksumme | 1 | 9-16 |
Nicht gesetzte Gruppen Addressen beinhalten die Modul Adresse.
Status anfordern
Länge | Bytenummer | |
---|---|---|
Daten Typ | 1 | 1 |
Checksumme | 1 | 2 |
Status empfangen
Länge | Bytenummer | |
---|---|---|
Daten Typ | 1 | 1 |
Daten | 1-192 | 2-193 |
Checksumme | 1 | 3-194 |
Daten
Länge | Bytenummer | |
---|---|---|
Daten Typ | 1 | 1 |
Daten | 1-192 | 2-193 |
Checksumme | 1 | 3-194 |