Pitva meteostanice GARNI 2INT

meteostanice GARNI 2INT a noname
      14.9.2020 V sobotu během horkého letního odpoledne, když končila radioburza ve Svitavách, kecali jsme ještě s kámošem na parkovišti před areálem a po očku sledovali, jak někteří odjíždějící prodejci zoufale zastavují u popelnic a vrší na hromadu svůj neprodejný šrot. Tak jsme se tam pak zašli podívat a mimo jiné tam leželo několik různých polámaných meteostanic. Hodil jsem je do auta k pozdějšímu prozkoumání, primárně by se mi z nich mohly hodit solární panýlky. Byly tam 3 různé typy, nějaké shitovější noname a také kvalitněji zpracované meteostanice GARNI 2INT (integrované bezdrátové čidlo), které je součástí bezdrátového systému připojitelného k PC GARNI 935PC. Na tyto stanice se dokonce dají koupit různé náhradní díly. Jednu GARNI 2INT, která byla v nejhorším stavu s nálepkou "DEAD", jsem rozebral a nyní se můžeme podívat, co se uvnitř nachází zajímavého.

meteostanice GARNI 2INT-z boku meteostanice GARNI 2INT-shora meteostanice GARNI 2INT-měřič srážek

      Jednotka je napájená ze 3 baterií AA 1,5 V a za světla také ze solárního panýlku velikosti 78 x 48 mm. Při osvícení jasným sluncem jsem u něj naměřil napětí na prázdno 7,1 V a proud na krátko 75 mA. Uvnitř je několik menších destiček s různými senzory a jedna větší základní deska. Na destičce u držáku baterií je velký elyt 10 mF / 10 V pro solární panýlek a patrně lineární regulátor 3,3 V pro napájení většiny obvodů. Otáčky anemometru jsou snímané pomocí rotujícího magnetu a jazýčkového relé. Směr větru z korouhvičky je snímán opět magneticky pomocí 2 analogových Hallových senzorů natočených proti sobě o 90°. Vydatnost srážek se měří tak, že se déšť sbírá do trychtýřku pod nímž se plní malá plastová lžíce a když je v ní dost vody, tak se převáží a obsah se vyleje ze spodku stanice ven. Druhá strana lžíce s magnetem se zvedne nahoru a přiblíží se k jazýčkovému relé, které započítá impuls. Pak se lžíce vrátí do klidové polohy a znovu se plní. Na další malé destičce najdeme digitální kombinovaný senzor teploty a relativní vlhkosti Sensirion SHT31. připojený přes sériovou sběrnici I2C. Na další malé destičce je mrňavý optický senzor pro měření UV indexu, též připojený přes I2C (avšak jinou sběrnici než teploměr), navíc ještě s výstupem INT.
      Na základní desce najdeme nějaký MCU s vybroušeným značením, pravděpodobně PIC od Microchipu. K němu je připojená I2C EEPROM Atmel AT24C04C. Pak je tu záhadný černý plivanec, který komunikuje po SPI s vysílacím čipem Hope RF67. Jedná se o vysílač pro pásma 315, 434, 868 a 915 MHz, podporuje modulace FSK, GFSK, MSK, GMSK a OOK rychlostí až 600 kb/s s programovatelným výkonem -18 až +17 dBm (50 mW). S těmito čipy se dají koupit i hotové moduly např. v TME stojí 75 Kč. Po připojení napájecího napětí 4,5 V jsem naměřil odběr asi 3 mA. Zkontroloval jsem činnost všech krystalových oscilátorů: 32 kHz u MCU - běží stále, 32 kHz u plivance - běží stále, 3,6 MHz u plivance - zapíná se na krátkou dobu v intervalech 12 s, 32 MHz u RF67 - běží stále.

meteostanice GARNI 2INT-vnitřnosti meteostanice GARNI 2INT-MB-top meteostanice GARNI 2INT-MB-bottom meteostanice GARNI 2INT-optický senzor meteostanice GARNI 2INT-solární panýlek
vnitřnosti MB-top MB-bottom optický senzor solární panýlek

      Dále jsem se zaměřil na I2C komunikaci mezi MCU a jednotlivými senzory. Teploměr/vlhkoměr se podařilo identifikovat jako SHT31, avšak na optickém senzoru ani na jeho destičce není žádné značení. Podle tipu kamaráda Zakyho by to mohl být Silicon Labs Si1133 Trochu to vypadá, jak nějaké čínské modulky pro Arduino. Zde je dump komunikace s digitálním teploměrem/vlhkoměr, frekvence I2C hodin je asi 36 kHz. Poslední měření je po dýchnutí na senzor. První čtený Word je teplota, která se počítá podle vztahu: T[°C] = -45 + 175*(Traw/65535), následuje její 1-bytový CRC-8 dle polynomu x^8 + x^5 + x^4 + 1, další Word je relativní vlhkost, která se počítá podle vztahu: RH[%] = 100*(Hraw/65535) opět následovaná CRC-8.

SHT31 I2C-periodic measure start SHT31 I2C-fetch data
periodic measure fetch data

