Forum: Mikrocontroller und Digitale Elektronik Kommunikation zwischen verschiedenen Bussystemen


von Neutrino (Gast)


Lesenswert?

Liebe Community!

Im Zuge einer Projektarbeit habe ich einen Server zu überwachen, mit 
verschiedensten Sensoren, Zutrittskontrolle, etc.
Die Funktion einer Klimaanlage soll auch gewährleistet sein, sowie 
Notabschaltungen und einen Aktor zum automatischen Tür öffnen.

Ich habe dazu einen CAN-Bus ausgewählt und folgenden µC: 
http://ics.nxp.com/products/lpc1000/datasheet/lpc11c12.lpc11c14.lpc11c22.lpc11c24.pdf

Ich habe mich jetzt daran gemacht die Komponenten (Slaves) 
herauszusuchen. Allerdings gibt es nicht immer speziell für CAN 
Bauteile, wodurch ich jetzt auch andere Anschlüsse wie RS485, SPI und 
vielleicht auch Ethernet brauche.
RS485, SPI und CAN unterstützt der µC von den Anschlüssen her.

Jetzt zur eigentlichen Frage:
Welche Software brauche ich um zwischen RS485 und CAN, bzw. SPI und CAN 
kommunizieren zu können? Soweit ich bis jetzt das Datenblatt 
durchgeschaut habe, kann der Controller ja nicht einfach so die 
Verbindung herstellen.
Brauche ich bei diesen zwei Bustypen noch etwas anderes vorgeschaltet, 
bevor ich auf die Pins gehe?

Ethernet unterstützt der Controller nicht, weshalb ich wahrscheinlich 
einen Wandler brauche. Muss ich hier auf irgendetwas spezielles achten?


Danke schonmal! :)

von Sandro (Gast)


Lesenswert?

Ohje... du wirst dich schon ein wenig tiefer mit der Materie auseinander 
setzen müssen!

So wie das klingt hast du noch nie einen Mikrocontroller programmiert...
Oder überhaupt programmiert?

Ich weiss gar nicht wo ich anfangen soll deinen Optimismus zu 
zerstören..
Man stöpselt nicht einfach vier verschiedene Bussysteme zusammen und das 
funktioniert dann schon irgendwie.

Vergiss erstmal den CAN und nimm nen kleineren Controller. z.B. einen 
AVR. Dann kannst du hiermit anfangen -> 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Wenn du das durchgearbeitet hast, gehen dir ein paar Lichter auf und du 
wirst feststellen, dass du deine gesuchte "Software" selber schreiben 
musst.


Aber ganz ehrlich, ich glaube nicht, dass du deine Vision in der durch 
die Projektarbeit gegebenen Zeit realisieren kannst.

von Reinhard Kern (Gast)


Lesenswert?

Neutrino schrieb:
> Ethernet unterstützt der Controller nicht, weshalb ich wahrscheinlich
> einen Wandler brauche.

Wandler ist die Untertreibung des Jahrzehnts. Meintest du so einen 
kleinen Trafo, den man zwischen RS485 und das Twisted-Pair-Kabel 
schaltet? Einen Wandler braucht man zwar auch, aber der ist nur ein 
Bestandteil der physikalischen Schnittstelle, dahinter sitzt dann der 
Ethernet-Controller, der wiederum braucht einen Ethernet-Protokollstack 
zur Ansteuerung (das ist Software, und zwar Tausende von Zeilen), und 
darauf wiederum setzt der TCP/IP-Stack auf (das ist noch mehr Software). 
Dann kannst du allmählich drandenken, mal ein Byte irgendwohin zu 
schicken.

Fang mal hier an, Informationen und Softwarehäppchen zu sammeln:

http://ics.nxp.com/support/microcontrollers/ethernet/

Gruss Reinhard

von Naseweis (Gast)


Lesenswert?

