Pravdepodobne to mozne je pomoci nejakeho GSM modulu, kterych je na trhu velke mnozstvi, nicmene vzhledem k pomerne male RAM bych byl pripraveny na ledacos. Resil jsem neco podobneho a dam par zkusenosti:
* pokud nedelate velke serie, zvolte silnejsi HW. Vrati se to na case pro vyvoj. Nebudete muset resit, zda se tak a tak velky buffer vejde do RAM nebo ne. Ja zvolil ESP32 a nemusim pocitat kazdy byte, na druhou stranu je ale potreba vyresit power management, ESP32 dokaze byt narocne, ale lze to vyresit.
* pokud se jedna o bateriove zarizeni, je casto lepsi mit vlastni desku bez zbytecnych obvodu, totez plati pro GSM modul. Vetsinou (ale ne vzdy) plati, ze cim vic soucastek, tim vetsi odber.
* knihoven pro GSM pres AT prikazy jsem prosel mnoho a nakonec jsem si napsal vlastni. Duvod je, ze vsechny co jsem nasel byly bud synchronni, obsahovaly vetsi mnozstvi chyb, nemely potrebnou funkcionalitu a nebo byly pod nejakou mizernou licenci (napr. GPL).
* Neznam povahu ukolu, ale synchronni GSM knihovna se muze ukazat jako velky problem v pripade, ze Arduino ma delat jeste neco jineho a uzitecneho. Na druhou stranu implementovat asynchronni verzi na Arduino UNO bude vyzadovat dost fistronu. Pokud nejakou vhodnou najdete, gratuluji, ja to stesti nemel.
* Napajeni GMS modulu byva casto klicove. Behem registrace do site nebo pri vysilani berou az 2A po dobu stovek mikrosekund (ja nameril u SIM800L 1.8A po dobu 556us). Velke moduly to maji vetsinou vyresene, ale levne desticky nikoliv. Po dobu proudove spicky je nutne zarucit dostatecne napajeni pro zbytek elektroniky.