Bygga egen sändare till Nexa trådlös dimmer
Det skulle betyda att Off på kanal 1 skulle bli:
0000001111110011111111001100100001100
vilket inte matchar så bra med On på kanal 1 som är:
00000011111100111111110011111001100
Jag kan inte se logiken i det hela om det nu är som du säger Chribbe76
Det jag däremot skulle kunna tänka mig är att det är logik som genererar och tolkar koden, och inte en microcontroller som man skulle kunna tro. Det skulle kunna förklara varför det ser så mysko ut. Först kanske det är 3 korta följt av 3 långa pulser för att trigga logiken. Då kommer datan läsas av, av en adressavkodare som läser så många bitar. Och om det är rätt adress kommer datan skickas vidare till en trigger som utför vad som ska göra, förutsatt att det var rätt adress. Det skulle ju kunna förklara varför datan i slutet skiljer sig från resten. Fast det verkar ju också lite långsökt.
Var inne och kikade i fjärren iaf. Kunde inte se något mer än 2st 8pin IC. Om det nu inte sitter något hemligt under displayen som man inte ser. Får kika i en mottagare och se vad som sitter där.
EDIT: Mottagaren har bara en stor svart klump på kretskortet, det säger ju inte mycket.
0000001111110011111111001100100001100
vilket inte matchar så bra med On på kanal 1 som är:
00000011111100111111110011111001100
Jag kan inte se logiken i det hela om det nu är som du säger Chribbe76
Det jag däremot skulle kunna tänka mig är att det är logik som genererar och tolkar koden, och inte en microcontroller som man skulle kunna tro. Det skulle kunna förklara varför det ser så mysko ut. Först kanske det är 3 korta följt av 3 långa pulser för att trigga logiken. Då kommer datan läsas av, av en adressavkodare som läser så många bitar. Och om det är rätt adress kommer datan skickas vidare till en trigger som utför vad som ska göra, förutsatt att det var rätt adress. Det skulle ju kunna förklara varför datan i slutet skiljer sig från resten. Fast det verkar ju också lite långsökt.
Var inne och kikade i fjärren iaf. Kunde inte se något mer än 2st 8pin IC. Om det nu inte sitter något hemligt under displayen som man inte ser. Får kika i en mottagare och se vad som sitter där.
EDIT: Mottagaren har bara en stor svart klump på kretskortet, det säger ju inte mycket.
Många verkar vara intresserade, inklusive mig... kanske vore det en idé att starta någon sida på nätet för en DIY serieportssändare?! Typ på samma sätt som det finns projektsidor för IR-fjärrar...
Vad står det på de två 8-pin IC-kretsarna? Går det inte att djupdyka i "the world of google" och på så sätt klura ut kodningsprincipen?
Släng gärna upp ett macrofoto på IKEA-sändaren.. kan vara kul att se kretslösningen.
Vad står det på de två 8-pin IC-kretsarna? Går det inte att djupdyka i "the world of google" och på så sätt klura ut kodningsprincipen?
Släng gärna upp ett macrofoto på IKEA-sändaren.. kan vara kul att se kretslösningen.
Tänker högt/brainstorming/ger inspiration till tänkande:
Kan det vara någon variant av Manchesterkodning? ("Each bit to be sent is divided in half, the first half is the bit to be sent and the second half, it's compliment")
En variant är Bi-Phase:
"A less efficient, variation of Bi-phase is 1/3 : 2/3 bit coding. Each bit to be sent is divided into 3 parts, the first 1/3 is a low, mid 1/3 is the data bit and final 1/3 is high."

Kan det vara någon variant av Manchesterkodning? ("Each bit to be sent is divided in half, the first half is the bit to be sent and the second half, it's compliment")
En variant är Bi-Phase:
"A less efficient, variation of Bi-phase is 1/3 : 2/3 bit coding. Each bit to be sent is divided into 3 parts, the first 1/3 is a low, mid 1/3 is the data bit and final 1/3 is high."
Min kompis påpekade att om man skippar en halv bitlängd i början, eller eventuellt lägger på en halvbitlängd låg puls, så passar det in på mönstret för manchesterkodning. Och om man gör det så verkar datan man får ut vara mer realistisk. Dock har jag inte haft tid att studera det så noga än, men jag tror vi är nära lösningen nu 

Efter en helvettes massa timmars forskande har jag kommit fram till att det är manchesterkodning samt vilka bitar som har vilken funktion. Tyvärr så verkar det som om datan är krypterad på något vis, för det finns verkligen ingen logik i hur datan ser ut 
Fan också, kanske blir till att fulhacka i alla fall

Fan också, kanske blir till att fulhacka i alla fall

