Arduino MINI - IoT measurement temperature - sleep LOW POWER

Hello,

I know that there’s many contributions of sleep processor. I wonder but the best solution for my device. I need the processor via UART has sent a message and then put under at least 30 minutes and again. What will be the most economical solution?

#include <Akeru.h>
#include <OneWire.h> 
#include <DallasTemperature.h>


#define TX 2
#define RX 3
#define ONE_WIRE_BUS 7

float temperatureInCelsius; 

OneWire oneWire(ONE_WIRE_BUS); 
DallasTemperature sensors(&oneWire);
 
Akeru akeru(RX, TX);
int  TempInC;


void setup() 
{    
 
  Serial.begin(9600);
  
  Serial.println("Starting...");
  
  // Check TD1208 communication
  if (!akeru.begin())
  {
    Serial.println("TD1208 KO");
    while(1);
}

void loop() 
{
/*  delay(100);
   if (!akeru.begin())
  {
    Serial.println("TD1208 KO");
    while(1);
  }   */
  delay(100);
sensors.requestTemperatures();
sensors.getTempCByIndex(0);  
TempInC = sensors.getTempCByIndex(0);
 
delay(100);
 temperatureInCelsius = sensors.getTempCByIndex(0); // EDIT:  instaed of here

  //int sensorValue = analogRead(A0);
  
  // Trace on serial console
   Serial.print(temperatureInCelsius, 3);

  // convert to hexadecimal before sending
  //String data = String(temperatureInCelsius);
 delay(200);
  String data = akeru.toHex(temperatureInCelsius); 
 // Serial.print ((temperatureInCelsius);
 
  // Send in the mighty internet!
  // akeru.sendPayload() returns 0 if message failed.
  delay(600);
  if (akeru.sendPayload(data))
   
  {
    Serial.println("Message sent !");
  }

this will be the solution?

#include "LowPower.h"

const byte LEDpin = 13;         


void setup()
{
    pinMode(LEDpin, OUTPUT);
}

void loop()
{
     LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); 
}

void blik()
{
    digitalWrite(LEDpin, HIGH);
    delay(100);
    digitalWrite(LEDpin, LOW);
}