joi, 26 decembrie 2024

Senzor temperatura si umiditate cu ecran LCD model TH05F - cu firmware modificat

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


joi, 19 decembrie 2024

Radio SDR cu circuitul integrat TEF6686

 Un observator atent (radioamator olandez PE5PVB) a gasit ca in radiourile auto se utilizeaza cipul  TEF6686 de la NXP Semi. Si apoi a gasit pe la chinezi modul de tuner complet, asa ca fost doar un pas sa puna butoane, ecran si cu softeala aferenta, a iesit un aparat radio AM si FM.

https://spectrum.ieee.org/hacking-a-car-radio-chip

Din foaia de catalog a lui TEF6686:

The Low IF Tuner HIgh performance One chips, TEF6686 and TEF6688, are single-chip radio ICs including an AM/FM radio tuner and software-defined radio signal processing. They extend NXP Semiconductors’ broad, industry-proven car radio single tuner portfolio, offering outstanding radio performance with the widest range of features and state of the art software algorithms at optimized system costs. (https://www.nxp.com/products/audio-and-radio/hybrid-radio-and-audio/low-if-tuner-high-performance-one-chip:TEF668X)

Sursa de pe github https://github.com/PE5PVB/TEF6686_ESP32

O scurta demonstratie de functionare https://www.pe5pvb.nl/tef6686/

Pe AliExpress cauti dupa 'TEF6686 Full Band FM AM Radio Receiver', costa de la 300 de lei.


Home server automation pe un telefon inteligent

 Aici e un exemplu de instalare PostmarketOS pe un OnePlus 6T.

Instalare PostmarketOS:

https://crackoverflow.com/docs/system_administration/containerization/install-docker-natively-on-android-phone-and-use-it-as-a-home-server/

Desi e o mentiune ca un dezavantaj ar fi lipsa unei conexiuni Ethernet, modificand alimentarea si avand un adaptor USB-C la Eth, pti conecta orice smart phone la retea prin cablu Ethernet.


Partea de modificari hardware pentru alimentare externa a telefonului:

https://crackoverflow.com/docs/system_administration/containerization/turn_android_phone_to_batteryless_home_server/



marți, 17 decembrie 2024

AI chips for wearable - aka low power AI

 https://brainchip.com/  -  Akida chips

https://www.synsense.ai/ - SPECK and XYLO

https://innatera.com/  - Spiking Neural Processor

-sub-miliWatt power consumption

-get data from sensors and use it like human brain is doing it

vineri, 13 decembrie 2024

Programator - cititor memorii, cipuri etc - TL866

 T48 TL866-3G Programator - cititor de memorii, microcontrolere, diverse cipuri

Util pentru 31000+ de diverse componente precum memorii EPROM / MCU / SPI / Nor/NAND Flash / EMMC / IC Tester / TL866CS TL866II