Sida 1 av 16

PC-styrning av Bergvärmepump

Postat: 13 oktober 2006, 20:39:53
av ankan
Har en NIBE 1230 bergvärme pump som man kan köpa till en kommunikationsenhet för ca 11000:- för att kunna kommunicera med den via internet, SMS mm.

Kommunikationen mellan bergvärmepumpen och kommunikationsenheten är RS-485 vad jag förstår. Ska läsa på det lite mer.
Själva kommunikationsenehten verkar vara en webserver med nätverkkort, RS-485 ingång och sedan ett GSM-modem.

Det jag undrar är om någon redan kanske vet hur man kommunicerar mot Nibes värmepumpar eller har tips på hur jag ska kunna luska ut protokollet.

Info om enheten hittar ni här: http://www.nibe.se/rcu
Manual till enheten: http://www.nibeonline.com/pdf/611647-4.pdf

Postat: 13 oktober 2006, 22:31:58
av BMI
Jag har också en Nibe pump. Jag har pratat med Nibe om vad för protokoll de använder, Svaret jag fick var att det var ett egenutvecklat protokoll som de inte släppte ut till någon.Hur hemligt kan det vara
Så kanske lite hacking måste till !!!

Postat: 13 oktober 2006, 22:37:07
av ankan
Förstog nästan att det var egenutvecklat. Men det borde inte vara så svårt att lösa. Man skickar in lite kommandon och ser vad man får. Bästa av allt skulle vara om någon med kontrollermodulen kunde sniffa trafiken bara.

Protokollet är nog inte särskillt anvacerat. Tyvärr har jag ingen kuskap om RS-485 ännu, men det går ju alltid att lära sig.

Ingen här som har NIBE med kontrollerenhet som har lust att sniffa lite?

Postat: 14 oktober 2006, 10:52:37
av TomasL
RS 485 är bara ett elektriskt protokoll, används mycket inom industrin då det är relativt störningssäkert, använder twisted pair.

Skaffa en 485 tranceiver (MAX-xxx, eller nått sånt), sedan kan du försöka sniffa.

Postat: 14 oktober 2006, 14:04:01
av ankan
JO jag förstår att det är bara det elektriska protokollet som kallas RS-485.
Det jag är ute efter är själva protokollet som används av styrenheten och kontrollenheten. Dvs vilka kommandon kontrollenheten skickar för att få svar från styrenheten.
Det är säkert inte särskillt komplext men hur skulle jag kunna få fram protokollet om jag inte vet vilka kommandon jag måste skicka?

Postat: 14 oktober 2006, 16:10:42
av Icecap
Det kallas "trial and error".

Testa dig fram och se vilka resultat du får. NOTERA DESSA!

Efter ett tag får du kanske se att kommandon finns inom en viss blockstruktur varefter det blir mycket lättare.

De kan också vara så "elaka" att de har stängt kommunikationen helt fram till man skicker ett visst lösenord.

Jag hade ju plockad isär styrenheten, kollat om det fanns en EPROM eller något minne man kan läsa, fannse det sånt ville jag snabbt dumpa det till en fil och konvertera det till text och plötsligt finns det ofta en tabell med kommandon.

Men det kan vara enkelt om de är bättre på att bygga pumper och det kan vara svårt om de är skapliga på att programmera också.

Jag hade ju kanske testat om man kunne få ett öppet köp på den dosa för att se om det var grejen, kopplat på en sniffer och sett hur den kommunicerar varefter jag hade lämnat tillbaka inom "öppet köp"-tiden och sagt "nej tack, det var inte vad jag ville ha..."

Postat: 14 oktober 2006, 17:34:55
av BMI
Det är ytmonterade PIC processorer på styrkorten o i modulen

Postat: 14 oktober 2006, 18:29:09
av Icecap
De är antagligen kodskyddad vilket gör det nära nog omöjligt att läsa.

Alltså kvarstår att testa eller att "låna" och sniffa.

Postat: 14 oktober 2006, 18:34:22
av BMI
PIC 16LF876 Går de att läsa "öppna" om kodskyddet är satt ?

Postat: 14 oktober 2006, 18:48:41
av TomasL
Inga kodskyddade PICar går att läsa oavsett hur man gör.

En gång i tiden gick det att låsa upp kodskyddade kretsar, då man kan använda UV för att radera en Flash-krets.
Dvs man "röntgade" kretsen för at ta reda på var chippet satt fysiskt i kappsel, sedan fräste man bort kapseln precis ovanför de minnesceller där kodskyddet fans, och vips hade man en oskyddad krets.
Nåväl, vad kretstillverkarna gjorde för att förhindra denna typ av manipulation var att "slumpmässigt" flytta den fysiska placeringen av dessa minnesceller, så man inte kan få reda på var dessa är belägna, senare så flyttade man ner dessa celler i kislet, vilket innebar att diverse komponenter hamnade ovanför dessa minnesceller, och därmed blev oåtkomliga för UV, och därmed inte var möjliga att raderas.

Summa sumarum, det går inte att knäcka kodskyddet i en processor med inbyggt programminne.
Din enda chans är att "få tag på" det riktiga kortet, koppla in det och sniffa kommunikationen.
Tror det är fullständigt omöjligt (för nån som inter har ett antal miljoner att lägga ned) att på måfå skicka "kommandon" till styrningen.
Du vet inte vilket protokoll som används, inte hur strukturen är uppbyggd, inte hur långa paketen skall vara, är kommandona binära, klartext ett eller flera bytes långa, BigEndian eller inte osv.

Mitt råd är, så länge du inte "får" protokollet eller kan sniffa av det, glöm idee'n

Postat: 14 oktober 2006, 20:34:55
av ankan
Även om öppet köp skulle kunna vara något så är priset alldeles för högt för att jag ska ha råd att lägga ut det tillfälligt på en sådan grej.
Hoppas på att någon som redan har kommunikationsenheten har lust att sniffa lite.

Någon här som har och vill sniffa?

Postat: 14 oktober 2006, 21:03:08
av BMI
Vad skall man sniffa med ?

Postat: 14 oktober 2006, 21:10:05
av TomasL
Tja, nån form av protokollanalysator, typ.

Postat: 14 oktober 2006, 21:22:38
av ankan
Det är väll bara att koppla kommunikationsenheten direkt till datorn via en RS-485 till USB/RS232 adapter och se vad den spottar ur sig. Sedan kan man prova att skicka den informationen till styrenheten tex.

Annars skulle det såklart vara smidigast om man kunde låta trafiken gå via PCn och logga på det sättet med något trevlig program som loggar trafiken.

Postat: 14 oktober 2006, 21:31:19
av BMI
2 eller 4 tråds kommunikation ?