Hi,
die sind alle so pessimistisch hier ;-)
Betrachte das Gesamtsystem.
Welche Sensoren und Aktoren.
Wo liegen diese (räumlich), wie werden diese angeschlossen (logisch).
Gehen z.b. alle Leitungen von den Sensoren/Aktoren direkt zu Deinem NXP?
Wenn nicht, wird ein Bus benötigt. Es kann dazu führen das jeder 
Sensor/Aktor an diesen Bus angebunden werden muß. CAN ist zwar im 
Prinzip eine gute Wahl, aber eben NICHT trivial. Möglicherweise muß 
diese Busanbindung durch "intelligente CAN-Knoten" erfolgen, sprich 
dedizierte Mikrocontroller für die Sensoren/Aktoren. Dabei können 
Sensoren/Aktoren, die räumlich dicht zusammenliegen auch vom gleichen 
Mikrocontroller bedient werden. Als Knotencontroller ist der LPC11Cxx 
bereits etwas zu gross, auch wenn der integrierte CAN-Transceiver die 
Schaltung vereinfacht. Zudem könnte die Software im wesentlichen für 
alle Knoten und die Zentrale gleichbleiben.
RS-485 ist aber doch eher ein physikalischer Layer, logisch steckt da 
ein UART dahinter, oder?

von holger (Gast)


Lesenswert?

>die sind alle so pessimistisch hier ;-)

Du bist gut. Ein erfahrener Entwickler der das ganze
alleine machen muss wird da wohl mindestens ein Jahr
für brauchen. Da kommt so viel Kleinkram zusammen...

Für jemanden der keine Ahnung hat ist das die Hölle pur;)

von Naseweis (Gast)


Lesenswert?

Hi,
ich würde sagen, für einen blutigen Anfänger ein Jahr, für einen 
erfahrenen Entwickler drei Monate. Zwei bis zum ersten Proto. Davon 6 
Wochen für die Planung.

von holger (Gast)


Lesenswert?

>für einen erfahrenen Entwickler drei Monate.

Mit sämtlichen Platinenlayouts, Beschaffung der
Teile, Bestückungslisten, Dokumentation, Software
schreiben...... Du träumst doch.

von Naseweis (Gast)


Lesenswert?

Hi,
wir sprechen hier nicht von einer Marsmission.
Auswertung von Sensoren, ansteuern von Aktoren, Kommunikation über einen 
Bus.
Das sind Standardapplikationen die jeder Hersteller als Application Note 
anbietet. Für die Hardware gilt ähnliches. Je nach Komplexität der 
Sensorik oder Aktoren wird hier sicherlich im Detail noch Nacharbeit 
notwenig. Aber das Grobe ist keine Hexerei.
Die Planung ist das Entscheidende. Selbst erfahrene Entwickler fangen 
ihr Projekt am Computer an. Da liegt bereits der wesentliche Fehler. 
Jedes Projekt, egal wie kompliziert, beginnt mit einem weissen Blatt 
Papier...

von Sandro (Gast)


Lesenswert?

Ein Jahr ist echt übertrieben.

Aber die Beschreibung der Problemstellung lässt auch viel 
Interpretationsraum. Da will doch nur jemand sicherstellen, dass sein 
Computer nicht in Flammen aufgeht :D

von Neutrino (Gast)


Lesenswert?

Ist ja eine rege Diskussion hier :D

Ich möchte nur mal anmerken, dass es sich bei der Arbeit um 20-30 Seiten 
12er-Schriftgröße und ich nichts programmieren muss.
Das heißt es müssen Komponenten und das Bussystem/die Bussysteme 
ausgewählt werden und wenn Software benötigt wird, dann wird in kurzen 
Sätzen darauf hingewiesen.
Ich habe schonmal einen µC programmiert. Aber nur irgendwelche LEDs 
angesteuert und vergleichbar einfache Dinge, dass heißt grundsätzliche 
habe ich wenig Erfahrung.
Ich kann eher C-Programme schreiben, die irgendwelche allgemeinen Dinge 
behandeln, aber so Praxissachen sind mir eher fremd.

Trotz allem muss ich das irgendwie schaffen, und es wäre toll wenn es 
beim CAN bleibt, weil ich bereits viele Stunden darin investiert habe, 
mich einzulesen und das aufs Blatt zu bringen in allgemeiner Form.
Zudem herrscht im Abiturjahr eben auch ein gewisser Druck durch andere 
Fächer, daher kann ich nicht alle 2 Wochen dann das Projekt neu 
beginnen, weil ich mal ansteh ;)

von Naseweis (Gast)


Lesenswert?

