Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Metalwork
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Apator - Odczyt radiowy wodomierza APATOR W-MBUS

mks 20 Feb 2017 09:00 24846 62
  • #1
    mks
    Level 11  
    Cześć,

    Czy ktoś z Was bawił się kiedyś w odczyt protokołu MBUS (W-MBUS / Wireless MBUS)? Szczególnie chodziłoby mi o odczyt wodomierzy polskich producentów z naciskiem na wodomierze firmy APATOR.

    Do tej pory patrzyłem na ramki wysyłane przez 2 różnych producentów wodomierzy i widzę znaczące różnice w ich długości.

    I drugie pytanie - czy korzystając z W-MBUS/MBUS i podpierając się normą producenci mogą szyfrować transmisję? I jak wygląda sprawa z dzieleniem się dokumentacją przez producentów? Macie jakieś doświadczenia w tym temacie?

    Edit: Po krótkim rekonesansie widzę, że:
    - Apator szyfruje część/całość ramki AES-128.
    - Producenci niechętnie dzielą się informacjami.

    W związku z tym pozwolę sobie zadać dodatkowe pytanie:
    - czy ktoś zna producenta, który chętnie dzieli się informacjami co i jak jego wodomierz wysyła?
    - czy ktoś z was ma jakieś informacje na temat ramek jakiegokolwiek producenta?

    Edit2: Być może zaoszczędzę komuś czas i pieniążki:
    - procek na nakładce radiowej jest zabezpieczony przed odczytem. Można się było tego spodziewać, ale i tak chciałem sprawdzić (rok ~2015).
    - najprawdopodobniej (99,9%) szyfrowanie i deszyfrowanie odbywa się na sprzęcie (nakładka/urządzenie do odczytywania). Oprogramowanie służy tylko do zbierania danych.
    - starsza wersja oprogramowania napisana w .NET i nie zabezpieczona przed dekompilacją (rok ~2009).
    - z niezaszyfrowanych informacji w ramce znajduje się numer nakładki
    - podobno... (kompletnie niesprawdzona informacja i nie do końca wiadomo do czego się odnosi) coś/ktoś/gdzieś/jakoś używał jako klucza AES-128 samych zer...
    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • Metalwork
  • #2
    retrofood
    VIP Meritorious for electroda.pl
    mks wrote:

    - Producenci niechętnie dzielą się informacjami.

    Nie wiem jak wygląda sytuacja z wodomierzami, jednak temat liczników energii elektrycznej nie zachęca do optymizmu. Dostawcy energii niechętnie się dzielą nawet informacjami niezbędnymi dla użytkownika, a wiedza o pełnych możliwościach liczników jest bardziej tajna niż o broni wojskowej. Niewielu pracowników dostawcy ma do niej dostęp i koniec. Monopolu nie da się przełamać.
  • #3
    mks
    Level 11  
    Można jednak zrozumieć strach przed ingerencją w odczyt...
    Pozostaje również chęć zarobku na oprogramowaniu i sprzęcie do odczytu.
    W każdym razie gdyby ktoś chciał zobaczyć jak wygląda elektronika z nakładki radiowej to zdjęcia są w załączniku ;)
  • #4
    TvWidget
    Level 35  
    W jakim celu potrzebujesz te informacje ?
    Do większości liczników dostępne są zewnętrzne rozwiązania pozwalające zdublować układ radiowy znajdujący się wewnątrz.
  • #5
    mks
    Level 11  
    Do napisania oprogramowania do odczytywania wodomierzy. Niestety jestem zdany na apatora a tenn nie chce udostępnić danych.
  • #6
    ShEvU_elektro
    Level 25  
    Producent deklaruje, że można zmienić klucz AES, gdy zna się ten wcześniejszy.
    W takim razie nowa nakładka, która kosztuje 93 netto, posiada klucz AES, który jest wyzerowany.

    Ciekawe, czy jest możliwość jakiegoś resetu klucza, gdy ma się fizyczny dostęp do nakładki... Pytałeś producenta ?

    P.S Sam przymierzam się do opanowania zdalnego odczytu.

    P.S 2 - możesz napisać symbol układu radiowego ? Wygląda mi na jakiś CC11xx

    P.S 3 - nie masz więcej takich działających nakładek ? Chętnie bym odkupił za niewielkie pieniądze :)
  • Metalwork
  • #7
    mks
    Level 11  
    ShEvU_elektro wrote:
    Ciekawe, czy jest możliwość jakiegoś resetu klucza, gdy ma się fizyczny dostęp do nakładki... Pytałeś producenta ?

    Nie, nie pytałem.

    ShEvU_elektro wrote:
    P.S Sam przymierzam się do opanowania zdalnego odczytu.

    Kiepsko to widzę po moich doświadczeniach niestety... Ale mam nadzieję, że się podzielisz informacjami, jakiekolwiek by one nie były :)

    ShEvU_elektro wrote:
    P.S 2 - możesz napisać symbol układu radiowego ? Wygląda mi na jakiś CC11xx

    Gdzieś go mam, sam pytałem na forum ST.

    ShEvU_elektro wrote:
    P.S 3 - nie masz więcej takich działających nakładek ? Chętnie bym odkupił za niewielkie pieniądze :)

    Tą co sobie kupiłem to "ucegliłem" (wyzerowałem program programatorem ST-Link). Ja kupiłem na najbardziej znanym portalu aukcyjnym za circa 50zł + przesyłka wraz z wodomierzem.

    Aktualnie sytuacja wygląda tak, że mam (i będę miał) dostęp zarówno do urządzenia odczytującego/programującego, jak i do programów. Jeśli się uzbroisz w cierpliwość to coś napiszę o tym jak znajdę czas żeby potestować. Raczej będzie to po majówce.

    Szczerze mówiąc nie wydaje mi się by domyślnym kluczem nakładki były same zera. Oczywiście mogę się mylić, ale mogę Ci dostarczyć przykładowe odczyty kilku tych samych nakładek, które różnią się jedynie datą/czasem. Jeśli by było tak jak mówisz to dałoby się odczytać te ramki.

    Jeśli będzie możliwość by rozgryźć jak to działa to spróbuję to zrobić. Myślę, że wtedy już z kawałkiem własnego softu.
  • #8
    ShEvU_elektro
    Level 25  
    Z tego co widzę to jest to układ SPIRIT1 od ST.

    Już zamówiłem dwa liczniki. Szukam jeszcze jednego, aby nakładka posłużyła jako dev-board.
  • #9
    mks
    Level 11  
    ShEvU_elektro wrote:
    Z tego co widzę to jest to układ SPIRIT1 od ST.

    Tak, to ten. Przynajmniej tak mi napisali na forum ST.

    Edit:
    ShEvU_elektro wrote:
    W takim razie nowa nakładka, która kosztuje 93 netto, posiada klucz AES, który jest wyzerowany.

    Faktycznie, nowa nakładka ma domyślnie klucz AES składający się z samych zer.
  • #10
    ShEvU_elektro
    Level 25  
    mks wrote:
    Szczerze mówiąc nie wydaje mi się by domyślnym kluczem nakładki były same zera. Oczywiście mogę się mylić, ale mogę Ci dostarczyć przykładowe odczyty kilku tych samych nakładek, które różnią się jedynie datą/czasem. Jeśli by było tak jak mówisz to dałoby się odczytać te ramki.

    Bardzo chętnie popatrzę na te dane.
  • #12
    ShEvU_elektro
    Level 25  
    Super. Dzięki.
    Dorwałeś już może jakieś dokumentacje wm-bus ?

    Możesz podać ID nakładki, której ramki są w tym pliku ?

    Na dniach przyjdą moje liczniki, więc też powalczę :-)
  • #13
    mks
    Level 11  
    Tak z głowy Ci nie podam. Na innym przykładzie mogę, ale jak wrócę do domu.
    Ale generalnie jest to to żółte pole A-Field.
    Jak masz wartość: 53 83 07 01 05 07 to generalnie czyta się "od tyły". Coś w stylu 50 10 70 38 53. Numer nakładki masz na samej nakładce i na PCB (tam gdzie jest QR kod).

    Co do dokumentacji to cała jest w necie, ale próba rozszyfrowania tego bez znajomości co jest wysyłane to rzecz karkołomna. W Apatorze tych rzeczy jest bardzo dużo.
  • #14
    ShEvU_elektro
    Level 25  
    Ok rozumiem. Czym zbierałeś ramki ?
  • #15
    mks
    Level 11  
    ADEUNIS DONGLE USB WMBUS AMR + soft tej samej firmy (za darmo, po wcześniejszym mailowym kontakcie)
    Równie dobrze można stosować byle terminal (np Termite) bo wszystko leci po COMie.
  • #16
    nyczz
    Level 2  
    Prośba do "mks" - czy można się skontaktować prywatnie? mam kilka pytań w temacie.
  • #17
    mks
    Level 11  
    nyczz wrote:
    Prośba do "mks" - czy można się skontaktować prywatnie? mam kilka pytań w temacie.

    Prywatnie można, ale jak będzie publicznie to może jeszcze ktoś skorzysta. Decyzję pozostawiam Tobie.
  • #18
    pol102
    VIP Meritorious for electroda.pl
    Nad tematem dopiero siadam, ale to chyba można rozpracować szybciej. Wiedząc, że zwykła nakładka potrzebuje konwertera na rs232... można wymuszać odczyt... nie sądzę, żeby wersja radiowa znacząco(jakkolwiek) różniła się od tej na kabelku.
  • #19
    mks
    Level 11  
    pol102 wrote:
    Nad tematem dopiero siadam, ale to chyba można rozpracować szybciej. Wiedząc, że zwykła nakładka potrzebuje konwertera na rs232... można wymuszać odczyt... nie sądzę, żeby wersja radiowa znacząco(jakkolwiek) różniła się od tej na kabelku.


    Rozwiniesz swoją myśl? Bo nie do końca rozumiem dwie rzeczy - jak można wymusić odczyt? i jak ma to być szybsze?
  • #20
    ShEvU_elektro
    Level 25  
    pol102 wrote:
    Nad tematem dopiero siadam, ale to chyba można rozpracować szybciej. Wiedząc, że zwykła nakładka potrzebuje konwertera na rs232... można wymuszać odczyt... nie sądzę, żeby wersja radiowa znacząco(jakkolwiek) różniła się od tej na kabelku.

    Trochę się kolega myli. Sam protokół jest troszkę podobny do M-BUS, lecz tylko troszkę. WM-BUS rządzi się troszkę innymi prawami, jeśli chodzi o komunikację.
  • #21
    mks
    Level 11  
    A ja nadal nie mam pojęcia co ma znajomość RS232/M-BUS/WM-BUS do realnego odczytania (nie wspominając o komunikacji)? Znajomość protokołu nie jest tożsama z możliwością interpretacji danych.

    Najpierw trzeba wiedzieć jak wygląda ramka i co jest w niej zawarte. A to jest niewiadomą, bo ramka może się różnić w zależności od konfiguracji nakładki.

    Moim zdaniem można:
    - próbować rozszyfrować ramki zmieniając konfigurację nakładki (a do tego trzeba mieć ich narzędzia)
    - zdekompilować ich programy (w zasadzie to apkę na Androida) i próbować zobaczyć jak to wygląda w kodzie.

    Albo jedno i drugie. Tak czy siak nawet posiadając dostęp do urządzenia, nakładki i oprogramowania nie będzie to takie szybkie, że siądę w jeden wieczór i rozgryzę co jest czym.

    Mylę się gdzieś w moim rozumowaniu?
  • #22
    nyczz
    Level 2  
    Prośba do "mks" - proszę o kontakt na "a.polak18@onet.pl".
  • #23
    mks
    Level 11  
    nyczz wrote:
    Prośba do "mks" - proszę o kontakt na "a.polak18@onet.pl".


    Użyj prywatnej wiadomości.
  • #24
    tmf
    Moderator of Microcontroller designs
    Temat trochę jakby umarł, ale może warto go odświeżyć. Mam nakładkę na wodomierz z firmy Apator, chciałbym odczytywać z niego bieżące zużycie wody właśnie do celów HA i detekcji ew. problemów (rozszczelnienie instalacji, anomalie w zużyciu wody). Czy ta część informacji z licznika przekazywana jest w sposób nieszyfrowany, czy też jest szyfrowana AES?
    Jakieś postępy w dekodowaniu ramki i jej odbiorze? Czy moduły radiowe na 868 MHz odbiorą taką ramkę? Mam na mysli np. prosty RFM22 lub pokrewne?
    Zakładając wariant pesymistyczny - całość jest szyfrowana. Czy ktoś przerabiał otrzymanie klucza AES od dostawcy wody? W sumie wodomierz należy do właściciela nieruchomości, z czego by wynikało, że muszą się kluczem podzielić, bo to moje urządzenie.
  • #25
    ShEvU_elektro
    Level 25  
    tmf wrote:
    Czy ta część informacji z licznika przekazywana jest w sposób nieszyfrowany, czy też jest szyfrowana AES?

    Nakładki mają zawsze włączone szyfrowanie AES CBC. Nowa nakładka ma klucz ustawiony na 16 zer.
    Wszystkie dane są szyfrowane - oczywiście nie dotyczy to nagłówka ramki oraz pól CRC.
    tmf wrote:
    Zakładając wariant pesymistyczny - całość jest szyfrowana. Czy ktoś przerabiał otrzymanie klucza AES od dostawcy wody?

    Dostawca, czy operator nie da Ci klucza, ponieważ wtedy mógłbyś zmieniać konfiguracje nakładki - kasować alarmy również (np. wykrycie pola magnetycznego).
    P.S. Klucz da się wyciągnąć - potrzebna jest jednak ingerencja w nakładkę.

    tmf wrote:
    Czy moduły radiowe na 868 MHz odbiorą taką ramkę? Mam na mysli np. prosty RFM22 lub pokrewne?

    W niedalekiej przyszłości mam zamiar podjąć próby odpalenia WMBUS-a na RFM69.
  • #26
    tmf
    Moderator of Microcontroller designs
    ShEvU_elektro wrote:
    tmf napisał:
    Zakładając wariant pesymistyczny - całość jest szyfrowana. Czy ktoś przerabiał otrzymanie klucza AES od dostawcy wody?

    Dostawca, czy operator nie da Ci klucza, ponieważ wtedy mógłbyś zmieniać konfiguracje nakładki - kasować alarmy również (np. wykrycie pola magnetycznego).
    P.S. Klucz da się wyciągnąć - potrzebna jest jednak ingerencja w nakładkę.


    To problem dostawcy. Zgodnie z prawem urządzenie należy do mnie, więc nie mają prawa mi odmówić, w szczególności mogę sobie sam bezpośrednio kupić taki moduł, założyć, a oni mi tylko założą plombę na licznik. Oczywiście zapewne sprawa może się skończyć z mojej strony pismem z kancelarii z powództwem i dopiero wtedy się ugną, ale oczywiście nie za bardzo chce mi się strzelać z armaty do muchy.
    Z drugiej strony, jak znam życie, to zapewne nikt nie zmienił domyślnego klucza :)

    ShEvU_elektro wrote:
    tmf napisał:
    Czy moduły radiowe na 868 MHz odbiorą taką ramkę? Mam na mysli np. prosty RFM22 lub pokrewne?


    W niedalekiej przyszłości mam zamiar podjąć próby odpalenia WMBUS-a na RFM69.


    Pochwal się postępami. Chętnie się przyłączę i w miarę możliwości i czasu pomogę.
  • #27
    ShEvU_elektro
    Level 25  
    tmf wrote:
    Pochwal się postępami. Chętnie się przyłączę i w miarę możliwości i czasu pomogę.


    Pewnie. Postaram się dobrać konfigurację dla RFM69, bo na takich docelowo chciałbym to uruchomić.
    Najpierw chcę skończyć API do ich ramek.

    BTW. W przeciwieństwie do Apatora, nakładki WMBUS z BMeters widzę, że są zgodne z OMS, więc można łatwo zinterpretować z nich dane :)
  • #29
    mks
    Level 11  
    ShEvU_elektro wrote:
    P.S. Klucz da się wyciągnąć - potrzebna jest jednak ingerencja w nakładkę.


    W jaki sposób?
  • #30
    ShEvU_elektro
    Level 25  
    tmf wrote:
    Na jakim MCU piszesz obsługę?

    Na tą chwilę API jest pisane w Pythonie na PC - póki się "bawię" nakładkami.
    Jak już wszystko zrobię, to potem przepiszę na C, żeby je dorzucić do mojego urządzenia nad którym pracuje :) Oparte jest o STM32.