Pe AliExpress sunt niste senzori de temperatura si de umiditate cu ecran cu cristale lichide (LCD). Se pare ca marea majoritate a acestor senzori sunt clone dupa un model de la Xiaomi. Totusi au o durata de viata mare a bateriei, acuratete buna si pret imabatabil (15-20 de lei bucata).
Problema e ca nu pot fi utilizati dupa bunul plac din cauza softului (ma rog, a firmware-ului), trebuie sa instalezi o aplicatie pe telefon ca sa poti folosi senzorul daca nu vrei sa te uiti doar la ceea ce scrie pe ecran. Insa unii sunt mai priceputi si generosi, astfel ca exista un firmware care face ca acest senzor sa trimita temperatura si umiditatea intr-un format mai clar prin Bluetooth Low Energy (BLE).
Senzorul de pe AliExpress se numeste TH05F.
Firmware-ul si modul de scriere al lui este descris aici:
https://github.com/pvvx/THB2
https://www.youtube.com/watch?v=AD2KduDTjf8
Pe partea de hardware, e necesar un convertor USB-serial, eu am folosit unul cu CP2102 de la Silabs.
Apoi trebuie dezasamblat senzorul TH05F, atentie - cand dezasamblam ecranul, sa nu atingem contactele de pe cablaj (PCBA)! Eu am lipit pe padurile senzorului firele de la convertorul USB-serial:
RST de la convertorul USB-serial la padul REST_N de la senzor
3,3V de la o sursa de alimentare externa la padul VBAT+ de la senzor
GND de la o sursa externa de alimentare de 3V3 si GND de la convertorul USB-serial la padul VBAT- de la senzor
TXD de la convertorul USB-serial la padul RX1 de la senzor
RXD de la convertorul USB-serial la padul TX1 de la senzor
Copiezi pe local pachetul cu firmware de pe github, il dezarhivezi, mergi in directorul dezarhivat si din acel director rulezi urmatoarele comenzi:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
(trebuie sa vezi cum se numeste convertorul USB-serial - dmesg | grep tty - la mine l-a pus ttyUSB0)
python3 rdwr_phy62x2.py -p /dev/ttyUSB0 -e -r wh BOOT_TH05F_v18.hex
=========================================================
PHY62x2 Utility version 11.03.24
---------------------------------------------------------
Connecting...
PHY62x2 - Reset Ok
Revision: b'001364c8 6222M005'
FlashID: 1364c8, size: 512 kbytes
PHY62x2 - connected Ok
---- Segments Table -------------------------------------
Segment: 11003000 <- Flash addr: 00003000, Size: 00008fd0
Segment: 1fff0000 <- Flash addr: 0000bfd0, Size: 00000400
Segment: 1fff1838 <- Flash addr: 0000c3d0, Size: 00002bde
----------------------------------------------------------
Erase Flash work area... ok
Segment Table[03] <- Flash addr: 00002000, Size: 00000130
Write 0x00000130 bytes to Flash at 0x00002000... ok
Segment: 11003000 <- Flash addr: 00003000, Size: 00008fd0
Write 0x00002000 bytes to Flash at 0x00003000... ok
Write 0x00002000 bytes to Flash at 0x00005000... ok
Write 0x00002000 bytes to Flash at 0x00007000... ok
Write 0x00002000 bytes to Flash at 0x00009000... ok
Write 0x00000fd0 bytes to Flash at 0x0000b000... ok
Segment: 1fff0000 <- Flash addr: 0000bfd0, Size: 00000400
Write 0x00000400 bytes to Flash at 0x0000bfd0... ok
Segment: 1fff1838 <- Flash addr: 0000c3d0, Size: 00002bde
Write 0x00002000 bytes to Flash at 0x0000c3d0... ok
Write 0x00000bde bytes to Flash at 0x0000e3d0... ok
----------------------------------------------------------
Write Flash from file: BOOT_TH05F_v18.hex - ok.
Send command 'reset' - ok
Dupa care dezlipesti firele si reasamblezi senzorul TH05F, pe ecran apare bot si apoi apare temperatura si umiditatea relativa.
Urmeaza sa dam un nume acestui senzor, de aceea ne conectam la senzorul TH05F de pe un computer cu Bluetooth si folosim pagina PHY62x2BTHome.html (este aici "https://github.com/MakersFunDuck/humidity-temperature-sensor-TH05F").
Dupa ce ai programat noul firmware, iti trebuie un ESP32 pe post de bridge BLE - WiFi, in mare programezi un ESP32 cu Tasmota: https://tasmota.github.io/docs/ESP32/#working-devices
Niciun comentariu:
Trimiteți un comentariu