DatenLogger schrieb:
> Die beiden funktionieren im Grunde auch wie erwartet, allerdings fliegen
> mir aus dem Empfänger die Bytes nur so entgegen, auch wenn der Sender
> garnicht da ist.
>
> Sprich: Er empfängt massig Datenmüll. Die Daten des Senders kommen auch
> an, nur eben zwischen jeder Menge anderem.
Sind das Sender, die nach dem Verfahren ASK/OOK arbeiten?
Das nachfolgende gilt nur für einfache ASK/OOK-Sender mit dazugehörendem
Empfänger:
ASK = amplitude-shift keying, Amplitudenmodulation
OOK = On-off keying, Ein-/Aus-Tastung
Der Empfänger arbeitet vom Prinzip her wie das 1908 patentierte
Rückkopplungs-Audion.
http://de.wikipedia.org/wiki/Audion
Der Unterschied zum Jahr 1908 ist: Heute wird die Rückkopplung an einer
Transistor-Audionschaltung im Gegensatz zum Röhren-Rückkopplungsaudion
nicht mehr von Hand auf maximale Empfindlichkeit eingestellt, sondern
der heute "Regenerativempfänger" genannte Empfänger regelt seine
Empfangsempfindlichkeit selbst automatisch: Wenn die hoch ausgesteuerten
Bits eines starken Senders nur so reinrauschen, regelt er seine
Empfindlichkeit runter. Und wenn gerade nichts empfangen wird, dann
regelt er seine Empfindlichkeit so weit hoch, bis er was empfängt. Das
ist bei einer so funkverseuchten Frequenz wie 433 MHz natürlich kein
Problem.
Normal ist: Der Empfänger regelt bei freier Frequenz seine
Empfindlichkeit so weit hoch, bis er irgendwelches Stör-Rauschen auf der
Frequenz empfängt. Alles ganz normal bei diesem Prinzip.
> Ich habe das nun in zwei verschiedenen Haushalten probiert, jedes mal
> das gleiche. Bei keiner Baudrate kann ich ein Muster erkennen, dass auf
> irgendwelche Funkthermometer, Rauchmelder, etc. schließen lässt.
>
> Nun würde mich mal interessieren, ob das bei allen diesem 433MHz Teilen
> (RFM12 etc.) so ist, oder ob ich einfach in einer starkt "verseuchten
> Umgebung" sitze, oder ob das etwas mit der Abstimmung des Empfängers zu
> tun hat.
Nein, alles vollkommen normal für ganz normale ASK/OOK-Sendungen und
diese Art von Sender-/Empfängerpaaren.
> Weiterhin ergibt sich natürlich die Frage, wie man mit diesem Problem
> weiter umgeht, wenn man das Teil benutzen möchte.
> Nur übers Protokoll prüfen, ob es sich um gültige Daten handelt?
Nein, Du musst schon über das Protokoll passende Daten senden.
Das fängt damit an, dass Deine Aussendung am besten mit ein paar an sich
völlig nutzlosen "Trainingsbits" beginnt. Diese Trainingsbits sind dann
nur dafür da, dass der Empfänger erkennt "aha, da funkt ein starker
Sender, regele mal die Empfindlichkeit runter". Sobald Dein Empfänger
die "starken" Trainingsbits empfängt und seine Empfindlichkeit
runterregelt, empfängt er den ganzen schwachen Störfunk erstmal nicht
mehr, sondern nur noch die starke Aussendung des stärksten Senders auf
derselben Frequenz.
Der Störfunk wird quasi ausgeblendet, kurz nachdem mit dem Senden von
Trainingsbits begonnen wurde. Beginne Deine Aussendung z.B. mit drei
Dutzend 0-1 Paaren durch entsprechende Ein-/Austastung des Senders.
Danach hat sich der Empfänger auf die richtige Empfindlichkeit
eingepegelt und es kann mit dem Senden der eigentlichen Daten losgehen.
Und weiterhin mußt Du dann bei dieser Art Sendern am besten darauf
achten, dass eine gute Mischung aus 0 und 1 Bits gesendet wird. Wenn
nämlich zu viele 1 Bits in Folge kommen (Du sendest z.B. 255 als
11111111), dann "säuft der Empfänger ab". Er läuft in die Sättigung,
regelt seine Empfindlichkeit wieder zu weit herunter, und der Rest
Deiner Sendung wird nicht mehr korrekt empfangen.
Damit also die dem Empfänger mit den Trainingsbits antrainierte passende
Empfindlichkeit nicht gestört wird, muss das Protokoll also so ausgelegt
sein, dass nicht ganze Serien von Eins-Bits oder von Null-Bits in Folge
kommen, sondern immer gemischt, so dass nach höchstens drei Einsen in
Folge wieder eine Null im Funk-Datenstrom vorkommt und umgekehrt.
Sonst kommst Du mit dieser Art Sender-/Empfängerpaaren auf keine
Reichweite. Ansonsten schaffen die mit einer 17,5cm Drahtantenne und ca.
4 Volt Betriebsspannung am Sender locker ihre 25 Meter.
Aber je nach verwendetem Sendeprotokoll schaffst Du vielleicht auch nur
5 Meter Reichweite, z.B. wenn Du den Sender über TX einer seriellen
Schnittstelle ansteuerst und den Empfänger über RX einer seriellen
Schnittstelle empfangen läßt. Das wird nur Müll mit geringstmöglicher
Reichweite.
Diese Pärchen aus "dümmstmöglicher Sender und primitivster Empfänger"
lassen sich nur mit etwas höher entwickelten Sende- und
Empfangsprotokollen vernünftig betreiben.