Skocz do zawartości

Pomocna odpowiedź

Proste: musi znac kanał na którym pracuje, a interfejes espnow uruchamia się dopiero po połączeniu z wifi. Masz jakąś propozycję jak to rozwiazać? Od strony zewnętrznego nie ma problemu...

Wiem, da się ale pogodynka wymaga espnow do komunikacji z termometrami i wifi do ściągania prognozy z serwera. Mam w domu całą sieć espnow bez połaczenia z netem, ale tam jest kanał ustawiony na sztywno.

Teoretycznie da się to zrobić... tylko czy naprawdę jest to konieczne? Bo awaria routera nie jest przewidziana...

- ok pewnie nie jest to potrzebne, sprawdziłem na oprogramowaniu pogodynki bez wifi, idzie jak burza.

 ja to zastosuję u siebie na wszelki wypadek.

16:19:43.309 ->  ENOW-magic-acc c3 2 57 214 4200 993
16:20:15.313 ->  ENOW-magic-acc c3 2 57 214 4200 993
16:20:47.296 ->  ENOW-magic-acc c3 2 57 214 4200 993

 

Teoretycznie:

Pogodynka startuje, nie czeka na wifi, odpala esp-now na jakimś kanale z czapy

Dopóki nie ma połączenia z routerem, wszystko działa.

Po uzyskaniu adresu (w callbacku) zmienia kanał w espnow (jeśli jest inny niż ten na którym pracuje).

Teoretycznie proste, w praktyce więcej problemów... bo zamiast dwóch stanów masz trzy. Wolę zająć się parserem geo 🙂

- jest jakiś problem z ADC, bez oprogramowania mierzy tylko do 1.1 V..

- będę  siedział nad tym, zobaczę co da się zrobić.

- espNow zrobiłem bez Wi-fi, tylko muszę potestować.

https://docs.espressif.com/projects/esp-idf/en/v4.4/esp32c3/api-reference/peripherals/adc.html

 

23 minuty temu, 99teki napisał:

- jest jakiś problem z ADC, bez oprogramowania mierzy tylko do 1.1 V..

 

Bo taki jest zakres ADC, trzeba włączyć dzielnik (Arduino robi to domyślnie).

BTW poprawiony parser geo, jeszcze gorący, za godzinkę będzie na githubie

A o esp-now jeszcze pomyślę, ale na tę chwilę nie jest to priorytet

  • Lubię! 1
(edytowany)

- stacja zewnętrzna na esp32c3.

- niestety nie udało się zrobić kalibracji odczytu napięcia.

- w dokumentacji piszą że można a na forach że się nie da.

- propozycja poprawek:

1.- dzielniki musza być jakoś wprowadzone, ja dałem z podziałem 2:1 dla dwóch dzielników. (150 kOm dwa razy oraz 25kOm dwa razy)

2.- setup stacji dodać,  w bibliotekach jest już zrobione że esp32 mierzy od 0 do 2.5V (attenuacja ma 11 dB).

// --------------------------- ADC ----------------------------------
				//set the resolution to 12 bits (0-4095)
		analogReadResolution(12);												// ###

3.- epfs.cpp   return pwr * 2 /16;   ami = ami / 16 * 2  ;    tutaj zamiast tych 2 podzielnik1, podzielnik2

- to tyle i aż tyle.

- za to moja stacja na esp32 C3 cały czas siedzi w Sent after, Sent after. ......

- chyba to blokuje chargeMode = getPower() > 800, na razie nie mam głowy do tego.

Edytowano przez 99teki

Co do charge mode - faktycznie blokuje to odczyt i sleep, ale można wyłaczyć to w ustawieniach. Jeśli masz ustawioną ładowarkę, to przy podaniu napięcia na USB informuje pogodynkę że termometr jest podpięty do ładowark7 (pewnie w domu) i odczyty parametrów trzeba pominąć.

Send after to takie przypomnienie ile minęło od ostatniego wysłania.

Nie wprowadzam kalibracji dzielników, rezystory mają być takie a nie inne (2x200k dla aku i 200/100k dla ładowarki). Chyba nawet schemat  publikowałem. Rezystory tsk dobrane, żeby domyślna konfiguracja ADC Arduino odpowiadała potrzebom.

A jaki problem z kal8bracją? Albo jest to 4.2V albo podajesz rzeczywiste napięc7e w mV. Co dokładnie nie działa?

- zmontowałem dwie stacje nadawcze, zewnętrzna na esp32c3 oraz wewnętrzna na Arduino esp32 Nano.

- w konfiguracja stacji widzę tylko jeden mały problem, stacja przyjmuje adres adbiornika, podstawiłem jej własny MAC nie zareagowała błędem a ja potem szukam problemu 30 minut.

- poniżej log z pracy, nadajnik ten wewnętrzny/ zewnętrzny był umieszczony pod oknem w sali, aby pokazywał inna temperaturę.

COM16 connected
Skanuję I2C...
I2C: znaleziono 0x40
I2C: znaleziono 0x68
Skanowanie zakończone

RTC status: 2
rozlaczono WiFi

ENOW start
ESP-NOW: brak połączenia z Wi-Fi
ESP-NOW: peer 54:32:04:88:8C:18
ENOW start
ESP-NOW: brak połączenia z Wi-Fi
ESP-NOW: peer 34:85:18:7B:EF:84
eterm
Urządzenie na zewnątrz: esp-now, adres MAC 34:85:18:7B:EF:84
iterm
Urządzenie wewnątrz: esp-now, adres MAC 54:32:04:88:8C:18
debug on
Tryb debugowania załączony

 SRC 34:85:18:7B:EF:84
 PFE 34:85:18:7B:EF:84
 PFI 54:32:04:88:8C:18
 DST 34:85:18:9E:6D:20
 STA 34:85:18:9E:6D:20

 SRC 54:32:04:88:8C:18
 PFE 34:85:18:7B:EF:84
 PFI 54:32:04:88:8C:18
 DST 34:85:18:9E:6D:20
 STA 34:85:18:9E:6D:20

 time: jest 11:13

 Temperatura wewnątrz 22°, na zewnątrz 20°. ciśnienie 1013 hPa. 
 Wilgotność wewnątrz 46%, na zewnątrz 56%

 

 

 

Czyli rozumiem że trzeba dopisać coś żeby własnego maca nie wpisać - da się zrobić ale jutro. Rozumiem że reszta działa?

Z ciekawości: co tam masz na 0x40?

(edytowany)

Może nimBle? Czy już miejsca brak w pamięci? 0x40 to eeprom ma płytce zegara 

Edytowano przez _LM_
  • Lubię! 1

- pod adres 0x40 chyba jest ES7010, DAC na cztery mikrofony I2S.

- testuję nadajniki, odbiorniki ale bez www i gadacza.

- jak lutować takie maleństwa 0402, czy na kurs lutowania to nie za póżno.

0402-0603.thumb.JPG.a3ddb0336f61d611ad075fa0a9427159.JPG

5 minut temu, 99teki napisał:

- pod adres 0x40 chyba jest ES7010, DAC na cztery mikrofony I2S

 

22 minuty temu, ethanak napisał:

Aha ciekawe - ja mam 57

 

1 godzinę temu, _LM_ napisał:

0x40 to eeprom ma płytce zegara 

Przepraszam za wprowadzenie w błąd

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...