840922704 / BLE_DMM_Client

Bluetooth Multimeter Client
GNU General Public License v3.0
10 stars 3 forks source link

Please ad Aneng V05B (10Byte) #1

Closed ludwich66 closed 2 years ago

ludwich66 commented 2 years ago

Hello 840922704, I only have the small Aneng V05B available. Would be nice if you can implement the 10 byte protocol. Note --> Bit 16 -device type- (the clamp multimeter is still open - for lack of device) I have Python 10.5 on the computer and have problems with the QT5 import - I'm not the most talented ;-) I have to solve that first...

Greatings ludwich

ludwich66 commented 2 years ago

:-( Bad News, my new AX200 WLAN Card (ASUS PCE-AX3000) doesn't work correct. BT works, WLAN not. i must return it... and test the Software later. ludwich

webspiderteam commented 2 years ago

Sad to hear that :( I wish problem can soved soon. My new relese has been uploaded too. Release 1.05

ludwich66 commented 2 years ago

Sad to hear that :( I wish problem can soved soon. My new relese has been uploaded too. Release 1.05

i have organized a little Windows Notebook an testet first your 1.05 with an ANENG V05B. Digits and graph works proper, but there are no Units on Display (only BT-Symbol) - did you know that?

ludwich

webspiderteam commented 2 years ago

Really? But there is no reason to happen that 🤔 I tested on my device and also tested on st207 but I coldnt tested on other devices. After chanced the decoding system. I will test now from your data. Or can you send me your log? Its in program folder

webspiderteam commented 2 years ago

found the problem. devvice type ıd was wrong. My device 11byte dev ıd is 3 (0011) 10 byte your device ıd is 2 (0010) and 10 byte st207 ıd is 1 (0001). my mistake. all other data is coerrect bur type id was wrong. check the table too ludwich. uploading new one as 1.05 again with corrected

ludwich66 commented 2 years ago

OK do you made a new build today?

Please: i havnt checked data. log.txt

webspiderteam commented 2 years ago

I did build and uploaded same release name but updated also checked with your data and looks like everything ok.

ludwich66 commented 2 years ago

It works ;-) first tesurkeyt with Degrees, a Batterie and resistance looks good question and wishes: ? Is there anything behind the cogwheel?? if not - delete it Your Logo isnot on a good position better bottom left? AUTO and Auto on Display differs - change it better identical. More tomorrow. Whats the local temperatur in Turkey (whats the new writewyse?)

good night ludwich

image

ludwich66 commented 2 years ago

Last whish Please add Pictures on your Github site like chengbos site. Connect Dialog Example Values, Auto V A °c Add info about the log

cu

webspiderteam commented 2 years ago

Is there anything behind the cogwheel??

There will :) I will add Auto Connect device on startup, Remembered devices, graph refresh rate e.g.

Your Logo isnot on a good position better bottom left?

I didnt think it as logo also I wanted to make display area cleaa as much as I can thats why I put it there. maybe I can make a splash.

AUTO and Auto on Display differs - change it better identical.

In original android app they were did like that and I wanted to same but you are right. any Advice?

Whats the local temperatur in Turkey (whats the new writewyse?)

Its 30 C right now :) we use celcius :)

Last whish Please add Pictures on your Github site like chengbos site. Connect Dialog Example Values, Auto V A °c Add info about the log

You are right :) I didn't mentioned that :)

Good Night :)

ludwich66 commented 2 years ago

i did mean

UNO confirmed change from - "Türkiye" statt "Turkey" ;-)

webspiderteam commented 2 years ago

I'm working on P66 which has Id 4 (0100) from decompiled apk. First thing I mentioned is the digits are in 9-10-11-12-13th bytes and not seperated also 5 digit but I think first digit only has 1 and 0 decoded digits now and it has abe0cdfg order but in 13rd byte if it returns 'c' and 'd' is 1 (00001100) then gives 1 to first digit i think. and somehow if its 11111111 it gives -1. I dont know if its neccessery. BTW its same order with ours but not flipped style also they are not fliffing bytes. Look like byte order flipped

webspiderteam commented 2 years ago

zoyi_p66 thats our 4th type multimeter

ludwich66 commented 2 years ago

In the manual is only Info how connect the other DMM... a funny device ;-) zt-5566SEng.pdf

Video with connecting to BT-DMM APP https://www.youtube.com/watch?v=Wf3G5CQbaTQ BRANDS: BSIDE ZT-5566 ZOYImet ZT-5566 did you know a owner ? ludwich

