Diskuze: Odchytávání sériové komunikace multimetru
Člen
Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ten multimetr zřejmě používá binární protokol, což je rozumné, pokud přenáší velké množství dat (resp. umožňuje to). Takže se spíš poohlédni po serial monitoru, který umí zobrazovat data binárně (např. jednotlivé bajty). Nevím, zda toto serial monitor v adruinu umí.
EDIT: RealTerm by mohl být to pravé.
RealTerm je super, ale jaksi nemůžu přijít na to, jak z toho dostat ty naměřený hodnoty.
Ukázka:
00011110 01111110 10000000 00000000 00000000 00011110 01100110 01111110
10000110 01111110 11111000 10011110 01111110 10011110 11111110 00011110
01111110 10000000 00000000 00000000 00011110 01100110 01111110 10000110
01111110 11111000 10011110 01111110 10011110 11111110 00011110 01111110
10000000 00000000 00000000 00011110 01100110 01111110 10000110 01111110
11111000 10011110 01111110 10011110 11111110 00011110 01111110 10000000
00000000 00000000 00011110 01100110 01111110 10000110 01111110 11111000
10011110 01111110 10011110 11111110 00011110 01111110 10000000 00000000
00000000 00011110 01100110 01111110 10000110 01111110 11111000 10011110
01111110 10011110 11111110 00011110 01111110 10000000 00000000 00000000
00011110 01100110 01111110 10000110 01111110 11111000 10011110 01111110
10011110 11111110 00011110 01111110 10000000 00000000 00000000 00011110
01100110 01111110 10000110 01111110 11111000 10011110 01111110 10011110
11111110 00011110 01111110 10000000 00000000 00000000 00011110 01100110
01111110 10000110 01111110 11111000 10011110 01111110 10011110 11111110
00011110 01111110 10000000 00000000 00000000 00011110 01100110 01111110
Převedeno na text to je
~€f~†~øž~žþ~€f~†~øž~žþ~€f~†~øž~žþ~€f~†~øž~žþ~€f~†~øž~žþ~€f~†~øž~žþ~€f~†~øž~žþ~€f~†~øž~žþ~€f~
Nějak z toho tuším formát dat, ale dokud nebudu vědět, co si měřil a co bylo na displayi, tak z toho nic moc nezjistim.
To už nevím ani já, tak znova: měřil jsem odpor, na displayi byla hodnota 46.49, automatické nastavování rozsahu na kΩ, a tady jsou data:
01100110 01111110 10000110 01111110 01100000 01111110 00011110 01111110
11100110 10011110 00011000 00000000 00000000 01100110 01111110 10000110
01111110 01100000 01111110 00011110 01111110 11100110 10011110 10011000
00011000 00000000 00000000 01100110 01111110 10000110 01111110 01100000
01111110 00011110 01111110 11100110 10011110 10011000 00011000 00000000
00000000 01100110 01111110 10000110 01111110 01100000 01111110 00011110
01111110 11100110 10011110 10011000 00011000 00000000 00000000 01100110
01111110 10000110 01111110 01100000 01111110 00011110 01111110 11100110
10011110 10011000 00011000 00000000 00000000 01100110 01111110 10000110
01111110 01100000 01111110 00011110 01111110 11100110 10011110 10011000
00011000 00000000 00000000 01100110 01111110 10000110 01111110
Převedeno na "text" by to mohlo být:
f~†~~~æžf~†~
~~枘f~†~~~枘f~†~
~~枘f~†~~~枘f~†~
~~枘f~†~
jo radši si to převeď sám, já jsem použil nějaký náhodný online převodník
Můj převod mi vychází
f~†~`~~æžf~†~`~~枘f~†~`~~枘f~†~`~~枘f~†~`~~枘f~†~`~~枘f~†~
Asi to jeden z nás dělá blbě, du si to po sobě ještě zkontrolovat.
Asi je jasné, že se používá ; na oddělení, teď jde o to, jak vyluštit
hodnoty. Čekal bych, že se v tom bude posílat co se měří a naměřená
hodnota. Jenže 46.49 mi tu nikde nesedí.
Zkus ještě hodit ukázku z měření napětí a proudu + i jaké rozsah to
vybralo.
Napětí, obyč. volt, hodnota: 4.913
11100000 11111110 10000000 00000000 01100000 00000000 01100110 01111110
10000110 01111110 00011000 01111110 01111110 10000000 01100110 11100000
11111110 10000000 00000000 01100000 00000000 01100110 01111110 10000110
01111110 00011000 01111110 01111110 10000000 01100110 11100000 11111110
10000000 00000000 01100000 00000000 01100110 01111110 10000110 01111110
00011000 01111110 01111110 10000000 01100110 11100000 11111110 10000000
00000000 01100000 00000000 01100110 01111110 10000110 01111110 00011000
01111110 01111110 10000000 01100110 11100000 11111110 10000000 00000000
01100000 00000000 01100110 01111110 10000110 01111110 00011000 01111110
01111110 10000000 01100110 11100000 11111110 10000000 00000000 01100000
Proud, ampér, hodnota: 1.663 nebo 1.664 (no nebo tak nějak přibližně)
01100110 11111000 00011110 00011110 10000000 00000000 10000000 10000000
00000000 01100110 01111110 10000110 01111110 00000000 01100110 11111000
00011110 00011110 10000000 00000000 10000000 10000000 00000000 01100110
01111110 10000110 01111110 00000000 01100110 11111000 00011110 01111000
10000000 00000000 10000000 10000000 00000000 01100110 01111110 10000110
01111110 00000000 01100110 11111000 00011110 01111000 10000000 00000000
10000000 10000000 00000000 01100110 01111110 10000110 01111110 00000000
01100110 11111000 00011110 01111000 10000000 00000000 10000000 10000000
00000000 01100110 01111110 10000110 01111110 00000000 01100110 11111000
00011110 01111000 10000000 00000000 10000000 10000000 00000000 01100110
01111110 10000110 01111110 00000000 01100110 11111000 00011110 01111000
jo a jaký nástroj používáš k tomu převodu?
Hodin jsem do googlu binary to text a použil první výsledek.
Teď jsem zkusil to zkopírovat, rozsekat v pythonu na pole a převést podle
tohoto:
for i in vstup:
print(i, end="\t")
print(int(i,2), end="\t")
print(chr(int(i,2)), end="\t")
print(i[::-1], end="\t") #kdyby byl binární zápis pozpátku, tak to otočíme a uděláme to samý
print(int(i[::-1],2), end="\t")
print(chr(int(i[::-1],2)))
Vychází to ještě divnějc, jen kvůli nějakým znakům se to nedá ani
zkopírovat
V první řadě se pořádně podívam na ten převod, možná to zkusim
ručně, a pak zkusim vyluštit i ty měření napětí a proudu
Přijde mi velice zvláštní ten Tvůj přístup k měření...
Co takhle zkusit nastavit rozsah 6 V (rozlišení by mělo být podle dokumentace 1 mV), změřit minimální hodnotu 0 V, zapsat si ten výsledek (tu binární zprávu), pak naměřit maximální hodnotu, tedy 6 V, a pracovat s tímhle?
Vzhledem k tomu, že výrobce dodává vlastní aplikaci, ve které ty výsledky zobrazuješ, tak je možné, že přepočet je realizován až v té aplikaci, a tak data mohou být poslána pouze jako reference z A/D převodníku...
Doporučil bych tedy změřit minimum, maximum a pár hodnot někde mezi tím. A jako kontrolu bych také zkontroloval, zdali se hodnoty na multimetru neliší s těmi hodnotami v té jejich aplikaci (To by mohl být důkaz dvojího výpočtu).
Ovšem možná je to špatná rada, protože nevím, jestli máš přístup ke stabilnímu zdroji pro ta daná napětí...
Zobrazeno 10 zpráv z 10.