I want to develop a data logger with several hardware characteristics (low-power consumption, SDI-12, I2C, SPI, UART, USB, Ethernet, touchscreen display, SD card, RTC, internal memory at least 128MB...) and multiple high-level capabilities (FPT, HTTP/-S, SMTP, encryption, NTP...).
The problem is that if I use a microcontroller it will be hard to implement in software the high-level capabilities (even drivers). Another solution is to use a System-on-module and implement the software part in a high-level programming language (e.g., Python) in Linux, which will make it easier.
The second option seems better, but is there a (ultra-)low-power ARM-based SoM that allows accessing low-level components (interfaces, incl. interrupts) via a high-level programming language in Linux and, most importantly, enables the user to control the sleep modes from the Linux application? Regarding the latter, how can the CPU enter sleep mode and keep the OS running? I am open to any suggestions.