webspiderteam commented 2 years ago

Yes ıts funny but actually ıts has good features for tecnitiansı like it. But ıts expensive for me. I wish i had one.

O dont know anyone but I think we can talk with owners of YouTube videos. Maybe they wantto help

840922704 commented 2 years ago

The ZT-5566‘s ex-factory price is 260RMB (38.79 USD). Is that possible to port the java code to use? I'm a little tired to guess the decode method🤣. BTW, the V3.0 just released and fixed a critical bug of graph and new UI.

webspiderteam commented 2 years ago

O decoded digits points e.g but no symbols yet. Trying to decode but symbol Side is diffucult to decode from APK source but I will try

ludwich66 commented 2 years ago

@chengbo 38.79 USD --> please send me one for this price ;-)

Nice Picture of the whole Family

image

ludwich

840922704 commented 2 years ago

@ludwich66 the express price from China to European is at least 9 USD/0.5 kg even using transshipment service😂. To USA and Australia is half of price. Also, currency exchange is a problem. If you can accept, I can try to seek the way to send when I'm out of my work. More, you can see this project derived from a Russia project: QPLCR It can do what DMM can't do such as measuring impedance. The cost is about 15-20 USD.

ludwich66 commented 2 years ago

zoyi_p66 thats our 4th type multimeter

No i meen its a Picture from "888"/"5566" (without BT DMM, only Music) The new one is "999"/ "5566s" (speak/ Voice)

https://baike.baidu.com/tashuo/browse/content?id=e3ce132513ee54e731416f90

ludwich66 commented 2 years ago

Thanks for your nice offer! I think the effort involved in shipping is too great because of the payment and shipping. The shipment from Germany is only offered with 10 kg for 50 euros, I didn't even look at the costs of the money transfer. I saw the device discounted at 88 € in aliexpress. It will then be a nice gift for Christmas. thanks anyway Ludwich

webspiderteam commented 2 years ago

I think I decoded main symbols and digits :) but its look like there is more data. but I couldnt figured out yet. altough I think thats enough to use without problem. BTW I'm removing flip data section. Its unneccessery and also there is a way to decode all 3 types symbols(type1 type 2 and type 4 )in that way.

ludwich66 commented 2 years ago

Overviewchart Graphical description of Software Good Idea?

image

draft

webspiderteam commented 2 years ago

It can be but I m not sure

webspiderteam commented 2 years ago

Its looklike I did decode 4th type device. ofcourse not tested no user found yet. but teorically I did from decompiled apk.

840922704 commented 2 years ago

@ludwich66 so is the v3.0 version work correctly with both V05B and ST207? I don't have those devices, so I just follow the wiki to update my code. BTW, plz just refer the software to the release page but not special version: https://github.com/840922704/BLE_DMM_Client/releases

ludwich66 commented 2 years ago

@Chengbo I haven't been able to test your software more closely yet, I still don't have a BTLE dongle on the Windows64 PC. Webspider's application works with WIN32 - I had a small netbook for testing.

840922704 commented 2 years ago

@Chengbo I haven't been able to test your software more closely yet, I still don't have a BTLE dongle on the Windows64 PC. Webspider's application works with WIN32 - I had a small netbook for testing.

Yeah pack x32 version need x32 python and my env is x64... Also just compatible with win10 and win11 because the bleak just support win10 and above.

webspiderteam commented 2 years ago

If you wish I can share all 3 types data but its "{27, 132, 114, 177, 89, 202, 184, 107, 103, 42}" Format. Can you use it?

ludwich66 commented 2 years ago

Please share it, i would build a Wiki Info

webspiderteam commented 2 years ago

logst207.txt

logan9002.txt

logb05.txt

webspiderteam commented 2 years ago
Type 4 decoding data (not tested) Non filipped but bitwised bit no data
33 diode
34 buzz
35 delta(rel)
37 auto
40 u?
43 V
44 Hold
45 peek
46 max
47 min
97 AC
102 DC
120 Hz
121 ohm
122 k
123 M
132 n
133 m
134 u?
135 F
139 A
ludwich66 commented 2 years ago

Can you please take the trouble to complete the table and enter all four device assignments. Now preferably without a flip but 1:1 in a row. Are the digits really different? The values in the 30 range are in the first digit of the other types. What type ID do you assume for the table DMM? Grettings Ludwich

webspiderteam commented 2 years ago

ALL IN ONE Not Flipped Order :

