lywsd03mmc
Toto je starší verze dokumentu!
Obsah
Xiaomi Mijia 2 (LYWSD03MMC)
- bluetooth teploměr s LCD, lze nahrát custom firmware
- baterie CR2032, vydrží cca rok
- firmware
- by default obsahuje xioami fw, který pracuje jen s xioami appkou
- zigbee fw jsou dva
- devbis/z03mmc verzovaný od 1.00
- ZigbeeTLc (pvvx) verzovaný od 0.1?
- prý je 2x úspornější než devbis https://github.com/pvvx/ZigbeeTLc/issues/37#issuecomment-1937844181
- od verze 0.120 se hlásí jako LYWSD03MMC-z !!!
- ZigBeeTLC firmware
- docela dlouho trvá, než se projeví změna teploty.. asi tak 15 minut?
- dělá to ale i thermostat s původním fw
- oba jsem přesunul do jiné místnosti a sledoval rychlost změny. Zigbee teploměr začal zvedat teplotu zhruba stejně, ale pak starý termostat přeběhl. Asi je to tím, že nějakou dobu trvá, než se teplota plastu adaptuje na změnu
- neumí se asi sám přepárovat na nejbližší router
- ruční párování se provádí spojením plošek GND a RST na více než 7s (po odstranění zadního krytu)
Přechod z Xioami na ZigBeeTLC fw
- flashovat lze
- OTA
- UART
- není moc spolehlivý, simuluje se zde nějaký 1-wire protokol
- nedoporučuje se flashovat přímo finální fw, ale nějaký přechodový
- Xioami verze 1.0.0_0130
- nejde nahrát nový ZigBeeTLC fw přímo, musí se nahrát nejdřív ATC fw
- Xioami do verze 2.1.1_0159
- stačilo dát connect, do activation a vybrat požadovaný firmware
- Xioami od verze 2.1.1_0159+
- musí se připojit k Xioami Appce a pak vytáhnout klíče z cloudu
Problémy
- firmware se nahrál, ale po restartu je bez změny
- dělalo mi to u ATC v52, pomohlo přejít na v53 beta, pak už to šlo
- po nahrání ATC z Xioami neukazuje flasher ZigBeeTLC fw
- resetni senzor
- vypni/zapni bluetooth v OS
- F5 stránky s flasherem
- po nahrání ATC fw to hlásí custom fw a posílá mě na jiný web flasher s ručním zadáním .bin img
- nikdy nenahrávej přímo .bin přes web flasher, musí to mít příponu .zigbee
- vrať se na původní flasher a zkus reset senzoru, vypnout/zapnout bluetooth v OS
- nenabízí mi to požadovaný fw a ukzauje špatně revizi B1.1
- zkus restart zařízení, bluetooth, …
- zkus znovu nahrát ATC v53 beta (pokud ho znovu nabízí)
- zkus delete all records v nabídce ATC fw ve flasheru
- po flash zigbeeTLC nemám ni displeji nic, ale zigbee vypadá funkčně
- je to nějaký problém v zigbeeTLC fw u hw revize B1.6 2025
- buď to používej bez displeje a čekej na nový fw
- nebo si tam vrať ten ATC fw a používej BT
- vrácení se provádí přes speciální OTA fw viz github pvxx
Oživování přes UART
Programátor
- LYWSD03MMC nejde prý bricknout, vždycky jde znovu přeflashovat. Jediný problém prý je, pokud se do něj pustí více než 3.3V
- měl by se použít UART TTL 3.3V
- paradoxně, já jsem byl 4x úspěšný se svým pl2303, u kterého jsem ale naměřil 4.8V VCC. Nikdy se mi to nepodařilo s FT232RL, který má 3.3V. Je ale fakt, že jsem to s pl2303 zkoušel mnohem víckrát.
Zapojení
- existuje více schémat zapojení
- 1) pouze TX
- VCC se dá na vbat+ (boční plošky)
- GND se dá na vbat- (spodní ploška)
- TXD se přípojí na SWS (P14, popisek nad ploškou)
- 2) TX s RST
- navíc se DTR/RTS připojuje na RST
- 3) TX+RX
- TXD se připojí přes 1-1.7kOhm na SWS
- RXD se připojí na SWS bez odporu
USBCOM web flasher
- nachystat webový USBCOM flasher https://pvvx.github.io/ATC_MiThermometer/USBCOMFlashTx.html
- dát open na UART
- vybrat požadovaný firmware
- používá se Original_OTA_Xiaomi_LYWSD03MMC_v1.0.0_0130.bin, aby se pak mohl přehrát spolehlivější cestou přes OTA na finální
- zapojení TX+RX přes odpor
- VCC krokodýlek na vbat+
- GND krokodýlek na vbat-
- přidržet TXD+RXD na P14
- kliknout na flash
TLSR825x Flasher
- rozjet Python TLSR825x Flasher https://github.com/pvvx/TlsrComSwireWriter
- instaloval jsem přes venv
- zapojení TX+RX přes odpor
- VCC krokodýlek na vbat+
- přidržet TXD+RXD na P14
- spustit program
- GND krokodýlek na vbat-
- nejprve jsem pustil erase
LSR825x Flasher version 00.00.04 ------------------------------------------------------- Open /dev/ttyUSB0, 921600 baud... Reset module (RTS low)... Activate (5000 ms)... UART-SWS 92160 baud. SW-CLK ~24.4 MHz(?) Erase All Flash ... ------------------------------------------------------- Worked Time: 7.070 sec Done!
- pak vlastní zápis
(venv-test) djbuldog@Pharaon:~/Stažené$ python3 TLSR825xComFlasher.py -p /dev/ttyUSB0 -t5000 wf 0 Original_OTA_Xiaomi_LYWSD03MMC_v1.0.0_0130.bin ======================================================= TLSR825x Flasher version 00.00.04 ------------------------------------------------------- Open /dev/ttyUSB0, 921600 baud... Reset module (RTS low)... Activate (5000 ms)... UART-SWS 92160 baud. SW-CLK ~24.9 MHz(?) Inputfile: Original_OTA_Xiaomi_LYWSD03MMC_v1.0.0_0130.bin Write Flash data 0x00000000 to 0x00016ac4... ------------------------------------------------------- Worked Time: 41.880 sec Done!
Poznámky
- poprvé se mí to podařilo s pouze TX, takže není nutné používat zapojení TX+RX s odporem pro webový USBCOM flasher. U python flasheru to asi potřeba je, protože flashuje až když dostane signál.
- LYWSD03MMC lze flashovat jen chvíli po nastartování, pak už to ignoruje
- dávat erase all asi není nutné, podařilo se mi to i bez toho
- funkci lze ověřit i bez připojeného LCD, protože BT vysílá (v případě BT fw)
- flashování přes UART pouze simuluje původní 1-wire protokol, takže se to nemusí napoprvé podařit, protože to není spolehlivé
- pokud to nejde přes webový USBCOM flasher, zkus ten python :D
Přechod z devbis na ZigBeeTLC fw
OTA
- musí se použít správný OTA img, který lze instalovat na devbis fw
- 1141-020a-09993001-z03mmc_v1100.zigbee - Zigbee OTA ver: ZigbeeTLc to devbis v1.1.0.0
- 1141-0203-79993001-Z03MMC_v01NN.zigbee - Zigbee OTA ver: devbis old ver1.0.6 to ZigbeeTLc
- db15-0203-79993001-Z03MMC_v01NN.zigbee - Zigbee OTA ver: devbis new ver1.1.0 to ZigbeeTLc
- přes Z2M (návod)
- vytvořit lokální index OTA souborů pro z2m
- nastavit z2m, aby používal lokální index
- přes ZHA ((návod
- vzít vbox s HA + novy USB dongle .. rozjet si ZHA místo Z2M a zkusit ten postup výše
Vytvoření OTA img
- není potřeba dělat, už existují
- ale kdyby to bylo někdy potřeba, tak
- Reads a firmware image file and outputs an OTA file on standard output
python3 zb_bin_ota.py z03mmc.bin z03mmc -m0x1141 -i0x020a -v0x09993001 -s"Zigbee ver: ZigbeeTLc to devis"
- parametry pro devbis FW a)
"fileVersion": 285224961, //0x11003001 "manufacturerCode": 4417, //0x1141 "imageType": 515, //0x203 "url": "https://github.com/Koenkk/zigbee-OTA/raw/master/images/Telink/1141-0203-11003001-z03mmc.zigbee",
- parametry pro zibbeetlc FW b)
"fileVersion": 18886657, //0x01203001 "manufacturerCode": 4417, //0x1141 "imageType": 522, //0x020a "url": "https://github.com/Koenkk/zigbee-OTA/raw/master/images/Telink/1141-020a-01203001-Z03MMC.zigbee",
lywsd03mmc.1752152634.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
