Hur man avkodar en trådlös termometer! [bilder]

Berätta om dina pågående projekt.
Användarvisningsbild
ElectricMan
Inlägg: 4874
Blev medlem: 21 februari 2007, 20:22:48
Skype: ElectricManSwe
Ort: Luleå
Kontakt:

Inlägg av ElectricMan »

Det går väl inte att köpa en 628 mer? (kollade på din avatar :) )
einpajo
Inlägg: 20
Blev medlem: 23 mars 2006, 14:06:35

Inlägg av einpajo »

Hade exakt samma ide för ett tag sedan (då NEXA tråden var het, var billigare att köpa en termometer än en nexa dosa/Kjells 433 modul) men som vanligt kommer inte mina projekt längre än till tanken.
Jag tog en sådan termometer och skalade ner den för att hitta "data pinnen" Kopplade rasket till ljudkortet och spelade in lite olika temp. och försökte tyda det. Kul att du lyckades bättre än mig med tolkningen, kanske skall ta upp detta igen.

Som sagt, skulle va bra med en mottagare också. Har ju mitt MP3-dörrklockeprojekt som ligger och ruvar på att jag skall få fart på de grå när det gäller elektronik. Tänkte detektera signalen från vår trådlösa dörrklocka och när man fått den spela valfritt ljudklipp i takhögtalarna (kopplade till min server). (ev skulle man också försöka skicka en TA till stereon med RDS så att den avbryter ev musik på den. Vet dock inte om RDS/TA stöds/kan skickas med FM-sändare) Problemet är att jag är för kass på hur man kopplar 433 mottagare, MAX232, serieporten och sedan skriver drivern till det.

En annan fråga, är den största anledningen till att ha en microproc. "innan" serie porten att man skall skala bort "brus" så att man inte får interrupt på serieporten hela tiden?
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Samman skrev:Kolum B är paritet. Jag har suttit och räknat på det och det har stämt var enda gång.

Det är jag nästan 1000% säker på.
Vad är "nästan" 1000% =)
Skulle du kunna förklara hur du räknat? Jag kan nämligen inte se sambandet.. . :? Lite data (temp; antal_ettor_på_raden; kolumn_b):

Kod: Markera allt

28,3 21 0
25,4 20 0
21,4 19 1
21,5 19 0
 1,6 17 1
 9,0 17 0


einpajo:
Nu vet jag inte om du syftar på något särskilt exempel, men när kan man koppla mottagaren direkt till serieporten? Få radiolösningar använder det man brukar kalla "RS232"-protokollet med startbit, n bitar och stopbit som kanalkodning.
Största anledningen att använda en uC är att göra kanalavkodningen, dvs avkoda det protokoll som används för rf-länken i fråga. En uC lyssnar också efter preamble och kollar eventuellt checksumma/paritet.
Samman
Inlägg: 133
Blev medlem: 7 februari 2007, 10:37:21
Ort: Ängelholm

Inlägg av Samman »

Räkna bara antalet ettor.. om det är jämnt antal så blev det en nolla eller en etta..
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

om det är jämnt antal så blev det en nolla eller en etta
Menar du verkligen vad du skriver... ? :D

Hur jag än räknar så får jag det inte att stämma. Raden för 28,3 har 21 ettor, raden för 25,4 har 20 ettor. BÅDA rader har 0 som paritet..
:?:
Samman
Inlägg: 133
Blev medlem: 7 februari 2007, 10:37:21
Ort: Ängelholm

Inlägg av Samman »

Jag skall kolla det där hemma. Men jag vet att jag fick ihopa det.... Skriver ett svar ikväll.
Samot
Inlägg: 311
Blev medlem: 15 november 2004, 18:32:13

Inlägg av Samot »

oJsan:
På din termometer, vet du om mottagaren bara godkänner ett medelande/minut. Eller skulle det gå att skicka data till den hela tiden om man nu räknar ut checksumman?

Skulle vara roligt att ha den som trådlös display till något annat som sagt.

// Tomas
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Eftersom mottagaren bara lyssnar och inte kan tala om när sändaren ska sända så antar jag att man kan skicka ny data så ofta man vill.
Samman
Inlägg: 133
Blev medlem: 7 februari 2007, 10:37:21
Ort: Ängelholm

Inlägg av Samman »

Då skall vi se. Räkna på kolumn C, D, E. Jämn siffra = 0 Ojämn = 1

28,3 = 6 1:or = 0
25,4 = 6 1:or = 0
21,4 = 5 1:or = 1

osv.. Det är de papprena jag fick av en kompis som avkodat sådana.
Hoppas att det inte är helt fel. För det fungerar med programmet jag skrev till det.
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Ja titta, det stämmer ju bra det! Har även kollat på Thomas Pfeifer's samples och de stämmer också.
Så du har alltså en kompis som har avkodat detta protokoll? :waving: Vad sägs om att dela med sig lite mer av det där pappret?! :)
Skrev du ett program för att sända eller ta emot data enligt detta protokoll?
Samot
Inlägg: 311
Blev medlem: 15 november 2004, 18:32:13

Inlägg av Samot »

ojsan.
Man kan ju också tänka sig att när den fått en godkänd dataström så går den i sleep å stänger av mottagaren i 59 sek för att spara batteri.
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Tänkte också den tanken... men en mottagare tar ju inte så mycket ström, och med tanke på att mottagaren stödjer flera sändare så tror jag inte att de krånglat till det mer än nödvändigt.
Samot
Inlägg: 311
Blev medlem: 15 november 2004, 18:32:13

Inlägg av Samot »

Men nu är ju checksumgåtan löst!

Jag får testa, ska inhandla en termometer vid tillfälle.
Samman
Inlägg: 133
Blev medlem: 7 februari 2007, 10:37:21
Ort: Ängelholm

Inlägg av Samman »

@oJsan

Källkoden är inte öppen då detta var ett projekt till ett företag. Så jag har inte källkoden kvar. Programmet läste bara av tempuraturer i olika rum.

Men Jag har införskaffat ny utrustning hemma och skall göra ett eget program med loggningsfunktioner m,m. Samt att man kan scanna efter enheter.

Fick förra veckan mottagare m.m. Så nu skall allt bara kopplas upp igen.
Har kvar alla mina gamla anteckningar..på papper...
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Samot skrev:Men nu är ju checksumgåtan löst!
Njaa.. vi vet bara att kolumn B är paritet. Kolumn H återstår att lösa...

Dessutom måste ju ett sändaren slumpa fram en adress som skickas i ett speciellt synk-paket då den startas upp. Mottagaren låser till detta syn-paket och lyssnar sedan bara på denna adress... annars finns det ju risk att man läser av grannens temperatur.

Vill man bara läsa av temperaturen från EN givare utan att det finns andra i närheten så behövs det inte mer info än jag hade listat ut i första inlägget.

Samman: Någon källkod har jag inte nytta av... det är protokollet som är intressant. Använde din kod adresseringen för att läsa av rätt sändare? Synk?

Edit: Ang synk-paketet vid uppstart så är det ett _antagande_ från min sida. Önskar att jag hade mer tid att prova.. tidigast till helgen.
Skriv svar