Skocz do zawartości

Bezprzewodowy dzwonek (esp-now)


Pomocna odpowiedź

9 minut temu, ethanak napisał:

@farmaceuta tylko pamiętaj że to taki zarys programu, pisany na kolanie i nie gwarantuję że będzie działać.

Nie no spoczko...👍😉 Się sprawdzi...

Link do komentarza
Share on other sites

2 godziny temu, farmaceuta napisał:

Się sprawdzi...

A bo jeszcze jedno mi do głowy przyszło:

uint8_t RTC_NOINIT_ATTR coto;
uint8_t RTC_NOINIT_ATTR ctrl;
uint8_t sData[3];
	sData[0] = esp_sleep_get_wakeup_cause() == ESP_SLEEP_WAKEUP_EXT0;
    sData[1] = getBatteryLevel();
    sData[2] = ctrl++;
    sendStatus = 0;
    esp_now_send(mac1,sData,3);
    esp_now_send(mac2,sData,3);
    

I tam gdzie się drugi raz wysyła też na 3. A w ogóle to w obu miejscach powinno być sizeof(sData).

Po co to?

Odbiornik odbiera np. sygnał "zadzwonili". Odpowiada, ale odpowiedź nie dociera do nadajnika. Ten ponawia. No i w sumie odbiornik dostaje dwa razy informację.

A powinien sobie zapamiętać trzeci bajt, i jeśli w wiadomości jest taki sam to ją olać.

Taki pomysł... 

 

 

  • Pomogłeś! 1
Link do komentarza
Share on other sites

A takie pytanie jeszcze...jeśli wysyłam pakiety z interwałem poniżej 15ms to odbiornik przestaje odbierać (wybudza się na 300ms(to nie jest problemem)) 

Co tak słabo?🤔

Link do komentarza
Share on other sites

A to już sprawdź sobie. Poza tym nie podobają mi się te prądy które podawałeś - jakieś strasznie wysokie. Chyba że koledzy żółtawi zaoszczędzili na LDO...

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

13 minut temu, ethanak napisał:

A to już sprawdź sobie. 

A jak można? W RX zjechałem sobie do 150ms wybudzenia i jest ok, ale jak w TX wysyłam szybciej niż o 15ms to już komunikacja siada...bardzo dziwne biorąc pod uwagę jaka to ma dużą przepustowość...🤔 

14 minut temu, ethanak napisał:

 Poza tym nie podobają mi się te prądy które podawałeś - jakieś strasznie wysokie. Chyba że koledzy żółtawi zaoszczędzili na LDO...

Raczej norma...6.5mA w deep sleep, większość tego prądu żre ch340 co by się zgadzało...

Natomiast w trybie esp-now 160mA na najwyższej mocy (domyślnie)...gdzieś wyczytałem że pobór waha się w zależności jaka moc ustawimy w zakresie 120-150mA

Jak będzie kiepsko z baterii to jednak podepne pod jakieś USB i będzie git... TX z baterii, no ale wiadomo że on będzie uśpiony cały czas więc jest najmniej prądożerny...

Link do komentarza
Share on other sites

Nie mierzyłem, ale wszyscy podają 800 uA dla deep sleep dla tej płytki (tyle że oryginalnej, już nie produkowanej o ile wiem). Dlatego do nadajnika użyłbym jakiejś kontrukcji z gołym wroomem, przetwornicą i pinami do podpiecia konwertera usb/uart. Jak liczyłem to powinno być 10x mniej. A do wrooma potrzeba dwa rezystory 20k i kondensator 100nF. Kiedyś chyba na diy-mini pokazywałem takie coś...

Link do komentarza
Share on other sites

@farmaceuta oscyloskop i bocznik w linii zasilania jak chcesz pomierzyć te prądy. Multimetr nie nadaje się do pomiarów na zakresach mikroamperowych bo wprowadza zbyt dużą rezystancję w badanym obwodzie. I jak było wcześniej wspominane płytki gotowce nie nadają się do układów niskoprądowych. Zbyt dużo peryferii jest niepotrzebnie zasilanych ot choćby konwerter uart, dzielnik na adc i co tam jeszcze, chińczyk nawet nie wie

  • Lubię! 1
Link do komentarza
Share on other sites

23 minuty temu, _LM_ napisał:

@farmaceuta oscyloskop i bocznik w linii zasilania jak chcesz pomierzyć te prądy. Multimetr nie nadaje się do pomiarów na zakresach mikroamperowych bo wprowadza zbyt dużą rezystancję w badanym obwodzie. I jak było wcześniej wspominane płytki gotowce nie nadają się do układów niskoprądowych. Zbyt dużo peryferii jest niepotrzebnie zasilanych ot choćby konwerter uart, dzielnik na adc i co tam jeszcze, chińczyk nawet nie wie

No nic, jak wspomniałem jeżeli z baterii wydzie kicha to podłącze kablem pod USB i będzie git 

Link do komentarza
Share on other sites

Da się to zrobić, ale trzeba nieco wysiłku jak masz to zasilać z sieci to ten wątek traci sens

Link do komentarza
Share on other sites

19 minut temu, _LM_ napisał:

 ten wątek traci sens

Nie no aż tak źle nie jest...teraz mam problem z "wolną" transmisją...domyślnie ESP now śmiga na 1Mb/s i da się to przyspieszyć ale nie z poziomu IDE 😭😭 no alei tak mi wolno chodzi, bo jak czytałem to przesłanie 250B zajmuje ~4ms (łącznie z potwierdzeniem) 

Link do komentarza
Share on other sites

1 godzinę temu, ethanak napisał:

4 msec od nacisnięcia dzwonka do odpalenia dźwięku to całkiem spoko czas 🙂

Tak, spoko, tylko że ja nie mogę tego czasu osiągnąć 😉 wybudzany RX na 150ms i otrzymuję z TX 8 pakietów wysyłanych co 15ms...gdybym mógł wysyłać jeszcze szybciej to RX mógłby być w wybudzony jeszcze krócej co by zaoszczędziło prądu...

Link do komentarza
Share on other sites

Choćby dlatego, że najbardziej narażony na rozładowanie akumulator (przy przycisku dzwonka) będzie niepotrzebnie obciążany wysyłaniem pakietów w kosmos.

Pisałeś o dwóch odbiornikach

 Czy oba muszą mieć zasilanie akumulatorowe, czy może tylko jeden albo oba mogą z zewnętrznego źródła?

Poza tym takie wysyłanie pakietów w nadziei, że odbiornik będzie akurat włączony to jest takie trochę dziwne... 

Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.