Hi,
da lag ich mit meinem weißen Blatt Papier ja garnicht soweit daneben. 
Wenn es also "nur" theoretisch sein soll, reichen die 6 Wochen der 
Planung.

von Neutrino (Gast)


Lesenswert?

Das Problem ist, dass ich zum CAN-Bus nicht sehr viel finde. Zumindest 
fehlt mir bis jetzt das nötige Wissen um gezielt zu suchen.
Kennt jemand von euch Links die mir in der Situation weiterhelfen 
können?
Oder vielleicht kann mir jemand zumindest grob sagen, wie ich die 
Schnittstelle zwischen den Bussen herstellen kann? Oder ob es einfachere 
Lösungen mit CAN gibt?
Passt der gewählte Controller? Wenn nein, warum nicht?

von Naseweis (Gast)


Lesenswert?

Hi,
wie gesagt, schau Dir Dein Gesamtsystem an. Skizzier grob die Lage der 
verschiedenen Komponenten.
Sensoren: wo, welche, was für ein Bus.
Aktoren: wo, welche, was für ein Bus.
Gibt es sowas wie eine Zentrale, z.b. ein PC mit graphischer Anzeige?
Was soll letztlich erreicht werden?
Grundsätzlich scheint mir CAN für die Aufgabe eine gute Idee, auch wenn 
die Beschreibung seeehr lückenhaft ist. CAN ist Nachrichten-basierend. 
Es gibt also in diesem Sinne keinen Master oder Slave. Nur Knoten, die 
eine bestimmte Aufgabe haben. Dazu Nachrichten mit Informationen 
versenden und auf andere, bestimmte Nachrichten reagieren, wenn diese 
für den Knoten geeignet sind.
Beispiel: Ein Temperatursensorknoten schickt regelmäßig die aktuelle 
Temperatur, egal ob es jemand interessiert oder nicht. Ein anderer 
Knoten, z.B. die Klimaanlage, wartet auf solche Nachrichten und schaltet 
nach Bedarf die Anlage ein oder aus oder was auch immer. Ein weiterer 
Knoten kann für Alarmmeldungen zuständig sein. Erkennt er also eine 
Nachricht eines Temperatursensorknoten, und diese zeigt eine Temperatur 
über z.B. 50°C an, so wird ein Alarm ausgelöst: Hupe, Lampen leuchten, 
Feuerwehr anrufen, das ganze Programm eben.

von holger (Gast)


Lesenswert?

>Das Problem ist, dass ich zum CAN-Bus nicht sehr viel finde. Zumindest
>fehlt mir bis jetzt das nötige Wissen um gezielt zu suchen.

Dann nimm Ethernet. Für jeden Sensor einen PC.

Für mich sieht das jetzt so aus:
Anfänger soll GROSSES Projekt planen.
Hat von nichts ne Ahnung.
Soll dazu viel klugschweissen (20 - 30 Seiten).

Such dir ein anderes Thema. Zum Beispiel
wie bekomme ich eine LED zum leuchten.
Da kannst du dich richtig austoben.
Ohmsches Gesetz, Kirchhoffsches Gesetz.

Welcher Controller ist dazu nötig.
Warum muss man Linux nehmen um eine LED so richtig
zum leuchten zu bringen. Warum kann Windows das nicht?

Was für ein Gurkenkram;)

von spess53 (Gast)


Lesenswert?

Hi

Ist das jetzt die Fortsetzung von hier:

Beitrag "I2C-Bus-Controller für Serverüberwachung"

Bekommst du auch etwas selbst auf die Reihe?

MfG Spess

von Neutrino (Gast)


Lesenswert?

Ja ist die Fortsetzung.
Und ja eigentlich schon. Denn ich habe bereits knapp über die Hälfte der 
geforderten Seitenanzahl und das Grundkonzept steht. Ich weiß was ich 
genau an Komponenten will und stehe nur mehr vor dem Problem, dass ich 
nicht weiß wie ich die Kommunikation zwischen den Bussen herstelle.

Wenn ich was im Internet gefunden hätte, dann würde ich hier nicht 
fragen, und ich habe danach lange gegoogelt und heute die 
Schulbibliothek auf den Kopf gestellt.

