Ger kopers blog
Fjernbetjeningsnøgler bruges typisk til garageporte og lignende. Også bil døråbningssystemer bruger dem. Protokollen for disse enheder synes at være relativt standard. Når du trykker på en af knapperne, sendes serier af radiofrekvensimpulser (rf), som efterfølgende modtages af døråbningsudstyret. Disse sammenligner den modtagne kodesekvens med den internt lagrede kode, og når den er lige åben eller luk døren. Dette princip bruges også til styring af belysning, transmission af vejrstationsinformation osv.
denne lille rapport er på såkaldte nøglefob ‘ er som vist ovenfor. Disse er i øjeblikket rigeligt tilgængelige på nettet. De har den fordel, at de har en mekanisme, hvormed de kan programmeres fra en anden nøglefob. Proceduren er relativt enkel, men kræver en vis vedholdenhed: i sidste ende vil det fungere:
- tryk på A-og B-knapperne samtidigt. LED ‘ en tændes, og efter nogen tid begynder den at blinke hurtigt. Dette indikerer, at nøglefob er slettet, og knapperne kan frigives.
- nu, når du trykker på en af knapperne, blinker LED ‘ en kun en gang meget kort. Dette indikerer, at der ikke overføres nogen kode.
- lad os kalde dette” tomme ” nøglefob nummer 1. Den nøglefob, som vi ønsker at kopiere, er nummer 2.
- vi kopierer nu koden for knappen h, enten A, B, C eller D, fra nøglefob 2 til nøglefob 1 knap Y (A, B, C eller D).
- tryk på tasten fob 2, vil dens LED brænde kontinuerligt for at indikere, at den transmitterer kodesekvenserne.
- trykknap Y på tasten fob 1 giver dens LED et indledende kort blink og forbliver derefter slukket.
- Bring de to nøglefob, mens du holder knapperne skubbet sammen, normalt foran til front, men andre positioner fungerer muligvis også, indtil LED ‘ en på tast 1 begynder at blinke. Derefter kan knapperne frigives.
- Tryk nu på knappen Y på tasten fob 1, og LED ‘ en skal lyse kontinuerligt for at indikere, at den sender en kode. Hvis alt gik godt, aktiverer denne kode også døren, der blev styret af nøglefob 2.
- dette kan gentages for alle fire knapper. Identiske koder til to forskellige knapper kan også programmeres, nøglen klager ikke.
vigtigt at bemærke er, at lignende udseende nøglefobs kan have forskellige, omend lignende protokoller. Følg sælgerens anvisninger, hvor det er nødvendigt.
man kan også købe en styreenhed, der indeholder to relæer, der kan styres fra to knapper på en ovenfor beskrevet nøglefob. Disse enheder skal også programmeres, selvom de leveres med forprogrammerede nøglefobs. Enheden har en DIP-selector, der indstiller kontroltilstanden. Her bruger vi, at en enkelt knap Tænder og slukker. Enheden har to LED ‘ er, der ligger ved siden af relæerne og angiver relæets status: til eller fra. Tæt på kontrolknappen er der en anden LED. Det blinker ved modtagelse af et kodet rf-signal fra en nøglefob.
hvis man ønsker at betjene med andre koder end kodet fra fabrikken, fortsætter man som følger
- koderne slettes ved at trykke på knappen, indtil LED ‘ en begynder at blinke.
- nu Kan tasterne ikke skifte relæerne længere, selvom LED ‘ en kan blinke for at indikere, at der er modtaget en kode.
- tryk på knappen på enheden når enheden er sat i programmeringstilstand, tændes LED ‘ en.
- Tryk først på tasten fob den knap, der skal styre relæ A. LED ‘ en blinker for at indikere modtagelse. Slip knappen. LED ‘ en forbliver tændt.
- Tryk nu på tasten fob den knap, der skal styre relæ B. LED ‘ en blinker for at indikere modtagelse og slukke.
- enheden er nu programmeret. Ved at trykke på de to knapper aktiveres nu relæerne A og B.
- Bemærk, at ved at trykke to gange på den samme knap programmeres kun relæ a!
det kan være interessant at bruge en helt anden kode med nøglefobene og enheden. Sådan er beskrevet for en Raspberry Pi ved en instructable skrevet af george7378. Nedenfor et eksempel på et spor af en knapkode.
rf-signalet er tændt i den “høje” tid, typisk omkring 0,5 ms, og slukket under det “lave” signal, omkring 1 ms. 10 ms, så hundreder af kodesekvenser sendes ved at trykke på knappen i et sekund eller deromkring. Koden kan let læses, en kort høj efterfulgt af en lang lav fortolkes som en binær 1, mens en lang høj efterfulgt af en kort lav er en binær 0. Den binære kodesekvens består således af 25 bits, her 1111 0000 0101 0110 0101 1110 1. Der er 225 = 33.554.432 forskellige koder mulige med disse 25 bits.
med det lille Python-program, der er beskrevet af ovennævnte instruerbare, er det relativt nemt at indtaste ens egen kode. Brug af en 17,2 cm antenne på 433 MHS-senderen gør kodning af nøglefobene ret meget enklere. Især hvis man gør antallet af sekvensrepetitioner stort, dvs. ændre NUM_ATTEMPTS fra 10 til 100.
der er mange forskellige koder mulige allerede med denne 25 bit sekvens, men hvis man forestiller sig, at antallet af bits, den “høje” tid, den “lave” tid og gentagelsestiden alle kan varieres efter ønske, ser man hvorfor der normalt ikke er for meget interferens mellem enheder og nøglefob af forskellig oprindelse. Der vil være grænser for timing og anvendte koder, men der er meget variation tilbage for et givet sæt.
et par bemærkninger til de programmer, der er beskrevet i instructable.
- den bruger den samme GPIO-port til afsendelse og modtagelse. Jeg fandt det lettere at have forskellige, så begge enheder kan tilsluttes samtidigt.
- brug på den første linje koden
#!/usr/bin/python
og gør den eksekverbar af for eksempel
chmod +x TransmitRF.py
tillader en at enklere kalde programmet som
./TransmitRF.py a_on
og gentag dens funktion.
- i stedet for at bruge ReceiveRF.py, programmet til at læse kodesekvensen fra nøglefobs, foretrækker jeg at bruge Min Logic 4 Digital+Analog Logic analysator fra Saleae. Det giver meget mere frihed til at analysere dataene.