Lampa z Biedronki

Lampa z czujnikiem ruchu (PiR), akumulatorem, fotoogniwem ładnie oświetla ale nie ma WiFi co mnie stresowało.

Taka autonomiczna lampa aż się prosi o ESP, Tasmotę i Home Assistant-a. Przecież czasami trzeba sprawdzić kiedy nastąpiło włączenie, jaki jest stan akumulatora itd.

Więc rozebrałem i uzupełniłem o ESP32 z Tasmotą

Menu główne Tasmota

  • Teraz mierzy napięcie akumulatora oraz napięcie z fotoogniw
  • można sterować oświetleniem
  • można uaktywnić lub wyłączyć PiR
  • można badać kiedy PiR zadziałał

Wykorzystałem trzy istniejące druciki, które łączyły płytkę w lampie z płytką czujnika PiR

Zasilanie (czerwony) podłączyłem bezpośrednio do punktu 3,3 V

Biały sterujący przeciołem i od strony PiR zmieniłem na żółty i podłączyłem do GPIO19 a od strony Lampy do GPIO18

Ustawienia TASMOTA

  • GPIO18 wprost steruje LEDem przewodem białym.
  • GPIO19 oczekuje na sygnał z PiR przewodem żółtym
  • GPIO20 to wirtualny przekaźnik, który Tasmota automatycznie ustawia według Switch_d a nam nie jest to potrzebne
  • Stan GPIO14 (też wirtualny) decyduje o tym, czy PiR włączy LED czy nie.
  • GPIO34 mierzy napięcie na baterii przez opornik 3,3M? i do masy też jest podłączone przez opornik 3,3M? (dzielnik 1/2)
  • GPIO35 mierzy napięcie na fotoogniwie przez opornik 3,3M? i do masy też jest podłączone przez opornik 3,3M? (dzielnik 1/2)

Pomiary napięcia ESP32 wykonuje dwoma pinami GPIO34 i GPIO35 ale uwaga wybieramy [ ADC range ] nie [ADC input ] dla obydwu kanałów zastosowałem dzielnik napięcia z dwóch jednakowych oporników 3,3 M?

Kalibracja woltomierzy: AdcParam1 6,1900,2600,310,413
podobnie kanał drugi: AdcParam2 6,1900,2600,305,409
Polecenie, które blokuje domyślne powiązanie Switch -> Power
SwitchMode1 15
inne ważne:
 TelePeriod ( nie ustawiaj na 300 )
 DeepSleepTime

rule

Sterowanie, które fabrycznie było na sztywno: „PiR wykrył ruch to włączał światło” na ustawiony czas. Teraz PiR daje sygnał ale my decydujemy czy LED się ma włączyć czy nie. To osiągamy definiując za pomocą konsoli Tasmoty dwie reguły [ rule ]

  • ON power3#state>=0 DO VAR1 %VALUE% ENDON
  • ON POWER2#state>=0 DO IF (VAR1==1) POWER1 %VALUE% ENDIF ENDON
Rules dbające o akumulator 400cV => 4.00V
on tele-Analog#Range1<400 do
	if (MEM1!=300) MEM1 300; DeepSleepTime 300; POWER2 0 endif
endon 
on tele-Analog#Range1>=400 do
	if (MEM1!=0) MEM1 0; DeepSleepTime 0 endif
endon

Home Assistant

Pulpit sterujący to Homeassistant, ktory komunikuje się z ESP32 w lampie za pomocą MQTT.