Die Projekte sind vom Lehrer vorgegeben und ich hätte mir ein anderes 
aussuchen können, aber dazu ist es jetzt zu spät und außerdem wurde 
ohnehin darauf geachtet, dass alle Projekte ziemlich gleich sind. Ein 
anderes besteht z.B. daraus eine Hausautomatisierung mit bestimmten 
Anforderungen zu entwerfen. Also ziemlich ähnlich. Nur hat jener Kollege 
der das macht auch noch nicht so wirklich einen Plan und es wäre nett 
wenn jemand vielleicht eine geeignete Literatur aufführen könnte.
Ihr müsst mir auch nichts vorkauen und genau beschreiben. Wenn ihr aber 
wirklich nützliche Links oder Bücher habt dann wäre ich sehr dankbar.
Wer mir nicht helfen will, muss auch nicht.

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

die jetzt kommenden Entwicklergenerationen werden mit Kopfschütteln auf 
uns zurückblicken: die haben damals ja noch selbst GEDACHT. Dabei weiss 
doch jeder, dass man technische Probleme nur durch Google lösen kann.

Gruss Reinhard

von Naseweis (Gast)


Lesenswert?

@Reinhard
Ich sach ja, weißes Blatt Papier. Das kennen die jungen Leute garnicht 
mehr ;-)

von Neutrino (Gast)


Lesenswert?

Ich habe meine Busknoten bereits durchüberlegt und auch schon im Projekt 
drinnen.
Mir fehlt lediglich das Wissen, wie ich die Busse kopple. Aber dann such 
ich eben selbst wieder weitere Stunden, wenn keiner Literatur dazu weiß. 
;)

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Neutrino schrieb:
> Mir fehlt lediglich das Wissen, wie ich die Busse kopple.

dieser Beitrag gibt doch schon mal ein paar Infos vor:

Autor: Naseweis (Gast)
Datum: 08.03.2012 21:53

> Denn ich habe bereits knapp über die Hälfte der geforderten Seitenanzahl

verwende eine größere Schrift und weitere Zeilenabstände, dann hast du 
schon 90% erledigt, und brauchst bloß noch das Schluss-Kapitel und die 
Quellenreferenz einfügen, z.B.

[1] Beitrag "Kommunikation zwischen verschiedenen Bussystemen"

> und das Grundkonzept steht

was genau hast du denn schon in welcher Tiefe formuliert? Poste doch mal 
die Kapitel-Überschriften

von weinbauer (Gast)


Lesenswert?

wie man die Busse verbindet? ...

das hier ist die ultimative Lösung:

http://www.fachgebaerdenlexikon.de/uploads/pics/Luesterklemme1_01.jpg

von weinbauer (Gast)


Lesenswert?

die Hälfte der geforderten Seiten schon beisammen ... mit hirnlosem 
Geschwafel wie mir scheint.

von Neutrino (Gast)


Lesenswert?

Es ist denke ich nicht dein Job zu beurteilen wie meine Arbeit aufgebaut 
ist.
Es gibt auch andere Dinge zu beschreiben, als jene wie ich zwischen den 
Bussen kommuniziere.
Im Gegensatz zu dir verbringe ich meine Zeit allerdings nicht damit, 
andere Forenmitglieder zu beleidigen. Wenn du keine konstruktiven 
Beiträge zu liefern hast, dann lass es bitte bleiben.

Wenn hier sowieso keine Hilfe mehr angeboten wird, würde ich jemanden 
bitten diesen Thread zu löschen.

von lex (Gast)


Lesenswert?

Sagt mal, was seid ihr eigentlich hier für ekelhafte Maden?

Hier gehts um nen Schüler, dessen Lehrer ihm eine (mMn) zu große Aufgabe 
gestellt, die er aber trotzdem versucht gewissenhaft zu erledigen.
Wie alt wird er denn sein kurz vorm Abi? 17? Ka wie alt die im G8 sind. 
Ist doch schon was wert dass er nicht von Wiki irgendwas copypasted.

Mir kommts so vor als ist dieses Forum voll von alten Säcken die einfach 
nur verbittert sind weils im Job nicht mehr klappt oder die Frau weg ist 
und deshalb hier Klugscheißen und Jüngeren ihre "Überlegenheit" zeigen 
müssen weils das einzige ist was sie noch haben im Leben.
Ekelhaft.

