Hallo zusammen, für ein Spiel benötige ich eine zündende Idee: Irgendwo soll ein Gerät versteckt werden wo eine Funkuhr drin tickert. Ob die nun Marke Eigenbau ist oder gekauft ist egal. Hauptsache irgendwo kommt ein Datums- und Uhrzeitsignal an. Per Knopfdruck soll nun das aktuelle Datum und die aktuelle Uhrzeit in einen Zahlencode codiert werden und der Code sollte über ein Display ausgegeben werden. Der Spieler macht sich mit dem Code dann auf zur zweiten Station. In der 2. Station sollte ebenfalls eine Zeitschaltuhr drin tickern. Die Kiste verfügt über ein Eingabefeld (0-9, #, *). Hier muss dann der Code eingegeben werden welcher im Gerät entschlüsselt und mit der aktuellen Uhrzeit verglichen wird. Hat die Person weniger als 2 Stunden gebraucht um von der einen zur anderen Station zu kommen gibt das Gerät über ein Display eine Textinfo aus. War die Person zu langsam gibts ebenfalls eine Textinfo, aber eben eine andere. Im Idealfall sollten beide Kisten extrem wenig Strom ziehen, da diese in der "freien Wildbahn" ausgelegt werden sollen und ich keine Lust habe jeden Monat die Baterien zu wechseln. Kann sich da jemand was vorstellen? Alternativ wäre auch der Einsatz einer SD-Karte möglich auf die ein Zeitstempel geschrieben wird oder der Einsatz der RFID-Technik denkbar.
Hallo. Und wo liegt nun das Problem, sowas zu bauen oder zu programmieren ? Gruss, T.
Muss der Spieler sich den Code aufn Zettel schreiben? oder per USB-Stick oder per SD-Karte (Beides ein wenig übertrieben finde ich^^) Ich denke mal dein Problem ist es, die Uhrzeit zu Codieren und anzuzeigen?
Denk dir irgendeinen Code aus! Nimm die Zeit und addiere irgendwas zu jeder Zahl dazu, oder so...kannst ja auch mehrere Verschlüsselungen erfinden - dann schickste einen Code mehr mit, welcher beeinhaltet, was du für einen Code verwendet hast.
> für ein Spiel benötige ich eine zündende Idee:
Hoffentlich nicht. Bei uns hier reagieren die Oberen ganz nervös auf
herrenlos herumliegende tickende Kästchen :-)
T. schrieb: > Und wo liegt nun das Problem, sowas zu bauen oder zu programmieren ? Vermutlich darin, die Zahlenkombi kurz genug zu halten. Kaum ein "Spieler" wird Freude daran haben, einen MD5-Hash einzutippen. Also: Zeit in kompaktes Format umrechnen, z.B. "Anzahl der verstrichenen Viertelstunden seit dem 1.1. 00:00". Passt so noch in einen uint16 . Wiederholt sich zwar jedes Jahr, das ist aber vermutlich egal. (ggfs: Wiederholung jeden Monat, je nachdem für wie Geduldig du deine Spieler hältst) XOR mit irgendwas, um fortlaufende Zahlen zu vermeiden, dann davon CRC/Quersumme/... und hinten dran hängen. ggfs crc nicht von dem timestamp sondern von "timestamp + key"... Sollte sicher genug sein, solange keine Hobby-Cryptoanalytiker mitspielen... und auch die brauchen viel, viel Geduld, da ja nur alle 15 Minuten ein neuer Datensatz zur Analyse anfällt.
Kannst auch die Sekunden seit den 1.1. "Zählen" (also [Unixtime] - [Unixtime vom 1.1.2011]) und dann einen Cäsar-Code verwenden.. Also Jetzt wären 2299680 Sekunden vergangen. Eine kleine Tabelle: 0 -> AF 1 -> GT 2 -> KL 3 -> RB 4 -> JQ 5 -> CD 6 -> YE 7 -> MX 8 -> IZ 9 -> PS Also wäre der Code: KLKLPSPSYEIZAF - KL KL PS PS YE IZ AF Denke da gibts tausen Möglichkeiten. Darf blos keiner Wissen, wie es geht. Edding schrieb: > Kaum ein "Spieler" wird Freude daran haben, einen MD5-Hash einzutippen. Und kaum ein µC wird es schaffen, den wieder zurückzu-hashen ;)
das Problem wird ein µC sein, der mehrere Wochen/Monate mit einem Akku betrieben werden kann! evt. ein MSP430 der mit einem externen Quarz langsam das Datum ermittelt. ein MSP430 benötigt lt. Datenblatt bei 1MHz 330µA, bei 1 KHz wird es sicherlich nochmal deutlich darunter liegen! Dazu nen alten LiIo-Akku aus dem Handy! Das Dispaly wird auch "problematisch", evt. eine 7-Segmentanzeige die Deinen Ausgabecode durchtaktet. Also 1x auf den Taster drücken und die Anzeige schält ein und bringt jede Sekunden eine Zahl, bis der code komplett durch ist. ..oder Flüssigkristall, ist aber Wetterempfindlich! Ist für Geocaching, richtig ;-)
urhzeit in einen Satz umwandeln nullsechsvierfünf 6:45 und per sms-tastatur in Zahlen codiert wird. damits immer gleich lang wird die Zahlwörter auf länge 4 festlegen (längere abschneiden)-> "nullsechvierfünf" 6855732484973863 wahlweise noch die stellen verwürfeln, immer abwechelnd nsvfueiülcenlhrf 6783834652965473 muss halt schaun, ob die dekodierung eindeutig wäre: null 6855 eins 3467 zwei 9934 drei 3734 vier 8437 fünf 3868 sech 7324 sieb 7437 acht 2248 neun 6386 sind eindeutig, wobei die zuordnung beliebig ist. man könnte natürlich noch die Sekunden dazumachen Das ganze ist zwar nicht sicher, aber jemand der das knackt, hat es auch verdient (den nächsten Cache zu finden?)
Das ist mein Ansatz: Der Spieler der zum Kontrollpunkt, drückt eine Taste und erhält vier Ziffern, die seine Ankunftszeit (auf die Minute genau) darstellen. Im Controller sind eine Reihe von 4stelligen (echten) Zufallszahlen abgelegt. Die gleichen Zufallszahlen sind in der 2. Station abgelegt. Die Zufallszahlen werden mit der Uhrzeit verexklusivodert. Es ist auch möglich, dass jeder Spieler eine 4stell. Zahl eingibt, die ebenfalls mit verexklusivodert wird. Uhrzeit 1 2 0 1 Zufallszahl 3 4 5 7 Spielerkennung 0 0 7 0 --------- Ergebnis ========= Das Ergebnis lasse ich zur Übung frei.
Nnaturbursche schrieb: > ein MSP430 benötigt lt. Datenblatt bei 1MHz 330µA, bei 1 KHz wird es > sicherlich nochmal deutlich darunter liegen! im powerdown ist der im nano-Bereich, wennich mich nicht täusche, mehr sorgen würde ich mir um den DCF777 dekoder machen. wobei das eventuell gar nicht notwendig ist: - kleine Platine mit RTC und Batterie CR2032 - Lebensdauer: rund 5 Jahre - kleiner Controller, der nur bei Tastendruck mit Strom (seperater Akku) versorgt wird, die RTC-ausließt und auf dem Display ausgiebt Die uhren müssen ja nichtmal richtig gehen, solange sie gleich laufen. man könnte auch eine Selbsterhaltungsschaltung dran bauen, die der Knopf auslöst. Der µC zeigt alles an und schaltet sich selbst wieder ab. die RTC lässt man ebenfalls diese schaltung mit einem Interupt aktivieren, so dass der µC einmal am Tag über ein DCF-Modul die Zeit holen kann.
Wozu extra RTC? Nen ATmega48P und 32kHz Quarz dranpappen, fertig. Benötigt im Power-save nur 0,8µA! Hält also ewig. Dann bei Tastendruck mit Pin-Change aufwachen. Unter Vollast braucht er dabei 600µA (3V/1MHz). Und nach ner Weile wieder in Power-save und nur die 32kHz zählen. Peter
Vielen Dank für Eure Ideen. Jetzt bin ich schon mal etwas weiter. Wie einige richtig erkannt haben ist es fürs Geocaching. Der Code sollte nicht länger als 10 Stellen sein. Sekunden sind nicht so wichtig. Das Einzige was nicht sein darf, ist das jemand durch logisches Schlussfolgern schnell dahinterkommt wie der Code generiert wird. D.h. fortlaufende Zahlen sind tabu. Wenn man es nach ner Stunde rausbekommt wie der Code generiert wird ist mir das relativ egal.
Peter Dannegger schrieb: > Wozu extra RTC? > > Nen ATmega48P und 32kHz Quarz dranpappen, fertig. > Benötigt im Power-save nur 0,8µA! > Hält also ewig. > > Dann bei Tastendruck mit Pin-Change aufwachen. > Unter Vollast braucht er dabei 600µA (3V/1MHz). > Und nach ner Weile wieder in Power-save und nur die 32kHz zählen. > > > Peter läuft die Uhrzeit im Power-save den weiter?, der MSP ist im Power-save auch bei 1,5µA, nur dachte ich dass er im Powersave auch den timer nicht mehr weiter zählt! Ich fände ein Lösung mit einem time-chip wie den DS2417 eigentlich auch nicht schlecht, µC im Power-down und der DS2417 saugt so um die 200nA (nano!!, nicht milli!) Dann hält der Akku wirklich ewig!
Die Uhrzeit sollte korrekt sein und zumindest der Tag sollte mit rein. Wenn sich die Codes jeden Monat wiederholen tut das nicht weh. Aber ich hab mal gelesen, dass man die Uhrzeit und das Datum aus einem gekauften Funkwecker ziehen kann. Die halten doch normalerweise ewig und die dahinterhängende Technik müsste ja nur auf Knopfdruck anspringen und könnte dann über eine 2. Baterie versorgt werden. Sekunden sind nicht so wichtig. Das Einzige was nicht sein darf, ist das jemand durch logisches Schlussfolgern schnell dahinterkommt wie der Code generiert wird. D.h. fortlaufende Zahlen sind tabu. Wenn man es nach ner Stunde rausbekommt wie der Code generiert wird ist mir das relativ egal. Wenn ich jetzt mal weiterfrage... Gibt es wen, der sich zutraut sowas zu basteln oder jemanden der mir eine Anleitung, Teileliste, etc. erstellen könnte oder der mir den Krams sogar basteln würde? Natürlich komme ich für die Materialkosten auf und würde noch ein kleines Trinkgeld drauflegen. Im Idealfall sollte derjenige aus dem Großraum Köln kommen und ebenfalls Cacher sein. Bei interesse bitte PN an mich. Ich hab bis jetzt nur mit so kleinen Attiny13V rumgespielt und mir einige Reaktivlichter gebastelt. Das hat auch super gefunzt. Aber für ein Projekt dieser Größe fehlt mir die Hardware (ich gehe nicht davon aus, dass man das mit einem Attiny13V realisieren kann) und der nötige Sachverstand.
Naturbursche schrieb: > läuft die Uhrzeit im Power-save den weiter? Ja. Allerdings muß die CPU alle 8s kurz mal aufwachen, um die höherwertigen Bytes zu zählen. 32kHz / 1024 (Vorteiler) / 256 (Timer 8Bit) Peter
Alex David schrieb: > Der Code sollte nicht länger als 10 Stellen sein. > > Sekunden sind nicht so wichtig. > > Das Einzige was nicht sein darf, ist das jemand durch logisches > Schlussfolgern schnell dahinterkommt wie der Code generiert wird. D.h. > fortlaufende Zahlen sind tabu. Wenn man es nach ner Stunde rausbekommt > wie der Code generiert wird ist mir das relativ egal. Also wenn du bei meinem Vorschlag die Unixtime durch 60 teilst, hast du am Ende des Jahres (größte Zahl) eine 6-Stellige Zahl und somit 12 Buchstaben (bei 2 Buchstaben pro Zahl). Es könnte theoretisch nur jemand dahinterkommen, der weiß, dass du die ZeitDIFFERENZ zum Jahresanfang nimmst, davon nur Minuten (/60) und welche Buchstaben du für welche Zahl nimmst. Selbst wenn er (wie auch immer) sagen kann, das in meinem Fall AF der 0 entspricht und das IZ der 8, muss er immernoch wissen, was die Zahl zu bedeuten hat. Ich habe jedenfalls keine Freunde, die das ohne weiteres machen würden.
ich schrieb: > Also wenn du bei meinem Vorschlag die Unixtime durch 60 teilst, auf jeden Fall müssen die stellen gemixt werden, damit sich nicht nur die letzte ändert. Das könnte man auch abhängig von der Quersumme machen, damit sich immer andere Stellen ändern. man nehme die unteren 3 (oder 4) bit der Quersumme und baue 8 (16) verschiedene mappingvorschriften
Matthias Lipinsky schrieb: > Bis wann muss das denn fertig sein? So in den nächsten 2-3 Wochen hab ich gedacht... Das mit der Unixzeit klingt ganz gut
>So in den nächsten 2-3 Wochen hab ich gedacht...
Da bin ich raus... (Mind) Solange würde ich allein für den Entwurf und
das Layout der (zwei) Hardwares brauchen...
Matthias Lipinsky schrieb: >>So in den nächsten 2-3 Wochen hab ich gedacht... > > Da bin ich raus... (Mind) Solange würde ich allein für den Entwurf und > das Layout der (zwei) Hardwares brauchen... Schade. Aber ich hab auch nicht wirklich ne Vorstellung davon, wie aufwendig sowas ist. Wenn das so ein imenser Aufwand ist dann müsste ich mir doch was anderes ausdenken....
naja, die Hardware hat man aber auch an 1 bis 2 Abenden auf lochraster aufgebaut, vorausgesetzt, man hat alle Teile. Gehäuse wird schon wieder schwieriger. Aber will man sowas dann wirklich in der Wildnis liegen lassen? kannmir nicht vorstellen, dass das nicht doch irgendeiner mitnimmt. Was mir noch einfällt: man müsste eine art Checksumme über die Zeit bilden, damit man nicht durch wahlloses probieren eine gültige Zeit bekommt.
Man kann sowas schon in 2-3 Wochen bauen (inkl. debuggen) dann muss aber bissl Geld rausspringen. Wer macht sich denn schon in seiner Freizeit Stress? Aber mal ganz ehrlich, wenn das Ding Monate lang halten soll, dann wirds auch Monate/Jahre lang liegen und dann kommts auf 1-2 Monate früher oder Später nicht mehr an! Um den Spaß einfach, billig, und leicht herstellbar zu halten würd ich nen Mega48 mit möglichst langam taktendem Uhrenquarz laufen lassen, ein 3€uronen schweres Display von eGay nehmen, dieses abschaltbar (mittels FET) an den Mega klatschen, einen Taster ran und gut ists. Das ganze dann mit 2 Uhrenbatterien betreiben, oder wenn platz ist, auch mit was größerem und fertig! Die Zeit würde ich dann nicht soo wild verschlüsseln. Im Mega läuft eine UNIX-Zeit, aus der werden dann die Minuten seit beginn des aktuellen Jahres errechnet, das ganze mit einem "key" verXORt und schließlich die zahl auf 4 Stellen reduziert. [A-F,0-9] als 4-stellige "Zahl" reichen für die minuten eines ganzen jahres ( 26+10=36, 36^4=1679616, 365*34*60=525600 => reicht für 3 Jahre!) und der Nutzer muss sich 4 Stellen merken. nur mit dem key muss man aufpassen, dass man beim XORen nicht eine Zahl größer 36^4 generiert... Den Rest würd ich als level 3 nach LED-zum-blinken-bringen einstufen. Und wenn alles getestet ist und funktioniert kannst den Spaß auch noch in Kunstharz eingießen und alles wird wetterfest. Das Display und der Schalter sollten halt noch rausstehen.
Vlad Tepesch schrieb: > damit man nicht durch wahlloses probieren eine gültige > Zeit bekommt. Also bei 1679616 Möglichkeiten (wie ich vorschlug) sind dann in 2 Stunden 120 gültige dabei. => Trefferwahrscheinlichkeit 7,144*10^-5 oder 0,007144% afaik ist das in etwa die Trefferwahrscheinlichkeit eines Lotto-Jackpots!
Sorry für meinen 3. Post. Am Display konnte man dann auch noch eine Meldung ausgeben, wenn die Batteriespannung gering wird (ADC ist ja im MEGA48 drin), sodass ein Finder sich bei dir melden kann und dir mitteilen kann, dass die Batterie leer ist. Und dazu eine Akku-kontroll-LED, dass keiner aus Frust das Ding kaputt macht weil er nur nicht weiß, dass nur der Akku leer ist. Soweit mir bekannt, sind die Geocacher ja eine recht vertrauliche Gemeinde.
Hallo, Da ist was durcheinandergeraten. Martin H. schrieb: > [A-F,0-9] als > 4-stellige "Zahl" reichen für die minuten eines ganzen jahres ( > 26+10=36, 36^4=1679616, 365*34*60=525600 => reicht für 3 Jahre!) [A-Z,0-9] ist gemeint. XOR ändert nur minimal in aufeinanderfolgenden Minuten. Ich würde zwecks Eingabe auch bei [0..9] bleiben wollen. Das Jahr hat 365*24*60 = 525600 min oder fünfstellig alle 10 min (87600 a 10 min) Es gibt 120 Permutationen von 5 stellen, wenn man nur 100 benutzt braucht man nur 2 Stellen mehr dafür. Damit könnte man zusätzlich eine Zahl aus 10 auswählen, die man darauf addiert. Konstante Perm0 = (3,5,3,1,2) // Ausgangspermutation nur einmal zu Beginn, sollte im EeProm sein. P = Permutationsnummer = 0. MinJahr = die Minuten des Jahres berechnen. Aus P eine Zahl zwischen 0..9 errechen und eine Zahl Delta aus einer Tabelle auswählen. AusgabeZahl = MinJahr + Delta, Solange AusgabeZahl >99999 AusgabeZahl = AusgabeZahl- 100000 P = (p+k) modulus 100 (Hauptsache 100 und k sind teilerfremd) Perm = Perm0 Bestimme die p.te Permutation von Perm ( nicht schwer 5 Tauschungen ) ordne die Ziffern der Ausgabezahl Perm entsprechend. setze p zweistellig voran oder dahinter oder schieb sie an Pos 3 und 5 oder sonstwas die Umkehrung p ermitteln-> Ausgabezahl,Perm berechnen -> Ausgangszahl umsortieren aus p Delta bestimmen und abziehen, ist sie kleiner 0 dann 100000 addieren dann erhält man minJahr.
So. Ich wollte dieses Thema noch mal hervorkramen. Ich hab nun folgendes vor: Es gibt 288 5-Minuten-Intervalle am Tag. Hierfür ist eine Tabelle im IC hinterlegt. Zu jeder Uhrzeit gehört eine feste 5-Stellige Zahl. Um besser zu verdeutlichen was passieren soll hab ich eine Excel-Tabelle (ohne Makros) beigefügt. Meint ihr sowas ist mit weniger aufwand zu realisieren? Um den Einsatz eines Funkuhrmoduls wird man dennoch nicht drumherum kommen. Auf den Einbezug des aktuellen Datums habe ich vollkommen verzichtet. Immerhin geht es hier nur um ein Spiel und nicht um einen Bank-Tresor.
Stefan B. schrieb: >> für ein Spiel benötige ich eine zündende Idee: > Hoffentlich nicht. Bei uns hier reagieren die Oberen ganz nervös auf > herrenlos herumliegende tickende Kästchen :-) Du meinst Kästchen, die erst ticken und dann zünden? SCNR Harald
Alex David schrieb: > Hallo zusammen, > > für ein Spiel benötige ich eine zündende Idee: > > Irgendwo soll ein Gerät versteckt werden wo eine Funkuhr drin tickert. > Ob die nun Marke Eigenbau ist oder gekauft ist egal. Hauptsache irgendwo > kommt ein Datums- und Uhrzeitsignal an. Per Knopfdruck soll nun das > aktuelle Datum und die aktuelle Uhrzeit in einen Zahlencode codiert > werden und der Code sollte über ein Display ausgegeben werden. Der > Spieler macht sich mit dem Code dann auf zur zweiten Station. Nimm als Code doch einfach das originale DCF-Signal. Dafür gibts massenhaft Software zur Entschlüsselung und andererseits nur wenig Menschen, die diesen Code auswendig wissen. Gruss Harald
Auch ne Möglichkeit. Allerdings m.M.n. schon wieder zu aufwendig.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.