We’ve seen folks develop off-line approaches using the Helium Atom for various reasons, ranging from increasing battery life to not being near a basestation for long periods of time, like you mention.
The idea is to queue up the data in your application and only occasionally sending data up. For example, for long battery life take a reading every minute, but send it every hour or even just once per day for compliance reporting.
In your case I’d queue up the readings either in RAM or in a file and try to
connect to the Helium network every so now and then. If that connect succeeds, you transmit the readings, if not just continue down the normal path.
Since you’re thinking of using a Raspberry Pi, you’re likely not on a battery. If you’re going to want to be battery powered I would recommend trying a lower powered board and managing power carefully. They exist with both C/C++ and microPython as programming environments.
Finally, be aware of dropping batteries and electronics in cold environments. Batteries don’t do well at all in cold situations and most cold environments are not great for RF propagation.
Reach out if you need more details or want to talk through various options. We’re here to help!