I2C data z teploměru/vlhkoměru:
meas. address dir. raw data command/data
1 44 W 21 30 periodic measure, 1 MPS
1 44 W E0 00 fetch data
1 44 R 6A 20 BC 74 F2 D9 27,547°C, CRC, 45,68%, CRC
1 44 W 30 93 break (stop measurement)
2 44 W 21 30 periodic measure, 1 MPS
2 44 W E0 00 fetch data
2 44 R 69 72 8D 77 DB FA 27,083°C, CRC, 46,82%, CRC
2 44 W 30 93 break (stop measurement)
3 44 W 21 30 periodic measure, 1 MPS
3 44 W E0 00 fetch data
3 44 R 6A 11 48 78 D9 01 27,507°C, CRC, 47,21%, CRC
3 44 W 30 93 break (stop measurement)
4 44 W 21 30 periodic measure, 1 MPS
4 44 W E0 00 fetch data
4 44 R 6A 8F 6E 75 5F 9D 27,844°C, CRC, 45,85%, CRC
4 44 W 30 93 break (stop measurement)
5 44 W 21 30 periodic measure, 1 MPS
5 44 W E0 00 fetch data
5 44 R 6E 65 F7 A3 C3 47 30,466°C, CRC, 63,97%, CRC
5 44 W 30 93 break (stop measurement)

Data z optického senzoru:

power on sequence:
address dir. raw data command/data
55 W 00
55 R 33
55 W 0B 01
55 W 11
55 R 2F
55 W 11
55 R 2F
55 W 0A C8 A6
55 W 11
55 R 20
55 W 11
55 R 20
55 W 11
55 R 20
55 W 0A 01 81
55 W 11
55 R 21
55 W 11
55 R 21
55 W 11
55 R 21
55 W 0A 78 82
55 W 11
55 R 22
55 W 11
55 R 22
55 W 11
55 R 22
55 W 0A 71 83
55 W 11
55 R 23
55 W 11
55 R 23
55 W 11
55 R 23
55 W 0A 40 84
55 W 11
55 R 24
55 W 0F 01

TBC...

      18.9.2020 V jednom vláknu o meteostanicích na bastlírně jsem narazil na zajímavý prográmek rtl_433, který pomocí známého USB DVB-T tuneru s čipem Realtek umožňuje přijímat a dekódovat digitální signál různých meteostanic a dálkových ovladačů vysílajících převážně v pásmu 433 a 868 MHz s modulací FSK/ASK/OOK. Program je k dispozici pro Linux i Windows. Pomocí programu HDSDR jsem se nejprve podíval, kde moje meteostanice vlastně vysílá. Ve vodopádovém grafu spektra jsem jasně uviděl krátké, pravidelně se opakující FSK bursty na střední frekvenci 868,289 MHz se zdvihem ±60 kHz.

GARNI 2INT 868MHz FSK burst spectrum

Program rtl_433 bohužel nezná modulaci/protokol mojí meteostanice, zachytí vysílání jen jako neznámý signál. Ani druhý typ noname stanice, který vysílá ASK/OOK modulací na 868,025 MHz nebyl detekován.


rtl_433.exe -f868000000 -s 1024k -G -D

Found 1 device(s)
trying device  0:  Realtek, RTL2838UHIDIR, SN: 00000001
Found Elonics E4000 tuner
Using device 0: Terratec T Stick PLUS
Sample rate set to 1024000.
Bit detection level set to 0 (Auto).
Tuner gain set to Auto.
Reading samples in async mode...
Tuned to 868000000 Hz.

Unknown modulation 11 in protocol!
!stopbit
preamble 1  413 10241
RH ASK preamble not found
bitbuffer:: Number of rows: 1
[00] {1} 00 : 0
2020-09-20 03:10:43 philips_callback: wrong number of bits (1)
Preamble not found, exiting! bit_offset: 0

rtl_433.exe -f868000000 -s 1024k -G -a -D
...
pulse_distance 14587668
pulse_start distance 14587668
pulse_start[1] found at sample 14587668, value = 8280
pulse_end  [1] found at sample 14613455, pulse length = 25787, pulse avg length = 25787
*** signal_start = 14577668, signal_end = 14623456
signal_len = 45788,  pulses = 1
Distance coding: Pulse length 25787

Short distance: 1000000, long distance: 0, packet distance: 0

p_limit: 25787
bitbuffer:: Number of rows: 0

      Jinou meteostanici, kterou jsem daroval kolegovi v práci, se podařilo programem detekovat a zdekódovat:


rtl_433.exe -v -f868000000 -s 1024k

Found 1 device(s)
trying device  0:  Realtek, RTL2838UHIDIR, SN: 00000001
Found Elonics E4000 tuner
Using device 0: Terratec T Stick PLUS
Sample rate set to 1024000 S/s.
Bit detection level set to 0.0 (Auto).
Tuner gain set to Auto.
Reading samples in async mode...
Tuned to 868.000MHz.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-09-17 15:22:57
model     : Fineoffset-WH65B                       ID        : 0
Battery   : 1            Wind direction: 45        Wind speed: 0.0 m/s       Gust speed: 0.0 m/s
Rainfall  : 0.0 mm       UV        : 0             UVI       : 0             Light     : 155.0 lux
Integrity : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-09-17 15:23:13
model     : Fineoffset-WH65B                       ID        : 0
Battery   : 1            Wind direction: 45        Wind speed: 0.0 m/s       Gust speed: 0.0 m/s
Rainfall  : 0.0 mm       UV        : 0             UVI       : 0             Light     : 46.0 lux
Integrity : CRC



Zpět

Aktualizováno 23.9.2020 v 13:06