Bit No --> _____ 0-7 8-17 18-23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
Type 1(0001) xxxxxxxx xxxxxxxx TypeID 1a 1b 1e - Buzz H.V Hold   2a 2b 2e p1 1c 1d 1f 1g 3a 3b 3e p0 2c 2d 2f 2g 4a 4b 4e p1 3c 3d 3f 3g AC DC V n 4c 4d 4f 4g M m k Ω u A Diode F         °C °F Hz                                                                                                                                                  
Type 2(0010)     TypeID 1a 1b 1e - Buzz H.V Hold   2a 2b 2e p1 1c 1d 1f 1g 3a 3b 3e p1 2c 2d 2f 2g 4a 4b 4e p2 3c 3d 3f 3g         4c 4d 4f 4g u A Diode F AC DC V n °C °F Hz   M m k Ω                                                                                                                                                
Type 3(0011)     TypeID 1a 1b 1e - Buzz   Rel   2a 2b 2e p1 1c 1d 1f 1g 3a 3b 3e p2 2c 2d 2f 2g 4a 4b 4e p3 3c 3d 3f 3g   C F Hold 4c 4d 4f 4g nF uF mF F AC % min max A DC mV V M k Ω Hz         mA uA   Auto                                                                                                                                
Type 4(0100)     TypeID                   Diode Buzz Rel   Auto   u?     V Hold Peek Max Min                 5a 5b 5e p4 5c 5d 5f 5g 4a 4b 4e p3 4c 4d 4f 4g 3a 3b 3e p2 3c 3d 3f 3g 2a 2b 2e p1 2c 2d 2f 2g -     : 1c 1d 1f 1g   AC   %?     DC                                   Hz Ω k M                 n m u? F       A                        
Flipped Order : Bit No --> ____ 0-7 8-17 18-23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
Type 1(0001) xxxxxxxx xxxxxxxx TypeID   Hold H.V Buzz - 1e 1b 1a 1g 1f 1d 1c p1 2e 2b 2a 2g 2f 2d 2c p0 3e 3b 3a 3g 3f 3d 3c p1 4e 4b 4a 4g 4f 4d 4c n V DC AC F Diode A u Ω k m M   Hz °F °C                                                                                                                                                        
Type 2(0010)     TypeID   Hold H.V Buzz - 1e 1b 1a 1g 1f 1d 1c p1 2e 2b 2a 2g 2f 2d 2c p1 3e 3b 3a 3g 3f 3d 3c p2 4e 4b 4a 4g 4f 4d 4c         n V DC AC F Diode A u Ω k m M   Hz °F °C                                                                                                                                                
Type 3(0011)     TypeID   Rel   Buzz - 1e 1b 1a 1g 1f 1d 1c p1 2e 2b 2a 2g 2f 2d 2c p2 3e 3b 3a 3g 3f 3d 3c p3 4e 4b 4a 4g 4f 4d 4c Hold F C   max min % AC F mF uF nF Hz Ω k M V mV DC A Auto   uA mA                                                                                                                                        
Type 4(0100)     TypeID                     Auto Rel Buzz Diode Min Max Peek Hold V     u?                 5g 5f 5d 5c p4 5e 5b 5a 4g 4f 4d 4c p3 4e 4b 4a 3g 3f 3d 3c p2 3e 3b 3a 2g 2f 2d 2c p1 2e 2b 2a 1g 1f 1d 1c :     -   DC     %?   AC                                           M k Ω Hz F u? m n                 A                      

ludwich66 commented 2 years ago

Please Help Q: Correct Typenumbers Byte 0 = Bit 0-7 Byte 1 = Bit 8-15 Byte 2 = Bit 16-23 Bit 21 / Bit 22 / Bit23 Byte2 from logan9002_Dec112_Bin01110000 =000 Byte2 from logb05_Dec113_Bin01110001 = 001 Byte2 from logst207_Dec114_Bin01110010 = 010

Typ Number differs to your List - Where is the Error? Ludwich

webspiderteam commented 2 years ago

in logs it's raw data not flipped not bitwised when you did bitwise byte 2 turns into 1 2 3 4

ludwich66 commented 2 years ago

Please Check it again sorry i hav problem with Tables in Github therefore as picture

image

an9002 is "000" in your Test datas. ???

ludwich

webspiderteam commented 2 years ago
binary 113 => ____ 01110001 binary 114 => _____ 01110010 binary 112 => ____ 01110000 binary 119 => _____ 01110111 =
binary 115 => 01110011 01110011 01110011 01110011
bitwise xor ----------- ---------- -------- --------
result type 000000010 = 2 00000001 = 1 00000011 = 3 00000100 = 4

