NIBP Module UART Communication with ESP 32

Hello! I've been trying to communicate with an NIBP module (UN600F) through UART using an ESP32 and I need some help. I tried making the module take a manual measurement once but then it doesn't start measuring even when I send the proper commands. I'm not sure if the module is faulty or if there's something wrong with my code. I've attached my code below as well as the communication protocol of the UN600F module. Any insight about my code would be greatly appreciated. Thanks!

void setup() {
  Serial.begin(115200);
  Serial2.begin(115200,SERIAL_8N1,RXD2,TXD2);
  init_NIBP();
  starttime = millis();
}

void loop() {
  
  second = (millis() - starttime)/1000;
  if(second >=59){
    minute++;
    starttime = millis();
    
  }
  
  if((minute == 0 || minute ==3) && (measuring ==1) ){
      Get_NIBP();
    measuring = 0 ;
  }

}

void init_NIBP(){
  //Stops all measurements
  Serial2.print('X');
  Serial2.write(2);
  Serial2.print("03;;D9");
  Serial2.write(3);

}

void Get_NIBP(){
  //Starts Manual Measurement
  Serial2.write(2);
  Serial2.print("01;;D7");
  Serial2.write(3);

  Serial2.write(command, sizeof(command));
  
}

It's not clear from the doc fragment, but I suspect that the command code and check sum are both supposed to be single bytes.

Does that mean that I have to send the command code and check sum as single bytes? How exactly can I do this in code? I've also attached a command example found in the UN600F's manual. I also tried sending the command code in a single array similar to the example but it still doesnt work.

byte command[10] = {2,'0','1',';',';','D','7',3};

void Get_NIBP(){
  //Starts Manual Measurement
 /* Serial2.write(2);
  Serial2.
  Serial2.print("01;;D7");
  Serial2.write(3);
  */
  Serial2.write(command, sizeof(command));
  
}

You're still sending '0' and '1' as individual bytes, two of them. You need one.
Try:

byte command[10] = {2,1,';',';',0xD7,3};

Using level shifters? The ESP32 is NOT 5V compatible.

Will try this out. Thank you!

Hello I've attached the level ranges of the pins of the UN600F. Does this mean that I have to use a level shifter connected in between the TX and RX pins of both the ESP32 and the UN600F? Sorry I'm not that familiar with using level shifters and your input would be really helpful!
Level range

If the ESP32 is NOT able to take on its GPIO pins 5V and if the ESP32 is ONLY a 3.3V GPIO device would putting 5V onto a 3.3V only pin would be:

A Great, do it but when the ESP32 burns up don't complain.
B Bad. Don't do it. Use level shifters.

Pick one.

And the ESP32 you've been pumping 5V into on the GPIO pin, could be defective.