Sicher, manche Threadersteller hier sind stinkfaul und verdienen bisl 
Schelte, aber dieser hier nicht!

Fragen hat doch nichts mit vorkauen lassen zu tun.
Ganz im Gegenteil, fachliches Wissen ist nen Scheißdreck wert wenns an 
der sozialen Kompetenz scheitert...

Grüße,
lex

von Neutrino (Gast)


Lesenswert?

Vielen vielen Dank lex!
Aus Mitgliedern wie dir besteht ein gutes Forum!

Ich besuche die 5te Klasse einer Mechatronik-HTL (in Deutschland gibts 
das nicht... bzw. heißt es Technisches Kolleg).
Bin aber dennoch eher der Theoretiker und nicht so der Praxismensch. Es 
führt trotzdem kein Weg an der Facharbeit vorbei und deshalb wollte ich 
mich gerne etwas informieren, da mein Lehrer oft schwer zu erreichen ist 
und ich dann wieder eine Woche verlieren würde, wenn ich darauf warte 
ihn wieder sprechen zu können.

Aber wie gesagt, wenn mir hier keiner helfen will, kann ich sowieso 
nichts machen. Aber vielleicht gibt es mehrere Leute hier wie lex oder 
diejenigen die mir bereits im alten Thread geholfen haben. Vielen Dank 
an jene! :)

von hachja (Gast)


Lesenswert?

Stichwort: Gateway

von Uwe (Gast)


Lesenswert?

Auf jedem Bussystem wird eine Bestimmte Sprache gesprochen (Protokoll 
genannt). Das Protokoll ist bei vielen Bussystemen nicht festgelegt und 
sebst erdacht. Du mußt nun die Selbsterdachten und Vorgegeben Protokolle 
in einander Übersetzen. Wie du das machst ist egal und fertig gibt es da 
wohl nichts. Alles selbermachen angesagt.

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Naja, das Problem hier hat sich auch ein wenig aufgeschaukelt...

Der TE fragt nach etwas, bekommt die korrekte Antwort das dies alles 
andere als Trivial ist, es keine fertigen Programme für µC gibt die 
einem so ganz ohne UMFANGREICHE Eigenleistung die VErbindung 
ermöglichen.
(der Entwurf eines CAN <-> ETHERNETWANDLERS kann je nach Randbedingungen 
durchaus schon mal als Bachelorarbeit in  Betracht gezogen werden!)

Daraufhin dann die Antwort das es nicht auf 20Seiten (bzw. den 
verbliebenen 10 Seiten) passt und daher nicht für Ihn in Betracht kommt.

Auch wenn die "Beschimpfungen" der letzten Beiträge definitiv fehl am 
Platz sind und sich damit tatsächlich nur irgendwelche sozial 
inkompetente Individuen präsentieren wollen, so ist das Thema unter 
diesen Randbedingungen leider fachlich ausgeschöpft.
Die Fragestellung ist im Rahmen eines Forum unter diesen 
Vorraussetzungen leider nicht einmal ansatzweise zu beantworten. Hier 
fragt ein völliger Neuling nach etwas dessen Umsetzung für einen nicht 
kleinen Teil unter den sich schon lange mit diesem Thema befassenden 
Hobbyisten (und auch einigen Studierten...) einige Monate abverlangen 
würde, wenn es überhaupt gelingt.
Natürlich gibt es auch welche die es deutlich schneller umsetzen, aber 
die haben halt die LANGE LERNPHASE bereits absolviert...

Daher:
Entweder man bezieht den µC als BLACK BOX in die Arbeit ein und setzt 
vorraus das von Drittseite eine Firmware geschrieben wird die das 
umsetzt. Die gewünschte Funktion wird dann einfach für die Arbeit als 
gegeben angesehen, oder aber die Arbeit ist vom Umfang einfach nicht 
angepasst.

Alternativ könnte man auf fertige Gateways zurückgreifen, die aber 
einiges kosten. Als Labortaugliches Komplettgerät (also nicht nur als 
Platine mit Bauteilen) fangen die je nach zu verbindenden Bussen so ab 
150-200 Euro an. Will man dann Industriequalität die in rauher Umgebung 
entsprechend Störsicher ist und die man auch ordentlich montieren kann 
(z.B. Hutschienenmontage), dann kommt pro Gerät Faktor 2-5 zum Tragen!