xor 1 xor 0 OR 0 xor 1 = 1
1 xor 1 OR 0 xor 0 = 0

840922704 commented 2 years ago

origin_value has been flipped.

origin_value[16:24]

type_dict = {
        # 1. Multimeter (1):    Aneng 9002  BSIDE ZT-300AB  ZOYI ZT-300AB   BABATools AD900
        '11000000':'1',
        # 2. Small-Multimeter (2):  Aneng V05B  BSIDE ZT-5B ZOYI ZT-5B  
        '01000000':'2',
        # 3. Clamp-Multimeter (3):  Aneng ST207 BSIDE ZT-5BQ    ZOYI ZT-5BQ
        '10000000':'3',
        # 4. Clamp-Multimeter (4): image    Aneng AN999S        ZOYI ZT-5566S
        '00100000':'4',
  }

So it's my test result according to webspiderteam's table.

webspiderteam commented 2 years ago

Flipping makes it like that so u can't get it as 1 or 2. You have to check type id before flipping bit order. then you can freely flip bits. BTW 9002 type ID is 3. St207 is 1, V05B is 2

840922704 commented 2 years ago

But... I tested this method works no problem with type 1 (ZT-300AB) and type 2 (V05B) data. See v3.1 release.

webspiderteam commented 2 years ago

Its ok if you build your code over this type IDs it will work ofcourse. because u turned into these Ids to what you checked. You can do '11000000':'555' for example. if you check it like "If (typeID=="555")" it will work. But if you check it like mine or as original app devTypeID = byte[2] it will give you 3 for an9002 for example.

ludwich66 commented 2 years ago

@webspiderteam and @Chengbo As a realization for me, webspider's test data is not yet XOR encoded, so we're talking about different things. We're slowly synchronizing - we're having fun with it.

I change the numbering in the doku

Clamp-Multimeter (1): Aneng ST207 BSIDE ZT-5BQ ZOYI ZT-5BQ '10000000':'3', Small-Multimeter (2): Aneng V05B BSIDE ZT-5B ZOYI ZT-5B
'01000000':'2', Multimeter (3): Aneng 9002 BSIDE ZT-300AB ZOYI ZT-300AB BABATools AD900 '11000000':'1', Clamp-Multimeter (4): image Aneng AN999S ZOYI ZT-5566S '00100000':'4',

Ok for all?

webspiderteam commented 2 years ago

My data logs is raw data that came from bluetooth gatt nothing done over them. after logged app starting decoding. First XOR then after XOR action I get type ID. Before I removed flipping bits I was doing flipping after all these. So after that getting digits and then all others

webspiderteam commented 2 years ago

image image image image

ludwich66 commented 2 years ago

Then we speak in the future from rawdata(gatt). payload and rotated payload (= xored).

:-)

840922704 commented 2 years ago

@ludwich66 I think they are the same. You can write both the methods in the wiki. BTW, how to make a change to your wiki directly? I can't see the edit button. Also, it's

Clamp-Multimeter (4): Aneng AN999S ZOYI ZT-5566S
'00100000':'4',

not

Clamp-Multimeter (4): image Aneng AN999S ZOYI ZT-5566S
'00100000':'4',

Copy the "image" accidently.🤣

webspiderteam commented 2 years ago

Agreed

Then we speak in the future from rawdata(gatt). payload and rotated payload (= xored).

Decimal 113 = "01110001" ---> RAW-Data With XOR --> "00000010" ---> Payload Flipped bits --> "01000000" ---> Rotated Payload

Aneng AN999S and ZOYI ZT-5566S are Bench Multimeter or Desk type

ludwich66 commented 2 years ago

@ludwich66 I think they are the same. You can write both the methods in the wiki. BTW, how to make a change to your wiki directly? I can't see the edit button. Also, it's

Clamp-Multimeter (4): Aneng AN999S ZOYI ZT-5566S
'00100000':'4',

not

Clamp-Multimeter (4): image Aneng AN999S ZOYI ZT-5566S
'00100000':'4',

Copy the "image" accidently.🤣

Collaboration in Wiki

@chengbo i found the collaboration adding. do you can editing everything now? @webspiderteam you are added too

--> new Page https://github.com/ludwich66/Bluetooth-DMM/wiki/Protocol-all-Variants

840922704 commented 2 years ago

@ludwich66 Done. Now I can edit the wiki.