Doch kann man schon sehen aber vielleicht nur wenn man weiss was ich da so gefummelt habe.
Zur Erklärung:
Anforderung senden an: 1 Empfang von 1 Daten: 813 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 2 Empfang von 2 Daten: 814 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 1 Empfang von 1 Daten: 818 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 2 Empfang von 2 Daten: 819 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 1 Empfang von 1 Daten: 809 =T_ID: 1 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 2 Empfang von 2 Daten: 810 =T_ID: 1 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 1 Empfang von 1 Daten: 813 =T_ID: 1 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Schau mal auf die Farblich markierten Zahlen.
Rot: Sind statisch bzw werden einfach durch die Zentrale anhand von i ausgegeben. Das sagt erstmal nicht viel aus.
Wichtig sind die gelben Zahlen.
Die kommen von den Sensoren und entsprechen den IDs diese werden mit gesendet.
Und dort kannst du sehen das 4 mal die ID2 kommt und dann 3 mal die ID1
Und da ich die Sensoren ungefähr zur selben Zeit an den Strom gesteckt habe haben die in etwa die selbe Sequenz.
Nur wenn ich zb einen Sensor stromlos mache kommt trotzdem immer eine Antwort egal ob ich Sensor 1 oder Sensor 2 abfrage.
Hier frage ich sogar 3 Sensoren ab, es ist aber nur ein Sensor mit Strom versorgt und trotzdem bekomme ich immer Antwort
Anforderung senden an: 1 Empfang von 1 Daten: 726 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 2 Empfang von 2 Daten: 727 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 3 Empfang von 3 Daten: 728 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 1 Empfang von 1 Daten: 729 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 2 Empfang von 2 Daten: 730 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 3 Empfang von 3 Daten: 731 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 1 Empfang von 1 Daten: 732 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 2 Empfang von 2 Daten: 733 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Anforderung senden an: 3 Empfang von 3 Daten: 734 =T_ID: 2 light: 222 moved: 1 humi: 33 temp: 444 lowbat: 0
Der Sensor der Strom hat hat die ID 2 siehe hier: ------------^
Jetzt versuche ich gerade die ID die ich abfragen möchte mit in der Anforderung zu senden und im Sensor selber noch mal eine abfrage zu machen ob der Sensor auch wirklich gemeint ist.
Dies gelingt mir aber nicht da der Sendebefehl mein INT nicht akzeptiert.
Mache ich folgendes:
rf12_sendStart(i, i, sizeof i);
Kommt folgender Fehler:
empf_nger1:56: error: invalid conversion from 'int' to 'const void*'
empf_nger1:56: error: initializing argument 2 of 'void rf12_sendStart(uint8_t, const void*, uint8_t)'
Dann habe ich versucht i umzuwandeln zb ich char* das geht zwar auf senderseite aber auf empfängerseite kommt dann:
0 22 // Wenn ID 1 abgefragt wird
22 160 // Wenn ID 2 abgefragt wird
160 247 // Wenn ID 3 abgefragt wird
Übrigens alles bei SensorID 2 obwohl der doch gar nicht reagieren dürfte er ist ja nicht gemeint.
Ich bekomme es also nicht hin die 1 oder 2 oder 3 zu senden und auch eine 1 oder 2 oder 3 zu empfangen.
Damit ich einfach noch mal als Sicherheit sowas machen kann:
if (rf12_data[0] == Sensor_ID) {dann sende sonst nicht}