Reverse engineering Air Conditioner IR Remote control protocol (3 / 4 stap)

Stap 3: Exploitatie van de gegevens


OK, nu is wat we hebben een verzameling van gegevensbestanden met bits (eigenlijk tekens vertegenwoordigen binaire cijfers, die technisch verschilt).

Het gebruik van een bestand vergelijking programma zal helpen bij het identificeren welk deel wordt voor elke parameter gewijzigd.

Wat we zien is niet alleen een deel wijzigingen maar het laatste deel van het bericht ook. Over het algemeen wanneer communicatie gaat de juistheid van de gegevens is nooit en garanderen dus een checksum meestal gebruikt wordt om ervoor te zorgen dat er geen gegevens heeft beschadigd. De controlesom zullen later bestudeerd worden.

De opdrachten

ON/OFF:
Alleen een beetje wijzigingen, de eerste van de 6de byte (of de 40ste bit). Als dit 1 is de opdracht is ingeschakeld, als 0 is de opdracht OFF

AUTO/WARMTE/KOEL/DROOG
3 bits wijzigen: bits 45 tot 48 (zie foto)

 0000 = AUTO 1100 = COOL 0100 = DRY 0010 = HEAT 

Swing

bits 64 tot en met 67:

 1111 = swing auto 1000 = swing lowest 0100 = swing low 1100 = swing high 0010 = swing higest 

Ventilatorsnelheid

beetje 68 tot en met 72:

 1100 = lowest 0010 = low 1010 = medium 0110 = high 1110 = highest 0101 = auto 

Opties (Byte 13):

 Powerful: 10000000 Quiet: 00000100 (and the Fan speed is set to minimum) None: 00000000 

Temperatuur:
Het wordt hier een beetje lastiger omdat het zou leuk zijn om te begrijpen hoe de waarde is gecodeerd en scant niet alle mogelijkheden.
We hebben bemonsterd 16° C en 30° C, 21° C. Binair:

 16 = 10000 22 = 10110 30 = 11110 

De juiste zone voor de temperatuur is niet gevonden met behulp van deze waarden. Maar vaak hardware bits gebruiken in omgekeerde volgorde (meest significante Bit of minst significante Bit aan de linkerkant van het nummer, ook wel aangeduid als Little Endian of Big Endian). Als de omkering van de bits de verkregen waarden is:

 16 = 00001 22 = 01101 30 = 01111 

Dit geeft een match voor de 3 waarden bij bits 49 tot 53. Dit is nogal verwonderlijk als de waarde niet is afgestemd op een byte (dichtstbijzijnde zou 6 x 8 = 48e bits). Dit betekent dat wanneer het bouw van een bericht de code moet verschuiven van beet de temperatuur.

Dat bijgevolg valideert de eerste hypothese betreffende timing waarden gebruikt voor 0 en 1 :)

Timer A:

De tijdopnemers zijn gecodeerd in meerdere posities: eerste waarde wordt gebruikt om aan te geven dat de A-timer is op, dan een tweede wordt gebruikt om aan te geven van de waarde van de timer.
Timer actieve toestand kan worden gevonden op de dezelfde byte als ON_OFF (6de byte, ten tweede bits, dus vanaf het begin van de nettolading 41e bit).

Dus is de Timer A actief als de byte is dat de 6e byte eruit:

 x010xxx, the first bit being the ON/OFF bit. 

Voor de duur van de timer gebruiken dezelfde codering die met temperatuur en codering minuten en niet uren (als de externe beeldschermen), de waarde kan worden gevonden op de tweede helft van de 12e byte.

Timer B:

B de timer is actief als de 2de bit van de ON/OFF byte 1 is. Als de timer A brandt altijd bij het gebruik van de timer B, eruit de byte:

 x110xxx, the first bit being the ON/OFF bit. 

OK, moet hier ik toegeven dat ik niet de sleutel tot deze waarde vinden, misschien is het een delta tussen timer A en B, misschien een andere eenheid... Waarheid is: who cares over timers wanneer het doel is om het te controleren (automatisch) van een computer? :) Zelfs timer die a niet in het einde in mijn systeem gebruikt wordt, ik was gewoon blij te hebben gevonden.

Checksum:
Ah. Hier is een waarde die niet kan worden genegeerd. Het is van cruciaal belang om het te begrijpen.
Na een paar tests blijkt dat de controlesom voor de nettolading gedeeltelijk enige (niet inclusief de invoering), en is het resultaat van de eenvoudige som van alle bytes, slechts één byte van het resultaat (het negeren van overstorten) te houden. De truc is, natuurlijk, dat deze controlesom is gemaakt door een Big Endian systeem, zodat elke byte ongedaan worden gemaakt moet voordat het wordt opgeteld, dan het resultaat weer teruggedraaid.

Gerelateerde Artikelen

Reverse-Engineering: RGB LED-lamp met IR afstandsbediening

Reverse-Engineering: RGB LED-lamp met IR afstandsbediening

We 20 van deze RGB LED-lampen gekocht voor een feestje op het werk, maar ik was een beetje teleurgesteld met de kleur vervagen functies die zij verstrekt. Dus besloten heb ik om een apart, omgekeerde ingenieur het IR-protocol, en zien of het had meer
USB hack door Reverse Engineering

