If we want PoW is not performed in the device (in particular for low energy devices) we can use iota.lib.js.powsrvio.
How to use powsrv.io? And what are prerequirements ? (Assume we want to use it in a small device supports LoraWAN. You can see an example of this small device here: Link to the device.)
For more information, please see following article : https://medium.com/@harmvandenbrink/lorawan-and-iota-proof-of-concept-of-storing-data-in-real-time-in-the-tangle-9ba6a109b552