Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:channels:meters:power:wittech_witenergy_e100

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hardware:channels:meters:power:wittech_witenergy_e100 [2018/03/25 11:04]
jau
hardware:channels:meters:power:wittech_witenergy_e100 [2018/06/06 00:45] (aktuell)
r00t small fixes
Zeile 1: Zeile 1:
-===== Wittech WiTenergy E100 =====+==== Wittech WiTenergy E100 (Conrad Voltcraft SEM-3600BT) ​====
  
 {{ :​hardware:​channels:​meters:​power:​wittech_witenergy_e100:​witenergy_grass.jpg?​200|}} {{ :​hardware:​channels:​meters:​power:​wittech_witenergy_e100:​witenergy_grass.jpg?​200|}}
Zeile 23: Zeile 23:
 Manufacturing:​ http://​www.colourhk.com/​products.htm Manufacturing:​ http://​www.colourhk.com/​products.htm
  
-==== reverse engineering:​ hardware ==== +=== Auslesen ​=== 
-=== PCB pictures === +nach weiteren untersuchungen (und mit hilfe von [[https://​pushstack.wordpress.com/​2018/​01/​25/​voltcraft-sem-3600bt-who-needs-security/​|pushstack'​s analyse]] ist jetzt auch kommunikation mit dem geraet moeglich.
-== control board == +
  
-{{:hardware:channels:meters:power:wittech_witenergy_e100:control_comp.jpg?​200|}} +eine quick&​dirty loesung zum testen und fuer einen schnellen erfolg: 
-{{:hardware:channels:meters:power:wittech_witenergy_e100:control_sold.jpg?200|}}+  # apt install bluez 
 +   
 +  # hcitool lescan 
 +  D0:FF:50:7A:73:6C WiT Power Meter 
 +   
 +  # while sleep 1 ;do 
 +      gatttool -b D0:​FF:​50:​7A:​73:​6C --char-read -a 0x15 
 +      cut -d: -f2 | 
 +      awk '{print "​Voltage" 10*$1+.1*$2+.001*$3 " V"; print "Load" 100*$7+$8+0.01*$9 " W"; print "​Frequency" 10*$13+0.1*$14+0.001*$15 "​Hz"​}';​ 
 +  done 
 +   
 +  Voltage232.125 V 
 +  Load63.53 W 
 +  Frequency50.062Hz
  
-== power board ==+ausgereiftere software ist in arbeit.
  
-{{:​hardware:​channels:​meters:​power:​wittech_witenergy_e100:​power_comp.jpg?200|}} +(es ist nich noetig, das geraet zu pollen, es kann von sich aus reports senden
-{{:​hardware:​channels:​meters:​power:​wittech_witenergy_e100:​power_solder.jpg?200|}}+ ausserdem sind dies jeweils momentanwerte der leistung, sinnvoller waere, den auch vorhandenen leistungszaehler auszulesen.)
  
-=== general === 
-einmal aufgeschraubt,​ findet man auf der platine den namen des 
-chinesischen OEMs: 
-http://​www.colourhk.com/​products.htm 
-das geraet heisst dann wohl "​WiTenergy",​ 
-ist auf der produktliste nicht enthalten. 
-(lustigerweise scheint das "EM200 WiTmeter"​ eine BT-version des kd302 
- zu sein, gleiches gehaeuse zumindest.) 
  
-auch gleich ein uebler produktionsmangel... die pufferbatterie ist so +=== Pages === 
-schlecht verloetet, dass sie von der platine faellt. +{{indexmenu>​hardware/channels/meters/​power/​wittech_witenergy_e100}}
- +
-=== metering IC === +
-{{:hardware:channels:meters:​power:​wittech_witenergy_e100:​metering.jpg?​200|}}\\ +
-darin wohl wieder ein metering-IC,​ allerdings nur in einem 16-poligen +
-SOIC-gehaeuse,​ mit abgeschliffener beschriftung,​ +
-aber mit einem 4.096MHz quarz daneben, was zumindest einen +
-recht intelligenten chip nahelegt. +
- +
-=== bluetooth ​controller (itl254x) === +
-{{:​hardware:​channels:​meters:​power:​wittech_witenergy_e100:​itl254x.jpg?​200|}}\\ +
-there'​s no separate controller, it seems the controller on the bluetooth module runs the whole device. +
-(which is an obvious choice, as those tend to be more powerful than an average microcontroller anyway.) +
- +
-seems to be a TI device, related to the TI "​SensorTag"​ reference design: +
-http://​www.ti.com/​product/​cc2540 +
-http://​www.ti.com/​tool/​cc2541dk-sensor +
- +
-=== eeprom === +
-{{:​hardware:​channels:​meters:​power:​wittech_witenergy_e100:​eeprom.jpg?​200|}}\\ +
-labeled "​ATML"​ instead of "​ATMEL"?​ wtf? +
- +
-=== power supply === +
-{{:​hardware:​channels:​meters:​power:​wittech_witenergy_e100:​lnk304.jpg?​200|}}\\ +
-switching power supply without isolation?​ +
- +
-LNK304: http://​www.datasheet4u.com/​datasheet-pdf/​PowerIntegrations/​LNK304/​pdf.php?​id=602595 +
- +
-==== reverse engineering:​ communication ==== +
- +
-das geraet benutzt die low-energy variante die bei BT 4.0 spezifiziert +
-ist, und nicht zu aelteren bluetooth-interfaces kompatibel ist: +
-http://​en.wikipedia.org/​wiki/​Bluetooth_low_energy +
- +
-(es erscheint etwas witzlos, bei einem geraet das per definition +
- am aus dem stromnetz versorgt wird, das low-energy profile zu +
- ​verwenden,​ das fuer batteriebetriebene geraete entwickelt wurde... +
- die verlustleistung des netzteils ist damit sicher deutlich hoeher, +
- als der verbrauch des geraetes...) +
- +
-<​code>​ +
-# hcitool lescan +
-LE Scan ... +
-D0:​FF:​50:​7A:​73:​6C (unknown) +
-D0:​FF:​50:​7A:​73:​6C WiT Power Meter +
-</​code>​ +
-<​code>​ +
-# gatttool -b D0:​FF:​50:​7A:​73:​6C --primary +
-attr handle = 0x0001, end grp handle = 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb +
-attr handle = 0x000c, end grp handle = 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb +
-attr handle = 0x0010, end grp handle = 0x0019 uuid: 0000fee0-494c-4f47-4943-544543480000 +
-attr handle = 0x001a, end grp handle = 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb +
-</​code>​ +
-<​code>​ +
-# gatttool -b D0:​FF:​50:​7A:​73:​6C --characteristics +
-handle = 0x0002, char properties = 0x02, char value handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb +
-handle = 0x0004, char properties = 0x02, char value handle = 0x0005, uuid = 00002a01-0000-1000-8000-00805f9b34fb +
-handle = 0x0006, char properties = 0x0a, char value handle = 0x0007, uuid = 00002a02-0000-1000-8000-00805f9b34fb +
-handle = 0x0008, char properties = 0x08, char value handle = 0x0009, uuid = 00002a03-0000-1000-8000-00805f9b34fb +
-handle = 0x000a, char properties = 0x02, char value handle = 0x000b, uuid = 00002a04-0000-1000-8000-00805f9b34fb +
-handle = 0x000d, char properties = 0x20, char value handle = 0x000e, uuid = 00002a05-0000-1000-8000-00805f9b34fb +
-handle = 0x0011, char properties = 0x12, char value handle = 0x0012, uuid = 0000fee1-494c-4f47-4943-544543480000 +
-handle = 0x0014, char properties = 0x1a, char value handle = 0x0015, uuid = 0000fee2-494c-4f47-4943-544543480000 +
-handle = 0x0017, char properties = 0x1a, char value handle = 0x0018, uuid = 0000fee3-494c-4f47-4943-544543480000 +
-handle = 0x001b, char properties = 0x02, char value handle = 0x001c, uuid = 00002a23-0000-1000-8000-00805f9b34fb +
-handle = 0x001d, char properties = 0x02, char value handle = 0x001e, uuid = 00002a24-0000-1000-8000-00805f9b34fb +
-handle = 0x001f, char properties = 0x02, char value handle = 0x0020, uuid = 00002a25-0000-1000-8000-00805f9b34fb +
-handle = 0x0021, char properties = 0x02, char value handle = 0x0022, uuid = 00002a26-0000-1000-8000-00805f9b34fb +
-handle = 0x0023, char properties = 0x02, char value handle = 0x0024, uuid = 00002a27-0000-1000-8000-00805f9b34fb +
-handle = 0x0025, char properties = 0x02, char value handle = 0x0026, uuid = 00002a28-0000-1000-8000-00805f9b34fb +
-handle = 0x0027, char properties = 0x02, char value handle = 0x0028, uuid = 00002a29-0000-1000-8000-00805f9b34fb +
-</​code>​ +
-<​code>​ +
-# gatttool -b D0:​FF:​50:​7A:​73:​6C --char-desc +
-handle = 0x0001, uuid = 00002800-0000-1000-8000-00805f9b34fb +
-handle = 0x0002, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb +
-handle = 0x0004, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0005, uuid = 00002a01-0000-1000-8000-00805f9b34fb +
-handle = 0x0006, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0007, uuid = 00002a02-0000-1000-8000-00805f9b34fb +
-handle = 0x0008, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0009, uuid = 00002a03-0000-1000-8000-00805f9b34fb +
-handle = 0x000a, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x000b, uuid = 00002a04-0000-1000-8000-00805f9b34fb +
-handle = 0x000c, uuid = 00002800-0000-1000-8000-00805f9b34fb +
-handle = 0x000d, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x000e, uuid = 00002a05-0000-1000-8000-00805f9b34fb +
-handle = 0x000f, uuid = 00002902-0000-1000-8000-00805f9b34fb +
-handle = 0x0010, uuid = 00002800-0000-1000-8000-00805f9b34fb +
-handle = 0x0011, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0012, uuid = 0000fee1-494c-4f47-4943-544543480000 +
-handle = 0x0013, uuid = 00002902-0000-1000-8000-00805f9b34fb +
-handle = 0x0014, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0015, uuid = 0000fee2-494c-4f47-4943-544543480000 +
-handle = 0x0016, uuid = 00002902-0000-1000-8000-00805f9b34fb +
-handle = 0x0017, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0018, uuid = 0000fee3-494c-4f47-4943-544543480000 +
-handle = 0x0019, uuid = 00002902-0000-1000-8000-00805f9b34fb +
-handle = 0x001a, uuid = 00002800-0000-1000-8000-00805f9b34fb +
-handle = 0x001b, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x001c, uuid = 00002a23-0000-1000-8000-00805f9b34fb +
-handle = 0x001d, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x001e, uuid = 00002a24-0000-1000-8000-00805f9b34fb +
-handle = 0x001f, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0020, uuid = 00002a25-0000-1000-8000-00805f9b34fb +
-handle = 0x0021, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0022, uuid = 00002a26-0000-1000-8000-00805f9b34fb +
-handle = 0x0023, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0024, uuid = 00002a27-0000-1000-8000-00805f9b34fb +
-handle = 0x0025, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0026, uuid = 00002a28-0000-1000-8000-00805f9b34fb +
-handle = 0x0027, uuid = 00002803-0000-1000-8000-00805f9b34fb +
-handle = 0x0028, uuid = 00002a29-0000-1000-8000-00805f9b34fb +
-</​code>​ +
-<​code>​ +
-# for x in $(seq 1 40) ;do gatttool -b D0:​FF:​50:​7A:​73:​6C --char-read -a $x | sed s,.*:,$x:\ ,;sleep .05 ; done +
-01:  00 18 +
-02:  02 03 00 00 2a +
-03:  57 69 54 20 50 6f 77 65 72 20 4d 65 74 65 72 "WiT Power Meter"​ +
-04:  02 05 00 01 2a +
-05:  00 00 +
-06:  0a 07 00 02 2a +
-07:  00 +
-08:  08 09 00 03 2a +
-09: Characteristic value/​descriptor read failed: Attribute can't be read +
-0A:  02 0b 00 04 2a +
-0B:  50 00 a0 00 00 00 e8 03 +
-0C:  01 18 +
-0D:  20 0e 00 05 2a +
-0E: Characteristic value/​descriptor read failed: Attribute can't be read +
-0F:  00 00 +
-10:  00 00 48 43 45 54 43 49 47 4f 4c 49 e0 fe 00 00 +
-11:  12 12 00 00 00 48 43 45 54 43 49 47 4f 4c 49 e1 fe 00 00 +
-12:  00 +
-13:  00 00 +
-14:  1a 15 00 00 00 48 43 45 54 43 49 47 4f 4c 49 e2 fe 00 00 +
-15:  23 03 42 00 00 00 00 00 00 10 00 00 05 00 87 00 00 00 00 +
-16:  00 00 +
-17:  1a 18 00 00 00 48 43 45 54 43 49 47 4f 4c 49 e3 fe 00 00 +
-18:  00 +
-19:  00 00 +
-1A:  0a 18 +
-1B:  02 1c 00 23 2a +
-1C:  6c 73 7a 00 00 50 ff d0 +
-1D:  02 1e 00 24 2a +
-1E:  57 49 54 20 45 31 30 30 00 +
-1F:  02 20 00 25 2a +
-20: 53 4e 3a 20 30 30 30 30 30 30 00 "SN: 000000"​ +
-21:  02 22 00 26 2a +
-22: 46 2f 57 3a 20 56 30 31 2e 33 32 00 "F/W: V01.32"​ +
-23:  02 24 00 27 2a +
-24: 48 2f 57 3a 20 56 30 30 2e 30 30 00 "H/W: V00.00"​ +
-25:  02 26 00 28 2a +
-26: 53 2f 57 3a 20 56 30 30 2e 31 31 00 "S/W: V00.11"​ +
-27:  02 28 00 29 2a +
-28: 57 69 74 74 65 63 68 20 43 6f 6d 70 61 6e 79 20 4c 74 64 2e 00 "​Wittech Company " +
-</​code>​ +
-<​code>​ +
-48 43 45 54 43 49 47 4f 4c 49 "​HCETCIGOLI"​ +
-</​code>​ +
- +
-==== reverse engineering:​ software ==== +
- +
-original manufacturer'​s app: +
-https://​play.google.com/​store/​apps/​details?​id=wit.android.ble.smartenergymeter +
-\\ +
-conrad'​s app: +
-https://​play.google.com/​store/​apps/​details?​id=cei.android.ble.smartenergymeter +
- +
-<​code>​ +
-[~/​WiTenergy]$ ls -l *apk +
-1069410 cei.android.ble.smartenergymeter.apk +
-1107808 wit.android.ble.smartenergymeter.apk +
-</​code>​ +
- +
-the whole thing seems to be based on TI's "​sensortag"​ app: +
-<​code>​ +
-[~/​WiTenergy]$ unzip -l wit.android.ble.smartenergymeter.apk  +
-  Length ​     Date    Time    Name +
---------- ​ ---------- -----   ​---- +
-   ​126976 ​ 2014-10-18 01:36   ​assets/​SensorTagImgA.bin +
-   ​126976 ​ 2014-10-18 01:36   ​assets/​SensorTagImgB.bin +
-[...] +
-</​code>​ +
-<​code>​ +
-[~/​WiTenergy/​wit.android.ble.smartenergymeter]$ grep -iE texas\|ti\|sensortag assets/* +
-assets/​about.html:<​meta name="​Author"​ content="​Texas Instruments"​ /> +
-assets/​about.html:<​title>​About BLE SensorTag</​title>​ +
-assets/​about.html: ​   <​p><​b>​BLE SensorTag application</​b>​ from <​b>​Texas Instruments</​b>​ displays converted values from each of the six sensors +
-assets/​about.html: ​   in the SensorTag. It also visualizes button presses. Up to four sensors may be used simultaneously (including keys).</​p><​hr /> +
-assets/​about.html: ​   <p class="​copy">&​copy;​ 2013-2014 Texas Instruments</​p>​ +
-</​code>​ +
- +
-{{indexmenu_n>​2}}+
hardware/channels/meters/power/wittech_witenergy_e100.1521968642.txt.gz · Zuletzt geändert: 2018/03/25 11:04 von jau