Forum: Mikrocontroller und Digitale Elektronik STM32: CAN: Nachbarn Knoten (oder Id) identifizieren


von dng (Gast)


Lesenswert?

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

: Verschoben durch Admin
von Argh! (Gast)


Lesenswert?

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!

von Marco (Gast)


Lesenswert?

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.

von D'oh!!! (Gast)


Lesenswert?

dng schrieb:
> Ich bin GANZ
> NEU IM MIKROCONTROLLER.

Dann sag mal schön "Hallo" zu den anderen die auch im Mikrocontroller 
sind.

von dng (Gast)


Lesenswert?

Sorry,

Ich begrusse alle.

kann jemand mich helfen. ich habe kein Idee,wie ich die Id von nachbarn 
lesen kann

von Daniel H. (Firma: keine) (commander)


Lesenswert?

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.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Broadcastmessage senden?

von Mr.T (Gast)


Lesenswert?

Lass es einfach jemanden machen, der Ahnung hat und widme dich weiter 
dem Genuss des Ikebanas.

von dng (Gast)


Lesenswert?

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

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

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.

von Rudolph (Gast)


Lesenswert?

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.

von Stefan (Gast)


Lesenswert?

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

von cvcc (Gast)


Lesenswert?

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

von dng (Gast)


Lesenswert?

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

von kif (Gast)


Lesenswert?

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.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

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

: Bearbeitet durch User
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.