Hausbus: Unterschied zwischen den Versionen

4.815 Bytes hinzugefügt ,  4. März 2017
Funkwerk
(Klemme15 ist aktive Low und eine CAN-Botschaft ist definiert)
(Funkwerk)
 
(23 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
= HausbusWerksbus =
Wir haben einen CAN-Bus Hausbus. Die Baudrate beträgt 500 kbit/s
 
 
== Botschaften-Schema ==
Die CAN Ids haben eine bestimmte Struktur, damit die wichtigsten Adressen einzelner Geräte( z.B. reset ) offensichtlich sind.
Ausserdem lässt sich aus der Struktur der Id erkennen, zu welcher Art von Gerät die Botschaft gehört.
 
 
 
==== Aufbau(Ids) ====
Hier ist noch keine Nachrichten Struktur festgelegt. Allerdings sind die Botschaften fuer Signale gedacht, die allgemeine Informationen verbreiten(z.B. ob die Tür verschlossen, oder das Licht eingeschaltet ist).
 
 
 
==== Aufbau(extended Ids) ====
0x0<Geräte Klasse[8]><GeräteId[8]><Gerätspezifisch[12]>
* Geräte Klasse: Die Geräte Klasse gibt Auskunft ueber die Art des Geräts. Sie ist 8 bit lang.
* GeräteId: Die Geräte Id ist eine Fortlaufende Nummer, die fuer jeden Busteilnehmer in seiner Klasse einzigartig ist. Sie ist 8 bit lang.
* Gerätespezifisch: Diese 12 Bits sind frei wählbar.
Ausnahme: Die Botschaft 0x0****FFF ist bestimmt für die Reset-Botschaft mit der man das Gerät zum Reset zwingen kann.
 
Ausnahme: Die Botschaft 0x0****000 ist bestimmt für die Heartbeat-Botschaft mit der das Gerät seinen Status und seine Anwesenheit meldet.
 
;Beispiel
:0x00102003
:Dritte Botschaft des Geräts
:Das Gerät hat die Id 2
:Die Geräteklasse ist 1(Licht)
:0x00102FFF ist die Reset-Botschaft fuer dieses Gerät
 
== Aufbau heartbeat ==
Die Heartbeat Nachricht ist die niedrigste ID, die ein Busteilnehmer nutzen darf. Sie endet auf 0x0****000
 
Beispiel Aufbau: <Zeit seit boot in Millisekunden[32]>
 
 
 
==== Reservierter Adressraum ====
* MessageIds unter 0x100 sind reserviert
* MessageIds über 0x700 sind reserviert
* Extended MessageIds unter 0x00001000 sind reserviert (verwechslungsgefahr)
* Extended MessageIds über 0x10000000 sind reserviert (bootloader)
 
==== Spezielle Adressen im Verfügbaren Adressraum ====
* Gerätespezifische Extended Botschaft 0x0****FFF ist fuer den Reset Befehl bestimmt(siehe oben).
* Gerätespezifische Extended Botschaft 0x0****000 ist die Heartbeat-Botschaft. Sie wird mindestens 1 mal pro Sekunde gesendet und enthält Informationen über den allgemeinen Status des Geräts(siehe oben).
 
== Bus Geräteklassen ==
{| class="wikitable"
! Id
! Name
! Beschreibung
|-
| 0x01 || Licht || Geräte, die Licht steuern.
|-
| 0x02 || Sensoren || Geräte die für alle anderen Busteilnehmer Messwerte zur Verfügung stellen.
|-
| 0x03 || Displays || ansteuerbare Displays
|-
| 0x04 || Input Devices || Eingabegeräte
|-
| 0x05 || Transmitters || Dinge die Signale Abstrahlen(Funk, IR, ...)
|-
|}
 
== BusNutzer ==
 
[[Datei:Hausbus_layout.png|400px|bytewerk CAN bus Layout]]
 
=== Geräte Botschaften ===
{| class="wikitable"
! Projektname
! Start-Adresse
! End-Adresse/ Reset-Id
! Beschreibung
! Verantwortlich
|-
| [[Beleuchtetes_Fassadenschild | Beleuchtetes Fassadenschild]] || 0x00101000 || 0x00101FFF || Blinkenlichten an der Fassade || [[Benutzer:HKay|hk]]
|-
| [[Dummrumleuchte]] || 0x00102000 || 0x00102FFF || Dummrumleuchte || [[Benutzer:Cfr34x|cfr34k]]
|-
| [[Hitzeflimmern | Hitzeflimmern]] || 0x00201000 || 0x00201FFF || Heatmap des Vereinsheims'''(OFFLINE)''' || [[Benutzer:HKay|hk]]
|-
| Sperrwerk || 0x00202000 || 0x00202FFF || Sperr- und Schliesszustand des der Eingangstür'''(OFFLINE)''' || [[Benutzer:HKay|hk]]
|-
| Feuchtwerk_1 || 0x00211000 || 0x00211FFF || Luftfeuchte- Temperatur und Helligkeit 1 (runder Tisch)'''(OFFLINE)''' || [[Benutzer:Xor|xor]]
|-
| Feuchtwerk_2 || 0x00212000 || 0x00212FFF || Luftfeuchte- Temperatur und Helligkeit 2 (Raum mit den Sofas)'''(OFFLINE)''' || [[Benutzer:Xor|xor]]
|-
| Feuchtwerk_3 || 0x00213000 || 0x00213FFF || Luftfeuchte- Temperatur und Helligkeit 4 (Mate-Lager) || [[Benutzer:Xor|xor]]
|-
| Feuchtwerk_4 || 0x00214000 || 0x00214FFF || Luftfeuchte- Temperatur und Helligkeit 3 (Werkstatt)'''(OFFLINE)''' || [[Benutzer:Xor|xor]]
|-
| oledwerk_1 || 0x00301000 || 0x00301FFF || OLED-Display 1, 128x64px'''(OFFLINE)''' || [[Benutzer:Xor|xor]]
|-
| ledkeys_1 || 0x00401000 || 0x00401FFF || 8 LED-Taster'''(OFFLINE)''' || [[Benutzer:Xor|xor]]
|-
| IRWerk || 0x00501000 || 0x00501FFF || Strahle IR-Signale anstatt der Fernbedienungen '''(OFFLINE)''' || [[Benutzer:HKay|hk]]
|-
| FunkWerk || 0x00502000 || 0x00502FFF || Sende/Empfange Funksigale bis 4FSK auf 433 MHz '''(OFFLINE)''' || [[Benutzer:HKay|hk]]
|-
|}
 
=== Allgemeine System Botschaften ===
{| class="wikitable"
! Botschaft
! CAN-Id
! Zykluszeit
! byte[0]
! byte[1]
! byte[2]
! byte[3]
! byte[4]
! byte[5]
! byte[6]
! byte[7]
! Beschreibung
! Sender
|-
| Zeitbasis || 0x101 || 1000 ms || UnixTime[0] || UnixTime[1] || UnixTime[2] || UnixTime[3] || 0x00 || 0x00 || 0x00 || 0x00 || Unixtime in Liddle Endian || Hausbus Pi
|-
|}
 
== Steckerbelegung ==
* Pin 2: CAN Low
* Pin 3: GND
* Pin 4: Klemme 15 (GND wenn Hauptstom aktiv, sonst hohe Impedanz)
* Pin 4: -
* Pin 5: GND-
* Pin 6: -
* Pin 7: CAN High
* Pin 8: -
* Pin 8: Klemme 15 (GND wenn Hauptstom aktiv, sonst hohe Impedanz)
* Pin 9: +12V
 
 
== BusNutzer ==
 
* [[Beleuchtetes_Fassadenschild | Beleuchtetes Fassadenschild]]: 0x00010100 bis 0x000101FF
== SocketCan auf dem Pi ==
'''0x000101FF:''' Soft-Reset
Raspian installieren und updaten
$ sudo apt-get update
$ sudo apt-get install linux-image-rpi-rpfv
$ ls /boot/*-rpi
/boot/config-3.18.0-trunk-rpi
/boot/initrd.img-3.18.0-trunk-rpi
/boot/System.map-3.18.0-trunk-rpi
/boot/vmlinuz-3.18.0-trunk-rpi
 
Die version des installiertem kernel Image merken und an das Ende der folgenden Datei anhaengen:
 
$ sudo nano /boot/config.txt
 
Beispiel
kernel=vmlinuz-3.18.0-trunk-rpi
initramfs initrd.img-3.18.0-trunk-rpi followkernel
852

Bearbeitungen