Skocz do zawartości

Przesyłanie bezprzewodowo danych z czujnika z esp32-cam na komputer


Pomocna odpowiedź

Napisano

Mierzę dane z akceleromteru podłączonego do ESP32-cam, chciałbym dane z pewnego okresu czasu (około minuty) bezprzewodowo przesłac na mój komputer.

Myślałem o wysłaniu danych do pliku znajdującego się w SPIFFS esp i później wysłanie tego pliku drogą mailową używając SMTP servera. 

Znacie jakieś prostsze metody?

 

Zasadnicze pytanie: czy esp działa cały czas, czy jest usypiany i włączany na czas pomiaru?

No i oczywiście: czy drugi komputer i esp są w tej samej sieci?

Bo najprostsze by było postawienie serwera www na esp (mniej roboty niż z zabawą z smtp).

Możesz postawić na ESP serwer UDP lub TCP, są przykłady w core, na komputerze mieć zainstalowany program TIBO do wirtualnych portów COM, zdefiniować mu port COM, który połączy się po UDP lub TCP do ESP, w ESP będziesz drukował klientowi dane tak samo jak to się robi na serial. Na komputerze to już jakiś uniwersalny program typu terminal z funkcją logowania napływających danych do pliku. 
Jest też Putty, ma opcję logowania danych, można go odpalić jako klienta telnet, a w core przykład telnet to serial, zamiast wysyłać to co przyjdzie z UART po prostu wyślij swoje dane.

Ewentualnie SocketTest v.3.0, ma opcję nagrania tego co na ekranie, nie wiem ile zmieści tekstu. 

 

 

Taki scenariusz:

ESP zapisuje sobie dane (może być spiffs, ale to tylko jedna z możliwości).

Serwer www potrafi wyslać dane lub usunąć po potwierdzeniu odebrania.

Komputer ściaga dane na swój dysk (jakimś wgetem albo czymś podobnym) i po zapisaniu informuje esp, że dane nie są już potrzebne.

Jeśli komputer nie może połączyć się z esp (bo tamten np. śpi smacznie) próbuje za chwilę aż do skutku.

Może być?

  • Pomogłeś! 1

Scenariusz numer dwa:

ESP po każdym pomiarze próbuje wysłać dane poprzez www do serwera na Twoim kompie. Jeśli się nie uda, dopisuje brakujące dane do pliku. W przypadku gdy plik nie jest pusty, wysyła również zawartość pliku a po potwierdzeniu kasuje plik.

Na komputerze uruchamiasz prosty serwer www (parę linijek w Pythonie).

Co lepsze?

 

  • 2 tygodnie później...

@ethanak Dzięki za zasugerowanie rozwiązania. Wykorzystałem pomysł pierwszy. Dane z akcelerometru zapisuję na SPIFFS, następnie za pomocą web servera przy pomocy biblioteki ESPAsyncWebServer pobieram dane zapisane na ESP. 

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