Wobei es damit alleine nicht getan ist, das ganze muss ja noch 
Parametrisiert werden.

Auf 20 Seiten kann man eine solche Arbeit nur zusammenfassen wenn man 
entweder das ganze sehr stark abstrahiert und vereinfacht, weit entfernt 
von einem Funktionsmodell, oder aber wenn man konsequent auf bereits 
fertige Gesamtmodule aus dem Handel setzt die nur noch montiert werden 
müssen. Damit meine ich die GANZE KETTE, also vom Temperatursensor bis 
hin zur Zentrale...
Andere Wege gibt es nicht. Wenn beides keine Option ist, dann hilft 
darüber aber auch kein mosern, dann ist alleine der Lehrer der richtige 
Ansprechpartner. An dem oben genannten KANN man nichts ändern.

Gruß
Carsten

von Neutrino (Gast)


Lesenswert?

Danke für die letzten Beiträge!
Wie in meinem zweiten Beitrag oben erwähnt muss ich nichts 
programmieren!
Das heißt ich verweise darauf, wenn etwas programmiert werden muss. Es 
soll sich dabei um ein fertiges Produkt handeln, dass auf den Markt 
kommt. Aber ohne elektronische Konzeptionen, Programmierung, etc.
Also ich muss nur die Module und Bauteile auswählen und ihre grobe 
Interaktion mit anderen Teilen beschreiben. Da es sich um ein 
Firmenprojekt handelt kann man davon ausgehen, dass es auch 
Programmierer usw. gibt, die dann die Feinheiten machen, die im Projekt 
nicht berücksichtigt werden ;)
Aber wie gesagt hab ich oben schon geschrieben, dass es nur eine grobe 
Bauteil und Funktionsausarbeitung ist.

Aber die Stichworte und Beschreibungen die ihr mir gegeben habt helfen 
mir sehr beim Informationen suchen. Und genau das war auch mein Ziel! :)
Es mag schon sein, dass ich vielleicht einen anderen Bus wählen hätte 
sollen, da es einfacher gewesen wäre. Aber so muss ich mich noch mehr 
damit auseinander setzen und brauche mir keine Sorgen um die Seitenzahl 
zu machen, oder darum, dass der Lehrer glaubt ich hätte mich nicht 
wirklich reingehangen ;)

von RonnyRoster (Gast)


Lesenswert?

Hallo,

gerade wenn es sich um eine theretische Arbeit handelt, solltest du in 
deinem Plan für Konsistenz sorgen. Leider hast du dich anscheinend nicht 
allzusehr vom Gesagten im anderen Thread inspirieren lassen.
Deine erste Aufgabe ist es, die Anforderungen die erfüllt werden sollen 
zu definieren (Pflichtenheft).
Dann wäre das zweite, dass du dir EINEN Bus aussuchst, dabei waren wir 
im letzten Thread beim CAN Bus gelandet. Jetzt kannst du also in deiner 
Arbeit 2-4 Seiten lang beschreiben, dass der CAN-Bus verwendet wird, 
weil ...
Dann wirst du festgestellt haben, dass es nicht alle Sensoren mit 
nativer CAN-Bus Anbindung gibt. Als Ausweg willst du alle Busse 
irgendwie verlegen, und deine Anforderungen ad absurdum führen.
Sinnvoller wäre es entweder kleine Unternetze einzuführen (wie z.B. LIN) 
oder eigene Umsetzer einzuführen, die einen speziellen Sensor oder Aktor 
an den CAN-Bus anbinden.

von MCUA (Gast)


Lesenswert?

>Du mußt nun die Selbsterdachten und Vorgegeben Protokolle
>in einander Übersetzen.
Muss er nicht, wenn er nur ein paar Nutzdaten zwischen den Bussen 
transferieren will.

von Christian B. (casandro)


Lesenswert?

Denke am besten in Schichten. Du möchtest Botschaften von Deinen 
Sensoren irgend wo hin übertragen. Die meisten Bussysteme in der 
Digitaltechnik unterstützen die Übertragung von Bits. Deshalb kodierst 
Du Deine Botschaften in Bits. Beispielsweise 64 Bits für eine 
Sensorkennung und 64 Bits für den Wert in einem bestimmten Format, sowie 
noch ein paar Bits für die Einheit. Was Du da im Detail verwendest hängt 
von Deinen Sensoren ab.