Jag har väldigt svårt att tro att dom har lagt in någon vettig kryptering i dessa produkter, jag ser helt enkelt inte vitsen med det.
Utan att ha fördjupat mig i det hela skulle
jag hellre tro att konstigheterna beror på en "felaktig" implementation än att dom har lagt tid på "kryptering".
Jag hittade förresten en "sändarmodul" i källaren så det blir till att testa att styra Nexa mottagarna jag har hemma. Frågan är bara om det är rätt modul?!? Köpte dom för många år sedan, och kommer inte ihåg vars
Kör du med bit-bang eller UART för Nexa?
/Croaton
Utan att ha fördjupat mig i det hela skulle
jag hellre tro att konstigheterna beror på en "felaktig" implementation än att dom har lagt tid på "kryptering".
Jag hittade förresten en "sändarmodul" i källaren så det blir till att testa att styra Nexa mottagarna jag har hemma. Frågan är bara om det är rätt modul?!? Köpte dom för många år sedan, och kommer inte ihåg vars

Kör du med bit-bang eller UART för Nexa?
/Croaton
Både Nexa och IKEA måste bitbangas.
Vettig har jag aldrig sagt att krypteringen är. Den är säkert något busenkelt i stil med Xor 42 eller liknande.
Kolla den här till exempel. B är värdet jag skickar med fjärren och A är värdet jag sniffar upp i luften. Kan någon tala om för mig hu i helvette de har tänkt?
Visst, i det här läget är det ju inga problem att använda en lookup-table. Men nästa steg är isof att göra en 11 bitars lookup-table för lamporna, den får nog inte plats i AVR:en. Dessutom är den nog inte så kul att göra manuellt heller. :-x
EDIT: Ändrade lite fel
Vettig har jag aldrig sagt att krypteringen är. Den är säkert något busenkelt i stil med Xor 42 eller liknande.
Kolla den här till exempel. B är värdet jag skickar med fjärren och A är värdet jag sniffar upp i luften. Kan någon tala om för mig hu i helvette de har tänkt?

Visst, i det här läget är det ju inga problem att använda en lookup-table. Men nästa steg är isof att göra en 11 bitars lookup-table för lamporna, den får nog inte plats i AVR:en. Dessutom är den nog inte så kul att göra manuellt heller. :-x
EDIT: Ändrade lite fel

Senast redigerad av chille 21 juni 2006, 13:01:05, redigerad totalt 3 gånger.
Det som _jag_ kör med till Nexan är timer output compare. Rätt smidigt eftersom det kör med avbrott och frigör CPU och UART till annant. På UART:en kör jag sedan ett kommunikationsprotokoll för att styra Nexamodulerna. Att köra själva radiooutputen via UART:en tror jag blir jobbigt. Bättre isåfall med SPI-porten om man bara lyckas få in den på rätt hastighet och enbart använda TX utan klocka. Har man timer OC så tror jag det är bäst.
PS. Köpte mig också några IKEA-moduler igår! Så det blir väl till att fixa stöd för dom också nu. DS.
PS. Köpte mig också några IKEA-moduler igår! Så det blir väl till att fixa stöd för dom också nu. DS.
Har inte lusläst hela tråden, men du nämner manchesterkodning. Har du koll på vad som är preamble och sync bitar i dataströmmen ? Preamble bitarna är till för starta upp mottagaren och skapa en DC nivå i den. Sync byten är till för att synka upp mottagarens UART så den vet när första riktiga startbiten kommer. anchesterkoden är som sagt DC balanserad = lika många nollor som ettor. Räknar du inte bort skräpet från preamblen och syncen när du avkodar datat kommer det bara bli skräp. Så, får du exakt samma data i det du snifar upp i luften alla gånger du sänder ?
Lika föråldrat som radioöverföring skulle jag tro..
syftet med Manchesterkodning är, som Wise är inne på, balanserad. Genom kodningen så förhindrar man långa perioder med samma DC-nivå (typ att sända 0x91 utan kodning)... radiomottagaren funkar bättre då helt enkelt. Fråga mig inte om detaljerna. =) Kan även verifiera det där med preamble och sync, känner igen att jag fick lära mig nått sånt för ett tag sedan...

Jag har googlat runt och läst på och kan verkligen inte hitta något om preamble. Det enda jag kommer fram till är att preamble är skräpet som skickas i början för att sparka liv i mottagaren. Och det ska tydligen inte spela någon roll om man kodar av det. Jag får ju ändå 00001010 eller nått sånt i början som jag ignorerar.
Här är en rätt bra AN att läsa om preamble o sync: http://www.radiotronix.com/datasheets/an401.pdf