Ich muss auf den Display Wetterknoten und auch die Daten andere Knoten
anzeiben. Ich weisst nicht wie ich uberhaupt anfangen soll. Ich bin GANZ
NEU IM MIKROCONTROLLER. Habe ich schon Can configuriert und ausserdem
die Sensoren . Aber moechte eine kleine einleitung haben , wie ich
Nachbarnknoten lesen kann
Wetter zu verknoten bringt nichts. Damit muss man nicht erst anfangen.
Nachbarknoten liest man, wenn man es nicht so erkennt, mit einer Brille.
Wenn das nicht geht, gibt es Ferngläser oder Teleskope.
Ansonsten suche Dir bei Ebay eine Kristallkugel. Wenn Du uns schon keine
genauen Informationen geben kannst, bringt das eventuell etwas.
Argh!
Ich glaub was der Kollegedir sagen möchte, ist dass die
Problembeschreibung zu wünschenübrig lässt. Wenn du genau schreibst was
du vor hast und was die Ausgangsbedingungen sind, lässt sich bestimmt
auch helfen.
dng schrieb:> ich habe kein Idee,wie ich die Id von nachbarn> lesen kann
Das hat hier keiner, weil niemand weiß was du überhaupt vor hast, was
diese ominösen "Nachbarn" sind und um was es überhaupt geht.
Also entweder schreibst du hier ein paar Zeilen mehr zu deinem Problem
oder aber du gehst in irgendein Esotherik-Forum, die können aus wagen
Angaben meist Ersteunliches herauslesen.
hier ist der Projekt
7 PROJEKT: WETTERSTATION
In diesem Projekt soll ein Netzwerk aus Wetterknoten aufgebaut werden.
Jeder Wetterknoten
misst die lokalen Wetterdaten Temperatur, Luftdruck, Feuchte und die
Beschleunigung
(Erdbebendetektion).
Jede Praktikumsgruppe entwickelt ihren eigenen Wetterknoten und klinkt
sich damit in
das CAN-Netz ein um dort die gewonnenen Wetterdaten zu publizieren.
7.1 Aufgabenstellung
1. Entwickeln sie einen Knoten eines Wettervorhersage-Systems indem sie
eine Anwendung
programmieren, die die Daten wie Temperatur, Luftfeuchte und Luftdruck
aus den entsprechenden I2''C-Sensoren ausliest.
2. Verbinden sie ihren Knoten mit dem CAN-Bus und publizieren sie die
Wetterdaten
innerhalb des Netzwerks.
Senden sie ihre Sensor-Daten im Sekundentakt über den CAN-Bus. Beachten
sie dabei
unbedingt die im nächsten Abschnitt beschriebene Aufteilung der
CAN-Message-ID
in eine 7bit Knoten-ID und eine 4bit Sensor-ID.
Die Knoten-ID ist die Nummer ihrer Gruppe und identifiziert ihr
Entwicklungsboard
im Netz, die Sensor-ID können sie aus folgender Tabelle erkennen:
Sensor-ID Sensor-Datenformat
0 Temperatur in 0.1°C, int16_t [msb|lsb]
1 Luftdruck in 0.1 hPa, int16_t [msb|lsb]
2 Rel. Luftfeuchte in 0.1 %, int16_t [msb|lsb]
3 Beschleunigung in 0.001 g, int16_t [msb|lsb] x 3 für X-,Y-,Z-Achse
Tabelle 3: Sensor-IDs und zugehörige Datenformate
3. Zeigen sie auf dem Display ihres Wetterknoten auch die Daten der
anderen Knoten
an.
4. Implementieren sie eine Erdbeben-Frühwarneinrichtung, indem sie bei
ungewöhnlichen
Beschleunigungen auf ihren Nachbarknoten eine Warnung ausgeben.
Ich habe schon 1. und 2. gemacht, jetzt bin ich bei der 3.
Die Nachrichten werden von alle bekommt, und ich muss auf dem Display
zeigen was ich von den andere bekommt habe
dng schrieb:> Senden sie ihre Sensor-Daten im Sekundentakt über den CAN-Bus.
Schon gelesen?
Das werden dann wohl auch alle anderen Teilnehmer so machen.
dng schrieb:> Ich habe schon 1. und 2. gemacht, jetzt bin ich bei der 3.
Und das funktioniert wirklich wie es soll?
Wenn Du die Aufgabe verstanden hast, dann verstehe ich nicht warum Du
hier fragst.
>Beachten sie dabei unbedingt die im nächsten Abschnitt beschriebene >Aufteilung
der CAN-Message-ID in eine 7bit Knoten-ID und
>eine 4bit Sensor-ID.>Die Knoten-ID ist die Nummer ihrer Gruppe und identifiziert ihr>Entwicklungsboard
Wo ist jetzt das Problem?
Wenn 1. und 2. fertig sind sendet Dein Board Deiner Gruppe einmal pro
Sekunde vier Botschaften mit eindeutiger Kennung.
Und andere Knoten erkennt man an Ihrer Knoten-ID.
Du kannst auf dem CAN-Bus nicht erkennen, wer Dein Nachbar ist (also
welches Gerät als nächstes am CAN-Kabel angeschlossen ist).
Das Einzige, was Du machen kannst:
Du kannst in Deinem Programm die Knoten-ID xxxx für Deinen rechten
Nachbarn und die Knoten-ID yyyy für Deinen linken Nachbarn fest
vorgeben. Und dann bei empfangenen CAN-Messages anhand deren Knoten-ID
entscheiden, ob es der rechte oder linke Nachbarknoten ist.
Viele Grüße, Stefan
dng schrieb:> Ich habe schon 1. und 2. gemacht, jetzt bin ich bei der 3.>>> Die Nachrichten werden von alle bekommt, und ich muss auf dem Display> zeigen was ich von den andere bekommt habe
wenn das wirklich der fall, ist was ich stark bezweifel, denn solltest
du doch bereits so viel über den can bus gelernt haben, dass du weißt,
dass es sich um ein broadcastsystem handelt. das wiederum bedeutet, dass
du deine nachrichten, genau wie alle anderen knoten an alle versendest.
die nachrichten sind inhaltsadressiert. du kannst also über die id
eindeutig ausmachen welche und in eurem fall wessen daten darin sind.
jetzt hast du mehrere möglichkeiten.
1) akzeptanzfilter
2) im programm prüfen ob die nachricht interessant ist oder nicht
2...................
Senden sie ihre Sensor-Daten im Sekundentakt über den CAN-Bus. Beachten
sie dabei
unbedingt die im nächsten Abschnitt beschriebene Aufteilung der
CAN-Message-ID
in eine 7bit Knoten-ID und eine 4bit Sensor-ID.
Die Knoten-ID ist die Nummer ihrer Gruppe und identifiziert ihr
Entwicklungsboard
im Netz, die Sensor-ID können sie aus folgender Tabelle erkennen:
Sensor-ID Sensor-Datenformat
0 Temperatur in 0.1°C, int16_t [msb|lsb]
1 Luftdruck in 0.1 hPa, int16_t [msb|lsb]
2 Rel. Luftfeuchte in 0.1 %, int16_t [msb|lsb]
3 Beschleunigung in 0.001 g, int16_t [msb|lsb] x 3 für X-,Y-,Z-Achse
Bei der 2. habe nur ein ganz Message-ID von 11 bit gesendent ,und mein
Knote numer ist 5, aber eine andere Schwerigkeit, dass ich habe, ist zu
teilen :
Knote und Sensor
ich weißt schon dass ich kann mit
Node-ID=(Message-ID &0xFF0)>> 4
Sensor-ID=(Message-ID & 0x0F)
schreiben, aber ich gehe nicht vohran
Danke für die Hilfe
Bitte tu uns einen Gefallen und lern erstmal dich vernünftig
auszudrücken damit du in der Lage bist dein Problem so zu schildern,
dass die Leute es auch verstehen.
Ich habe gestern ein Tool geschrieben um der allgemeinen Verwirrung
besser beitragen zu können:
>sbecrehin, aber ich gehe nciht vraohn
oder noch verwirrter:
>583cr3h1n, 483r 1ch g3h3 nc1ht vr4ohn