Not hard. I have such a thing as just a few lines of quickly put together python code, using pyserial, dockerized. Has run for an entire year w/o issue. ASCII and Unicode.
It replaced a very unreliable, problematic setup somebody else had set up in the past, which was based on an android phone.
Once I got the sim900-derived device from aliexpress, I moved the sim over and had it working in less than an hour. Polished the code and its setup during the first few days of use, and hadn't had to touch it since.