0 medlemmar och 8 gäster tittar på detta ämne.
Du skulle inte kunna tänka dig att lägga upp detta till allmän beskådning, eller har du tänkt dig profit på det?Jag tex skulle vara intresserad av att köpa kretschemat av dig....
Ridax är DS1820 kompatibel med DS18S20 i din lösning?Har någon en lösning för att läsa in rå-data fråm tempmätare 433 MHz till en PC i Windows miljö, jag skulle behöva en sådan om det inte är för dyrt.
Citat från: tipo874 skrivet 29 april 2005, 11:10:58Det funkar i vilket fall med en vanlig 433MHz mottagare för att ta emot rådatat.Jeg har (nesten) dekodet protokollen til den trådløse senderen til Clas Ohlson (type WT450H), og den er ikke slik som Ridax beskriver lenger oppe.... Clas Ohlson mottakerne (art 36-1793 og 36-1794).
Det funkar i vilket fall med en vanlig 433MHz mottagare för att ta emot rådatat.
Decode signal from Esic brand wireless thermometer/hygrometer. My sensor/transmitter units are bought at Clas Ohlson, product number 36-1794 (for main unit with one sensor) (http://www.clasohlson.se/link/m3/Product,Product.aspx?artnr=36-1794). Extra sensors are available as 36-1797. These products are manufactured by W.H. Mandolyn International Ltd. The sensor unit has their product ID WT450H, receiver unit WS2015H. All units marked as Esic brand. The signal is FM encoded with clock cycle around 2000 µs No level shift within the clock cycle translates to a logic 0 One level shift within the clock cycle translates to a logic 1 Each clock cycle begins with a level shift My timing constants defined below are those observed by my program +---+ +---+ +-------+ + high | | | | | | | | | | | | | | + +---+ +---+ +-------+ low ^ ^ ^ ^ ^ clock cycle | 1 | 1 | 0 | 0 | translates as Each transmission is 36 bits long (i.e. 72 ms) Data is transmitted in pure binary values, NOT BCD-coded. Example transmission (House 1, Channel 1, RH 59 %, Temperature 23.5 °C) 110000010011001110110100100110011000 b00 - b03 (4 bits): Constant, 1100, probably preamble b04 - b07 (4 bits): House code (here: 0001 = HC 1) b08 - b09 (2 bits): Channel code - 1 (here 00 = CC 1) b10 - b12 (3 bits): Constant, 110 b13 - b19 (7 bits): Relative humidity (here 0111011 = 59 %) b20 - b34 (15 bits): Temperature (see below) b35 - b35 (1 bit) : Parity (xor of all bits should give 0) The temperature is transmitted as (temp + 50.0) * 128, which equals (temp * 128) + 6400. Adding 50.0 °C makes all values positive, an unsigned 15 bit integer where the first 8 bits correspond to the whole part of the temperature (here 01001001, decimal 73, substract 50 = 23). Remaining 7 bits correspond to the fractional part. To avoid floating point calculations I store the raw temperature value as a signed integer in the variable esicTemp, then transform it to actual temperature * 10 using "esicTemp = (esicTemp - 6400) * 10 / 128", where 6400 is the added 50 times 128. When reporting the temperature I simply print "esicTemp / 10" (integer division, no fraction), followed by a decimal point and "esicTemp % 10" (remainder, which equals first fractional decimal digit). Summary of bit fields: 1100 0001 00 110 0111011 010010011001100 0 c1 hc cc c2 rh t p c1, c2 = constant field 1 and 2 hc, cc = house code and channel code rh, t = relative humidity, temperature p = parity bit Main decoding was done by Øyvind Kaurstad (http://personal.dynator.no/), who reported about his work back in 2006 at http://www.varmepumpsforum.com/vpforum/index.php?topic=3145.msg101023#msg101023 (Swedish forum, Øyvind writes in Norwegian). On my request he let me share his findings (a spreadsheet analyzing signals as captured by a digital oscilloscope), which made it quite easy for me to write the actual code that decodes the wireless signal I receive.