|
WMR918
PCLINK protocol
(Version 0.2 with 600mb barometer supported)
1.
Serial data is sent in 9600 bps from Main unit to PC
through RS232
2. For the PC to receive the data from WMR918,
the 'Request to send' pin of the PC must be setted to request
data, otherwise no data
will be sent.
3. When WMR918 is going to send the data,
it will send a header 'FFFF'
first, then
follow by the code of the
type of data
4. At the end of data,
WMR918 will send the
checksum of the data
5. WMR918 will send data to the PC when new
data is received.
6. WMR918 will send the 'Minute' data to
the PC every minute to ensure connection
is OK.
7. WMR918 will send the clock data every
1 hour or when new RF clock time is being
received
8. WMR918 will not send the data continously
to the PC, it will send the data byte by
byte. (ie. If there is other task for WM918
to complete such as to receive sensor data,
WMR918 will go to receive the data first,
then resume the sending of PC data).
| Data |
Data Type |
| Wind |
Rain |
TH |
Mushroom |
T |
BTH |
Minute |
Clock |
EXTBTH |
| Header 1 |
Bit
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 2 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit
4 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 5 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 6 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 7 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Header 2 |
Bit
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 2 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit
4 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 5 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 6 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| Bit 7 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
3rd Byte
(Device type) |
Bit 0 |
0000000
wind |
00000001
rain |
00000010
thermo
hygro |
00000011
mushroom |
00000100
thermo
only |
00000101
thermo
hygrobaro |
00001110
Minute |
00001111
Clock |
00000110
thermo
hygrobaro |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 4th Byte |
Bit 0 |
-- |
-- |
Channel
number |
-- |
Channel
number |
-- |
Date1 digit
minute |
Date1 digit
minute |
-- |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
Gust over |
Rate over |
Dew under |
Dew under |
-- |
Dew under |
Date10
digit
minute |
Date10
digit
minute |
Dew under |
| Bit 5 |
Avgerage
over |
Total over |
-- |
-- |
-- |
-- |
| Bit 6 |
Low batt. |
Low batt. |
Low batt. |
Low batt. |
Low batt. |
Low batt. |
Low batt. |
| Bit 7 |
-- |
Yesterday
over |
-- |
-- |
-- |
-- |
Batt. Low |
Batt. Low |
-- |
| 5thByte |
Bit 0 |
Winddirection1° digit |
CurrentRain
Rate1 digit
in mm/hr |
Temp0.1°Cdigit |
Temp0.1°Cdigit |
Temp0.1°Cdigit |
Temp0.1°Cdigit |
Check-sum |
Date1 digithour |
Temp0.1°Cdigit |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
Winddirection10° digit |
CurrentRain
Rate10 digit
in mm/hr |
Temp1°Cdigit |
Temp1°Cdigit |
Temp1°Cdigit |
Temp1°Cdigit |
Date10 digithour |
Temp1°Cdigit |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 6thByte |
Bit 0 |
Winddirection100° digit |
CurrentRain Rate100 digitin mm/hr |
Temp10°Cdigit |
Temp10°Cdigit |
Temp10°Cdigit |
Temp10°Cdigit |
|
Date1 digitDay |
Temp10°Cdigit |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
GustWindSpeed0.1m/sec |
TotalRainfall0.1 digitin mm |
Temp100°C |
Temp100°C |
Temp100°C |
Temp100°C |
Date10 digitDay |
Temp100°C |
| Bit 5 |
| Bit 6 |
Over/Under |
Over/Under |
Over/Under |
Over/Under |
Over/Under |
| Bit 7 |
Sign |
Sign |
Sign |
Sign |
Sign |
| 7thByte |
Bit 0 |
GustWindSpeed1 m/sec |
TotalRainfall1 digitin mm |
Hum1% digit |
Hum1% digit |
Check-sum |
Hum1% digit |
Date1 digitMonth |
Hum1% digit |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
GustWindSpeed10 m/sec |
TotalRainfall10 digitin mm |
Hum10% digit |
Hum10% digit |
Hum10% digit |
Date10 digitMonth |
Hum10% digit |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 8thByte |
Bit 0 |
AverageWindSpeed0.1 m/sec |
TotalRainfall100 digitin mm |
DewTemp1°Cdigit |
DewTemp1°Cdigit |
|
DewTemp1°Cdigit |
Date1 digitYear |
DewTemp1°Cdigit |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
AverageWindSpeed1 m/sec |
TotalRainfall1000 digitin mm |
DewTemp10°Cdigit |
DewTemp10°Cdigit |
DewTemp10°Cdigit |
Date10 digitYear |
DewTemp10°Cdigit |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 9thByte |
Bit 0 |
AverageWindSpeed10 m/sec |
YesterdayRainfall1 digitin mm |
Check-sum |
Check-sum |
ADCBARO
Reading |
Check-sum |
ADC0BARO
Reading |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
-- |
YesterdayRainfall10 digitin mm |
| Bit 5 |
Chill no
data |
| Bit 6 |
Chill over |
| Bit 7 |
Sign |
| 10thByte |
Bit 0 |
WindChill1°Cdigit |
YesterdayRainfall100 digitin mm |
|
WeatherStatus |
|
ADCbit9 |
| Bit 1 |
-- |
| Bit 2 |
| Bit 3 |
| Bit 4 |
WindChill10°Cdigit |
YesterdayRainfall1000 digitin mm |
|
-- |
|
WeatherStatus |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 11thByte |
Bit 0 |
Check-sum |
TotalStart Date1 digitminute |
|
Sea level
offset0.1
digitmb |
|
-- |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
TotalStart Date10 digitminute |
|
Sea level
offset1
digitmb |
|
Sea level
offset0.1
digitmb |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 12thByte |
Bit 0 |
|
TotalStart Date1 digithour |
|
Sea level
offset10
digitmb |
|
Sea level
offset1
digitmb |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
TotalStart Date10 digithour |
Sea level
offset100
digitmb |
Sea level
offset10
digitmb |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 13thByte |
Bit 0 |
|
TotalStart Date1 digitDay |
|
Check-sum |
|
Sea level
offset100
digitmb |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
TotalStart Date10 digitDay |
Sea level
offset1000
digitmb |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 14thByte |
Bit 0 |
|
TotalStart Date1 digitMonth |
|
Check-sum |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
TotalStart Date10 digitMonth |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 15thByte |
Bit 0 |
|
TotalStart Date1 digitYear |
|
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
TotalStart Date10 digitYear |
| Bit 5 |
| Bit 6 |
| Bit 7 |
| 16thByte |
Bit 0 |
|
Check-sum |
| Bit 1 |
| Bit 2 |
| Bit 3 |
| Bit 4 |
| Bit 5 |
| Bit 6 |
| Bit 7 |
Weather Status :
1100-sunny
0110-half cloudy
0010-cloudy
0011-rainny
Channel :
0001- Channel 1
0010- Channel 2
0100- Channel 3
over:
1=over range
0=normal
under:
1=under range
0=normal
over/under :
1=over /under
0=normal
* to identify over/under
check also the sign of data
Low batt. :
1=low battery
Batt.Low :
1=low battery of main unit
Sign:
0=positive
1-negative
ADC baro reading :
range 0 to FF (hex)
ADC0 & ADCbit9
range : 0 to 1FF (Hex)
where ADC0 is the LSB
ADCbit9 is the MSbit
Note :
1. For Device 5 (BTH), the barometic pressure
reading = ADC baro reading (converted from
HEX to BCD) + 795mb
For Device 6 (EXTBTH), the barometric pressure
reading = ADC reading (converted from 9 bit
HEX to BCD) + 600mb
2. For Device 5 (BTH), the Sea level offset
of 1000mb digit is not send out. If the Sea
level offset pressure is less than 400.0mb,
then it means the Sea level offset is (1000mb
+ offset). Howver, if the offset is larger
or equal to 400.0mb, then (0mb + Offset)
The above will only applied to device 5.
There is NO NEED TO ADJUST FOR DEVICE 6 (EXTBTH)
3. Sea level pressure reading = ADC baro
reading (converted from HEX to BCD) + Sea
level offset
4. Total start date = The date that total
rainfall started to count.
5. The total rainfall that send is added
by 0.5mm, please minus 0.5mm before display.
6. Check sum = the lower byte of the sum
of the data send (include header)
|