Jetzt hast Du ein Format für Deine Botschaften. Jetzt musst Du Dir 
überlegen, wie Du die Botschaften übermitteln willst. Soll jeder Sensor 
einfach an alle anderen Teilnehmer der Busse schicken? Willst Du an 
mehrere andere Teilnehmer was schicken, oder soll einfach alles an einem 
Punkt zusammenlaufen?

Nehmen wir mal an, Du nimmst einen kleinen Rechner (z.Bsp. ein 
Mikrocontroller mit Ethernet) der die Daten sammelt und dann per HTTP 
zur Verfügung stellt. Das hat den Vorteil, dass alle Sensoren einfach 
ihre Daten in die Richtung des Rechners schicken müssen.

Jetzt überlegst Du Dir, wie Du die Botschaft in jedem Bussystem 
übertragen kannst. Brauchst Du eine bestimmte Art der Adressierung? 
Willst Du besondere Features des Busses ausnutzen? Musst Du auf eine 
Bestätigung warten? Was machst Du wenn der Buscontroller sagt, er konnte 
die Botschaft nicht wegschicken?

Dann kannst Du Deine kleinen Koppelrechner, die die Botschaften 
vermitteln so programmieren, dass Sie auf dem Bus, der vom Sensor kommt, 
eine Botschaft entgegen nehmen, sie aus- und im Protokoll des anderen 
Busses wieder einpacken, und in die Richtung des zentralen Rechners 
weiter schicken.

Mit einer Zentrale geht das recht einfach, da Du alle Botschaften nur in 
die Richtung der Zentrale schicken musst. Willst Du beliebig zwischen 
den Sensoren kommunizieren können, so musst Du Deine Koppelrechner mit 
Tabellen ausstatten, in denen drin steht, wann sie welches Paket wohin 
durchschicken sollen. Das nennt man auch Routing Tabellen. Es gibt 
Möglichkeiten solche Tabellen automatisch im laufenden Betrieb zu 
erstellen, aber das ist zugegeben deutlich komplexer.

Also nochmal zusammen gefasst:
1. Definiere ein Format für die Botschaft
2. Definiere wie Du die Botschaften in Deinen Bussen überträgst
3. Definiere wie die Koppelrechner die Botschaften rumschicken sollen

von Purzel H. (hacky)


Lesenswert?

Wenn schon die Haelfte der Arbeit besteht ist nun Zeit ein Bullshit 
Bingo drueber zu kippen. Dann noch ein paar periodische Repetitionen und 
gut ist.

von Neutrino (Gast)


Lesenswert?

Vielen Dank an Christian Berger :)
Soweit ich bis jetzt informiert bin sendet der CAN-Bus so oder so die 
Daten an alle Stationen und diese bestimmen dann ob sie wichtig sind 
oder nicht und nehmen sie dann je nach Fall auf oder nicht.
So könnte ich z.B. gleich die Temperatursensordaten an die Klimaanlage 
weiterleiten zur Regelung.
Das neue System von Rittal ist auf den ersten Blick sehr gut für meine 
Anwendung zugeschnitten denke ich: http://www.rittal.at/index.asp?id=816
Vorallem habe ich so gleich einen Tempsensor in der Einheit drinnen und 
brauche nur mehr Rauchmelder und Leckagesensor (die ich vorgesehen 
habe).
Überlegen muss ich mir noch, wie ich die Gerätetemperatur der Server 
direkt überwache. Müsste über einen Bus und ein entsprechendes Programm 
möglich sein das die Daten weiterleitet. Weiß nur noch nicht wo ichs 
hinleiten soll. Bei einem Rechner wäre es kein Problem das auf den 
Controller zu leiten. Aber wenn das sehr viele sind, dann brauch ich ja 
irgendein Modul, welches das ganze bündelt, da ich ja nicht so viele 
Anschlüsse am Controller habe. Aber mit dem hab ich mich nocht nicht so 
gut auseinandergesetzt. Muss ich noch ein bisschen suchen :)


Schön das sich noch jemand der Gruppe sozialer Inkompetenz zugehörig 
fühlt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.