ShackBus

Idee

Der Sinn des Ganzen soll ein Funk-Bussystem sein, das aus einem Master-Node (Shackserver-Rack) und vielen Client-Nodes besteht, die Daten an den Server schicken oder von ihm erfragen können. Ziel ist es dabei, ein fertiges Client-Modul zum anbinden an ein bestehendes Projekt ohne großen Aufwand zu schaffen. Es soll eine fertige Library geben, die eingebunden und konfiguriert werden kann. Der Server wirft die gesammelten Informationen auf ein automatisch generiertes Webinterface, welches auch die Anlaufstelle für simple Applikationen, die auf diese Daten zugreifen wollen, ist. Desweiteren können die Daten per TCP-Connection abgefragt werden, oder man wartet auf einen Multicast.

Client-Ideen

  • Jedes Client-Modul soll prinzipliell einen Temperatur- und einen Helligkeitssensor integriert haben.
  • Es soll auf jeden Fall ein Infostring enthalten sein, der die Position bezeichnet.
  • Übersichtsplan vom Shack - Koordinate auf Übersichtsbild abspeichern
  • Stromzähler
  • Matemat/Maschamat/Whatever
  • Tür
  • Licht
  • Klospülung
  • Durchgangszähler Flur (Anzahl der Personen im Shack approximieren)
  • Funksteckdosen

Fortschritt

Ansi und Robert haben ein Board geätzt, auf dem ein RFM12 modul aufgelötet ist. Als zweite Station wurde ein Pollin-Evaluationsboard mit einem weiteren RFM12 verwendet. Es wurden nach einigen Anlaufschwierigkeiten einige Zeichen erfolgreich übertragen, eine stabile Verbindunk konnte jedoch nicht hergestellt werden.

Robert bemüht sich um Bezugsquellen für mehr Module, die 6€ bei den meisten Händlern sind schlichtweg zu teuer. Bitte um Hinweise!

  • Bei Pollin gibt es auch alternativ die Module die nur Senden oder Empfangen können für aktuell 3,45 Euro. RFM01 bzw. RFM02

TODO

  • Bezugsquelle finden
  • Zweites Board bauen
  • Einfache Kommunikation hinbekommen
  • Klären, was mit Ansi los ist

Links

Auf Can-Bus Basis

Protokoll

Es werden die extended Frames verwendet.
Die ID eines extended Frames ist 29bit lang.
  • Bit 28-26 3bit Priorität
  • Bit 25-22 4bit VLAN
  • Bit 21-14 8bit Source
  • Bit 13-06 8bit Destination
  • Bit 05-00 6bit Protokol
Mapping der Bytes im 16byte struct include/linux/can.h

struct can_frame {

canid_t can_id;  /* 32 bit CAN_ID + EFF/RTR/ERR flags */
__u8    can_dlc; /* data length code: 0 .. 8 */
__u8    data[8] __attribute__((aligned(8)));

};

ID: Mostsignificat Byte an erster Stelle. DLC 3Byte leer. Datareihenfolge 01234567

project/shackbus.txt · Zuletzt geändert: 2012/06/09 19:09 von 176.34.235.140