Skocz do zawartości

Pomoc w wyborze avr


Pomocna odpowiedź

Napisano

W skrócie.. potrzebuję łącznika między esp32 a sim800 z pamięcią przynajmniej 64kB. Szukam więc czegoś z 3 uartami ( + jeden do serial monitara).  Do tej pory, żyłem w przekonaniu, że jest atmega328p, 32u4, i 2560. Ta ostatnie spełniała by wymogi ale jest za duża rozmiarowo. W głębokich poszukiwaniach odkryłem, że są inne mikrokontrolery, a jeden z nich spełnia moje wymagania: AVR128DB28. Pytanie jak się do tego dobrać? czym to się programuje? można pod to podpiąć ch340, tak jak atmegę328p i wgrywać program oraz odczytywać dane z seriala? Sorry jeżeli pytania są głupie, ale po atmedze328 przesiadłem się na esp i praca z nią w arduino ide jest prosta.

59 minut temu, farmaceuta napisał:

No a z ciekawości zapytam...czemu nie użyjesz drugiego Esp32?

A ja pójdę dalej - z czego wynika potrzeba stosowania czegokolwiek pomiędzy ESP32 a SIM800?

  • Pomogłeś! 1

Sim używam wraz z biblioteką tinygsm. Biblioteka spoko, ale strasznie blokująca.  Nie może być tak, że praca SIM będzie wpływać w jakiś sposób na pracę ESP( sterownik nawadniania). Próbowałem przenieść obsługę SIM do innego wątku, rdzenia, ale słabo to wygląda. Testowałem rozwiązanie z atmegą jako pośrednikiem no i efekt był git( oprócz softwareserial). Praca SIM w żaden sposób nie wpływa na  ESP, a to jest najważniejsze dla mnie.

15 minut temu, lucek20 napisał:

( oprócz softwareserial).

Są jeszcze inne wynalazki, dużo lepsze jak np. neoSWserial, altsoftserial...oba libsy są nie blokujące w przeciwieństwie do SoftwareSerial... 

Chociaz ja ostatnio robiłem płytkę z dwoma modułami sim800l, jeden biegał na hardware uart a drugi na SoftwareSerial....i szczerze? Nie zauważyłem żeby jakoś to blokowało Arduino...na Esp32 akurat nie chciało mi się testować...

  • Lubię! 1

Sama inicjalizacja sim800 i połączenie z gprs i mqtt trwa jakieś 8 sekund. Do tego często zrywane jest połączenie z serwerem, a nawiązanie nowego połączenia też trwa. Pod ESP mam podpięty LCD TFT z dotykiem, używam Wi-Fi, oraz innych czujników, więc ma się czym zajmować. Delay() w tinygsm znacznie utrudnia tę pracę. Dlatego właśnie potrzebuję "pośrednika".

(edytowany)

To może zastosować inną bibliotekę dla SIM800?

 

Uzupełnienie:

Nie widzę powodów dla którego obsługa SIM800 przy pomocy komend AT miała być blokująca - procesor wysyła komendę i oczekując na odpowiedź może robić cokolwiek.

Z drugiej strony - procesy związane z nawadnianiem są chyba na tyle wolnozmienne, że nawet kilkosekundowe opóźnienie nie powinno mieć znaczenia.

 

Edytowano przez jand
  • Lubię! 1
17 godzin temu, lucek20 napisał:

W skrócie.. potrzebuję łącznika między esp32 a sim800 z pamięcią przynajmniej 64kB. Szukam więc czegoś z 3 uartami ( + jeden do serial monitara).  Do tej pory, żyłem w przekonaniu, że jest atmega328p, 32u4, i 2560. Ta ostatnie spełniała by wymogi ale jest za duża rozmiarowo. W głębokich poszukiwaniach odkryłem, że są inne mikrokontrolery, a jeden z nich spełnia moje wymagania: AVR128DB28. Pytanie jak się do tego dobrać? czym to się programuje? można pod to podpiąć ch340, tak jak atmegę328p i wgrywać program oraz odczytywać dane z seriala? Sorry jeżeli pytania są głupie, ale po atmedze328 przesiadłem się na esp i praca z nią w arduino ide jest prosta.

Ale przecież esp32 ma trzy sprzętowe uart'y 🙂

Przy okazji: coś musisz źle kompbinować z biblioteką gsm, bo blokowanie w oczekiwaniu na odpowiedź to tylko na własne życzenie...

(edytowany)

Zobaczcie jak to wygląda: Tingsm, po utracie połączenia z gprs następuje próba ponownego połączenia.  Czas oczekiwania mogę skróci, ale czy będzie wtedy działać SIM prawidłowo? 

Edytowano przez lucek20

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