Hallo liebe Mikrocontroller Gemeinde.
Ich habe keine Ahnung wo mein Beitrag hingehört, deshalb hab ich ihn
einfach hier geposted.
Mein Problem ist folgendes: Ich habe eine Parkplatzabsperrung mit einen
Garagentoröffner gebaut der vier Funksender akzeptiert. Jedesmal wenn
ich einen neuen Sender dazu codieren möchte schmeißt er den ersten raus
und behält die letzten vier im Memory. Auf dem Bord befindet sich ein
AT24c02 von Atmel, der meiner Meinung nach für die Frequenzspeicherung
der Funkmodule verantwortlich ist.
Gibt es eurer Meinung nach eine Möglichkeit das sich der Empfänger mehr
als nur die letzten vier Frequenzen behält?
Gruß,
soundso
Ich habe bereits 10 Sender sehr preiswert ersteigert und die haben alle
eine andere Frequenz.
Kann man denn nicht den AT auslesen und modifizieren?
Sorry für die dummen Fragen aber ich bin totaler Laie auf diesem Gebiet.
Gruß,
soundso
Der Flash-Speicher macht nur das, was der Microcontroller ihm sagt. Wenn
der beim 5. Sender sagt, lösche den 1. und schreibe den neuen rein,
kannst du am Flash soviel programmieren wie du willst, die Konstante 4
Sender ist nicht dort, sondern im Microcontroller-Programm abgelegt.
OK danke das ist logisch.
Ich gehe mal davon aus, dass man das Programm des Microcontrollers nicht
so einfach auslesen und verändern kann.
Wie sieht es mit dem ändern der Sendefrequenz in den Handsendern aus.
Kann man die irgendwie ändern?
>Wie sieht es mit dem ändern der Sendefrequenz in den Handsendern aus.>Kann man die irgendwie ändern?
Ich glaube nicht, dass die Unterscheidung in der Frequenz liegt, denn
der Empfänger hat normalerweise nur eine Empfangsfrequenz.
Allerdings kann man die Codierung des Senders ändern. Dazu gibt es
meistens DIP-Schalter im Sender -> alle gleich einstellen...
Danke, das bringt mich wieder ein Stück näher.
Leider haben die Handsender keine DIP Schalter.
Es sitzt nur ein 12C508A von Motorola drauf.
Auf der Rückseite der Platinen sind Aufkleber:
Bei Handsender 1:
08-11T
080201-A
663624
Bei Handender 2:
08-11T
080201-A
663742
Hier ein paar Angaben des 12C508A:
8-Pin, 8-Bit CMOS Microcontroller
High-Performance RISC CPU:
• Only 33 single word instructions to learn
• All instructions are single cycle (1 ms) except for
program branches which are two-cycle
• Operating speed: DC - 4 MHz clock input
DC - 1 ms instruction cycle
Kann man einen dieser Microcontroller einfach auslesen und
auf andere aufspielen?
Gruß,
soundso
Also wenn der Hersteller von diesen Sendern nicht ganz doof war, dann
hat er den µC mit 'nem Ausleseschutz versehen, also beim Programmieren
irgendein Bit gesetzt, eine Fuse gebrannt, oder was auch immer.
Ich sehe da keine realistische Chance, Deine 10 Sender gleichzeitig ans
Laufen zu kriegen
Hallöchen Soundso
1.Was wäre wenn nun alle Deinen Garagencode kennen würden? Schlecht!
2.Eine Variante für weitere Geräte gäbe es noch:
Nimm 2 Garagentoröffnerempfänger und entwickle eine Logik dazu, daß sie
sich nicht ins Gehege kommen. Denn im Endeffekt wird ja nur der Tormotor
auf oder zu gesteuert.
Hier mein Senf dazu: -)
Ich glaube nicht dass die Frequenz der Sender unterschiedlich ist. Da
ist warscheinlich nur die Kennung bei jeden Sender anders.
Wenn Du Zugang zu einen DSO hast, sehe Dir mal das digitale
Steuerungsignal zum TX an. Sollte der 12C509 nur immer das gleiche
Codeword erzeugen (also nicht chiffriert), dann koennte man bestimmt den
PIC ausbauen und mit einen selber programmierten PIC ersetzen. Es gibt
von Microchip viele Pin-gleiche Typen (12F683) die FLASHspeicher
aufweisen und ISP. Mit MPLAB/MPASM von Microchip kannst Du dann Dein
eigenes Program entwickeln. In C sollte es auch moeglich sein.
Noetigenfalls koennte man auch den Empfaenger Controller mit einer
Eigenentwicklung ersetzen. Seh Dir mal den Artikel (Wireless Monitoring
System) von Alberto Ricc-Bitti in Circuit Cellar an. Alberto hat mit dem
Motorola MC68908 ein tolles System entwickelt welches im Prinzip fuer
Deine Anwendung direkt verwendbar ist..
(http://www.circuitcellar.com/library/print/0604/RicciBitti-167/)
Ich habe seinen Code als Startpunkt angenommen und fuer eine
Telemetrieanwendung auf PIC Mikrocontroller (16F684(TX) / 16F877A(RX)
LINX TXM-433-LR )umgeschrieben und es funktioniert super. Urspruenglich
experimentierte ich fuer meine Anwendung mit dem 12F683 welcher
pinkompatibel mit dem 12C509 ist. Der 12F683 oder F684 ist nur etwas
"C-freundlicher".
Im Anhang ist ein Beispiel fuer den TX und RX.
Mein TX misst Temperatur und zwei externe Spannungen. Sowie sind einige
digitale Eingaenge verfuegbar. Das ganze wird als 8-Byte Packet mit
Checksumme kodiert. Jeder TX hat eine eigene Addresse die im EEPROM
Speicher festgehalten ist und mit einen Schalter geaendert werden kann.
Das RX Anzeige/Testprogramm zerlegt das Packet und zeigt alle Bitgruppen
richtig an. Der PIC dekodiert das RX Packet mittels eines 10KHZ
Interrupt und state machine.
Bei mir ist der TX ist ein LINX TXM-433-LR und der RX ist ein
RXM-433-LR.
Vielleicht hilft das in irgendeiner Weise weiter. Viel Erfolg mit
eigenen Entwicklungen.
Gerhard
Deine Sicherheitsbedenken sind ja generell OK, aber
der Garagentormotor spannt ja nur ein 20m langes Seil
vor dem Parkplatz, das sich durch Knopfdruck des Handsenders der
Berechtigten
auf den Boden legt und sich dann per Knopfdruck auch wieder spannt.
Die Beschreibung des Garagentoröffners war etwas irreführend. Es hieß
da,
dass sich beliebige Handsender, die mitbestellt werden können,
anschließen lassen. Leider steht beliebig für "mit beliebiger Codierung"
und
nicht für "beliebig viele".
Was bedeutet eigentlich die folgende Aussage:
"Bisher wird der Mikrocontroller-Programmspeicher durch Aktivierung
eines Controller-Registers („Security-Bit") gegen Auslesen geschützt,
wobei dieser Schutz durch den Mikrocontroller-Hersteller bereitgestellt
wird. Dieser Schutz verhindert jedoch nur, dass der Programmspeicher
über frei erhältliche Tools, z.B. Debugger ausgelesen werden kann.
Wendet man jedoch chemische und/oder physikalische Prozesse auf den
Mikrocontroller an, kann man trotz aktiviertem Security-Bit den
logischen Zustand der Speicherzellen auslesen, bei einem Flash- Speicher
beispielsweise über die Bestimmung der Ladungsmenge einer
Speicherzelle."
> sehr preiswert ersteigert
Tättest Du Sie sehr preiswert gekauft, würde Dir der Hersteller sicher
eine Gleichcodierung anbieten. Bei den neuen von Eldat kannst Du es auch
selber machen ...
soundso wrote:
> Was bedeutet eigentlich die folgende Aussage:
Dass man das Teil zwar gegen einfache Versuche vor dem Auslesen
schützen kann, dass es aber eher ungeeignet ist, vielleicht die
PIN deines 10-Millionen-Euro-Bankkontos gegen Missbrauch zu
schützen. Die Sicherheitswirkung bezieht sich nur auf den
bestimmungsgemäßen Gebrauch über die normalen Pins, nicht aber
auf Radikalmethoden, die man mit hinreichend Geld und/oder
krimineller Energie aufwänden würde. Dem Vernehmen nach kannst
du dir bsp. bei irgendwelchen chinesischen Firmen derartige
Dienstleistungen für vierstellige Summen erkaufen.
Danke Gerhard,
aber was du beschreibst übersteigt meinen Horizont da ich mich vorher
nie mit Mikrocontrollern und programmieren auseinandergesetzt habe.
Hallo tex,
die Handsender haben nur 6,50 Euro das Stück bei Ebay gekostet, deshalb
glaube ich nicht das der Verkäufer sie mir selektieren kann.
@ oszi40
Eine zweite Empfangsplatine kostet 55 Euro plus Versandt, damit hätten
dann
acht Leute per Fernbedienung Zugang. Wieso denkst du das sich die beiden
Empfangseinheiten ins Gehege kommen können, sie reagieren doch gar nicht
auf die Sender der jeweils anderen Sender?
Wegen der geringen Investition ist es nicht ganz so tragisch wenn die
restlichen Leute den Tormotor mit einem Schlüsselschalter betätigen
müssen. Überhaupt hat das ganze System nur knapp
300 Euro gekostet was billiger war als manuell umlegbare Pfosten.
Es war halt nett wieder mal was praktisches selbst zu bauen, anstatt nur
mit Theorie umzugehen.
Danke an alle die versucht haben mir zu helfen.
Gruß,
soundso