dodání ihned! nové
Hledáme programátora do rostoucího týmu ITnetwork.cz, 100% home office, 100% flexibilní pracovní doba. Více informací
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
BF
Avatar
Ondrej Telka
Člen
Avatar
Ondrej Telka:30.7.2016 16:05

Ahoj,
Nedávno jsem si pořídil multimetr EM6000 značky all-sun, který má možnost připojit se přes USB k počítači a odesílat do něj naměřená data. Je k němu dodávaná i aplikace. Napadlo mě, že si naprogramuji vlastní aplikaci pro komunikaci s tímto multimetrem v C#, jenomže, po prozkoumávání komunikace pomocí serial monitoru používaném v arduino IDE přicházely z multimetru jenom zvláštnosti (f~†~řž~žţžţž€ a jiné). Potřeboval bych tedy nějaký program nebo nějaký způsob, jak tuto komunikaci rozluštit.

 
Odpovědět
30.7.2016 16:05
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Ondrej Telka
Martin Dráb:30.7.2016 18:17

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é.

Editováno 30.7.2016 18:18
Nahoru Odpovědět
30.7.2016 18:17
2 + 2 = 5 for extremely large values of 2
Avatar
Ondrej Telka
Člen
Avatar
Odpovídá na Martin Dráb
Ondrej Telka:31.7.2016 12:01

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

 
Nahoru Odpovědět
31.7.2016 12:01
Avatar
Adam Ježek
Redaktor
Avatar
Adam Ježek:31.7.2016 12:12

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.

Nahoru Odpovědět
31.7.2016 12:12
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Ondrej Telka
Člen
Avatar
Ondrej Telka:31.7.2016 12:53

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

Editováno 31.7.2016 12:54
 
Nahoru Odpovědět
31.7.2016 12:53
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Adam Ježek
Redaktor
Avatar
Adam Ježek:31.7.2016 13:01

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.

Nahoru Odpovědět
31.7.2016 13:01
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Ondrej Telka
Člen
Avatar
Ondrej Telka:31.7.2016 13:12

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?

 
Nahoru Odpovědět
31.7.2016 13:12
Avatar
Adam Ježek
Redaktor
Avatar
Odpovídá na Ondrej Telka
Adam Ježek:31.7.2016 13:54

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 :D
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

Nahoru Odpovědět
31.7.2016 13:54
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Ondrej Telka
Člen
Avatar
Odpovídá na Adam Ježek
Ondrej Telka:31.7.2016 14:20

Tak díky moc za pomoc :)

 
Nahoru Odpovědět
31.7.2016 14:20
Avatar
David Oczka
Redaktor
Avatar
Odpovídá na Ondrej Telka
David Oczka:1.8.2016 13:41

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í...

 
Nahoru Odpovědět
1.8.2016 13:41
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.