USB hack door Reverse Engineering

USB is een zeer complex protocol, veel ingewikkelder dan de seriële of parallelle, SPI en zelfs I2C. USB gebruikt slechts twee draden, maar ze worden niet gebruikt als 'ontvangen' en '' als serie verzenden. Integendeel, gegevens bidirectionele en dif
Reverse-engineering toepassen RF afstandsbediening Controller voor IoT!

Reverse-engineering toepassen RF afstandsbediening Controller voor IoT!

In dit instructable, leert u hoe om te keren ingenieur radiofrequentie (RF) afstandsbedieningen en implementeren in een zeer goedkope WiFi toegelaten computer, het knooppunt MCU. Met deze techniek kunt u IoT inschakelen oudere toestellen en doelappar
Remote Controlled Confetti kanon

Remote Controlled Confetti kanon

Confetti kanonnen zijn een heleboel plezier. Een explosie van confetti kan een feest beter maken. Maar het is niet altijd handig zijn als iemand naast het kanon te verrekenen. Dus vandaag ga ik u tonen hoe te maken van een externe gecontroleerde conf
DIY Arduino Remote Control en Lego RC voertuig!

DIY Arduino Remote Control en Lego RC voertuig!

UPDATE (8/29/13): dank u lezers voor uw enthousiasme en soort opmerkingen met betrekking tot dit project! Het is een geweldige reis sinds ik begon dit project terug in maart, maar ik ben erg blij met het resulterende product en de opwinding waarmee h
Batterij aangedreven Peltier Portable Air Conditioner

Batterij aangedreven Peltier Portable Air Conditioner

Gewoon een inleidingHallo daar, wanneer u lees dit instructable, u zoekt iets zelf om af te koelen recht?Zoals ik nieuw op instructable ben, 'm I gonna post wat ik deze jaren hebben uitgevonden. Hoop dat ze zijn niet uit gedateerd wanneer ik ze hier
Een werkende sleutel van schroot maken door reverse-engineering van een sluis

Een werkende sleutel van schroot maken door reverse-engineering van een sluis

heb je verloren alle sleutels voor uw lock en moeten maken van een nieuwe sleutel van kras?  Heeft de slotenmaker gebrek een lege sleutel die van uw slot Spiebaan passen zal? Pak een metalen bestand, sommige blad schroot, en lees verder voor een ruwe
Reverse-Engineering = Uzzors2k = uitgesproken Android App. Amarino spul ook.

Reverse-Engineering = Uzzors2k = uitgesproken Android App. Amarino spul ook.

Dit instructable meestal mensen die proberen te rijden/james bond (morgen nooit sterft natuurlijk) rc auto's zal helpen.  Als je gewoon proberen te zetten lichten, of controle van uw garage met bluetooth van een android telefoon, er zijn vele andere,
Met behulp van 433 MHz Remote Controlled schakelaars op Arduino

Met behulp van 433 MHz Remote Controlled schakelaars op Arduino

Ik denk dat iedereen weet die extern gecontroleerde schakelaars die in hun meest eenvoudige vorm komen in een aantal (meestal 3) voor switcheable apparaten aansluiten op het lichtnet stopcontact en die ontvangt een stekker van een lamp of iets en dat
Met behulp van RC auto onderdelen als remote control

Met behulp van RC auto onderdelen als remote control

ik afkomstig van een heleboel micro RC auto's op ebay voor DIY projecten te gebruiken.De auto's zijn van Enertec. De oproep van het product "MICRO FLASH CHARGER, Formule 1". De doos van het product bevat batterijen voor de zender en het opladen
Reverse-engineering toepassen hulpmiddel van de Schoonmaakbeurt voor optimale computerprestaties

Reverse-engineering toepassen hulpmiddel van de Schoonmaakbeurt voor optimale computerprestaties

Als u om het even wat als me bent, zou u willen hebben en het nemen van controle over alles op uw computer. U ust kunnen bepalen hoeveel opslag wordt gebruikt voor programma's blah blah blah.Hoewel toepassingen mogelijk nuttig om dingen gedaan te kri
Reverse-Engineering

Reverse-Engineering

veel van de leden hier op Instructables vragen over gegevensbladen of pin-outs van een apparaat of de weergave in de antwoorden, helaas u cant altijd krijgen een gegevensblad en schema's, in deze gevallen heb je slechts één keuze hierop reverse-engin
Reverse-Engineering Live

Reverse-Engineering Live

Ik begon in elektronica vóór de komst van het internet en meest solide staat onderdelen, dus krijgen gegevensbladen en schema's niet makkelijk voor mij was. Vandaag met fabrikanten maken van aangepaste ICs en LCD-schermen voor alles van telefoons tot
Remote controlled webcam met behulp van de Arduino, SensorMonkey, jQuery en Justin.tv

Remote controlled webcam met behulp van de Arduino, SensorMonkey, jQuery en Justin.tv

Web in te schakelen voor uw interactieve sensoren over desktop, smartphone en tablet apparaten.Deze tutorial beschrijft in detail hoe met de gratis SensorMonkey -service op afstand besturen van een pan en tilt webcam aangesloten op een Arduino met ni